2020.08.03 13:37 [2179390] smart account 3PMo5XEH9pBjn1ZBoS8RWUtopiHHGRSuXt1 > SELF 0.00000000 Waves
{ "type": 13, "id": "DNxXrHSkbidjYm2tNumf1314cRZdy1UqwRx2wdM9Fvn2", "fee": 1400000, "feeAssetId": null, "timestamp": 1596451134082, "version": 1, "sender": "3PMo5XEH9pBjn1ZBoS8RWUtopiHHGRSuXt1", "senderPublicKey": "8vn5ocBKA8ZK4uY8HjrsbcgpQp2ymGkF62p8C61CPV84", "proofs": [ "3sW1Xfyqc5Y11W9TekAKeBxvVGAWqH67JiZQFPDYxZT8Vp7FPmh1XF5Rg6n7EGW4Nh2P9YrDibH8JYL9CLNWfdym" ], "script": "base64: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", "chainId": 87, "height": 2179390, "spentComplexity": 0 } View: original | compacted Prev: GLZKA8PwWCUb8C4EFcdnQkFMJCCcVuKok3xxj9ECiqgL Next: none Diff:
Old | New | Differences | |
---|---|---|---|
25 | 25 | let sendAmount1 = (pmtAmount * 1) | |
26 | 26 | let sendAmountRate = (pmtAmount * beforeRate) | |
27 | 27 | if (if ((beforeRate > 1)) | |
28 | - | then ( | |
28 | + | then (100000000000 >= sendAmount1) | |
29 | 29 | else false) | |
30 | 30 | then TransferSet([ScriptTransfer(i.caller, sendAmount1, swappassetid)]) | |
31 | 31 | else if (if ((1 >= beforeRate)) | |
32 | - | then ( | |
32 | + | then (100000000000 >= sendAmountRate) | |
33 | 33 | else false) | |
34 | 34 | then TransferSet([ScriptTransfer(i.caller, sendAmountRate, swappassetid)]) | |
35 | 35 | else if (if ((beforeRate > 1)) | |
36 | - | then (sendAmount1 > | |
36 | + | then (sendAmount1 > 100000000000) | |
37 | 37 | else false) | |
38 | 38 | then throw(((("Not SWAPP over 1000 WAPP beforeRate=>" + toString(beforeRate)) + "/") + toString(sendAmount1))) | |
39 | 39 | else if (if ((1 >= beforeRate)) | |
40 | - | then (sendAmountRate > | |
40 | + | then (sendAmountRate > 100000000000) | |
41 | 41 | else false) | |
42 | 42 | then throw(((("Not SWAPP over 1000 WAPP beforeRate=>" + toString(beforeRate)) + "/") + toString(sendAmountRate))) | |
43 | 43 | else throw("Not SWAPP") |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 3 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | ||
5 | 5 | ||
6 | 6 | @Callable(i) | |
7 | 7 | func swapp (swappAssetId,id) = { | |
8 | 8 | let pmt = extract(i.payment) | |
9 | 9 | let pmtAmount = pmt.amount | |
10 | 10 | let assetid = fromBase58String(id) | |
11 | 11 | let swappassetid = fromBase58String(swappAssetId) | |
12 | 12 | let assetQuantity = match assetInfo(assetid) { | |
13 | 13 | case asset: Asset => | |
14 | 14 | asset.quantity | |
15 | 15 | case _ => | |
16 | 16 | throw("Can't find asset") | |
17 | 17 | } | |
18 | 18 | let wappQuantity = match assetInfo(swappassetid) { | |
19 | 19 | case asset: Asset => | |
20 | 20 | asset.quantity | |
21 | 21 | case _ => | |
22 | 22 | throw("Can't find asset") | |
23 | 23 | } | |
24 | 24 | let beforeRate = (wappQuantity / assetQuantity) | |
25 | 25 | let sendAmount1 = (pmtAmount * 1) | |
26 | 26 | let sendAmountRate = (pmtAmount * beforeRate) | |
27 | 27 | if (if ((beforeRate > 1)) | |
28 | - | then ( | |
28 | + | then (100000000000 >= sendAmount1) | |
29 | 29 | else false) | |
30 | 30 | then TransferSet([ScriptTransfer(i.caller, sendAmount1, swappassetid)]) | |
31 | 31 | else if (if ((1 >= beforeRate)) | |
32 | - | then ( | |
32 | + | then (100000000000 >= sendAmountRate) | |
33 | 33 | else false) | |
34 | 34 | then TransferSet([ScriptTransfer(i.caller, sendAmountRate, swappassetid)]) | |
35 | 35 | else if (if ((beforeRate > 1)) | |
36 | - | then (sendAmount1 > | |
36 | + | then (sendAmount1 > 100000000000) | |
37 | 37 | else false) | |
38 | 38 | then throw(((("Not SWAPP over 1000 WAPP beforeRate=>" + toString(beforeRate)) + "/") + toString(sendAmount1))) | |
39 | 39 | else if (if ((1 >= beforeRate)) | |
40 | - | then (sendAmountRate > | |
40 | + | then (sendAmountRate > 100000000000) | |
41 | 41 | else false) | |
42 | 42 | then throw(((("Not SWAPP over 1000 WAPP beforeRate=>" + toString(beforeRate)) + "/") + toString(sendAmountRate))) | |
43 | 43 | else throw("Not SWAPP") | |
44 | 44 | } | |
45 | 45 | ||
46 | 46 | ||
47 | 47 | @Verifier(tx) | |
48 | 48 | func verify () = match tx { | |
49 | 49 | case dtx: DataTransaction => | |
50 | 50 | sigVerify(dtx.bodyBytes, dtx.proofs[0], dtx.senderPublicKey) | |
51 | 51 | case stx: SetScriptTransaction => | |
52 | 52 | sigVerify(stx.bodyBytes, stx.proofs[0], stx.senderPublicKey) | |
53 | 53 | case ttx: TransferTransaction => | |
54 | 54 | sigVerify(ttx.bodyBytes, ttx.proofs[0], ttx.senderPublicKey) | |
55 | 55 | case mtx: MassTransferTransaction => | |
56 | 56 | sigVerify(mtx.bodyBytes, mtx.proofs[0], mtx.senderPublicKey) | |
57 | 57 | case _ => | |
58 | 58 | false | |
59 | 59 | } | |
60 | 60 |
github/deemru/w8io/786bc32 53.86 ms ◑