tx · EdQ9rQ2XB1wYTMJ9VSasH9g1UCwH15TbXyWdRUCoqPYR

3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy:  -1.40000000 Waves

2020.10.10 18:31 [1214651] smart asset 3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy > SELF 0.00000000 D-BTC

{ "type": 15, "id": "EdQ9rQ2XB1wYTMJ9VSasH9g1UCwH15TbXyWdRUCoqPYR", "fee": 140000000, "feeAssetId": null, "timestamp": 1602343899645, "version": 2, "chainId": 84, "sender": "3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy", "senderPublicKey": "57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4", "proofs": [ "39R4gq1yDoLsuh8MAhmUEMt6jZntvAdxBEmchEMNWcPwowNmxgYdAbMsrsV1tfj7GbuURcqPrqL5Zr9pgLpZTyww" ], "assetId": "FjTB2DdymTfpYbCCdcFwoRbHQnEhQD11CUm6nAF7P1UD", "script": "base64:AgQAAAAFYWRtaW4JAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT7U3zgWylABs9zUfyaAS1l4Zzgbt82QMAEAAAAB2dhdGV3YXkJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT7U3zgWylABs9zUfyaAS1l4Zzgbt82QMAEAAAABmJhbm5lZAAAAAAAAAABkwQAAAAHS1lDVmVyMQAAAAAAAAAAAQQAAAAHS1lDVmVyMgAAAAAAAAAAAgQAAAAKaXNNZXJjaGFudAAAAAAAAAAABQQAAAAKS1lDUGVuZGluZwAAAAAAAAAAAAQAAAAJbWF4QW1vdW50AAAAAAAF9eEABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAQAAAAEZGF0YQkABBoAAAACBQAAAAVhZG1pbgkAAlgAAAABCAgFAAAAAXQAAAAGc2VuZGVyAAAABWJ5dGVzBAAAAAZhbW91bnQIBQAAAAF0AAAABmFtb3VudAQAAAAHYXNzZXRJZAkBAAAAB2V4dHJhY3QAAAABCAUAAAABdAAAAAdhc3NldElkBAAAAAZpc1VzZXIJAAQaAAAAAgUAAAAFYWRtaW4JAAJYAAAAAQgJAAQkAAAAAQgFAAAAAXQAAAAJcmVjaXBpZW50AAAABWJ5dGVzAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAEZGF0YQkAAAIAAAABAgAAAEVZb3UgYXJlIG5vdCBhIHJlZ2lzdGVyZWQgbWVtYmVyLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldCEDCQAAAAAAAAIFAAAABGRhdGEFAAAACktZQ1BlbmRpbmcJAAACAAAAAQIAAAAwS1lDIFBlbmRpbmcuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAARkYXRhBQAAAAdLWUNWZXIxAwkAAAAAAAACCAUAAAABdAAAAAlyZWNpcGllbnQFAAAAB2dhdGV3YXkGAwMDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQYJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIyBgkAAAAAAAACBQAAAAZpc1VzZXIFAAAACmlzTWVyY2hhbnQDCQAAZwAAAAIFAAAACW1heEFtb3VudAUAAAAGYW1vdW50BgkAAAIAAAABAgAAAD5DYW5ub3QgdHJhbnNmZXIgcGxlYXNlIHZlcmlmeSB5b3VyIGFjb3VudC4gQW1vdW50IGlzIHRvbyBtdWNoIQMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAApLWUNQZW5kaW5nCQAAAgAAAAECAAAAS1RoZSByZWNpcGllbnQgaXMgaW4gS1lDIHBlbmRpbmcgc3RhdHVzLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAZiYW5uZWQJAAACAAAAAQIAAAA8VGhlIHJlY2lwaWVudCBpcyBiYW5uZWQuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0CQAAAgAAAAECAAAAFFVuZGVmaW5lZCBzaXR1YXRpb24hAwkAAAAAAAACBQAAAARkYXRhBQAAAAdLWUNWZXIyAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAABmlzVXNlcgMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIxAwkAAGcAAAACBQAAAAltYXhBbW91bnQFAAAABmFtb3VudAYJAAACAAAAAQIAAAA+Q2Fubm90IHRyYW5zZmVyIHBsZWFzZSB2ZXJpZnkgeW91ciBhY291bnQuIEFtb3VudCBpcyB0b28gbXVjaCEDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKS1lDUGVuZGluZwkAAAIAAAABAgAAAEtUaGUgcmVjaXBpZW50IGlzIGluIEtZQyBwZW5kaW5nIHN0YXR1cy4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAAB0tZQ1ZlcjIGCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKaXNNZXJjaGFudAYDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAGYmFubmVkCQAAAgAAAAECAAAAPFRoZSByZWNpcGllbnQgaXMgYmFubmVkLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRB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CQAAaAAAAAIJAABpAAAAAggFAAAAA210dAAAAAt0b3RhbEFtb3VudAAAAAAAAAAAZAUAAAAHdGF4U2l6ZQcHCQAAAgAAAAECAAAAPkNhbm5vdCB0cmFuc2ZlciBwbGVhc2UgdmVyaWZ5IHlvdXIgYWNvdW50LiBBbW91bnQgaXMgdG9vIG11Y2ghAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAACktZQ1BlbmRpbmcJAAACAAAAAQIAAABLVGhlIHJlY2lwaWVudCBpcyBpbiBLWUMgcGVuZGluZyBzdGF0dXMuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAAZpc1VzZXIFAAAABmJhbm5lZAkAAAIAAAABAgAAADxUaGUgcmVjaXBpZW50IGlzIGJhbm5lZC4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKaXNNZXJjaGFudAkAAAIAAAABAgAAACZNZXJjaGFudHMgY2Fubm90IHJlY2lldmUgbWFzcyBwYXltZW50cwkAAAIAAAABAgAAABRVbmRlZmluZWQgc2l0dWF0aW9uIQMJAAAAAAAAAgUAAAAEZGF0YQUAAAAHS1lDVmVyMgMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZpc1VzZXIDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQMJAABnAAAAAgUAAAAJbWF4QW1vdW50BQAAAAZhbW91bnQEAAAAByRtYXRjaDEFAAAAEGlzc3VlVHJhbnNhY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAEElzc3VlVHJhbnNhY3Rpb24EAAAAB2lzc3VlVHgFAAAAByRtYXRjaDEEAAAADWlzc3VlckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAdpc3N1ZVR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAHdGF4U2l6ZQkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAADWlzc3VlckFkZHJlc3MJAAJYAAAAAQUAAAAHYXNzZXRJZAMJAAAAAAAAAgUAAAAOZmlyc3RSZWNpcGllbnQFAAAADWlzc3VlckFkZHJlc3MJAABnAAAAAgUAAAALZmlyc3RBbW91bnQJAABoAAAAAgkAAGkAAAACCAUAAAADbXR0AAAAC3RvdGFsQW1vdW50AAAAAAAAAABkBQAAAAd0YXhTaXplBwcJAAACAAAAAQIAAAA+Q2Fubm90IHRyYW5zZmVyIHBsZWFzZSB2ZXJpZnkgeW91ciBhY291bnQuIEFtb3VudCBpcyB0b28gbXVjaCEDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQkAAAIAAAABAgAAAEtUaGUgcmVjaXBpZW50IGlzIGluIEtZQyBwZW5kaW5nIHN0YXR1cy4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMgQAAAAHJG1hdGNoMQUAAAAQaXNzdWVUcmFuc2FjdGlvbgMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAAQSXNzdWVUcmFuc2FjdGlvbgQAAAAHaXNzdWVUeAUAAAAHJG1hdGNoMQQAAAANaXNzdWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAB2lzc3VlVHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAd0YXhTaXplCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAANaXNzdWVyQWRkcmVzcwkAAlgAAAABBQAAAAdhc3NldElkAwkAAAAAAAACBQAAAA5maXJzdFJlY2lwaWVudAUAAAANaXNzdWVyQWRkcmVzcwkAAGcAAAACBQAAAAtmaXJzdEFtb3VudAkAAGgAAAACCQAAaQAAAAIIBQAAAANtdHQAAAALdG90YWxBbW91bnQAAAAAAAAAAGQFAAAAB3RheFNpemUHBwMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAZiYW5uZWQJAAACAAAAAQIAAAA8VGhlIHJlY2lwaWVudCBpcyBiYW5uZWQuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAAZpc1VzZXIFAAAACmlzTWVyY2hhbnQJAAACAAAAAQIAAAAmTWVyY2hhbnRzIGNhbm5vdCByZWNpZXZlIG1hc3MgcGF5bWVudHMJAAACAAAAAQIAAAAUVW5kZWZpbmVkIHNpdHVhdGlvbiEJAAACAAAAAQIAAAA7VGhlIHJlY2lwaWVudCBpcyBub3QgYXV0aG9yaXplZCB0byBwb3NzZXNzIHRoaXMgU21hcnRBc3NldCEDCQAAAAAAAAIFAAAABGRhdGEFAAAABmJhbm5lZAkAAAIAAAABAgAAAB9Zb3VyIGFjb3VudCBoYXMgYmVlbiBzdXNwZW5kZWQhAwkAAAAAAAACBQAAAARkYXRhBQAAAAppc01lcmNoYW50CQAAAgAAAAECAAAALU1lcmNoYW50IGFjY291bnQgY2Fubm90IHBlcmZvcm0gbWFzcyB0cmFuc2ZlcgkAAAIAAAABAgAAABRVbmRlZmluZWQgc2l0dWF0aW9uIQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATRXhjaGFuZ2VUcmFuc2FjdGlvbgQAAAACZXgFAAAAByRtYXRjaDAHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9CdXJuVHJhbnNhY3Rpb24EAAAAAWIFAAAAByRtYXRjaDAHAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABlTZXRBc3NldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAZzY3JpcHQFAAAAByRtYXRjaDADCQAAAAAAAAIIBQAAAAZzY3JpcHQAAAAGc2VuZGVyBQAAAAVhZG1pbgYJAAACAAAAAQIAAAAWQWRtaW4gb3BlcmF0aW9uIG9ubHkuLgYzhud5", "height": 1214651, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 8YrzQ8Hshy32j7ypsapZXeTngsPWodcXRB9NEy5v3HdX Next: 2SigttJKHUKo5JuwMFupf5PMqmZbL3FhmqUwZUAR9HEQ Diff:
OldNewDifferences
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")
100- else throw("Undefined situation!")
100+ else if ((isUser == isMerchant))
101+ then throw("Merchants cannot recieve mass payments")
102+ else throw("Undefined situation!")
101103 else if ((data == KYCVer2))
102104 then if (isDefined(isUser))
103105 then if ((isUser == KYCVer1))
128130 }
129131 else if ((isUser == banned))
130132 then throw("The recipient is banned. You cannot transfer this SmartAsset")
131- else throw("Undefined situation!")
133+ else if ((isUser == isMerchant))
134+ then throw("Merchants cannot recieve mass payments")
135+ else throw("Undefined situation!")
132136 else throw("The recipient is not authorized to possess this SmartAsset!")
133137 else if ((data == banned))
134138 then throw("Your acount has been suspended!")
135- else throw("Undefined situation!")
139+ else if ((data == isMerchant))
140+ then throw("Merchant account cannot perform mass transfer")
141+ else throw("Undefined situation!")
136142 case ex: ExchangeTransaction =>
137143 false
138144 case b: BurnTransaction =>
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
66 let KYCVer1 = 1
77 let KYCVer2 = 2
88 let isMerchant = 5
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 assetId = extract(t.assetId)
1616 let isUser = getInteger(admin, toBase58String(addressFromRecipient(t.recipient).bytes))
1717 if (!(isDefined(data)))
1818 then throw("You are not a registered member. You cannot transfer this SmartAsset!")
1919 else if ((data == KYCPending))
2020 then throw("KYC Pending. You cannot transfer this SmartAsset")
2121 else if ((data == KYCVer1))
2222 then if ((t.recipient == gateway))
2323 then true
2424 else if (if (if ((isUser == KYCVer1))
2525 then true
2626 else (isUser == KYCVer2))
2727 then true
2828 else (isUser == isMerchant))
2929 then if ((maxAmount >= amount))
3030 then true
3131 else throw("Cannot transfer please verify your acount. Amount is too much!")
3232 else if ((isUser == KYCPending))
3333 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
3434 else if ((isUser == banned))
3535 then throw("The recipient is banned. You cannot transfer this SmartAsset")
3636 else throw("Undefined situation!")
3737 else if ((data == KYCVer2))
3838 then if (isDefined(isUser))
3939 then if ((isUser == KYCVer1))
4040 then if ((maxAmount >= amount))
4141 then true
4242 else throw("Cannot transfer please verify your acount. Amount is too much!")
4343 else if ((isUser == KYCPending))
4444 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
4545 else if (if ((isUser == KYCVer2))
4646 then true
4747 else (isUser == isMerchant))
4848 then true
4949 else if ((isUser == banned))
5050 then throw("The recipient is banned. You cannot transfer this SmartAsset")
5151 else throw("Undefined situation!")
5252 else throw("The recipient is not authorized to possess this SmartAsset!")
5353 else if ((data == banned))
5454 then throw("Your acount has been suspended!")
5555 else if ((data == isMerchant))
5656 then if ((t.recipient == gateway))
5757 then true
5858 else throw("Cannot transfer this asset to another account.")
5959 else throw("Undefined situation!")
6060 case mtt: MassTransferTransaction =>
6161 let data = getInteger(admin, toBase58String(mtt.sender.bytes))
6262 let amount = mtt.totalAmount
6363 let assetId = extract(mtt.assetId)
6464 let transferCount = mtt.transferCount
6565 let firstRecipient = mtt.transfers[0].recipient
6666 let secondRecipient = mtt.transfers[1].recipient
6767 let firstAmount = mtt.transfers[0].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 >= ((mtt.totalAmount / 100) * 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")
100- else throw("Undefined situation!")
100+ else if ((isUser == isMerchant))
101+ then throw("Merchants cannot recieve mass payments")
102+ else throw("Undefined situation!")
101103 else if ((data == KYCVer2))
102104 then if (isDefined(isUser))
103105 then if ((isUser == KYCVer1))
104106 then if ((maxAmount >= amount))
105107 then match issueTransaction {
106108 case issueTx: IssueTransaction =>
107109 let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
108110 let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
109111 if ((firstRecipient == issuerAddress))
110112 then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
111113 else false
112114 case _ =>
113115 false
114116 }
115117 else throw("Cannot transfer please verify your acount. Amount is too much!")
116118 else if ((isUser == KYCVer1))
117119 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
118120 else if ((isUser == KYCVer2))
119121 then match issueTransaction {
120122 case issueTx: IssueTransaction =>
121123 let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
122124 let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
123125 if ((firstRecipient == issuerAddress))
124126 then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
125127 else false
126128 case _ =>
127129 false
128130 }
129131 else if ((isUser == banned))
130132 then throw("The recipient is banned. You cannot transfer this SmartAsset")
131- else throw("Undefined situation!")
133+ else if ((isUser == isMerchant))
134+ then throw("Merchants cannot recieve mass payments")
135+ else throw("Undefined situation!")
132136 else throw("The recipient is not authorized to possess this SmartAsset!")
133137 else if ((data == banned))
134138 then throw("Your acount has been suspended!")
135- else throw("Undefined situation!")
139+ else if ((data == isMerchant))
140+ then throw("Merchant account cannot perform mass transfer")
141+ else throw("Undefined situation!")
136142 case ex: ExchangeTransaction =>
137143 false
138144 case b: BurnTransaction =>
139145 false
140146 case script: SetAssetScriptTransaction =>
141147 if ((script.sender == admin))
142148 then true
143149 else throw("Admin operation only..")
144150 case _ =>
145151 true
146152 }

github/deemru/w8io/6500d08 
53.12 ms