tx · 3EKzzYarxBS6yasaycL8KbRSxxok3ML6wjvf6YMVSw87 3P69jzek6S2q7kGWScEEZaNxKL5TiSF7wGm: -0.01400000 Waves 2019.09.19 13:45 [1713118] smart account 3P69jzek6S2q7kGWScEEZaNxKL5TiSF7wGm > SELF 0.00000000 Waves
{ "type": 13, "id": "3EKzzYarxBS6yasaycL8KbRSxxok3ML6wjvf6YMVSw87", "fee": 1400000, "feeAssetId": null, "timestamp": 1568889901848, "version": 1, "sender": "3P69jzek6S2q7kGWScEEZaNxKL5TiSF7wGm", "senderPublicKey": "6hGgQJ6TpCLmgsfeYSAPHNK8BL791bn3SRHTsSbnsWfy", "proofs": [ "R3PCCXjTRskuLgS1NNqmVSMpExCGeVHVrCEpsGqXnNFdbdFvMwFMGj9NnJiTeJMcSXsfwqjgeJSWkbMjamSyYAR" ], "script": "base64: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", "chainId": 87, "height": 1713118, "spentComplexity": 0 } View: original | compacted Prev: DWe5yJfVwmsuQEFEiMpRs7Gxo1eMqeKxMZN5pvgyageS Next: Hk3e3hharoFENP62visXA8zcecQ589nFvSZsBiHK7p6F Diff:
Old | New | Differences | |
---|---|---|---|
14 | 14 | let prevTs = getInteger(tx.sender, (event + "_timestamp")) | |
15 | 15 | let eventTs = takeRight(event, 10) | |
16 | 16 | if (if (if (if (if (if (if (if (if (if (if (if (if ((size(d.data) == 5)) | |
17 | - | then (exchangeTx.buyOrder.matcherPublicKey == base58' | |
17 | + | then (exchangeTx.buyOrder.matcherPublicKey == base58'7kPFrHDiGw1rCm7LPszuECwWYL3dMf6iMifLRDJQZMzy') | |
18 | 18 | else false) | |
19 | 19 | then (d.data[0].key == (event + "_rate")) | |
20 | 20 | else false) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 2 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | match tx { | |
4 | 4 | case d: DataTransaction => | |
5 | 5 | let k0 = d.data[0].key | |
6 | 6 | let event = take(k0, (size(k0) - 5)) | |
7 | 7 | let txid = extract(getString(d.data, (event + "_tx"))) | |
8 | 8 | let exchangeTx = extract( match transactionById(fromBase58String(txid)) { | |
9 | 9 | case e: ExchangeTransaction => | |
10 | 10 | e | |
11 | 11 | case _ => | |
12 | 12 | unit | |
13 | 13 | }) | |
14 | 14 | let prevTs = getInteger(tx.sender, (event + "_timestamp")) | |
15 | 15 | let eventTs = takeRight(event, 10) | |
16 | 16 | if (if (if (if (if (if (if (if (if (if (if (if (if ((size(d.data) == 5)) | |
17 | - | then (exchangeTx.buyOrder.matcherPublicKey == base58' | |
17 | + | then (exchangeTx.buyOrder.matcherPublicKey == base58'7kPFrHDiGw1rCm7LPszuECwWYL3dMf6iMifLRDJQZMzy') | |
18 | 18 | else false) | |
19 | 19 | then (d.data[0].key == (event + "_rate")) | |
20 | 20 | else false) | |
21 | 21 | then (d.data[1].key == (event + "_timestamp")) | |
22 | 22 | else false) | |
23 | 23 | then (d.data[2].key == (event + "_tx")) | |
24 | 24 | else false) | |
25 | 25 | then (d.data[3].key == (event + "_eventts")) | |
26 | 26 | else false) | |
27 | 27 | then (d.data[4].key == (event + "_height")) | |
28 | 28 | else false) | |
29 | 29 | then (d.data[0].value == exchangeTx.price) | |
30 | 30 | else false) | |
31 | 31 | then (d.data[1].value == exchangeTx.timestamp) | |
32 | 32 | else false) | |
33 | 33 | then (d.data[2].value == txid) | |
34 | 34 | else false) | |
35 | 35 | then if (!(isDefined(prevTs))) | |
36 | 36 | then true | |
37 | 37 | else (extract(prevTs) > exchangeTx.timestamp) | |
38 | 38 | else false) | |
39 | 39 | then (toString(extract(getInteger(d.data, (event + "_eventts")))) == eventTs) | |
40 | 40 | else false) | |
41 | 41 | then (exchangeTx.timestamp >= (extract(getInteger(d.data, (event + "_eventts"))) * 1000)) | |
42 | 42 | else false) | |
43 | 43 | then (d.data[4].value == transactionHeightById(fromBase58String(txid))) | |
44 | 44 | else false | |
45 | 45 | case _ => | |
46 | 46 | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
47 | 47 | } |
github/deemru/w8io/3ef1775 60.59 ms ◑