tx · DRqNbBA6C9nrbV7fukuLUU2CxVMwrzUHwzaRyfnLgqn4

3NA1zc7miK3bRpabCkfdAy3ugT1abEH4XvC:  -0.01400000 Waves

2021.02.01 13:11 [1378967] smart account 3NA1zc7miK3bRpabCkfdAy3ugT1abEH4XvC > SELF 0.00000000 Waves

{ "type": 13, "id": "DRqNbBA6C9nrbV7fukuLUU2CxVMwrzUHwzaRyfnLgqn4", "fee": 1400000, "feeAssetId": null, "timestamp": 1612174301776, "version": 2, "chainId": 84, "sender": "3NA1zc7miK3bRpabCkfdAy3ugT1abEH4XvC", "senderPublicKey": "FGEpfdbsnGgv2u4E4kJ7aJdEoww9djxfupn8jGYjrxYu", "proofs": [ "3tVQ438uxs2wCaKVwDi3h7YjeUgStPZJjDHRuskPdWa8areRNKfQFF5MZ4LCY9hHzfSp3HSjAMbQuMRbeWeaiWag", "4xRtHpBKUzfMgmb1ij3zBvdm7zikQKnVXM72w1PFdxyHM8JJaaqnPHGYf2x1HwPtKxYusrDiJ5PdKpgNbZYwXFez" ], "script": "base64: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BQAAAANmZWUCAAAAEyBmZWVBbW91bnQgaXMgd3JvbmcKAQAAAAlnZXRTdGF0dXMAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtkaWdpbGlyYVBheQkAAlgAAAABBQAAAANrZXkAAAAAAAAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF3BQAAAAckbWF0Y2gwBAAAAAhteVN0YXR1cwkBAAAACWdldFN0YXR1cwAAAAEICAUAAAABdwAAAAZzZW5kZXIAAAAFYnl0ZXMEAAAAD3JlY2lwaWVudFN0YXR1cwkBAAAACWdldFN0YXR1cwAAAAEICQAEJAAAAAEIBQAAAAF3AAAACXJlY2lwaWVudAAAAAVieXRlcwQAAAALYXNzZXRTdGF0dXMJAQAAAAlnZXRTdGF0dXMAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCAUAAAABdwAAAAdhc3NldElkBQAAAApwcm94eVdhdmVzBAAAABFkaWdpbGlyYVJlY2lwaWVudAkAAGYAAAACBQAAAA9yZWNpcGllbnRTdGF0dXMAAAAAAAAAAAAEAAAADm15U3RhdHVzQmFubmVkCQAAAAAAAAIFAAAACG15U3RhdHVzBQAAAAZiYW5uZWQEAAAAFXJlY2lwaWVudFN0YXR1c0Jhbm5lZAkAAAAAAAACBQAAAA9yZWNpcGllbnRTdGF0dXMFAAAABmJhbm5lZAQAAAARYXNzZXRTdGF0dXNCYW5uZWQJAAAAAAAAAgUAAAALYXNzZXRTdGF0dXMFAAAABmJhbm5lZAQAAAAPc29tZXRoaW5nQmFubmVkAwMFAAAADm15U3RhdHVzQmFubmVkBgUAAAAVcmVjaXBpZW50U3RhdHVzQmFubmVkBgUAAAARYXNzZXRTdGF0dXNCYW5uZWQEAAAAEmlzRmVlUmVjb3ZlcnlUb2tlbgkAAAAAAAACCAUAAAABdwAAAApmZWVBc3NldElkBQAAAA1yZWNvdmVyeVRva2VuBAAAABJpc1JlY2lwaWVudEdhdGV3YXkJAAAAAAAAAggFAAAAAXcAAAAJcmVjaXBpZW50CQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAdnYXRld2F5BAAAABFpc0ZlZVBheW1lbnRUb2tlbgkAAAAAAAACCAUAAAABdwAAAApmZWVBc3NldElkBQAAAAxwYXltZW50VG9rZW4EAAAAEWlzRmVlU3BvbnNvclRva2VuCQAAAAAAAAIIBQAAAAF3AAAACmZlZUFzc2V0SWQFAAAADHNwb25zb3JUb2tlbgQAAAAQaXNFeGNsdXNpdmVUb2tlbgkAAAAAAAACBQAAAA9kaWdpbGlyYVBheU9ubHkJAQAAAAt2YWx1ZU9yRWxzZQAAAAIFAAAAC2Fzc2V0U3RhdHVzAAAAAAAAAAAABAAAABZpc0RpZ2lsaXJhUGF5RXhjbHVzaXZlCQAAZgAAAAIFAAAAD2RpZ2lsaXJhUGF5T25seQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAEAAAAFnBlcm1pc3Npb25UcmFuc2ZlclRvRFADCQAAZgAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIFAAAAC2Fzc2V0U3RhdHVzBQAAAAZiYW5uZWQJAQAAAAt2YWx1ZU9yRWxzZQAAAAIFAAAAD3JlY2lwaWVudFN0YXR1cwAAAAAAAAAAAAYJAABmAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMFAAAABmJhbm5lZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAAIbXlTdGF0dXMAAAAAAAAAAAAEAAAAEXBlcm1pc3Npb25QYXltZW50AwkAAGYAAAACBQAAAAlmdW5kQmxvY2sJAQAAAAt2YWx1ZU9yRWxzZQAAAAIFAAAAC2Fzc2V0U3RhdHVzAAAAAAAAAAAACQAAZwAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIFAAAAC2Fzc2V0U3RhdHVzAAAAAAAAAAAABQAAAAxwYXltZW50QmxvY2sHBAAAABdwZXJtaXNzaW9uVHJhbnNmZXJOb3REUAMJAABmAAAAAgUAAAANdHJhbnNmZXJCbG9jawkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAGCQAAZwAAAAIJAQAAAAt2YWx1ZU9yRWxzZQAAAAIFAAAAC2Fzc2V0U3RhdHVzAAAAAAAAAAAABQAAABBwYXltZW50RnVuZEJsb2NrBAAAAAppc1JlY292ZXJ5AwMDBQAAABFkaWdpbGlyYVJlY2lwaWVudAUAAAASaXNGZWVSZWNvdmVyeVRva2VuBwUAAAASaXNSZWNpcGllbnRHYXRld2F5BwUAAAAObXlTdGF0dXNCYW5uZWQHAwMFAAAACmlzUmVjb3ZlcnkJAQAAAAhyZWNvdmVyeQAAAAAHBgMFAAAAEWRpZ2lsaXJhUmVjaXBpZW50BAAAAAZwcm9sb2cCAAAAI1RyYW5zZmVyIHRvIERpZ2lsaXJhUGF5IHJlY2lwaWVudDogAwUAAAAObXlTdGF0dXNCYW5uZWQJAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAIFRoaXMgYWNjb3VudCBoYXMgYmVlbiBzdXNwZW5kZWQuAwUAAAAVcmVjaXBpZW50U3RhdHVzQmFubmVkCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAACdSZWNpcGllbnQncyBhY2NvdW50IGhhcyBiZWVuIHN1c3BlbmRlZC4DBQAAABFhc3NldFN0YXR1c0Jhbm5lZAkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAAbQXNzZXQgY2Fubm90IGJlIHRyYW5zZmVyZWQuAwUAAAAWcGVybWlzc2lvblRyYW5zZmVyVG9EUAkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAA9QXNzZXQgY2Fubm90IGJlIHRyYW5zZmVyZWQuIFJlY2lwaWVudC9TZW5kZXIgaXMgbm90IGVsaWdpYmxlLgMFAAAAFmlzRGlnaWxpcmFQYXlFeGNsdXNpdmUJAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAF05vbi1UcmFuc2ZlcmFibGUgVG9rZW4uAwUAAAASaXNSZWNpcGllbnRHYXRld2F5AwMFAAAAEXBlcm1pc3Npb25QYXltZW50BgUAAAAQaXNFeGNsdXNpdmVUb2tlbgkBAAAACGNoZWNrRmVlAAAAAQUAAAABdwkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAAhQXNzZXQgY2Fubm90IGJlIHVzZWQgb24gcGF5bWVudHMuAwUAAAARaXNGZWVQYXltZW50VG9rZW4JAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAHVBheW1lbnQgVG9rZW4gY2Fubm90IGJlIHVzZWQuCQEAAAAIY2hlY2tGZWUAAAABBQAAAAF3BAAAAAZwcm9sb2cCAAAAJ1RyYW5zZmVyIHRvIG5vdCBEaWdpbGlyYVBheSByZWNpcGllbnQ6IAMFAAAAEWlzRmVlU3BvbnNvclRva2VuCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAAB1TcG9uc29yIFRva2VuIGNhbm5vdCBiZSB1c2VkLgMFAAAAEWlzRmVlUGF5bWVudFRva2VuCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAAB1QYXltZW50IFRva2VuIGNhbm5vdCBiZSB1c2VkLgMFAAAADm15U3RhdHVzQmFubmVkCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAACBUaGlzIGFjY291bnQgaGFzIGJlZW4gc3VzcGVuZGVkLgMFAAAAF3Blcm1pc3Npb25UcmFuc2Zlck5vdERQCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAACBUaGlzIGFzc2V0IGNhbm5vdCBiZSB0cmFuc2ZlcmVkLgkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkDAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAF0BQAAAAckbWF0Y2gwBAAAAAJzMgMJAAH0AAAAAwgFAAAAAXQAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAF0AAAABnByb29mcwAAAAAAAAAAAQUAAAALZGlnaWxpcmFQYXkAAAAAAAAAAAEAAAAAAAAAAAADCQAAAAAAAAIFAAAAAnMyAAAAAAAAAAABBgkAAAIAAAABAgAAAAxVbmF1dGhvcml6ZWQJAQAAAAhyZWNvdmVyeQAAAADIH9bb", "height": 1378967, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: H3BUf9BdPBDgD5G1ExH3jt4kCCE7MRh4j8oTBmAZxWEM Next: CSuYYdwXvxHSQuoTNghVV3AZ4prBNsBn727HSonDSXCx Diff:
OldNewDifferences
137137 else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
138138 }
139139 case t: DataTransaction|SetScriptTransaction =>
140- let s1 = if (sigVerify(t.bodyBytes, t.proofs[0], t.senderPublicKey))
141- then 1
142- else 0
143140 let s2 = if (sigVerify(t.bodyBytes, t.proofs[1], digiliraPay))
144141 then 1
145142 else 0
146- if (((s1 + s2) == 2))
143+ if ((s2 == 1))
147144 then true
148145 else throw("Unauthorized")
149146 case _ =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let digiliraPay = base58'57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4'
44 let gateway = base58'57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4'
55 let sponsorToken = base58'7GnHzTaDe3YbDiCD9rueHiSfPB7hdanPpN4Ab79fJGtD'
66 let paymentToken = base58'FLsa9hfu1jvXC6jhDP2x6DHHQHK2qiKPtS7D74ZFNsE1'
77 let recoveryToken = base58'FLsa9hfu1jvXC6jhDP2x6DHHQHK2qiKPtS7D74ZFNsE1'
88 let proxyWaves = base58'WAVES'
99 let recovery1 = base58'57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4'
1010 let recovery2 = base58'57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4'
1111 let recovery3 = base58'57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4'
1212 let banned = 403000
1313 let digiliraPayOnly = 99
1414 let transferBlock = 100
1515 let paymentBlock = 200
1616 let paymentFundBlock = 300
1717 let fundBlock = 400
1818 func recovery () = {
1919 let s1 = if (sigVerify(tx.bodyBytes, tx.proofs[0], recovery1))
2020 then 1
2121 else 0
2222 let s2 = if (sigVerify(tx.bodyBytes, tx.proofs[1], recovery2))
2323 then 1
2424 else 0
2525 let s3 = if (sigVerify(tx.bodyBytes, tx.proofs[2], recovery3))
2626 then 1
2727 else 0
2828 if ((((s1 + s2) + s3) >= 2))
2929 then true
3030 else throw("Unauthorized")
3131 }
3232
3333 func checkFee (w) = {
3434 let fee = w.fee
3535 let isFeePaymentToken = (w.feeAssetId == paymentToken)
3636 let isFeeSponsorToken = (w.feeAssetId == sponsorToken)
3737 let unScriptedFee = 5
3838 let scriptedFee = 9
3939 let isScripted = match assetInfo(valueOrElse(w.assetId, proxyWaves)) {
4040 case asset: Asset =>
4141 if (asset.scripted)
4242 then true
4343 else false
4444 case _ =>
4545 false
4646 }
4747 if (if (!(isFeePaymentToken))
4848 then !(isFeeSponsorToken)
4949 else false)
5050 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5151 else if (if (if (isScripted)
5252 then (fee == scriptedFee)
5353 else false)
5454 then true
5555 else if (!(isScripted))
5656 then (fee == unScriptedFee)
5757 else false)
5858 then sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
5959 else throw((toString(fee) + " feeAmount is wrong"))
6060 }
6161
6262 func getStatus (key) = valueOrElse(getInteger(addressFromPublicKey(digiliraPay), toBase58String(key)), 0)
6363
6464 match tx {
6565 case w: TransferTransaction =>
6666 let myStatus = getStatus(w.sender.bytes)
6767 let recipientStatus = getStatus(addressFromRecipient(w.recipient).bytes)
6868 let assetStatus = getStatus(valueOrElse(w.assetId, proxyWaves))
6969 let digiliraRecipient = (recipientStatus > 0)
7070 let myStatusBanned = (myStatus == banned)
7171 let recipientStatusBanned = (recipientStatus == banned)
7272 let assetStatusBanned = (assetStatus == banned)
7373 let somethingBanned = if (if (myStatusBanned)
7474 then true
7575 else recipientStatusBanned)
7676 then true
7777 else assetStatusBanned
7878 let isFeeRecoveryToken = (w.feeAssetId == recoveryToken)
7979 let isRecipientGateway = (w.recipient == addressFromPublicKey(gateway))
8080 let isFeePaymentToken = (w.feeAssetId == paymentToken)
8181 let isFeeSponsorToken = (w.feeAssetId == sponsorToken)
8282 let isExclusiveToken = (digiliraPayOnly == valueOrElse(assetStatus, 0))
8383 let isDigiliraPayExclusive = (digiliraPayOnly > valueOrElse(assetStatus, 0))
8484 let permissionTransferToDP = if ((valueOrElse(assetStatus, banned) > valueOrElse(recipientStatus, 0)))
8585 then true
8686 else (valueOrElse(assetStatus, banned) > valueOrElse(myStatus, 0))
8787 let permissionPayment = if ((fundBlock > valueOrElse(assetStatus, 0)))
8888 then (valueOrElse(assetStatus, 0) >= paymentBlock)
8989 else false
9090 let permissionTransferNotDP = if ((transferBlock > valueOrElse(assetStatus, 0)))
9191 then true
9292 else (valueOrElse(assetStatus, 0) >= paymentFundBlock)
9393 let isRecovery = if (if (if (digiliraRecipient)
9494 then isFeeRecoveryToken
9595 else false)
9696 then isRecipientGateway
9797 else false)
9898 then myStatusBanned
9999 else false
100100 if (if (isRecovery)
101101 then recovery()
102102 else false)
103103 then true
104104 else if (digiliraRecipient)
105105 then {
106106 let prolog = "Transfer to DigiliraPay recipient: "
107107 if (myStatusBanned)
108108 then throw((prolog + "This account has been suspended."))
109109 else if (recipientStatusBanned)
110110 then throw((prolog + "Recipient's account has been suspended."))
111111 else if (assetStatusBanned)
112112 then throw((prolog + "Asset cannot be transfered."))
113113 else if (permissionTransferToDP)
114114 then throw((prolog + "Asset cannot be transfered. Recipient/Sender is not eligible."))
115115 else if (isDigiliraPayExclusive)
116116 then throw((prolog + "Non-Transferable Token."))
117117 else if (isRecipientGateway)
118118 then if (if (permissionPayment)
119119 then true
120120 else isExclusiveToken)
121121 then checkFee(w)
122122 else throw((prolog + "Asset cannot be used on payments."))
123123 else if (isFeePaymentToken)
124124 then throw((prolog + "Payment Token cannot be used."))
125125 else checkFee(w)
126126 }
127127 else {
128128 let prolog = "Transfer to not DigiliraPay recipient: "
129129 if (isFeeSponsorToken)
130130 then throw((prolog + "Sponsor Token cannot be used."))
131131 else if (isFeePaymentToken)
132132 then throw((prolog + "Payment Token cannot be used."))
133133 else if (myStatusBanned)
134134 then throw((prolog + "This account has been suspended."))
135135 else if (permissionTransferNotDP)
136136 then throw((prolog + "This asset cannot be transfered."))
137137 else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
138138 }
139139 case t: DataTransaction|SetScriptTransaction =>
140- let s1 = if (sigVerify(t.bodyBytes, t.proofs[0], t.senderPublicKey))
141- then 1
142- else 0
143140 let s2 = if (sigVerify(t.bodyBytes, t.proofs[1], digiliraPay))
144141 then 1
145142 else 0
146- if (((s1 + s2) == 2))
143+ if ((s2 == 1))
147144 then true
148145 else throw("Unauthorized")
149146 case _ =>
150147 recovery()
151148 }

github/deemru/w8io/169f3d6 
33.33 ms