tx · 2xUXAfcscq2UfE89h2a1SQ6R9MZgvL77pq8JLzvnQyVV

3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy:  -1.00000000 Waves

2021.01.02 13:45 [1335644] smart asset 3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy > SELF 0.00000000 D-ETH

{ "type": 15, "id": "2xUXAfcscq2UfE89h2a1SQ6R9MZgvL77pq8JLzvnQyVV", "fee": 100000000, "feeAssetId": null, "timestamp": 1609584353310, "version": 2, "chainId": 84, "sender": "3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy", "senderPublicKey": "57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4", "proofs": [ "5oziHwNfJYtpbbsDyWWK46gdfivAbxKdWXyxhB2ceGjFt6Udpdk7BXLXh6PF56ER3kypzVprzyb5Dx1Kw56ssZa2" ], "assetId": "LVf3qaCtb9tieS1bHD8gg5XjWvqpBm5TaDxeSVcqPwn", "script": "base64:AgQAAAAFYWRtaW4JAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT7U3zgWylABs9zUfyaAS1l4Zzgbt82QMAEAAAAB2dhdGV3YXkJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT7U3zgWylABs9zUfyaAS1l4Zzgbt82QMAEAAAABmJhbm5lZAAAAAAAAAABkwQAAAAHS1lDVmVyMQAAAAAAAAAAAAQAAAAHS1lDVmVyMgAAAAAAAAAAAAQAAAAKaXNNZXJjaGFudAAAAAAAAAAAAAQAAAAKS1lDUGVuZGluZwAAAAAAAAAAAAQAAAAJbWF4QW1vdW50AAAAAAAF9eEABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAQAAAAEZGF0YQkABBoAAAACBQAAAAVhZG1pbgkAAlgAAAABCAgFAAAAAXQAAAAGc2VuZGVyAAAABWJ5dGVzBAAAAAZhbW91bnQIBQAAAAF0AAAABmFtb3VudAQAAAAGaXNVc2VyCQAEGgAAAAIFAAAABWFkbWluCQACWAAAAAEICQAEJAAAAAEIBQAAAAF0AAAACXJlY2lwaWVudAAAAAVieXRlcwMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEFAAAABGRhdGEJAAACAAAAAQIAAABFWW91IGFyZSBub3QgYSByZWdpc3RlcmVkIG1lbWJlci4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQhAwkAAAAAAAACBQAAAARkYXRhBQAAAApLWUNQZW5kaW5nCQAAAgAAAAECAAAAMEtZQyBQZW5kaW5nLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAMJAAAAAAAAAgUAAAAEZGF0YQUAAAAHS1lDVmVyMQMJAAAAAAAAAggFAAAAAXQAAAAJcmVjaXBpZW50BQAAAAdnYXRld2F5BgMDAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAAB0tZQ1ZlcjEGCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMgYJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAppc01lcmNoYW50AwkAAGcAAAACBQAAAAltYXhBbW91bnQFAAAABmFtb3VudAYJAAACAAAAAQIAAAA+Q2Fubm90IHRyYW5zZmVyIHBsZWFzZSB2ZXJpZnkgeW91ciBhY291bnQuIEFtb3VudCBpcyB0b28gbXVjaCEDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKS1lDUGVuZGluZwkAAAIAAAABAgAAAEtUaGUgcmVjaXBpZW50IGlzIGluIEtZQyBwZW5kaW5nIHN0YXR1cy4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAGYmFubmVkCQAAAgAAAAECAAAAPFRoZSByZWNpcGllbnQgaXMgYmFubmVkLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAkAAAIAAAABAgAAABRVbmRlZmluZWQgc2l0dWF0aW9uIQMJAAAAAAAAAgUAAAAEZGF0YQUAAAAHS1lDVmVyMgMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZpc1VzZXIDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQMJAABnAAAAAgUAAAAJbWF4QW1vdW50BQAAAAZhbW91bnQGCQAAAgAAAAECAAAAPkNhbm5vdCB0cmFuc2ZlciBwbGVhc2UgdmVyaWZ5IHlvdXIgYWNvdW50LiBBbW91bnQgaXMgdG9vIG11Y2ghAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAACktZQ1BlbmRpbmcJAAACAAAAAQIAAABLVGhlIHJlY2lwaWVudCBpcyBpbiBLWUMgcGVuZGluZyBzdGF0dXMuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIyBgkAAAAAAAACBQAAAAZpc1VzZXIFAAAACmlzTWVyY2hhbnQGAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAABmJhbm5lZAkAAAIAAAABAgAAADxUaGUgcmVjaXBpZW50IGlzIGJhbm5lZC4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQJAAACAAAAAQIAAAAUVW5kZWZpbmVkIHNpdHVhdGlvbiEJAAACAAAAAQIA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AAAAAgUAAAALZmlyc3RBbW91bnQJAABoAAAAAgkAAGkAAAACBQAAAAxzZWNvbmRBbW91bnQAAAAAAAAAA+gFAAAAB3RheFNpemUHBwkAAAIAAAABAgAAAD5DYW5ub3QgdHJhbnNmZXIgcGxlYXNlIHZlcmlmeSB5b3VyIGFjb3VudC4gQW1vdW50IGlzIHRvbyBtdWNoIQMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAApLWUNQZW5kaW5nCQAAAgAAAAECAAAAS1RoZSByZWNpcGllbnQgaXMgaW4gS1lDIHBlbmRpbmcgc3RhdHVzLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAZiYW5uZWQJAAACAAAAAQIAAAA8VGhlIHJlY2lwaWVudCBpcyBiYW5uZWQuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAAZpc1VzZXIFAAAACmlzTWVyY2hhbnQJAAACAAAAAQIAAAAmTWVyY2hhbnRzIGNhbm5vdCByZWNpZXZlIG1hc3MgcGF5bWVudHMJAAACAAAAAQIAAAAUVW5kZWZpbmVkIHNpdHVhdGlvbiEDCQAAAAAAAAIFAAAABGRhdGEFAAAAB0tZQ1ZlcjIDCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAGaXNVc2VyAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAAB0tZQ1ZlcjEDCQAAZwAAAAIFAAAACW1heEFtb3VudAUAAAAGYW1vdW50BAAAAAckbWF0Y2gxBQAAABBpc3N1ZVRyYW5zYWN0aW9uAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABBJc3N1ZVRyYW5zYWN0aW9uBAAAAAdpc3N1ZVR4BQAAAAckbWF0Y2gxBAAAAA1pc3N1ZXJBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAAHaXNzdWVUeAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAB3RheFNpemUJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAA1pc3N1ZXJBZGRyZXNzCQACWAAAAAEFAAAAB2Fzc2V0SWQDCQAAAAAAAAIFAAAADmZpcnN0UmVjaXBpZW50BQAAAA1pc3N1ZXJBZGRyZXNzCQAAZwAAAAIFAAAAC2ZpcnN0QW1vdW50CQAAaAAAAAIJAABpAAAAAgUAAAAMc2Vjb25kQW1vdW50AAAAAAAAAAPoBQAAAAd0YXhTaXplBwcJAAACAAAAAQIAAAA+Q2Fubm90IHRyYW5zZmVyIHBsZWFzZSB2ZXJpZnkgeW91ciBhY291bnQuIEFtb3VudCBpcyB0b28gbXVjaCEDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQkAAAIAAAABAgAAAEtUaGUgcmVjaXBpZW50IGlzIGluIEtZQyBwZW5kaW5nIHN0YXR1cy4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMgQAAAAHJG1hdGNoMQUAAAAQaXNzdWVUcmFuc2FjdGlvbgMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAAQSXNzdWVUcmFuc2FjdGlvbgQAAAAHaXNzdWVUeAUAAAAHJG1hdGNoMQQAAAANaXNzdWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAB2lzc3VlVHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAd0YXhTaXplCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAANaXNzdWVyQWRkcmVzcwkAAlgAAAABBQAAAAdhc3NldElkAwkAAAAAAAACBQAAAA5maXJzdFJlY2lwaWVudAUAAAANaXNzdWVyQWRkcmVzcwkAAGcAAAACBQAAAAtmaXJzdEFtb3VudAkAAGgAAAACCQAAaQAAAAIFAAAADHNlY29uZEFtb3VudAAAAAAAAAAD6AUAAAAHdGF4U2l6ZQcHAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAABmJhbm5lZAkAAAIAAAABAgAAADxUaGUgcmVjaXBpZW50IGlzIGJhbm5lZC4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKaXNNZXJjaGFudAkAAAIAAAABAgAAACZNZXJjaGFudHMgY2Fubm90IHJlY2lldmUgbWFzcyBwYXltZW50cwkAAAIAAAABAgAAABRVbmRlZmluZWQgc2l0dWF0aW9uIQkAAAIAAAABAgAAADtUaGUgcmVjaXBpZW50IGlzIG5vdCBhdXRob3JpemVkIHRvIHBvc3Nlc3MgdGhpcyBTbWFydEFzc2V0IQMJAAAAAAAAAgUAAAAEZGF0YQUAAAAGYmFubmVkCQAAAgAAAAECAAAAH1lvdXIgYWNvdW50IGhhcyBiZWVuIHN1c3BlbmRlZCEDCQAAAAAAAAIFAAAABGRhdGEFAAAACmlzTWVyY2hhbnQJAAACAAAAAQIAAAAtTWVyY2hhbnQgYWNjb3VudCBjYW5ub3QgcGVyZm9ybSBtYXNzIHRyYW5zZmVyCQAAAgAAAAECAAAAFFVuZGVmaW5lZCBzaXR1YXRpb24hAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAJleAUAAAAHJG1hdGNoMAcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0J1cm5UcmFuc2FjdGlvbgQAAAABYgUAAAAHJG1hdGNoMAcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAGVNldEFzc2V0U2NyaXB0VHJhbnNhY3Rpb24EAAAABnNjcmlwdAUAAAAHJG1hdGNoMAMJAAAAAAAAAggFAAAABnNjcmlwdAAAAAZzZW5kZXIFAAAABWFkbWluBgkAAAIAAAABAgAAABZBZG1pbiBvcGVyYXRpb24gb25seS4uBrv1PYU=", "height": 1335644, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9xznjsbGZYPSPZ68vMqDN53TtWZ5UDY6SmuFeMjYjDMy Next: 3fJmTgGE7RjTp2vtSVSezyeKVvWXPNAf9eZXuKC1R636 Diff:
OldNewDifferences
33 let admin = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
44 let gateway = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
55 let banned = 403
6-let KYCVer1 = 1
7-let KYCVer2 = 2
8-let isMerchant = 5
6+let KYCVer1 = 0
7+let KYCVer2 = 0
8+let isMerchant = 0
99 let KYCPending = 0
1010 let maxAmount = 100000000
1111 match tx {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 let admin = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
44 let gateway = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
55 let banned = 403
6-let KYCVer1 = 1
7-let KYCVer2 = 2
8-let isMerchant = 5
6+let KYCVer1 = 0
7+let KYCVer2 = 0
8+let isMerchant = 0
99 let KYCPending = 0
1010 let maxAmount = 100000000
1111 match tx {
1212 case t: TransferTransaction =>
1313 let data = getInteger(admin, toBase58String(t.sender.bytes))
1414 let amount = t.amount
1515 let isUser = getInteger(admin, toBase58String(addressFromRecipient(t.recipient).bytes))
1616 if (!(isDefined(data)))
1717 then throw("You are not a registered member. You cannot transfer this SmartAsset!")
1818 else if ((data == KYCPending))
1919 then throw("KYC Pending. You cannot transfer this SmartAsset")
2020 else if ((data == KYCVer1))
2121 then if ((t.recipient == gateway))
2222 then true
2323 else if (if (if ((isUser == KYCVer1))
2424 then true
2525 else (isUser == KYCVer2))
2626 then true
2727 else (isUser == isMerchant))
2828 then if ((maxAmount >= amount))
2929 then true
3030 else throw("Cannot transfer please verify your acount. Amount is too much!")
3131 else if ((isUser == KYCPending))
3232 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
3333 else if ((isUser == banned))
3434 then throw("The recipient is banned. You cannot transfer this SmartAsset")
3535 else throw("Undefined situation!")
3636 else if ((data == KYCVer2))
3737 then if (isDefined(isUser))
3838 then if ((isUser == KYCVer1))
3939 then if ((maxAmount >= amount))
4040 then true
4141 else throw("Cannot transfer please verify your acount. Amount is too much!")
4242 else if ((isUser == KYCPending))
4343 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
4444 else if (if ((isUser == KYCVer2))
4545 then true
4646 else (isUser == isMerchant))
4747 then true
4848 else if ((isUser == banned))
4949 then throw("The recipient is banned. You cannot transfer this SmartAsset")
5050 else throw("Undefined situation!")
5151 else throw("The recipient is not authorized to possess this SmartAsset!")
5252 else if ((data == banned))
5353 then throw("Your acount has been suspended!")
5454 else if ((data == isMerchant))
5555 then if ((t.recipient == gateway))
5656 then true
5757 else throw("Cannot transfer this asset to another account.")
5858 else throw("Undefined situation!")
5959 case mtt: MassTransferTransaction =>
6060 let data = getInteger(admin, toBase58String(mtt.sender.bytes))
6161 let amount = mtt.totalAmount
6262 let assetId = extract(mtt.assetId)
6363 let transferCount = mtt.transferCount
6464 let firstRecipient = mtt.transfers[0].recipient
6565 let secondRecipient = mtt.transfers[1].recipient
6666 let firstAmount = mtt.transfers[0].amount
6767 let secondAmount = mtt.transfers[1].amount
6868 let issueTransaction = transactionById(assetId)
6969 let isUser = getInteger(admin, toBase58String(addressFromRecipient(secondRecipient).bytes))
7070 if (!(isDefined(isUser)))
7171 then false
7272 else if ((transferCount > 2))
7373 then throw("not allowed")
7474 else if (!(isDefined(data)))
7575 then throw("You are not a registered member. You cannot transfer this SmartAsset!")
7676 else if ((data == KYCPending))
7777 then throw("KYC Pending. You cannot transfer this SmartAsset")
7878 else if ((data == KYCVer1))
7979 then if ((firstRecipient != gateway))
8080 then throw("First recipient must be the issuer")
8181 else if (if ((isUser == KYCVer1))
8282 then true
8383 else (isUser == KYCVer2))
8484 then if ((maxAmount >= amount))
8585 then match issueTransaction {
8686 case issueTx: IssueTransaction =>
8787 let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
8888 let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
8989 if ((firstRecipient == issuerAddress))
9090 then (firstAmount >= ((secondAmount / 1000) * taxSize))
9191 else false
9292 case _ =>
9393 false
9494 }
9595 else throw("Cannot transfer please verify your acount. Amount is too much!")
9696 else if ((isUser == KYCPending))
9797 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
9898 else if ((isUser == banned))
9999 then throw("The recipient is banned. You cannot transfer this SmartAsset")
100100 else if ((isUser == isMerchant))
101101 then throw("Merchants cannot recieve mass payments")
102102 else throw("Undefined situation!")
103103 else if ((data == KYCVer2))
104104 then if (isDefined(isUser))
105105 then if ((isUser == KYCVer1))
106106 then if ((maxAmount >= amount))
107107 then match issueTransaction {
108108 case issueTx: IssueTransaction =>
109109 let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
110110 let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
111111 if ((firstRecipient == issuerAddress))
112112 then (firstAmount >= ((secondAmount / 1000) * taxSize))
113113 else false
114114 case _ =>
115115 false
116116 }
117117 else throw("Cannot transfer please verify your acount. Amount is too much!")
118118 else if ((isUser == KYCVer1))
119119 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
120120 else if ((isUser == KYCVer2))
121121 then match issueTransaction {
122122 case issueTx: IssueTransaction =>
123123 let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
124124 let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
125125 if ((firstRecipient == issuerAddress))
126126 then (firstAmount >= ((secondAmount / 1000) * taxSize))
127127 else false
128128 case _ =>
129129 false
130130 }
131131 else if ((isUser == banned))
132132 then throw("The recipient is banned. You cannot transfer this SmartAsset")
133133 else if ((isUser == isMerchant))
134134 then throw("Merchants cannot recieve mass payments")
135135 else throw("Undefined situation!")
136136 else throw("The recipient is not authorized to possess this SmartAsset!")
137137 else if ((data == banned))
138138 then throw("Your acount has been suspended!")
139139 else if ((data == isMerchant))
140140 then throw("Merchant account cannot perform mass transfer")
141141 else throw("Undefined situation!")
142142 case ex: ExchangeTransaction =>
143143 false
144144 case b: BurnTransaction =>
145145 false
146146 case script: SetAssetScriptTransaction =>
147147 if ((script.sender == admin))
148148 then true
149149 else throw("Admin operation only..")
150150 case _ =>
151151 true
152152 }

github/deemru/w8io/6500d08 
48.24 ms