tx · 2wbfpo6i7zuVexjvzF4as7CSYw3rXkuSxAEa1obURabF

3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy:  -1.00000000 Waves

2020.10.09 20:59 [1213366] smart asset 3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy > SELF 0.00000000 D-BTC

{ "type": 15, "id": "2wbfpo6i7zuVexjvzF4as7CSYw3rXkuSxAEa1obURabF", "fee": 100000000, "feeAssetId": null, "timestamp": 1602266336912, "version": 2, "chainId": 84, "sender": "3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy", "senderPublicKey": "57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4", "proofs": [ "59DmEq1iM7wJvMJRuQVQLt3PyfZ92NPfK4XB3H65hJxB2iokr3QuXSiGjnrhv6vqts6pFsPeUcwFzLKdTe3WvvNw" ], "assetId": "FjTB2DdymTfpYbCCdcFwoRbHQnEhQD11CUm6nAF7P1UD", "script": "base64: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AAADbXR0AAAACXRyYW5zZmVycwAAAAAAAAAAAAAAAAZhbW91bnQEAAAAB2Fzc2V0SWQJAQAAAAdleHRyYWN0AAAAAQgFAAAAA210dAAAAAdhc3NldElkBAAAABBpc3N1ZVRyYW5zYWN0aW9uCQAD6AAAAAEFAAAAB2Fzc2V0SWQEAAAAByRtYXRjaDEFAAAAEGlzc3VlVHJhbnNhY3Rpb24DCQAAAQAAAAIFAAAAByRtYXRjaDECAAAAEElzc3VlVHJhbnNhY3Rpb24EAAAAB2lzc3VlVHgFAAAAByRtYXRjaDEEAAAADWlzc3VlckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAdpc3N1ZVR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAHdGF4U2l6ZQkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAADWlzc3VlckFkZHJlc3MJAAJYAAAAAQUAAAAHYXNzZXRJZAMJAAAAAAAAAgUAAAAOZmlyc3RSZWNpcGllbnQFAAAADWlzc3VlckFkZHJlc3MJAABnAAAAAgUAAAALZmlyc3RBbW91bnQJAABoAAAAAgkAAGkAAAACCAUAAAADbXR0AAAAC3RvdGFsQW1vdW50AAAAAAAAAABkBQAAAAd0YXhTaXplBwcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE0V4Y2hhbmdlVHJhbnNhY3Rpb24EAAAAAmV4BQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPQnVyblRyYW5zYWN0aW9uBAAAAAFiBQAAAAckbWF0Y2gwBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAZU2V0QXNzZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAAGc2NyaXB0BQAAAAckbWF0Y2gwAwkAAAAAAAACCAUAAAAGc2NyaXB0AAAABnNlbmRlcgUAAAAFYWRtaW4GCQAAAgAAAAECAAAAFkFkbWluIG9wZXJhdGlvbiBvbmx5Li4GLbJw3w==", "height": 1213366, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: R1MwdGeN3ZgwTwTn6i2zFTvhweSfUsFWk9XXNhnGUED 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 KYCPending = 0
9+let maxAmount = 100000000
10+match tx {
11+ case t: TransferTransaction =>
12+ let data = getInteger(admin, toBase58String(t.sender.bytes))
13+ let amount = t.amount
14+ let assetId = extract(t.assetId)
15+ if (!(isDefined(data)))
16+ then throw("You are not a registered member. You cannot transfer this SmartAsset")
17+ else if ((data == 0))
18+ then throw("KYC Pending. You cannot transfer this SmartAsset")
19+ else if ((data == 1))
20+ then if ((t.recipient == gateway))
21+ then if ((maxAmount >= amount))
22+ then true
23+ else throw("Cannot transfer please verify your acount. Amount is too much!")
24+ else throw("You are not authorized to transfer this SmartAsset.. !")
25+ else if ((data == 2))
26+ then {
27+ let isUser = getInteger(admin, toBase58String(addressFromRecipient(t.recipient).bytes))
28+ if (isDefined(isUser))
29+ then if ((isUser == 1))
30+ then if ((maxAmount >= amount))
31+ then true
32+ else throw("Cannot transfer please verify your acount. Amount is too much!")
33+ else if ((isUser == 0))
34+ then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
35+ else if ((isUser == 2))
36+ then true
37+ else if ((isUser == 403))
38+ then throw("The recipient is banned. You cannot transfer this SmartAsset")
39+ else throw("Undefined situation!")
40+ else throw("The recipient is not authorized to possess this SmartAsset!")
41+ }
42+ else if ((data == 403))
43+ then throw("Your acount has been suspended!")
44+ else throw("Undefined situation!")
45+ case mtt: MassTransferTransaction =>
46+ let firstRecipient = mtt.transfers[0].recipient
47+ let firstAmount = mtt.transfers[0].amount
48+ let assetId = extract(mtt.assetId)
49+ let issueTransaction = transactionById(assetId)
50+ match issueTransaction {
51+ case issueTx: IssueTransaction =>
52+ let issuerAddress = addressFromPublicKey(issueTx.senderPublicKey)
53+ let taxSize = extract(getInteger(issuerAddress, toBase58String(assetId)))
54+ if ((firstRecipient == issuerAddress))
55+ then (firstAmount >= ((mtt.totalAmount / 100) * taxSize))
56+ else false
57+ case _ =>
58+ false
59+ }
60+ case ex: ExchangeTransaction =>
61+ false
62+ case b: BurnTransaction =>
63+ false
64+ case script: SetAssetScriptTransaction =>
65+ if ((script.sender == admin))
66+ then true
67+ else throw("Admin operation only..")
68+ case _ =>
69+ true
70+}

github/deemru/w8io/6500d08 
24.92 ms