tx · DWe5yJfVwmsuQEFEiMpRs7Gxo1eMqeKxMZN5pvgyageS 3P69jzek6S2q7kGWScEEZaNxKL5TiSF7wGm: -0.01000000 Waves 2019.09.19 10:12 [1712906] smart account 3P69jzek6S2q7kGWScEEZaNxKL5TiSF7wGm > SELF 0.00000000 Waves
{ "type": 13, "id": "DWe5yJfVwmsuQEFEiMpRs7Gxo1eMqeKxMZN5pvgyageS", "fee": 1000000, "feeAssetId": null, "timestamp": 1568877179448, "version": 1, "sender": "3P69jzek6S2q7kGWScEEZaNxKL5TiSF7wGm", "senderPublicKey": "6hGgQJ6TpCLmgsfeYSAPHNK8BL791bn3SRHTsSbnsWfy", "proofs": [ "54CeLsoNPT6wG9H5JdDcBSqbMuP7Lk2oQHgCvz3kw1yG5VtUJiWrss2ZhBTw5jDM5L6c5FB2zrv6AgQu4yZK1Vm8" ], "script": "base64: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", "chainId": 87, "height": 1712906, "spentComplexity": 0 } View: original | compacted Prev: none Next: 3EKzzYarxBS6yasaycL8KbRSxxok3ML6wjvf6YMVSw87 Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 2 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
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 + "_tx"))) | |
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 (if (if (if ((size(d.data) == 5)) | |
17 | + | then (exchangeTx.buyOrder.matcherPublicKey == base58'E3UwaHCQCySghK3zwNB8EDHoc3b8uhzGPFz3gHmWon4W') | |
18 | + | else false) | |
19 | + | then (d.data[0].key == (event + "_rate")) | |
20 | + | else false) | |
21 | + | then (d.data[1].key == (event + "_timestamp")) | |
22 | + | else false) | |
23 | + | then (d.data[2].key == (event + "_tx")) | |
24 | + | else false) | |
25 | + | then (d.data[3].key == (event + "_eventts")) | |
26 | + | else false) | |
27 | + | then (d.data[4].key == (event + "_height")) | |
28 | + | else false) | |
29 | + | then (d.data[0].value == exchangeTx.price) | |
30 | + | else false) | |
31 | + | then (d.data[1].value == exchangeTx.timestamp) | |
32 | + | else false) | |
33 | + | then (d.data[2].value == txid) | |
34 | + | else false) | |
35 | + | then if (!(isDefined(prevTs))) | |
36 | + | then true | |
37 | + | else (extract(prevTs) > exchangeTx.timestamp) | |
38 | + | else false) | |
39 | + | then (toString(extract(getInteger(d.data, (event + "_eventts")))) == eventTs) | |
40 | + | else false) | |
41 | + | then (exchangeTx.timestamp >= (extract(getInteger(d.data, (event + "_eventts"))) * 1000)) | |
42 | + | else false) | |
43 | + | then (d.data[4].value == transactionHeightById(fromBase58String(txid))) | |
44 | + | else false | |
45 | + | case _ => | |
46 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
47 | + | } |
github/deemru/w8io/0e76f2f 37.43 ms ◑