tx · 6JEYCof68tyS27z3wYpBBpSUL3h2mtPCSrS5DYP4emo1

3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy:  -1.40000000 Waves

2020.10.10 17:53 [1214614] smart asset 3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy > SELF 0.00000000 D-BTC

{ "type": 15, "id": "6JEYCof68tyS27z3wYpBBpSUL3h2mtPCSrS5DYP4emo1", "fee": 140000000, "feeAssetId": null, "timestamp": 1602341610850, "version": 2, "chainId": 84, "sender": "3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy", "senderPublicKey": "57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4", "proofs": [ "5o87yAV8mjXNjXAjNd3SEpJXT73Rhme2bm8gygkybux1xBeHpVwtTuE1vut9vY8eDCbs3v4hRDEX1MtofmuzqtnX" ], "assetId": "FjTB2DdymTfpYbCCdcFwoRbHQnEhQD11CUm6nAF7P1UD", "script": "base64:AgQAAAAFYWRtaW4JAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT7U3zgWylABs9zUfyaAS1l4Zzgbt82QMAEAAAAB2dhdGV3YXkJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT7U3zgWylABs9zUfyaAS1l4Zzgbt82QMAEAAAABmJhbm5lZAAAAAAAAAABkwQAAAAHS1lDVmVyMQAAAAAAAAAAAQQAAAAHS1lDVmVyMgAAAAAAAAAAAgQAAAAKaXNNZXJjaGFudAAAAAAAAAAABQQAAAAKS1lDUGVuZGluZwAAAAAAAAAAAAQAAAAJbWF4QW1vdW50AAAAAAAF9eEABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAQAAAAEZGF0YQkABBoAAAACBQAAAAVhZG1pbgkAAlgAAAABCAgFAAAAAXQAAAAGc2VuZGVyAAAABWJ5dGVzBAAAAAZhbW91bnQIBQAAAAF0AAAABmFtb3VudAQAAAAHYXNzZXRJZAkBAAAAB2V4dHJhY3QAAAABCAUAAAABdAAAAAdhc3NldElkBAAAAAZpc1VzZXIJAAQaAAAAAgUAAAAFYWRtaW4JAAJYAAAAAQgJAAQkAAAAAQgFAAAAAXQAAAAJcmVjaXBpZW50AAAABWJ5dGVzAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAEZGF0YQkAAAIAAAABAgAAAEVZb3UgYXJlIG5vdCBhIHJlZ2lzdGVyZWQgbWVtYmVyLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldCEDCQAAAAAAAAIFAAAABGRhdGEFAAAACktZQ1BlbmRpbmcJAAACAAAAAQIAAAAwS1lDIFBlbmRpbmcuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAARkYXRhBQAAAAdLWUNWZXIxAwkAAAAAAAACCAUAAAABdAAAAAlyZWNpcGllbnQFAAAAB2dhdGV3YXkGAwMDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQYJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIyBgkAAAAAAAACBQAAAAZpc1VzZXIFAAAACmlzTWVyY2hhbnQDCQAAZwAAAAIFAAAACW1heEFtb3VudAUAAAAGYW1vdW50BgkAAAIAAAABAgAAAD5DYW5ub3QgdHJhbnNmZXIgcGxlYXNlIHZlcmlmeSB5b3VyIGFjb3VudC4gQW1vdW50IGlzIHRvbyBtdWNoIQMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAApLWUNQZW5kaW5nCQAAAgAAAAECAAAAS1RoZSByZWNpcGllbnQgaXMgaW4gS1lDIHBlbmRpbmcgc3RhdHVzLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAZiYW5uZWQJAAACAAAAAQIAAAA8VGhlIHJlY2lwaWVudCBpcyBiYW5uZWQuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0CQAAAgAAAAECAAAAFFVuZGVmaW5lZCBzaXR1YXRpb24hAwkAAAAAAAACBQAAAARkYXRhBQAAAAdLWUNWZXIyAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAABmlzVXNlcgMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIxAwkAAGcAAAACBQAAAAltYXhBbW91bnQFAAAABmFtb3VudAYJAAACAAAAAQIAAAA+Q2Fubm90IHRyYW5zZmVyIHBsZWFzZSB2ZXJpZnkgeW91ciBhY291bnQuIEFtb3VudCBpcyB0b28gbXVjaCEDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKS1lDUGVuZGluZwkAAAIAAAABAgAAAEtUaGUgcmVjaXBpZW50IGlzIGluIEtZQyBwZW5kaW5nIHN0YXR1cy4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAAB0tZQ1ZlcjIGCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKaXNNZXJjaGFudAYDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAGYmFubmVkCQAAAgAAAAECAAAAPFRoZSByZWNpcGllbnQgaXMgYmFubmVkLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRB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ZCBzaXR1YXRpb24hAwkAAAAAAAACBQAAAARkYXRhBQAAAAdLWUNWZXIyAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAABmlzVXNlcgMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIxAwkAAGcAAAACBQAAAAltYXhBbW91bnQFAAAABmFtb3VudAYJAAACAAAAAQIAAAA+Q2Fubm90IHRyYW5zZmVyIHBsZWFzZSB2ZXJpZnkgeW91ciBhY291bnQuIEFtb3VudCBpcyB0b28gbXVjaCEDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQkAAAIAAAABAgAAAEtUaGUgcmVjaXBpZW50IGlzIGluIEtZQyBwZW5kaW5nIHN0YXR1cy4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMgYDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAGYmFubmVkCQAAAgAAAAECAAAAPFRoZSByZWNpcGllbnQgaXMgYmFubmVkLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAkAAAIAAAABAgAAABRVbmRlZmluZWQgc2l0dWF0aW9uIQkAAAIAAAABAgAAADtUaGUgcmVjaXBpZW50IGlzIG5vdCBhdXRob3JpemVkIHRvIHBvc3Nlc3MgdGhpcyBTbWFydEFzc2V0IQMJAAAAAAAAAgUAAAAEZGF0YQUAAAAGYmFubmVkCQAAAgAAAAECAAAAH1lvdXIgYWNvdW50IGhhcyBiZWVuIHN1c3BlbmRlZCEJAAACAAAAAQIAAAAUVW5kZWZpbmVkIHNpdHVhdGlvbiEDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAAAmV4BQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQnVyblRyYW5zYWN0aW9uBAAAAAFiBQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAZU2V0QXNzZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAAGc2NyaXB0BQAAAAckbWF0Y2gwAwkAAAAAAAACCAUAAAAGc2NyaXB0AAAABnNlbmRlcgUAAAAFYWRtaW4GCQAAAgAAAAECAAAAFkFkbWluIG9wZXJhdGlvbiBvbmx5Li4G13FS3Q==", "height": 1214614, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BNAeq9g742egVqDRHxxgF2YV3JU3JBUqV9WVe2an7NXB Next: 8YrzQ8Hshy32j7ypsapZXeTngsPWodcXRB9NEy5v3HdX Diff:
OldNewDifferences
6767 let firstAmount = mtt.transfers[0].amount
6868 let issueTransaction = transactionById(assetId)
6969 let isUser = getInteger(admin, toBase58String(addressFromRecipient(secondRecipient).bytes))
70- if (isDefined(isUser))
70+ if (!(isDefined(isUser)))
7171 then false
7272 else if ((transferCount > 2))
7373 then throw("not allowed")
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))
70- if (isDefined(isUser))
70+ 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 true
8686 else throw("Cannot transfer please verify your acount. Amount is too much!")
8787 else if ((isUser == KYCPending))
8888 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
8989 else if ((isUser == banned))
9090 then throw("The recipient is banned. You cannot transfer this SmartAsset")
9191 else throw("Undefined situation!")
9292 else if ((data == KYCVer2))
9393 then if (isDefined(isUser))
9494 then if ((isUser == KYCVer1))
9595 then if ((maxAmount >= amount))
9696 then true
9797 else throw("Cannot transfer please verify your acount. Amount is too much!")
9898 else if ((isUser == KYCVer1))
9999 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
100100 else if ((isUser == KYCVer2))
101101 then true
102102 else if ((isUser == banned))
103103 then throw("The recipient is banned. You cannot transfer this SmartAsset")
104104 else throw("Undefined situation!")
105105 else throw("The recipient is not authorized to possess this SmartAsset!")
106106 else if ((data == banned))
107107 then throw("Your acount has been suspended!")
108108 else throw("Undefined situation!")
109109 case ex: ExchangeTransaction =>
110110 false
111111 case b: BurnTransaction =>
112112 false
113113 case script: SetAssetScriptTransaction =>
114114 if ((script.sender == admin))
115115 then true
116116 else throw("Admin operation only..")
117117 case _ =>
118118 true
119119 }

github/deemru/w8io/6500d08 
37.25 ms