tx · 9e1XetvHS3FuZwdzFQfZuVr1JfCwe53L3HLDUpZ2MZu8

3MvZyCymGXKM3uCapzSzAQsdgNpo2sNqFpE:  -0.01400000 Waves

2021.02.04 14:15 [1383363] smart account 3MvZyCymGXKM3uCapzSzAQsdgNpo2sNqFpE > SELF 0.00000000 Waves

{ "type": 13, "id": "9e1XetvHS3FuZwdzFQfZuVr1JfCwe53L3HLDUpZ2MZu8", "fee": 1400000, "feeAssetId": null, "timestamp": 1612437321000, "version": 1, "sender": "3MvZyCymGXKM3uCapzSzAQsdgNpo2sNqFpE", "senderPublicKey": "97WFB82ibgqRXg7VdJauTLcMM7G9w6m4ot4sqaLptGuz", "proofs": [ "64WZHxkh7XBqqMav1mmaxWsdoyBnizc24rkjjD7oa2W4RM3QmZE11twtHsocAsqB4FeU8Vnbq9tyP6JypH46qTKQ", "3iW2myh1cRZFivT2RpZymBxW1JWuQCnn3ZD4tX1Grr3xYMjfvZvihX1ACWdgd8mKMXNm9MP3REx24zszyafNYnj2" ], "script": "base64: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BQAAAANmZWUCAAAAEyBmZWVBbW91bnQgaXMgd3JvbmcKAQAAAAlnZXRTdGF0dXMAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtkaWdpbGlyYVBheQkAAlgAAAABBQAAAANrZXkAAAAAAAAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF3BQAAAAckbWF0Y2gwBAAAAAhteVN0YXR1cwkBAAAACWdldFN0YXR1cwAAAAEICAUAAAABdwAAAAZzZW5kZXIAAAAFYnl0ZXMEAAAAD3JlY2lwaWVudFN0YXR1cwkBAAAACWdldFN0YXR1cwAAAAEICQAEJAAAAAEIBQAAAAF3AAAACXJlY2lwaWVudAAAAAVieXRlcwQAAAALYXNzZXRTdGF0dXMJAQAAAAlnZXRTdGF0dXMAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCAUAAAABdwAAAAdhc3NldElkBQAAAApwcm94eVdhdmVzBAAAABFkaWdpbGlyYVJlY2lwaWVudAkAAGYAAAACBQAAAA9yZWNpcGllbnRTdGF0dXMAAAAAAAAAAAAEAAAADm15U3RhdHVzQmFubmVkCQAAAAAAAAIFAAAACG15U3RhdHVzBQAAAAZiYW5uZWQEAAAAFXJlY2lwaWVudFN0YXR1c0Jhbm5lZAkAAAAAAAACBQAAAA9yZWNpcGllbnRTdGF0dXMFAAAABmJhbm5lZAQAAAARYXNzZXRTdGF0dXNCYW5uZWQJAAAAAAAAAgUAAAALYXNzZXRTdGF0dXMFAAAABmJhbm5lZAQAAAASaXNGZWVSZWNvdmVyeVRva2VuCQAAAAAAAAIIBQAAAAF3AAAACmZlZUFzc2V0SWQFAAAADXJlY292ZXJ5VG9rZW4EAAAAEmlzUmVjaXBpZW50R2F0ZXdheQkAAAAAAAACCAUAAAABdwAAAAlyZWNpcGllbnQJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAB2dhdGV3YXkEAAAAEWlzRmVlUGF5bWVudFRva2VuCQAAAAAAAAIIBQAAAAF3AAAACmZlZUFzc2V0SWQFAAAADHBheW1lbnRUb2tlbgQAAAARaXNGZWVTcG9uc29yVG9rZW4JAAAAAAAAAggFAAAAAXcAAAAKZmVlQXNzZXRJZAUAAAAMc3BvbnNvclRva2VuBAAAABBpc0V4Y2x1c2l2ZVRva2VuCQAAAAAAAAIFAAAAD2RpZ2lsaXJhUGF5T25seQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAEAAAAFmlzRGlnaWxpcmFQYXlFeGNsdXNpdmUJAABmAAAAAgUAAAAPZGlnaWxpcmFQYXlPbmx5CQEAAAALdmFsdWVPckVsc2UAAAACBQAAAAthc3NldFN0YXR1cwAAAAAAAAAAAAQAAAAWcGVybWlzc2lvblRyYW5zZmVyVG9EUAMJAABmAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMFAAAABmJhbm5lZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAAPcmVjaXBpZW50U3RhdHVzAAAAAAAAAAAABgkAAGYAAAACCQEAAAALdmFsdWVPckVsc2UAAAACBQAAAAthc3NldFN0YXR1cwUAAAAGYmFubmVkCQEAAAALdmFsdWVPckVsc2UAAAACBQAAAAhteVN0YXR1cwAAAAAAAAAAAAQAAAARcGVybWlzc2lvblBheW1lbnQDCQAAZgAAAAIFAAAACWZ1bmRCbG9jawkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAJAABnAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAFAAAADHBheW1lbnRCbG9jawcEAAAAF3Blcm1pc3Npb25UcmFuc2Zlck5vdERQAwkAAGYAAAACBQAAAA10cmFuc2ZlckJsb2NrCQEAAAALdmFsdWVPckVsc2UAAAACBQAAAAthc3NldFN0YXR1cwAAAAAAAAAAAAYJAABnAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAFAAAAEHBheW1lbnRGdW5kQmxvY2sEAAAACmlzUmVjb3ZlcnkDAwMFAAAAEWRpZ2lsaXJhUmVjaXBpZW50BQAAABJpc0ZlZVJlY292ZXJ5VG9rZW4HBQAAABJpc1JlY2lwaWVudEdhdGV3YXkHBQAAAA5teVN0YXR1c0Jhbm5lZAcDAwUAAAAKaXNSZWNvdmVyeQkBAAAACHJlY292ZXJ5AAAAAAcGAwUAAAARZGlnaWxpcmFSZWNpcGllbnQEAAAABnByb2xvZwIAAAAjVHJhbnNmZXIgdG8gRGlnaWxpcmFQYXkgcmVjaXBpZW50OiADBQAAAA5teVN0YXR1c0Jhbm5lZAkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAAgVGhpcyBhY2NvdW50IGhhcyBiZWVuIHN1c3BlbmRlZC4DBQAAABVyZWNpcGllbnRTdGF0dXNCYW5uZWQJAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAJ1JlY2lwaWVudCdzIGFjY291bnQgaGFzIGJlZW4gc3VzcGVuZGVkLgMFAAAAEWFzc2V0U3RhdHVzQmFubmVkCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAABtBc3NldCBjYW5ub3QgYmUgdHJhbnNmZXJlZC4DBQAAABZwZXJtaXNzaW9uVHJhbnNmZXJUb0RQCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAAD1Bc3NldCBjYW5ub3QgYmUgdHJhbnNmZXJlZC4gUmVjaXBpZW50L1NlbmRlciBpcyBub3QgZWxpZ2libGUuAwUAAAAWaXNEaWdpbGlyYVBheUV4Y2x1c2l2ZQkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAAXTm9uLVRyYW5zZmVyYWJsZSBUb2tlbi4DBQAAABJpc1JlY2lwaWVudEdhdGV3YXkDAwUAAAARcGVybWlzc2lvblBheW1lbnQGBQAAABBpc0V4Y2x1c2l2ZVRva2VuCQEAAAAIY2hlY2tGZWUAAAABBQAAAAF3CQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAACFBc3NldCBjYW5ub3QgYmUgdXNlZCBvbiBwYXltZW50cy4DBQAAABFpc0ZlZVBheW1lbnRUb2tlbgkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAAdUGF5bWVudCBUb2tlbiBjYW5ub3QgYmUgdXNlZC4JAQAAAAhjaGVja0ZlZQAAAAEFAAAAAXcEAAAABnByb2xvZwIAAAAnVHJhbnNmZXIgdG8gbm90IERpZ2lsaXJhUGF5IHJlY2lwaWVudDogAwUAAAARaXNGZWVQYXltZW50VG9rZW4JAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAHVBheW1lbnQgVG9rZW4gY2Fubm90IGJlIHVzZWQuAwUAAAAObXlTdGF0dXNCYW5uZWQJAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAIFRoaXMgYWNjb3VudCBoYXMgYmVlbiBzdXNwZW5kZWQuAwUAAAAXcGVybWlzc2lvblRyYW5zZmVyTm90RFAJAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAIFRoaXMgYXNzZXQgY2Fubm90IGJlIHRyYW5zZmVyZWQuCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAEAAAAAnMxAwkAAfQAAAADCAUAAAABdAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAXQAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAABdAAAAA9zZW5kZXJQdWJsaWNLZXkAAAAAAAAAAAEAAAAAAAAAAAAEAAAAAnMyAwkAAfQAAAADCAUAAAABdAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAXQAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAAtkaWdpbGlyYVBheQAAAAAAAAAAAQAAAAAAAAAAAAMJAAAAAAAAAgkAAGQAAAACBQAAAAJzMQUAAAACczIAAAAAAAAAAAIGCQAAAgAAAAECAAAAF0ludGVncml0eSBDaGVjayBGYWlsZWQhCQEAAAAIcmVjb3ZlcnkAAAAAHZWHww==", "chainId": 84, "height": 1383363, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3VbSHkdjoETGTXwijBem6aqkV3mQjUK3osK54DT94NzZ Next: none Diff:
OldNewDifferences
121121 }
122122 else {
123123 let prolog = "Transfer to not DigiliraPay recipient: "
124- if (isFeeSponsorToken)
125- then throw((prolog + "Sponsor Token cannot be used."))
126- else if (isFeePaymentToken)
127- then throw((prolog + "Payment Token cannot be used."))
128- else if (myStatusBanned)
129- then throw((prolog + "This account has been suspended."))
130- else if (permissionTransferNotDP)
131- then throw((prolog + "This asset cannot be transfered."))
132- else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
124+ if (isFeePaymentToken)
125+ then throw((prolog + "Payment Token cannot be used."))
126+ else if (myStatusBanned)
127+ then throw((prolog + "This account has been suspended."))
128+ else if (permissionTransferNotDP)
129+ then throw((prolog + "This asset cannot be transfered."))
130+ else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
133131 }
134132 case t: DataTransaction|SetScriptTransaction =>
135133 let s1 = if (sigVerify(t.bodyBytes, t.proofs[0], t.senderPublicKey))
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 isFeeRecoveryToken = (w.feeAssetId == recoveryToken)
7474 let isRecipientGateway = (w.recipient == addressFromPublicKey(gateway))
7575 let isFeePaymentToken = (w.feeAssetId == paymentToken)
7676 let isFeeSponsorToken = (w.feeAssetId == sponsorToken)
7777 let isExclusiveToken = (digiliraPayOnly == valueOrElse(assetStatus, 0))
7878 let isDigiliraPayExclusive = (digiliraPayOnly > valueOrElse(assetStatus, 0))
7979 let permissionTransferToDP = if ((valueOrElse(assetStatus, banned) > valueOrElse(recipientStatus, 0)))
8080 then true
8181 else (valueOrElse(assetStatus, banned) > valueOrElse(myStatus, 0))
8282 let permissionPayment = if ((fundBlock > valueOrElse(assetStatus, 0)))
8383 then (valueOrElse(assetStatus, 0) >= paymentBlock)
8484 else false
8585 let permissionTransferNotDP = if ((transferBlock > valueOrElse(assetStatus, 0)))
8686 then true
8787 else (valueOrElse(assetStatus, 0) >= paymentFundBlock)
8888 let isRecovery = if (if (if (digiliraRecipient)
8989 then isFeeRecoveryToken
9090 else false)
9191 then isRecipientGateway
9292 else false)
9393 then myStatusBanned
9494 else false
9595 if (if (isRecovery)
9696 then recovery()
9797 else false)
9898 then true
9999 else if (digiliraRecipient)
100100 then {
101101 let prolog = "Transfer to DigiliraPay recipient: "
102102 if (myStatusBanned)
103103 then throw((prolog + "This account has been suspended."))
104104 else if (recipientStatusBanned)
105105 then throw((prolog + "Recipient's account has been suspended."))
106106 else if (assetStatusBanned)
107107 then throw((prolog + "Asset cannot be transfered."))
108108 else if (permissionTransferToDP)
109109 then throw((prolog + "Asset cannot be transfered. Recipient/Sender is not eligible."))
110110 else if (isDigiliraPayExclusive)
111111 then throw((prolog + "Non-Transferable Token."))
112112 else if (isRecipientGateway)
113113 then if (if (permissionPayment)
114114 then true
115115 else isExclusiveToken)
116116 then checkFee(w)
117117 else throw((prolog + "Asset cannot be used on payments."))
118118 else if (isFeePaymentToken)
119119 then throw((prolog + "Payment Token cannot be used."))
120120 else checkFee(w)
121121 }
122122 else {
123123 let prolog = "Transfer to not DigiliraPay recipient: "
124- if (isFeeSponsorToken)
125- then throw((prolog + "Sponsor Token cannot be used."))
126- else if (isFeePaymentToken)
127- then throw((prolog + "Payment Token cannot be used."))
128- else if (myStatusBanned)
129- then throw((prolog + "This account has been suspended."))
130- else if (permissionTransferNotDP)
131- then throw((prolog + "This asset cannot be transfered."))
132- else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
124+ if (isFeePaymentToken)
125+ then throw((prolog + "Payment Token cannot be used."))
126+ else if (myStatusBanned)
127+ then throw((prolog + "This account has been suspended."))
128+ else if (permissionTransferNotDP)
129+ then throw((prolog + "This asset cannot be transfered."))
130+ else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
133131 }
134132 case t: DataTransaction|SetScriptTransaction =>
135133 let s1 = if (sigVerify(t.bodyBytes, t.proofs[0], t.senderPublicKey))
136134 then 1
137135 else 0
138136 let s2 = if (sigVerify(t.bodyBytes, t.proofs[1], digiliraPay))
139137 then 1
140138 else 0
141139 if (((s1 + s2) == 2))
142140 then true
143141 else throw("Integrity Check Failed!")
144142 case _ =>
145143 recovery()
146144 }

github/deemru/w8io/026f985 
28.82 ms