tx · 3feUYkcu8ZtpRiK4BdvoKEcxyQGDHiq6cwCGTFCJAgew 3N5ezXT9QVpBcxseKRkqbLdTRSUkbMJLzbD: -0.01400000 Waves 2019.03.03 12:06 [519478] smart account 3N5ezXT9QVpBcxseKRkqbLdTRSUkbMJLzbD > SELF 0.00000000 Waves
{ "type": 13, "id": "3feUYkcu8ZtpRiK4BdvoKEcxyQGDHiq6cwCGTFCJAgew", "fee": 1400000, "feeAssetId": null, "timestamp": 1551603941920, "version": 1, "sender": "3N5ezXT9QVpBcxseKRkqbLdTRSUkbMJLzbD", "senderPublicKey": "HMMwXJWPUWM7VKP5hJaoazWJiLMZZSta2F9AaWkUk1FX", "proofs": [ "4B8p7FnsnFcsgHbxauPq4ctHVKJK7jrSBhnd1eTHAG4849VjhenNbyZ6wFkZ5QXEvAZ39TAEtsrDftWv2vWY3Pye" ], "script": "base64:AQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBAAAAAFhBQAAAAckbWF0Y2gwCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAABYgUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAABYwUAAAAHJG1hdGNoMAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXkJAAACAAAAAQIAAAA3VGhpcyBpcyBub3QgU2V0U2NyaXB0VHJhbnNhY3Rpb24gb3IgVHJhbnNmZXJUcmFuc2FjdGlvbqxE31o=", "chainId": 84, "height": 519478, "spentComplexity": 0 } View: original | compacted Prev: GdQs2F78qa8nx3YsWgPKziXs88jF6Y2F5xX7mFp8sagS Next: HNmqXujyR6KrDvG9xnqi4xENwebGSGDJk57gd8L8ZKXe Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | match tx { | |
4 | - | case tt: TransferTransaction => | |
5 | - | let recipientString = toBase58String(addressFromRecipient(tt.recipient).bytes) | |
6 | - | let game = extract(getString(tt.sender, recipientString)) | |
7 | - | let winner = extract(getString(tt.sender, (game + "_winner"))) | |
8 | - | let winAmount = extract(getInteger(tt.sender, (game + "_winAmount"))) | |
9 | - | if ((tt.amount == winAmount)) | |
10 | - | then (recipientString == winner) | |
11 | - | else false | |
12 | - | case dt: DataTransaction => | |
13 | - | let game = extract(getString(dt.data, "hash")) | |
14 | - | let betAmount = extract(getInteger(dt.data, (game + "_amount"))) | |
15 | - | let player1TxId = extract(getString(dt.data, (game + "_tx1"))) | |
16 | - | let player1Tx = transactionById(fromBase58String(player1TxId)) | |
17 | - | match player1Tx { | |
18 | - | case p1t: TransferTransaction => | |
19 | - | let player1Ok = (p1t.amount == betAmount) | |
20 | - | let player2TxId = extract(getString(dt.data, (game + "_tx2"))) | |
21 | - | let player2Tx = transactionById(fromBase58String(player2TxId)) | |
22 | - | match player2Tx { | |
23 | - | case p2t: TransferTransaction => | |
24 | - | let player2Ok = (p2t.amount == betAmount) | |
25 | - | if (player1Ok) | |
26 | - | then player2Ok | |
27 | - | else false | |
28 | - | case _ => | |
29 | - | false | |
30 | - | } | |
31 | - | case _ => | |
32 | - | false | |
33 | - | } | |
34 | - | case st: SetScriptTransaction => | |
35 | - | true | |
4 | + | case a: SetScriptTransaction => | |
5 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
6 | + | case b: TransferTransaction => | |
7 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
8 | + | case c: DataTransaction => | |
9 | + | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
36 | 10 | case _ => | |
37 | - | | |
11 | + | throw("This is not SetScriptTransaction or TransferTransaction") | |
38 | 12 | } |
github/deemru/w8io/169f3d6 39.08 ms ◑