tx · 3SwNeNxvPV7xLdCxbo5H6s8V1Nukb8vx8vUFgYVG2E3W 3N7d4LvfXfWuRfgH7FryT1aTKgTcxYEpiS1: -0.01400000 Waves 2019.02.26 11:18 [512114] smart account 3N7d4LvfXfWuRfgH7FryT1aTKgTcxYEpiS1 > SELF 0.00000000 Waves
{ "type": 13, "id": "3SwNeNxvPV7xLdCxbo5H6s8V1Nukb8vx8vUFgYVG2E3W", "fee": 1400000, "feeAssetId": null, "timestamp": 1551169129199, "version": 1, "sender": "3N7d4LvfXfWuRfgH7FryT1aTKgTcxYEpiS1", "senderPublicKey": "5qUaAgjqPX93UsDezatjFhkaMsdGsR28R7pPFwU2sQNc", "proofs": [ "3hvT1Xu2qq5BoZqpWV2qHWiAZJVid8Beo2LihEoxEw8Yav3VMfUre5Gi7UEGscGsnz6BqgBaTZz4JVQNWC4jCbrv" ], "script": "base64:AQQAAAAEaGFzaAEAAAAgLJz8JfWWPwlJe1FsNnp9SPNq34pFG3E7zx69Kg+6bIYEAAAAC21lUHVibGljS2V5AQAAACBH2c1YEWbrPEZ0jkNpWjtGdhnH6iaFm8k5ZZ8T2rmsYQQAAAACbWUJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAC21lUHVibGljS2V5BAAAAAZzaWduTWUJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAABQAAAAttZVB1YmxpY0tleQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAABdAUAAAAHJG1hdGNoMAMFAAAABnNpZ25NZQQAAAAGbnVtYmVyCQEAAAAHZXh0cmFjdAAAAAEJAAQQAAAAAggFAAAAAXQAAAAEZGF0YQIAAAAIMF9udW1iZXIEAAAABHNhbHQJAQAAAAdleHRyYWN0AAAAAQkABBMAAAACCAUAAAABdAAAAARkYXRhAgAAAAYwX3NhbHQEAAAAB2NvdW50ZXIJAQAAAAdleHRyYWN0AAAAAQkABBAAAAACCAUAAAABdAAAAARkYXRhAgAAAAkwX2NvdW50ZXIEAAAABWluZGV4CQEAAAAHZXh0cmFjdAAAAAEJAAQQAAAAAggFAAAAAXQAAAAEZGF0YQIAAAAHMF9pbmRleAMDAwMDAwkAAAAAAAACCQABkAAAAAEIBQAAAAF0AAAABGRhdGEAAAAAAAAAAAQJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEJAAQaAAAAAgUAAAACbWUCAAAACDBfbnVtYmVyBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAJtZQIAAAAGMF9zYWx0BwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAJtZQIAAAAJMF9jb3VudGVyBwkBAAAAASEAAAABCQEAAAAJaXNEZWZpbmVkAAAAAQkABBoAAAACBQAAAAJtZQIAAAAHMF9pbmRleAcJAAAAAAAAAgkAAGoAAAACBQAAAAZudW1iZXIFAAAAB2NvdW50ZXIFAAAABWluZGV4BwkAAAAAAAACCQAB9wAAAAEJAAGbAAAAAQkAASwAAAACCQABpAAAAAEFAAAABm51bWJlcgUAAAAEc2FsdAUAAAAEaGFzaAcHBQAAAAZzaWduTWUe9/V5", "chainId": 84, "height": 512114, "spentComplexity": 0 } View: original | compacted Prev: EhvZS5vo21taYsVSSRS9HztAsYNFp5KtPAKvTtu1BAEU Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | let hash = base58'419n4oEUmfmGUVhQ1WtpPw3Ro3QvzHPhrxVTgEBhpNb7' | |
3 | 4 | let mePublicKey = base58'5qUaAgjqPX93UsDezatjFhkaMsdGsR28R7pPFwU2sQNc' | |
4 | 5 | let me = addressFromPublicKey(mePublicKey) | |
6 | + | let signMe = sigVerify(tx.bodyBytes, tx.proofs[0], mePublicKey) | |
5 | 7 | match tx { | |
6 | 8 | case t: DataTransaction => | |
7 | - | let hash = "419n4oEUmfmGUVhQ1WtpPw3Ro3QvzHPhrxVTgEBhpNb7" | |
8 | - | let number = extract(getInteger(t.data, "number")) | |
9 | - | let salt = extract(getString(t.data, "salt")) | |
10 | - | let binary = toBytes((toString(number) + salt)) | |
11 | - | if ((sha256(binary) == fromBase58String(hash))) | |
12 | - | then sigVerify(t.bodyBytes, t.proofs[0], mePublicKey) | |
9 | + | if (signMe) | |
10 | + | then { | |
11 | + | let number = extract(getInteger(t.data, "0_number")) | |
12 | + | let salt = extract(getString(t.data, "0_salt")) | |
13 | + | let counter = extract(getInteger(t.data, "0_counter")) | |
14 | + | let index = extract(getInteger(t.data, "0_index")) | |
15 | + | if (if (if (if (if (if ((size(t.data) == 4)) | |
16 | + | then !(isDefined(getInteger(me, "0_number"))) | |
17 | + | else false) | |
18 | + | then !(isDefined(getString(me, "0_salt"))) | |
19 | + | else false) | |
20 | + | then !(isDefined(getInteger(me, "0_counter"))) | |
21 | + | else false) | |
22 | + | then !(isDefined(getInteger(me, "0_index"))) | |
23 | + | else false) | |
24 | + | then ((number % counter) == index) | |
25 | + | else false) | |
26 | + | then (sha256(toBytes((toString(number) + salt))) == hash) | |
27 | + | else false | |
28 | + | } | |
13 | 29 | else false | |
14 | 30 | case _ => | |
15 | - | | |
31 | + | signMe | |
16 | 32 | } |
github/deemru/w8io/169f3d6 28.44 ms ◑