tx · F51RDeyjzXmMk2CNTTMUFJG9XFKfMLQVUt3fA3csBGeY

3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy:  -1.40000000 Waves

2020.10.12 10:32 [1217045] smart asset 3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy > SELF 0.00000000 D-Aid

{ "type": 15, "id": "F51RDeyjzXmMk2CNTTMUFJG9XFKfMLQVUt3fA3csBGeY", "fee": 140000000, "feeAssetId": null, "timestamp": 1602487946849, "version": 2, "chainId": 84, "sender": "3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy", "senderPublicKey": "57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4", "proofs": [ "acgUzakRfcCqBqiEshpEhvsbuh9zVJVQXNmKj1KGnQ2ALfRJN78qhgksqmpYacCNW6fQqYvdoqmHxxh7PSXg1qC" ], "assetId": "2CrDXATWpvrriHHr1cVpQM65CaP3m7MJ425xz3tn9zMr", "script": "base64:AgQAAAAFYWRtaW4JAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT7U3zgWylABs9zUfyaAS1l4Zzgbt82QMAEAAAAB2dhdGV3YXkJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVT7U3zgWylABs9zUfyaAS1l4Zzgbt82QMAEAAAABmJhbm5lZAAAAAAAAAABkwQAAAAHS1lDVmVyMQAAAAAAAAAAAQQAAAAHS1lDVmVyMgAAAAAAAAAAAgQAAAAKaXNNZXJjaGFudAAAAAAAAAAABQQAAAAKS1lDUGVuZGluZwAAAAAAAAAAAAQAAAAJbWF4QW1vdW50AAAAAAAF9eEABAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAQAAAAEZGF0YQkABBoAAAACBQAAAAVhZG1pbgkAAlgAAAABCAgFAAAAAXQAAAAGc2VuZGVyAAAABWJ5dGVzBAAAAAZhbW91bnQIBQAAAAF0AAAABmFtb3VudAQAAAAHYXNzZXRJZAkBAAAAB2V4dHJhY3QAAAABCAUAAAABdAAAAAdhc3NldElkBAAAAAZpc1VzZXIJAAQaAAAAAgUAAAAFYWRtaW4JAAJYAAAAAQgJAAQkAAAAAQgFAAAAAXQAAAAJcmVjaXBpZW50AAAABWJ5dGVzAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAEZGF0YQkAAAIAAAABAgAAAEVZb3UgYXJlIG5vdCBhIHJlZ2lzdGVyZWQgbWVtYmVyLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldCEDCQAAAAAAAAIFAAAABGRhdGEFAAAACktZQ1BlbmRpbmcJAAACAAAAAQIAAAAwS1lDIFBlbmRpbmcuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAARkYXRhBQAAAAdLWUNWZXIxAwkAAAAAAAACCAUAAAABdAAAAAlyZWNpcGllbnQFAAAAB2dhdGV3YXkGAwMDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQYJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIyBgkAAAAAAAACBQAAAAZpc1VzZXIFAAAACmlzTWVyY2hhbnQDCQAAZwAAAAIFAAAACW1heEFtb3VudAUAAAAGYW1vdW50BgkAAAIAAAABAgAAAD5DYW5ub3QgdHJhbnNmZXIgcGxlYXNlIHZlcmlmeSB5b3VyIGFjb3VudC4gQW1vdW50IGlzIHRvbyBtdWNoIQMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAApLWUNQZW5kaW5nCQAAAgAAAAECAAAAS1RoZSByZWNpcGllbnQgaXMgaW4gS1lDIHBlbmRpbmcgc3RhdHVzLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAZiYW5uZWQJAAACAAAAAQIAAAA8VGhlIHJlY2lwaWVudCBpcyBiYW5uZWQuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0CQAAAgAAAAECAAAAFFVuZGVmaW5lZCBzaXR1YXRpb24hAwkAAAAAAAACBQAAAARkYXRhBQAAAAdLWUNWZXIyAwkBAAAACWlzRGVmaW5lZAAAAAEFAAAABmlzVXNlcgMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIxAwkAAGcAAAACBQAAAAltYXhBbW91bnQFAAAABmFtb3VudAYJAAACAAAAAQIAAAA+Q2Fubm90IHRyYW5zZmVyIHBsZWFzZSB2ZXJpZnkgeW91ciBhY291bnQuIEFtb3VudCBpcyB0b28gbXVjaCEDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKS1lDUGVuZGluZwkAAAIAAAABAgAAAEtUaGUgcmVjaXBpZW50IGlzIGluIEtZQyBwZW5kaW5nIHN0YXR1cy4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAAB0tZQ1ZlcjIGCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKaXNNZXJjaGFudAYDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAGYmFubmVkCQAAAgAAAAECAAAAPFRoZSByZWNpcGllbnQgaXMgYmFubmVkLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAkAAAIAAAABAgAAABRVbmRlZmluZWQgc2l0dWF0aW9uIQkAAAIAAAABAgAAADtUaGUgcmVjaXBpZW50IGlzIG5vdCBhdXRob3JpemVkIHRvIHBvc3Nlc3MgdGhpcyBTbWFydEFzc2V0IQMJAAAAAAAAAgUAAAAEZGF0YQUAAAAGYmFubmVkCQAAAgAAAAECAAAAH1lvdXIgYWNvdW50IGhhcyBiZWVuIHN1c3BlbmRlZCEDCQAAAAAAAAIFAAAABGRhdGEFAAAACmlzTWVyY2hhbnQDCQAAAAAAAAIIBQAAAAF0AAAACXJlY2lwaWVudAUAAAAHZ2F0ZXdheQYJAAACAAAAAQIAAAAuQ2Fubm90IHRyYW5zZmVyIHRoaXMgYXNzZXQgdG8gYW5vdGhlciBhY2NvdW50LgkAAAIAAAABAgAAABRVbmRlZmluZWQgc2l0dWF0aW9uIQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAXTWFzc1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAA210dAUAAAAHJG1hdGNoMAQAAAAEZGF0YQkABBoAAAACBQAAAAVhZG1pbgkAAlgAAAABCAgFAAAAA210dAAAAAZzZW5kZXIAAAAFYnl0ZXMEAAAABmFtb3VudAgFAAAAA210dAAAAAt0b3RhbEFtb3VudAQAAAAHYXNzZXRJZAkBAAAAB2V4dHJhY3QAAAABCAUAAAADbXR0AAAAB2Fzc2V0SWQEAAAADXRyYW5zZmVyQ291bnQIBQAAAANtdHQAAAANdHJhbnNmZXJDb3VudAQAAAAOZmlyc3RSZWNpcGllbnQICQABkQAAAAIIBQAAAANtdHQAAAAJdHJhbnNmZXJzAAAAAAAAAAAAAAAACXJlY2lwaWVudAQAAAAPc2Vjb25kUmVjaXBpZW50CAkAAZEAAAACCAUAAAADbXR0AAAACXRyYW5zZmVycwAAAAAAAAAAAQAAAAlyZWNpcGllbnQEAAAAC2ZpcnN0QW1vdW50CAkAAZEAAAACCAUAAAADbXR0AAAACXRyYW5zZmVycwAAAAAAAAAAAAAAAAZhbW91bnQEAAAADHNlY29uZEFtb3VudAgJAAGRAAAAAggFAAAAA210dAAAAAl0cmFuc2ZlcnMAAAAAAAAAAAEAAAAGYW1vdW50BAAAABBpc3N1ZVRyYW5zYWN0aW9uCQAD6AAAAAEFAAAAB2Fzc2V0SWQEAAAABmlzVXNlcgkABBoAAAACBQAAAAVhZG1pbgkAAlgAAAABCAkABCQAAAABBQAAAA9zZWNvbmRSZWNpcGllbnQAAAAFYnl0ZXMDCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZpc1VzZXIHAwkAAGYAAAACBQAAAA10cmFuc2ZlckNvdW50AAAAAAAAAAACCQAAAgAAAAECAAAAC25vdCBhbGxvd2VkAwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQUAAAAEZGF0YQkAAAIAAAABAgAAAEVZb3UgYXJlIG5vdCBhIHJlZ2lzdGVyZWQgbWVtYmVyLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldCEDCQAAAAAAAAIFAAAABGRhdGEFAAAACktZQ1BlbmRpbmcJAAACAAAAAQIAAAAwS1lDIFBlbmRpbmcuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAARkYXRhBQAAAAdLWUNWZXIxAwkBAAAAAiE9AAAAAgUAAAAOZmlyc3RSZWNpcGllbnQFAAAAB2dhdGV3YXkJAAACAAAAAQIAAAAiRmlyc3QgcmVjaXBpZW50IG11c3QgYmUgdGhlIGlzc3VlcgMDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQYJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIyAwkAAGcAAAACBQAAAAltYXhBbW91bnQFAAAABmFtb3VudAQAAAAHJG1hdGNoMQUAAAAQaXNzdWVUcmFuc2FjdGlvbgMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAAQSXNzdWVUcmFuc2FjdGlvbgQAAAAHaXNzdWVUeAUAAAAHJG1hdGNoMQQAAAANaXNzdWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAB2lzc3VlVHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAd0YXhTaXplCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAANaXNzdWVyQWRkcmVzcwkAAlgAAAABBQAAAAdhc3NldElkAwkAAAAAAAACBQAAAA5maXJzdFJlY2lwaWVudAUAAAANaXNzdWVyQWRkcmVzcwkAAGcAAAACBQAAAAtmaXJzdEFtb3VudAkAAGgAAAACCQAAaQAAAAIFAAAADHNlY29uZEFtb3VudAAAAAAAAAAD6AUAAAAHdGF4U2l6ZQcHCQAAAgAAAAECAAAAPkNhbm5vdCB0cmFuc2ZlciBwbGVhc2UgdmVyaWZ5IHlvdXIgYWNvdW50LiBBbW91bnQgaXMgdG9vIG11Y2ghAwkAAAAAAAACBQAAAAZpc1VzZXIFAAAACktZQ1BlbmRpbmcJAAACAAAAAQIAAABLVGhlIHJlY2lwaWVudCBpcyBpbiBLWUMgcGVuZGluZyBzdGF0dXMuIFlvdSBjYW5ub3QgdHJhbnNmZXIgdGhpcyBTbWFydEFzc2V0AwkAAAAAAAACBQAAAAZpc1VzZXIFAAAABmJhbm5lZAkAAAIAAAABAgAAADxUaGUgcmVjaXBpZW50IGlzIGJhbm5lZC4gWW91IGNhbm5vdCB0cmFuc2ZlciB0aGlzIFNtYXJ0QXNzZXQDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAKaXNNZXJjaGFudAkAAAIAAAABAgAAACZNZXJjaGFudHMgY2Fubm90IHJlY2lldmUgbWFzcyBwYXltZW50cwkAAAIAAAABAgAAABRVbmRlZmluZWQgc2l0dWF0aW9uIQMJAAAAAAAAAgUAAAAEZGF0YQUAAAAHS1lDVmVyMgMJAQAAAAlpc0RlZmluZWQAAAABBQAAAAZpc1VzZXIDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAHS1lDVmVyMQMJAABnAAAAAgUAAAAJbWF4QW1vdW50BQAAAAZhbW91bnQEAAAAByRtYXRjaDEFAAAAEGlzc3VlVHJhbnNhY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAEElzc3VlVHJhbnNhY3Rpb24EAAAAB2lzc3VlVHgFAAAAByRtYXRjaDEEAAAADWlzc3VlckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAdpc3N1ZVR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAHdGF4U2l6ZQkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAADWlzc3VlckFkZHJlc3MJAAJYAAAAAQUAAAAHYXNzZXRJZAMJAAAAAAAAAgUAAAAOZmlyc3RSZWNpcGllbnQFAAAADWlzc3VlckFkZHJlc3MJAABnAAAAAgUAAAALZmlyc3RBbW91bnQJAABoAAAAAgkAAGkAAAACBQAAAAxzZWNvbmRBbW91bnQAAAAAAAAAA+gFAAAAB3RheFNpemUHBwkAAAIAAAABAgAAAD5DYW5ub3QgdHJhbnNmZXIgcGxlYXNlIHZlcmlmeSB5b3VyIGFjb3VudC4gQW1vdW50IGlzIHRvbyBtdWNoIQMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIxCQAAAgAAAAECAAAAS1RoZSByZWNpcGllbnQgaXMgaW4gS1lDIHBlbmRpbmcgc3RhdHVzLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAdLWUNWZXIyBAAAAAckbWF0Y2gxBQAAABBpc3N1ZVRyYW5zYWN0aW9uAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABBJc3N1ZVRyYW5zYWN0aW9uBAAAAAdpc3N1ZVR4BQAAAAckbWF0Y2gxBAAAAA1pc3N1ZXJBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAAHaXNzdWVUeAAAAA9zZW5kZXJQdWJsaWNLZXkEAAAAB3RheFNpemUJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAA1pc3N1ZXJBZGRyZXNzCQACWAAAAAEFAAAAB2Fzc2V0SWQDCQAAAAAAAAIFAAAADmZpcnN0UmVjaXBpZW50BQAAAA1pc3N1ZXJBZGRyZXNzCQAAZwAAAAIFAAAAC2ZpcnN0QW1vdW50CQAAaAAAAAIJAABpAAAAAgUAAAAMc2Vjb25kQW1vdW50AAAAAAAAAAPoBQAAAAd0YXhTaXplBwcDCQAAAAAAAAIFAAAABmlzVXNlcgUAAAAGYmFubmVkCQAAAgAAAAECAAAAPFRoZSByZWNpcGllbnQgaXMgYmFubmVkLiBZb3UgY2Fubm90IHRyYW5zZmVyIHRoaXMgU21hcnRBc3NldAMJAAAAAAAAAgUAAAAGaXNVc2VyBQAAAAppc01lcmNoYW50CQAAAgAAAAECAAAAJk1lcmNoYW50cyBjYW5ub3QgcmVjaWV2ZSBtYXNzIHBheW1lbnRzCQAAAgAAAAECAAAAFFVuZGVmaW5lZCBzaXR1YXRpb24hCQAAAgAAAAECAAAAO1RoZSByZWNpcGllbnQgaXMgbm90IGF1dGhvcml6ZWQgdG8gcG9zc2VzcyB0aGlzIFNtYXJ0QXNzZXQhAwkAAAAAAAACBQAAAARkYXRhBQAAAAZiYW5uZWQJAAACAAAAAQIAAAAfWW91ciBhY291bnQgaGFzIGJlZW4gc3VzcGVuZGVkIQMJAAAAAAAAAgUAAAAEZGF0YQUAAAAKaXNNZXJjaGFudAkAAAIAAAABAgAAAC1NZXJjaGFudCBhY2NvdW50IGNhbm5vdCBwZXJmb3JtIG1hc3MgdHJhbnNmZXIJAAACAAAAAQIAAAAUVW5kZWZpbmVkIHNpdHVhdGlvbiEDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAAAmV4BQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQnVyblRyYW5zYWN0aW9uBAAAAAFiBQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAZU2V0QXNzZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAAGc2NyaXB0BQAAAAckbWF0Y2gwAwkAAAAAAAACCAUAAAAGc2NyaXB0AAAABnNlbmRlcgUAAAAFYWRtaW4GCQAAAgAAAAECAAAAFkFkbWluIG9wZXJhdGlvbiBvbmx5Li4GJwgAtg==", "height": 1217045, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: DLtyqPVWBFNX4mnBLyVikGbqRXS4pTieynBB2WifcGLm Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 2 #-}
2+{-# CONTENT_TYPE EXPRESSION #-}
3+let admin = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
4+let gateway = Address(base58'3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy')
5+let banned = 403
6+let KYCVer1 = 1
7+let KYCVer2 = 2
8+let isMerchant = 5
9+let KYCPending = 0
10+let maxAmount = 100000000
11+match tx {
12+ case t: TransferTransaction =>
13+ let data = getInteger(admin, toBase58String(t.sender.bytes))
14+ let amount = t.amount
15+ let assetId = extract(t.assetId)
16+ let isUser = getInteger(admin, toBase58String(addressFromRecipient(t.recipient).bytes))
17+ if (!(isDefined(data)))
18+ then throw("You are not a registered member. You cannot transfer this SmartAsset!")
19+ else if ((data == KYCPending))
20+ then throw("KYC Pending. You cannot transfer this SmartAsset")
21+ else if ((data == KYCVer1))
22+ then if ((t.recipient == gateway))
23+ then true
24+ else if (if (if ((isUser == KYCVer1))
25+ then true
26+ else (isUser == KYCVer2))
27+ then true
28+ else (isUser == isMerchant))
29+ then if ((maxAmount >= amount))
30+ then true
31+ else throw("Cannot transfer please verify your acount. Amount is too much!")
32+ else if ((isUser == KYCPending))
33+ then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
34+ else if ((isUser == banned))
35+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
36+ else throw("Undefined situation!")
37+ else if ((data == KYCVer2))
38+ then if (isDefined(isUser))
39+ then if ((isUser == KYCVer1))
40+ then if ((maxAmount >= amount))
41+ then true
42+ else throw("Cannot transfer please verify your acount. Amount is too much!")
43+ else if ((isUser == KYCPending))
44+ then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
45+ else if (if ((isUser == KYCVer2))
46+ then true
47+ else (isUser == isMerchant))
48+ then true
49+ else if ((isUser == banned))
50+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
51+ else throw("Undefined situation!")
52+ else throw("The recipient is not authorized to possess this SmartAsset!")
53+ else if ((data == banned))
54+ then throw("Your acount has been suspended!")
55+ else if ((data == isMerchant))
56+ then if ((t.recipient == gateway))
57+ then true
58+ else throw("Cannot transfer this asset to another account.")
59+ else throw("Undefined situation!")
60+ case mtt: MassTransferTransaction =>
61+ let data = getInteger(admin, toBase58String(mtt.sender.bytes))
62+ let amount = mtt.totalAmount
63+ let assetId = extract(mtt.assetId)
64+ let transferCount = mtt.transferCount
65+ let firstRecipient = mtt.transfers[0].recipient
66+ let secondRecipient = mtt.transfers[1].recipient
67+ let firstAmount = mtt.transfers[0].amount
68+ let secondAmount = mtt.transfers[1].amount
69+ let issueTransaction = transactionById(assetId)
70+ let isUser = getInteger(admin, toBase58String(addressFromRecipient(secondRecipient).bytes))
71+ if (!(isDefined(isUser)))
72+ then false
73+ else if ((transferCount > 2))
74+ then throw("not allowed")
75+ else if (!(isDefined(data)))
76+ then throw("You are not a registered member. You cannot transfer this SmartAsset!")
77+ else if ((data == KYCPending))
78+ then throw("KYC Pending. You cannot transfer this SmartAsset")
79+ else if ((data == KYCVer1))
80+ then if ((firstRecipient != gateway))
81+ then throw("First recipient must be the issuer")
82+ else if (if ((isUser == KYCVer1))
83+ then true
84+ else (isUser == KYCVer2))
85+ then if ((maxAmount >= amount))
86+ then match issueTransaction {
87+ case issueTx: IssueTransaction =>
88+ let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
89+ let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
90+ if ((firstRecipient == issuerAddress))
91+ then (firstAmount >= ((secondAmount / 1000) * taxSize))
92+ else false
93+ case _ =>
94+ false
95+ }
96+ else throw("Cannot transfer please verify your acount. Amount is too much!")
97+ else if ((isUser == KYCPending))
98+ then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
99+ else if ((isUser == banned))
100+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
101+ else if ((isUser == isMerchant))
102+ then throw("Merchants cannot recieve mass payments")
103+ else throw("Undefined situation!")
104+ else if ((data == KYCVer2))
105+ then if (isDefined(isUser))
106+ then if ((isUser == KYCVer1))
107+ then if ((maxAmount >= amount))
108+ then match issueTransaction {
109+ case issueTx: IssueTransaction =>
110+ let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
111+ let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
112+ if ((firstRecipient == issuerAddress))
113+ then (firstAmount >= ((secondAmount / 1000) * taxSize))
114+ else false
115+ case _ =>
116+ false
117+ }
118+ else throw("Cannot transfer please verify your acount. Amount is too much!")
119+ else if ((isUser == KYCVer1))
120+ then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
121+ else if ((isUser == KYCVer2))
122+ then match issueTransaction {
123+ case issueTx: IssueTransaction =>
124+ let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
125+ let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
126+ if ((firstRecipient == issuerAddress))
127+ then (firstAmount >= ((secondAmount / 1000) * taxSize))
128+ else false
129+ case _ =>
130+ false
131+ }
132+ else if ((isUser == banned))
133+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
134+ else if ((isUser == isMerchant))
135+ then throw("Merchants cannot recieve mass payments")
136+ else throw("Undefined situation!")
137+ else throw("The recipient is not authorized to possess this SmartAsset!")
138+ else if ((data == banned))
139+ then throw("Your acount has been suspended!")
140+ else if ((data == isMerchant))
141+ then throw("Merchant account cannot perform mass transfer")
142+ else throw("Undefined situation!")
143+ case ex: ExchangeTransaction =>
144+ false
145+ case b: BurnTransaction =>
146+ false
147+ case script: SetAssetScriptTransaction =>
148+ if ((script.sender == admin))
149+ then true
150+ else throw("Admin operation only..")
151+ case _ =>
152+ true
153+}

github/deemru/w8io/6500d08 
27.52 ms