tx · EzX2SmyW5zpsq8nA4DvxtBvuWcxidTgakjNzmo7M4Js3 3NCN79gCSaKTFV6fDoEzELoxDMrAUTCekd5: -0.01400000 Waves 2019.09.17 17:43 [680379] smart account 3NCN79gCSaKTFV6fDoEzELoxDMrAUTCekd5 > SELF 0.00000000 Waves
{ "type": 13, "id": "EzX2SmyW5zpsq8nA4DvxtBvuWcxidTgakjNzmo7M4Js3", "fee": 1400000, "feeAssetId": null, "timestamp": 1568731072572, "version": 1, "sender": "3NCN79gCSaKTFV6fDoEzELoxDMrAUTCekd5", "senderPublicKey": "4tD3VgZ1AmHzY7q1KZpn2mAkpMbBoXVAKSw3FRP9EXfT", "proofs": [ "4Ji78TcvWxZVTu8nWFx4qXqp2kY2qHuBfZeM3FqNyTFvuDuZmXgoL9sXY9wdA95TAKsvxMPRfqx1dKTrMj8YkoGd" ], "script": "base64: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", "chainId": 84, "height": 680379, "spentComplexity": 0 } View: original | compacted Prev: 8SNZ5LG5npbuNoE1gc8dgU6B7sgsZ82YumJNBtRhVj9J Next: 9gdM8hF2NEjCpckmUG6MA8bwxo1RqRsXhmRrp4QJ8JNv Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 2 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | - | true | |
3 | + | match tx { | |
4 | + | case d: DataTransaction => | |
5 | + | let k0 = d.data[0].key | |
6 | + | let event = take(k0, (size(k0) - 5)) | |
7 | + | let txid = extract(getString(d.data, (event + "_rate"))) | |
8 | + | let exchangeTx = extract( match transactionById(fromBase58String(txid)) { | |
9 | + | case e: ExchangeTransaction => | |
10 | + | e | |
11 | + | case _ => | |
12 | + | unit | |
13 | + | }) | |
14 | + | let prevTs = getInteger(tx.sender, (event + "_timestamp")) | |
15 | + | let eventTs = takeRight(event, 10) | |
16 | + | if (if (if (if (if (if (if (if (if (if ((size(d.data) == 4)) | |
17 | + | then (d.data[0].key == (event + "_rate")) | |
18 | + | else false) | |
19 | + | then (d.data[1].key == (event + "_timestamp")) | |
20 | + | else false) | |
21 | + | then (d.data[2].key == (event + "_tx")) | |
22 | + | else false) | |
23 | + | then (d.data[3].key == (event + "_eventts")) | |
24 | + | else false) | |
25 | + | then (d.data[0].value == exchangeTx.price) | |
26 | + | else false) | |
27 | + | then (d.data[1].value == exchangeTx.timestamp) | |
28 | + | else false) | |
29 | + | then (d.data[2].value == txid) | |
30 | + | else false) | |
31 | + | then if (!(isDefined(prevTs))) | |
32 | + | then true | |
33 | + | else (extract(prevTs) > exchangeTx.timestamp) | |
34 | + | else false) | |
35 | + | then (toString(extract(getInteger(d.data, (event + "_eventts")))) == eventTs) | |
36 | + | else false) | |
37 | + | then (exchangeTx.timestamp >= extract(getInteger(d.data, (event + "_eventts")))) | |
38 | + | else false | |
39 | + | case _ => | |
40 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
41 | + | } |
github/deemru/w8io/c3f4982 50.07 ms ◑