tx · 9pGdXnu2kyvP97CQcySeJVcJqHahaEJbxn2taatU3aJN 3MqPdXWunQnVsfNux9YQ3eGmMfvBKv7zpoV: -1.00000000 Waves 2019.03.10 19:39 [530220] smart asset 3MqPdXWunQnVsfNux9YQ3eGmMfvBKv7zpoV > SELF 0.00000000 test2
{ "type": 15, "id": "9pGdXnu2kyvP97CQcySeJVcJqHahaEJbxn2taatU3aJN", "fee": 100000000, "feeAssetId": null, "timestamp": 1552235967200, "version": 1, "sender": "3MqPdXWunQnVsfNux9YQ3eGmMfvBKv7zpoV", "senderPublicKey": "4fEj7DKYTPhNbYatj1wPFk8GxUNCu62QAgqgVF8A6r1y", "proofs": [ "4MuB9jZces5UoSuwk8ReCrMWkcHqu56PR2iWegRFdLgHAMhu7tpxUJzM9ztCh1x2XCTADroL2fVjbWbsREn7mZNX" ], "assetId": "AzqDQB9HWaq9mDBnqzTyLkq3mQGP3Ksw5BM5bFuwWKti", "script": "base64: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", "chainId": 84, "height": 530220, "spentComplexity": 0 } View: original | compacted Prev: B95G1YmmQnpaTMYmsA6CbJzSaRCwGmsZJrbA3FE6JU5 Next: DB6CYtfBSBD7DH5RtuyME7wLT7wc7aJik6fCScuh1noH Diff:
Old | New | Differences | |
---|---|---|---|
27 | 27 | else if (sell) | |
28 | 28 | then if (isDefined((minimumamount > tx.sellOrder.amount))) | |
29 | 29 | then throw("Minimum transaction amount is 1,500 test2 ") | |
30 | - | else if ((tx. | |
30 | + | else if ((tx.buyOrder.sender == issuer)) | |
31 | 31 | then true | |
32 | 32 | else throw("Transaction is not allowed by token-script") | |
33 | 33 | else false |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let issuer = Address(base58'3MqPdXWunQnVsfNux9YQ3eGmMfvBKv7zpoV') | |
4 | 4 | match tx { | |
5 | 5 | case tx: TransferTransaction => | |
6 | 6 | let recipient = toBase58String(addressFromRecipient(tx.recipient).bytes) | |
7 | 7 | let recipientCategory = getString(issuer, recipient) | |
8 | 8 | if ((tx.sender == issuer)) | |
9 | 9 | then true | |
10 | 10 | else if (if (isDefined(recipientCategory)) | |
11 | 11 | then (extract(recipientCategory) == "ambassador") | |
12 | 12 | else false) | |
13 | 13 | then true | |
14 | 14 | else throw("This asset can be transferred to whitelist only") | |
15 | 15 | case tx: ExchangeTransaction => | |
16 | 16 | let sell = sigVerify(tx.sellOrder.bodyBytes, tx.sellOrder.proofs[0], tx.sellOrder.senderPublicKey) | |
17 | 17 | let buy = sigVerify(tx.buyOrder.bodyBytes, tx.buyOrder.proofs[0], tx.buyOrder.senderPublicKey) | |
18 | 18 | let sellOrderSender = toBase58String(tx.sellOrder.sender.bytes) | |
19 | 19 | let minimumamount = 150000 | |
20 | 20 | let maximumprice = 1 | |
21 | 21 | if (if (buy) | |
22 | 22 | then if (isDefined((maximumprice > tx.buyOrder.price))) | |
23 | 23 | then true | |
24 | 24 | else throw("Transaction is not allowed by token-script ") | |
25 | 25 | else false) | |
26 | 26 | then true | |
27 | 27 | else if (sell) | |
28 | 28 | then if (isDefined((minimumamount > tx.sellOrder.amount))) | |
29 | 29 | then throw("Minimum transaction amount is 1,500 test2 ") | |
30 | - | else if ((tx. | |
30 | + | else if ((tx.buyOrder.sender == issuer)) | |
31 | 31 | then true | |
32 | 32 | else throw("Transaction is not allowed by token-script") | |
33 | 33 | else false | |
34 | 34 | case tx: MassTransferTransaction => | |
35 | 35 | if ((tx.sender == issuer)) | |
36 | 36 | then true | |
37 | 37 | else throw("You cannot send this asset via MassTransferTransaction") | |
38 | 38 | case tx: BurnTransaction => | |
39 | 39 | if ((tx.sender == issuer)) | |
40 | 40 | then true | |
41 | 41 | else throw("You cannot burn this asset") | |
42 | 42 | case tx: ReissueTransaction|SetAssetScriptTransaction => | |
43 | 43 | true | |
44 | 44 | case _ => | |
45 | 45 | false | |
46 | 46 | } |
github/deemru/w8io/026f985 24.92 ms ◑