tx · 7ZMoQpDdBc695uTufRY1dDUYikWJmMF16ReAnTrseQK6 3Mt5BW4KVsvfxGUYuDqcfDMeoacc5GPn179: -0.01400000 Waves 2019.03.13 11:45 [534120] smart account 3Mt5BW4KVsvfxGUYuDqcfDMeoacc5GPn179 > SELF 0.00000000 Waves
{ "type": 13, "id": "7ZMoQpDdBc695uTufRY1dDUYikWJmMF16ReAnTrseQK6", "fee": 1400000, "feeAssetId": null, "timestamp": 1552466742498, "version": 1, "sender": "3Mt5BW4KVsvfxGUYuDqcfDMeoacc5GPn179", "senderPublicKey": "F7KHa5J2ja7H22YreD3YJ8rBEFcvpa3DvQhFG4ZUXk8P", "proofs": [ "5PARYccQcYzuLtk4zdVMf91Yj6geLmdZ6BqJoVwtjEDWfHbUY2WmLWfFMaVhH3AvzGmMEBBwZypxWZ7ctN1AcoHc" ], "script": "base64:AQMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAAEdHJUeAUAAAAHJG1hdGNoMAQAAAAJbWVBZGRyZXNzCAUAAAAEdHJUeAAAAAZzZW5kZXIEAAAACnVuaXRzQnl0ZXMJAQAAAA50YWtlUmlnaHRCeXRlcwAAAAIJAADJAAAAAggFAAAABHRyVHgAAAAKYXR0YWNobWVudAAAAAAAAAAAAgAAAAAAAAAAAQQAAAAJdGVuc0J5dGVzCQAAyQAAAAIIBQAAAAR0clR4AAAACmF0dGFjaG1lbnQAAAAAAAAAAAEEAAAACHdpbkJ5dGVzCQEAAAAOdGFrZVJpZ2h0Qnl0ZXMAAAACCQAAyQAAAAIIBQAAAAR0clR4AAAACmF0dGFjaG1lbnQAAAAAAAAAAAQAAAAAAAAAAAEEAAAACHVuaXRzSW50AwkAAAAAAAACBQAAAAp1bml0c0J5dGVzCQABmwAAAAECAAAAATAAAAAAAAAAAAADCQAAAAAAAAIFAAAACnVuaXRzQnl0ZXMJAAGbAAAAAQIAAAABMQAAAAAAAAAAAQMJAAAAAAAAAgUAAAAKdW5pdHNCeXRlcwkAAZsAAAABAgAAAAEyAAAAAAAAAAACAwkAAAAAAAACBQAAAAp1bml0c0J5dGVzCQABmwAAAAECAAAAATMAAAAAAAAAAAMDCQAAAAAAAAIFAAAACnVuaXRzQnl0ZXMJAAGbAAAAAQIAAAABNAAAAAAAAAAABAMJAAAAAAAAAgUAAAAKdW5pdHNCeXRlcwkAAZsAAAABAgAAAAE1AAAAAAAAAAAFAwkAAAAAAAACBQAAAAp1bml0c0J5dGVzCQABmwAAAAECAAAAATYAAAAAAAAAAAYDCQAAAAAAAAIFAAAACnVuaXRzQnl0ZXMJAAGbAAAAAQIAAAABNwAAAAAAAAAABwMJAAAAAAAAAgUAAAAKdW5pdHNCeXRlcwkAAZsAAAABAgAAAAE4AAAAAAAAAAAIAwkAAAAAAAACBQAAAAp1bml0c0J5dGVzCQABmwAAAAECAAAAATkAAAAAAAAAAAkAAAAAAAAAAAAEAAAAB3RlbnNJbnQDCQAAAAAAAAIFAAAACXRlbnNCeXRlcwkAAZsAAAABAgAAAAEwAAAAAAAAAAAAAwkAAAAAAAACBQAAAAl0ZW5zQnl0ZXMJAAGbAAAAAQIAAAABMQAAAAAAAAAACgMJAAAAAAAAAgUAAAAJdGVuc0J5dGVzCQABmwAAAAECAAAAATIAAAAAAAAAABQAAAAAAAAAAAAEAAAABnBvc0ludAkAAGQAAAACBQAAAAd0ZW5zSW50BQAAAAh1bml0c0ludAQAAAAJcG9zU3RyaW5nAwkAAGYAAAACBQAAAAZwb3NJbnQAAAAAAAAAAAkJAAGkAAAAAQUAAAAGcG9zSW50CQABLAAAAAICAAAAATAJAAGkAAAAAQUAAAAGcG9zSW50BAAAAAdwb3NIYXNoCQEAAAAHZXh0cmFjdAAAAAEJAAQdAAAAAgUAAAAJbWVBZGRyZXNzCQABLAAAAAICAAAABGhhc2gFAAAACXBvc1N0cmluZwMJAAAAAAAAAgkBAAAADnRha2VSaWdodEJ5dGVzAAAAAgkAAMkAAAACCAUAAAAEdHJUeAAAAAphdHRhY2htZW50AAAAAAAAAAAEAAAAAAAAAAABCQABmwAAAAECAAAAATEJAAAAAAAAAgkAAfcAAAABCAUAAAAEdHJUeAAAAAphdHRhY2htZW50CQACWQAAAAEFAAAAB3Bvc0hhc2gHBgdGGHEp", "chainId": 84, "height": 534120, "spentComplexity": 0 } View: original | compacted Prev: CNoxk28gimvkmSTdms1auXjxycev9fkiWZnoLSNMKUY9 Next: 722rZrxZesbPHoLKQR7P4YYF2idh6yQAWoZLQWKiYAb9 Diff:
Old | New | Differences | |
---|---|---|---|
3 | 3 | if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)) | |
4 | 4 | then match tx { | |
5 | 5 | case trTx: TransferTransaction => | |
6 | - | let posHash = extract(getString(tx.sender, "hash24")) | |
6 | + | let meAddress = trTx.sender | |
7 | + | let unitsBytes = takeRightBytes(take(trTx.attachment, 2), 1) | |
8 | + | let tensBytes = take(trTx.attachment, 1) | |
9 | + | let winBytes = takeRightBytes(take(trTx.attachment, 4), 1) | |
10 | + | let unitsInt = if ((unitsBytes == toBytes("0"))) | |
11 | + | then 0 | |
12 | + | else if ((unitsBytes == toBytes("1"))) | |
13 | + | then 1 | |
14 | + | else if ((unitsBytes == toBytes("2"))) | |
15 | + | then 2 | |
16 | + | else if ((unitsBytes == toBytes("3"))) | |
17 | + | then 3 | |
18 | + | else if ((unitsBytes == toBytes("4"))) | |
19 | + | then 4 | |
20 | + | else if ((unitsBytes == toBytes("5"))) | |
21 | + | then 5 | |
22 | + | else if ((unitsBytes == toBytes("6"))) | |
23 | + | then 6 | |
24 | + | else if ((unitsBytes == toBytes("7"))) | |
25 | + | then 7 | |
26 | + | else if ((unitsBytes == toBytes("8"))) | |
27 | + | then 8 | |
28 | + | else if ((unitsBytes == toBytes("9"))) | |
29 | + | then 9 | |
30 | + | else 0 | |
31 | + | let tensInt = if ((tensBytes == toBytes("0"))) | |
32 | + | then 0 | |
33 | + | else if ((tensBytes == toBytes("1"))) | |
34 | + | then 10 | |
35 | + | else if ((tensBytes == toBytes("2"))) | |
36 | + | then 20 | |
37 | + | else 0 | |
38 | + | let posInt = (tensInt + unitsInt) | |
39 | + | let posString = if ((posInt > 9)) | |
40 | + | then toString(posInt) | |
41 | + | else ("0" + toString(posInt)) | |
42 | + | let posHash = extract(getString(meAddress, ("hash" + posString))) | |
7 | 43 | if ((takeRightBytes(take(trTx.attachment, 4), 1) == toBytes("1"))) | |
8 | 44 | then (sha256(trTx.attachment) == fromBase58String(posHash)) | |
9 | 45 | else false |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)) | |
4 | 4 | then match tx { | |
5 | 5 | case trTx: TransferTransaction => | |
6 | - | let posHash = extract(getString(tx.sender, "hash24")) | |
6 | + | let meAddress = trTx.sender | |
7 | + | let unitsBytes = takeRightBytes(take(trTx.attachment, 2), 1) | |
8 | + | let tensBytes = take(trTx.attachment, 1) | |
9 | + | let winBytes = takeRightBytes(take(trTx.attachment, 4), 1) | |
10 | + | let unitsInt = if ((unitsBytes == toBytes("0"))) | |
11 | + | then 0 | |
12 | + | else if ((unitsBytes == toBytes("1"))) | |
13 | + | then 1 | |
14 | + | else if ((unitsBytes == toBytes("2"))) | |
15 | + | then 2 | |
16 | + | else if ((unitsBytes == toBytes("3"))) | |
17 | + | then 3 | |
18 | + | else if ((unitsBytes == toBytes("4"))) | |
19 | + | then 4 | |
20 | + | else if ((unitsBytes == toBytes("5"))) | |
21 | + | then 5 | |
22 | + | else if ((unitsBytes == toBytes("6"))) | |
23 | + | then 6 | |
24 | + | else if ((unitsBytes == toBytes("7"))) | |
25 | + | then 7 | |
26 | + | else if ((unitsBytes == toBytes("8"))) | |
27 | + | then 8 | |
28 | + | else if ((unitsBytes == toBytes("9"))) | |
29 | + | then 9 | |
30 | + | else 0 | |
31 | + | let tensInt = if ((tensBytes == toBytes("0"))) | |
32 | + | then 0 | |
33 | + | else if ((tensBytes == toBytes("1"))) | |
34 | + | then 10 | |
35 | + | else if ((tensBytes == toBytes("2"))) | |
36 | + | then 20 | |
37 | + | else 0 | |
38 | + | let posInt = (tensInt + unitsInt) | |
39 | + | let posString = if ((posInt > 9)) | |
40 | + | then toString(posInt) | |
41 | + | else ("0" + toString(posInt)) | |
42 | + | let posHash = extract(getString(meAddress, ("hash" + posString))) | |
7 | 43 | if ((takeRightBytes(take(trTx.attachment, 4), 1) == toBytes("1"))) | |
8 | 44 | then (sha256(trTx.attachment) == fromBase58String(posHash)) | |
9 | 45 | else false | |
10 | 46 | case _ => | |
11 | 47 | true | |
12 | 48 | } | |
13 | 49 | else false |
github/deemru/w8io/169f3d6 25.38 ms ◑![]()