tx · GzFyT6WdXK5gdJF7bSTFND4VyLCNgrvkpitgATqV1a1Q 3MqPdXWunQnVsfNux9YQ3eGmMfvBKv7zpoV: -1.00000000 Waves 2019.03.10 18:07 [530126] smart asset 3MqPdXWunQnVsfNux9YQ3eGmMfvBKv7zpoV > SELF 0.00000000 test2
{ "type": 15, "id": "GzFyT6WdXK5gdJF7bSTFND4VyLCNgrvkpitgATqV1a1Q", "fee": 100000000, "feeAssetId": null, "timestamp": 1552230432918, "version": 1, "sender": "3MqPdXWunQnVsfNux9YQ3eGmMfvBKv7zpoV", "senderPublicKey": "4fEj7DKYTPhNbYatj1wPFk8GxUNCu62QAgqgVF8A6r1y", "proofs": [ "5KAsU5sdGGdqw9aoXwxqY8H2ZfdsHaxUxqLB41KpUfPsVficxsetk6UtK3NuUgwWSkoTtibmQ2FeCvQBLWkFwGNv" ], "assetId": "AzqDQB9HWaq9mDBnqzTyLkq3mQGP3Ksw5BM5bFuwWKti", "script": "base64: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", "chainId": 84, "height": 530126, "spentComplexity": 0 } View: original | compacted Prev: FeFHzBi8iaS76FzSdqL72djAs3UYQCnvjz89juwPjAhe Next: G6aSgpG54VhceuQTjCBVuWWMf5AyXDuDCvKhgzzowk2L Diff:
Old | New | Differences | |
---|---|---|---|
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 | - | if (sell) | |
21 | - | then if (isDefined((minimumamount > tx.sellOrder.amount))) | |
22 | - | then throw("Minimum transaction amount is 1,500 test2") | |
20 | + | let maximumprice = 1 | |
21 | + | if (if (buy) | |
22 | + | then if (isDefined((maximumprice > tx.buyOrder.price))) | |
23 | + | then true | |
23 | 24 | else if ((tx.sellOrder.sender == issuer)) | |
24 | 25 | then true | |
25 | 26 | else throw("Transaction is not allowed by token-script ") | |
26 | - | else false | |
27 | + | else false) | |
28 | + | then true | |
29 | + | else if (sell) | |
30 | + | then if (isDefined((minimumamount > tx.sellOrder.amount))) | |
31 | + | then throw("Minimum transaction amount is 1,500 test2") | |
32 | + | else if ((tx.sellOrder.sender == issuer)) | |
33 | + | then true | |
34 | + | else throw("Transaction is not allowed by token-script ") | |
35 | + | else false | |
27 | 36 | case tx: MassTransferTransaction => | |
28 | 37 | if ((tx.sender == issuer)) | |
29 | 38 | then true |
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 | - | if (sell) | |
21 | - | then if (isDefined((minimumamount > tx.sellOrder.amount))) | |
22 | - | then throw("Minimum transaction amount is 1,500 test2") | |
20 | + | let maximumprice = 1 | |
21 | + | if (if (buy) | |
22 | + | then if (isDefined((maximumprice > tx.buyOrder.price))) | |
23 | + | then true | |
23 | 24 | else if ((tx.sellOrder.sender == issuer)) | |
24 | 25 | then true | |
25 | 26 | else throw("Transaction is not allowed by token-script ") | |
26 | - | else false | |
27 | + | else false) | |
28 | + | then true | |
29 | + | else if (sell) | |
30 | + | then if (isDefined((minimumamount > tx.sellOrder.amount))) | |
31 | + | then throw("Minimum transaction amount is 1,500 test2") | |
32 | + | else if ((tx.sellOrder.sender == issuer)) | |
33 | + | then true | |
34 | + | else throw("Transaction is not allowed by token-script ") | |
35 | + | else false | |
27 | 36 | case tx: MassTransferTransaction => | |
28 | 37 | if ((tx.sender == issuer)) | |
29 | 38 | then true | |
30 | 39 | else throw("You cannot send this asset via MassTransferTransaction") | |
31 | 40 | case tx: BurnTransaction => | |
32 | 41 | if ((tx.sender == issuer)) | |
33 | 42 | then true | |
34 | 43 | else throw("You cannot burn this asset") | |
35 | 44 | case tx: ReissueTransaction|SetAssetScriptTransaction => | |
36 | 45 | true | |
37 | 46 | case _ => | |
38 | 47 | false | |
39 | 48 | } |
github/deemru/w8io/026f985 19.26 ms ◑