tx · 9mnGnSeyVCpPBest2zRM2Scz9jcmFPAQ2wz7AeJtiHF9

3NA1zc7miK3bRpabCkfdAy3ugT1abEH4XvC:  -0.01400000 Waves

2021.02.01 13:06 [1378963] smart account 3NA1zc7miK3bRpabCkfdAy3ugT1abEH4XvC > SELF 0.00000000 Waves

{ "type": 13, "id": "9mnGnSeyVCpPBest2zRM2Scz9jcmFPAQ2wz7AeJtiHF9", "fee": 1400000, "feeAssetId": null, "timestamp": 1612174017151, "version": 2, "chainId": 84, "sender": "3NA1zc7miK3bRpabCkfdAy3ugT1abEH4XvC", "senderPublicKey": "FGEpfdbsnGgv2u4E4kJ7aJdEoww9djxfupn8jGYjrxYu", "proofs": [ "4H5DU4e64TReEJnFuKmfb38ohf2uLCGWDHcKN1JskMBT8CSLoBdS9XkJ3zycTND4KinCA1QYwD44fLabCngHf7YN", "2jJAon6qjFymLdERFACp2wLp7zphG7g9ApKeLzcCPkUmqzzRHCdF9afLafHCsYh4EmEzyQU8fPuyqQkZmCrPjoKk" ], "script": "base64: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BQAAAANmZWUCAAAAEyBmZWVBbW91bnQgaXMgd3JvbmcKAQAAAAlnZXRTdGF0dXMAAAABAAAAA2tleQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAAtkaWdpbGlyYVBheQkAAlgAAAABBQAAAANrZXkAAAAAAAAAAAAEAAAAByRtYXRjaDAFAAAAAnR4AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNUcmFuc2ZlclRyYW5zYWN0aW9uBAAAAAF3BQAAAAckbWF0Y2gwBAAAAAhteVN0YXR1cwkBAAAACWdldFN0YXR1cwAAAAEICAUAAAABdwAAAAZzZW5kZXIAAAAFYnl0ZXMEAAAAD3JlY2lwaWVudFN0YXR1cwkBAAAACWdldFN0YXR1cwAAAAEICQAEJAAAAAEIBQAAAAF3AAAACXJlY2lwaWVudAAAAAVieXRlcwQAAAALYXNzZXRTdGF0dXMJAQAAAAlnZXRTdGF0dXMAAAABCQEAAAALdmFsdWVPckVsc2UAAAACCAUAAAABdwAAAAdhc3NldElkBQAAAApwcm94eVdhdmVzBAAAABFkaWdpbGlyYVJlY2lwaWVudAkAAGYAAAACBQAAAA9yZWNpcGllbnRTdGF0dXMAAAAAAAAAAAAEAAAADm15U3RhdHVzQmFubmVkCQAAAAAAAAIFAAAACG15U3RhdHVzBQAAAAZiYW5uZWQEAAAAFXJlY2lwaWVudFN0YXR1c0Jhbm5lZAkAAAAAAAACBQAAAA9yZWNpcGllbnRTdGF0dXMFAAAABmJhbm5lZAQAAAARYXNzZXRTdGF0dXNCYW5uZWQJAAAAAAAAAgUAAAALYXNzZXRTdGF0dXMFAAAABmJhbm5lZAQAAAASaXNGZWVSZWNvdmVyeVRva2VuCQAAAAAAAAIIBQAAAAF3AAAACmZlZUFzc2V0SWQFAAAADXJlY292ZXJ5VG9rZW4EAAAAEmlzUmVjaXBpZW50R2F0ZXdheQkAAAAAAAACCAUAAAABdwAAAAlyZWNpcGllbnQJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAB2dhdGV3YXkEAAAAEWlzRmVlUGF5bWVudFRva2VuCQAAAAAAAAIIBQAAAAF3AAAACmZlZUFzc2V0SWQFAAAADHBheW1lbnRUb2tlbgQAAAARaXNGZWVTcG9uc29yVG9rZW4JAAAAAAAAAggFAAAAAXcAAAAKZmVlQXNzZXRJZAUAAAAMc3BvbnNvclRva2VuBAAAABBpc0V4Y2x1c2l2ZVRva2VuCQAAAAAAAAIFAAAAD2RpZ2lsaXJhUGF5T25seQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAEAAAAFmlzRGlnaWxpcmFQYXlFeGNsdXNpdmUJAABmAAAAAgUAAAAPZGlnaWxpcmFQYXlPbmx5CQEAAAALdmFsdWVPckVsc2UAAAACBQAAAAthc3NldFN0YXR1cwAAAAAAAAAAAAQAAAAWcGVybWlzc2lvblRyYW5zZmVyVG9EUAMJAABmAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMFAAAABmJhbm5lZAkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAAPcmVjaXBpZW50U3RhdHVzAAAAAAAAAAAABgkAAGYAAAACCQEAAAALdmFsdWVPckVsc2UAAAACBQAAAAthc3NldFN0YXR1cwUAAAAGYmFubmVkCQEAAAALdmFsdWVPckVsc2UAAAACBQAAAAhteVN0YXR1cwAAAAAAAAAAAAQAAAARcGVybWlzc2lvblBheW1lbnQDCQAAZgAAAAIFAAAACWZ1bmRCbG9jawkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAJAABnAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAFAAAADHBheW1lbnRCbG9jawcEAAAAF3Blcm1pc3Npb25UcmFuc2Zlck5vdERQAwkAAGYAAAACBQAAAA10cmFuc2ZlckJsb2NrCQEAAAALdmFsdWVPckVsc2UAAAACBQAAAAthc3NldFN0YXR1cwAAAAAAAAAAAAYJAABnAAAAAgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgUAAAALYXNzZXRTdGF0dXMAAAAAAAAAAAAFAAAAEHBheW1lbnRGdW5kQmxvY2sEAAAACmlzUmVjb3ZlcnkDAwMFAAAAEWRpZ2lsaXJhUmVjaXBpZW50BQAAABJpc0ZlZVJlY292ZXJ5VG9rZW4HBQAAABJpc1JlY2lwaWVudEdhdGV3YXkHBQAAAA5teVN0YXR1c0Jhbm5lZAcDAwUAAAAKaXNSZWNvdmVyeQkBAAAACHJlY292ZXJ5AAAAAAcGAwUAAAARZGlnaWxpcmFSZWNpcGllbnQEAAAABnByb2xvZwIAAAAjVHJhbnNmZXIgdG8gRGlnaWxpcmFQYXkgcmVjaXBpZW50OiADBQAAAA5teVN0YXR1c0Jhbm5lZAkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAAgVGhpcyBhY2NvdW50IGhhcyBiZWVuIHN1c3BlbmRlZC4DBQAAABVyZWNpcGllbnRTdGF0dXNCYW5uZWQJAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAJ1JlY2lwaWVudCdzIGFjY291bnQgaGFzIGJlZW4gc3VzcGVuZGVkLgMFAAAAEWFzc2V0U3RhdHVzQmFubmVkCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAABtBc3NldCBjYW5ub3QgYmUgdHJhbnNmZXJlZC4DBQAAABZwZXJtaXNzaW9uVHJhbnNmZXJUb0RQCQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAAD1Bc3NldCBjYW5ub3QgYmUgdHJhbnNmZXJlZC4gUmVjaXBpZW50L1NlbmRlciBpcyBub3QgZWxpZ2libGUuAwUAAAAWaXNEaWdpbGlyYVBheUV4Y2x1c2l2ZQkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAAXTm9uLVRyYW5zZmVyYWJsZSBUb2tlbi4DBQAAABJpc1JlY2lwaWVudEdhdGV3YXkDAwUAAAARcGVybWlzc2lvblBheW1lbnQGBQAAABBpc0V4Y2x1c2l2ZVRva2VuCQEAAAAIY2hlY2tGZWUAAAABBQAAAAF3CQAAAgAAAAEJAAEsAAAAAgUAAAAGcHJvbG9nAgAAACFBc3NldCBjYW5ub3QgYmUgdXNlZCBvbiBwYXltZW50cy4DBQAAABFpc0ZlZVBheW1lbnRUb2tlbgkAAAIAAAABCQABLAAAAAIFAAAABnByb2xvZwIAAAAdUGF5bWVudCBUb2tlbiBjYW5ub3QgYmUgdXNlZC4JAQAAAAhjaGVja0ZlZQAAAAEFAAAAAXcEAAAABnByb2xvZwIAAAAnVHJhbnNmZXIgdG8gbm90IERpZ2lsaXJhUGF5IHJlY2lwaWVudDogAwUAAAARaXNGZWVTcG9uc29yVG9rZW4JAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAHVNwb25zb3IgVG9rZW4gY2Fubm90IGJlIHVzZWQuAwUAAAARaXNGZWVQYXltZW50VG9rZW4JAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAHVBheW1lbnQgVG9rZW4gY2Fubm90IGJlIHVzZWQuAwUAAAAObXlTdGF0dXNCYW5uZWQJAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAIFRoaXMgYWNjb3VudCBoYXMgYmVlbiBzdXNwZW5kZWQuAwUAAAAXcGVybWlzc2lvblRyYW5zZmVyTm90RFAJAAACAAAAAQkAASwAAAACBQAAAAZwcm9sb2cCAAAAIFRoaXMgYXNzZXQgY2Fubm90IGJlIHRyYW5zZmVyZWQuCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgYJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAAAXQFAAAAByRtYXRjaDAEAAAAAnMxAwkAAfQAAAADCAUAAAABdAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAXQAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAABdAAAAA9zZW5kZXJQdWJsaWNLZXkAAAAAAAAAAAEAAAAAAAAAAAAEAAAAAnMyAwkAAfQAAAADCAUAAAABdAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAXQAAAAGcHJvb2ZzAAAAAAAAAAABBQAAAAtkaWdpbGlyYVBheQAAAAAAAAAAAQAAAAAAAAAAAAMJAAAAAAAAAgkAAGQAAAACBQAAAAJzMQUAAAACczIAAAAAAAAAAAIGCQAAAgAAAAECAAAADFVuYXV0aG9yaXplZAkBAAAACHJlY292ZXJ5AAAAAGmI8RA=", "height": 1378963, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 49xSA8fWZ2uyaaxjazyaahrxjHVQbx72zMcTD2mbqifz Next: H3BUf9BdPBDgD5G1ExH3jt4kCCE7MRh4j8oTBmAZxWEM 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: "
124124 if (isFeeSponsorToken)
125125 then throw((prolog + "Sponsor Token cannot be used."))
126126 else if (isFeePaymentToken)
127127 then throw((prolog + "Payment Token cannot be used."))
128128 else if (myStatusBanned)
129129 then throw((prolog + "This account has been suspended."))
130130 else if (permissionTransferNotDP)
131131 then throw((prolog + "This asset cannot be transfered."))
132132 else sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
133133 }
134134 case t: DataTransaction|SetScriptTransaction =>
135135 let s1 = if (sigVerify(t.bodyBytes, t.proofs[0], t.senderPublicKey))
136136 then 1
137137 else 0
138138 let s2 = if (sigVerify(t.bodyBytes, t.proofs[1], digiliraPay))
139139 then 1
140140 else 0
141141 if (((s1 + s2) == 2))
142142 then true
143143 else throw("Unauthorized")
144144 case _ =>
145145 recovery()
146146 }

github/deemru/w8io/169f3d6 
34.08 ms