tx · R1MwdGeN3ZgwTwTn6i2zFTvhweSfUsFWk9XXNhnGUED

3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy:  -1.00000000 Waves

2020.10.09 21:39 [1213408] smart asset 3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy > SELF 0.00000000 D-BTC

{ "type": 15, "id": "R1MwdGeN3ZgwTwTn6i2zFTvhweSfUsFWk9XXNhnGUED", "fee": 100000000, "feeAssetId": null, "timestamp": 1602268815786, "version": 2, "chainId": 84, "sender": "3NCpyPuNzUaB7LFS4KBzwzWVnXmjur582oy", "senderPublicKey": "57EFni8M1XesEurFh3c4jnpLExP2PCPd5TRrwMjePAT4", "proofs": [ "5UJdsL8wAZffAYtmrP82mzNnJ8eus16jrf2hS2L4TeqCW69hDuziTCH5TdpSneR6JnocwT6X3PaHcXtoStzC6R2W" ], "assetId": "FjTB2DdymTfpYbCCdcFwoRbHQnEhQD11CUm6nAF7P1UD", "script": "base64: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", "height": 1213408, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2wbfpo6i7zuVexjvzF4as7CSYw3rXkuSxAEa1obURabF Next: 7iEtu1B8m8LPQ81jo9JodCimbGH3EWSnFrkv17NAg11T Diff:
OldNewDifferences
4949 let issueTransaction = transactionById(assetId)
5050 match issueTransaction {
5151 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
52+ true
5753 case _ =>
5854 false
5955 }
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 KYCPending = 0
99 let maxAmount = 100000000
1010 match tx {
1111 case t: TransferTransaction =>
1212 let data = getInteger(admin, toBase58String(t.sender.bytes))
1313 let amount = t.amount
1414 let assetId = extract(t.assetId)
1515 if (!(isDefined(data)))
1616 then throw("You are not a registered member. You cannot transfer this SmartAsset")
1717 else if ((data == 0))
1818 then throw("KYC Pending. You cannot transfer this SmartAsset")
1919 else if ((data == 1))
2020 then if ((t.recipient == gateway))
2121 then if ((maxAmount >= amount))
2222 then true
2323 else throw("Cannot transfer please verify your acount. Amount is too much!")
2424 else throw("You are not authorized to transfer this SmartAsset.. !")
2525 else if ((data == 2))
2626 then {
2727 let isUser = getInteger(admin, toBase58String(addressFromRecipient(t.recipient).bytes))
2828 if (isDefined(isUser))
2929 then if ((isUser == 1))
3030 then if ((maxAmount >= amount))
3131 then true
3232 else throw("Cannot transfer please verify your acount. Amount is too much!")
3333 else if ((isUser == 0))
3434 then throw("The recipient is in KYC pending status. You cannot transfer this SmartAsset")
3535 else if ((isUser == 2))
3636 then true
3737 else if ((isUser == 403))
3838 then throw("The recipient is banned. You cannot transfer this SmartAsset")
3939 else throw("Undefined situation!")
4040 else throw("The recipient is not authorized to possess this SmartAsset!")
4141 }
4242 else if ((data == 403))
4343 then throw("Your acount has been suspended!")
4444 else throw("Undefined situation!")
4545 case mtt: MassTransferTransaction =>
4646 let firstRecipient = mtt.transfers[0].recipient
4747 let firstAmount = mtt.transfers[0].amount
4848 let assetId = extract(mtt.assetId)
4949 let issueTransaction = transactionById(assetId)
5050 match issueTransaction {
5151 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
52+ true
5753 case _ =>
5854 false
5955 }
6056 case ex: ExchangeTransaction =>
6157 false
6258 case b: BurnTransaction =>
6359 false
6460 case script: SetAssetScriptTransaction =>
6561 if ((script.sender == admin))
6662 then true
6763 else throw("Admin operation only..")
6864 case _ =>
6965 true
7066 }

github/deemru/w8io/6500d08 
34.45 ms