tx · 5dmuuZjd6vS1TEMRBjYxxyN4z9DUdGuDFRnJ2WnfGJKm

3MyXEmrjz8G5z2Q8xiyBnucF9LUyggiChiP:  -0.01400000 Waves

2019.12.14 20:35 [808848] smart account 3MyXEmrjz8G5z2Q8xiyBnucF9LUyggiChiP > SELF 0.00000000 Waves

{ "type": 13, "id": "5dmuuZjd6vS1TEMRBjYxxyN4z9DUdGuDFRnJ2WnfGJKm", "fee": 1400000, "feeAssetId": null, "timestamp": 1576344911155, "version": 1, "sender": "3MyXEmrjz8G5z2Q8xiyBnucF9LUyggiChiP", "senderPublicKey": "GRSgAjHJFmqVyE1sdnUmweBHV962Q1MyURh4frCUS1My", "proofs": [ "3AtL2Hqefv1jWUGUUoPWiXtm1xPb2SASenaar6Bzi539cDH9P6JBrCn8ssY5aC5dpBHWwohZTdmaHv7Y6pHk162p" ], "script": "base64:AAIDAAAAAAAAAAwIARIICgYICAgICAgAAAAAAAAAAQAAAAFpAQAAAAphZGREZXBvc2l0AAAABgAAAARoYXNoAAAAB2FjY291bnQAAAAGYW1vdW50AAAAA3NlcQAAAAlnZW5lcmF0b3IAAAAJc2lnbmF0dXJlBAAAAAdtZXNzYWdlCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARoYXNoAgAAAAEsBQAAAAdhY2NvdW50AgAAAAEsBQAAAAZhbW91bnQCAAAAASwFAAAAA3NlcQMJAQAAAAEhAAAAAQkAAfQAAAADCQABmwAAAAEFAAAAB21lc3NhZ2UJAAJdAAAAAQUAAAAJc2lnbmF0dXJlCQACXQAAAAEFAAAACWdlbmVyYXRvcgkAAAIAAAABAgAAABFpbnZhbGlkIHNpZ25hdHVyZQQAAAAOY2FsY3VsYXRlZEhhc2gJAAH1AAAAAQkAAMsAAAACCQAAywAAAAIJAAJdAAAAAQUAAAAHYWNjb3VudAkAAl0AAAABBQAAAAZhbW91bnQJAAJdAAAAAQUAAAADc2VxAwkBAAAAAiE9AAAAAgUAAAAOY2FsY3VsYXRlZEhhc2gJAAJdAAAAAQUAAAAEaGFzaAkAAAIAAAABAgAAAA1oYXNoIG1pc21hdGNoCQEAAAAIV3JpdGVTZXQAAAABBQAAAANuaWwAAAAA2P4vhA==", "chainId": 84, "height": 808848, "spentComplexity": 0 } View: original | compacted Prev: 7MKFgvmDDmd2Sr8zDEah4APkATtBjFctCusmvvPfEuZ5 Next: 8NvP1xJP2sYsSTGho3coFB3PRGY8GUc539jzyjDaBjAu Diff:
OldNewDifferences
55
66 @Callable(i)
77 func addDeposit (hash,account,amount,seq,generator,signature) = {
8- let calculatedHash = keccak256(((fromBase16String(account) + fromBase16String(amount)) + fromBase16String(seq)))
9- if ((calculatedHash != fromBase16String(hash)))
10- then throw("hash mismatch")
11- else WriteSet(nil)
8+ let message = ((((((hash + ",") + account) + ",") + amount) + ",") + seq)
9+ if (!(sigVerify(toBytes(message), fromBase16String(signature), fromBase16String(generator))))
10+ then throw("invalid signature")
11+ else {
12+ let calculatedHash = keccak256(((fromBase16String(account) + fromBase16String(amount)) + fromBase16String(seq)))
13+ if ((calculatedHash != fromBase16String(hash)))
14+ then throw("hash mismatch")
15+ else WriteSet(nil)
16+ }
1217 }
1318
1419
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44
55
66 @Callable(i)
77 func addDeposit (hash,account,amount,seq,generator,signature) = {
8- let calculatedHash = keccak256(((fromBase16String(account) + fromBase16String(amount)) + fromBase16String(seq)))
9- if ((calculatedHash != fromBase16String(hash)))
10- then throw("hash mismatch")
11- else WriteSet(nil)
8+ let message = ((((((hash + ",") + account) + ",") + amount) + ",") + seq)
9+ if (!(sigVerify(toBytes(message), fromBase16String(signature), fromBase16String(generator))))
10+ then throw("invalid signature")
11+ else {
12+ let calculatedHash = keccak256(((fromBase16String(account) + fromBase16String(amount)) + fromBase16String(seq)))
13+ if ((calculatedHash != fromBase16String(hash)))
14+ then throw("hash mismatch")
15+ else WriteSet(nil)
16+ }
1217 }
1318
1419

github/deemru/w8io/873ac7e 
25.92 ms