tx · xdfVGLyhYKc8AXJfXyKF8ergNUDPCHnzhzHv1dT5VQx 3N48rTu2LwVGovaPeSSRBz9pJZ69yToFZi2: -0.01000000 Waves 2018.10.02 16:36 [357807] smart account 3N48rTu2LwVGovaPeSSRBz9pJZ69yToFZi2 > SELF 0.00000000 Waves
{ "type": 13, "id": "xdfVGLyhYKc8AXJfXyKF8ergNUDPCHnzhzHv1dT5VQx", "fee": 1000000, "feeAssetId": null, "timestamp": 1538487393938, "version": 1, "sender": "3N48rTu2LwVGovaPeSSRBz9pJZ69yToFZi2", "senderPublicKey": "53aqipRSC4wa7rSNui8gqmLQ3shEf93MRXmhWLArnWsU", "proofs": [ "4FHGV1bD8kWoK2bUN4eDHuvYyNFHH4Yr7aKJRgSchPQ2xxfDzDY48kQMDHDVfJfPiuyQviP3nAbH1diqAFBzs8uf" ], "script": "base64:AQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAACZHQFAAAAByRtYXRjaDAEAAAABnBhcnR5QQgJAAGRAAAAAggFAAAAAmR0AAAABGRhdGEAAAAAAAAAAAAAAAADa2V5BAAAAAZwYXJ0eUIICQABkQAAAAIIBQAAAAJkdAAAAARkYXRhAAAAAAAAAAABAAAAA2tleQQAAAAPb2xkUGFydHlBQW1vdW50CQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAggFAAAAAmR0AAAABnNlbmRlcgUAAAAGcGFydHlBBAAAAA9uZXdQYXJ0eUFBbW91bnQJAQAAAAdleHRyYWN0AAAAAQkABBAAAAACCAUAAAACZHQAAAAEZGF0YQUAAAAGcGFydHlBBAAAAA9vbGRQYXJ0eUJBbW91bnQEAAAAByRtYXRjaDEJAAQaAAAAAggFAAAAAmR0AAAABnNlbmRlcgUAAAAGcGFydHlCAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAANJbnQEAAAAAWkFAAAAByRtYXRjaDEFAAAAAWkAAAAAAAAAAAAEAAAAD25ld1BhcnR5QkFtb3VudAkBAAAAB2V4dHJhY3QAAAABCQAEEAAAAAIIBQAAAAJkdAAAAARkYXRhBQAAAAZwYXJ0eUIEAAAAA2ludgkAAAAAAAACCQAAZAAAAAIFAAAAD29sZFBhcnR5QUFtb3VudAUAAAAPb2xkUGFydHlCQW1vdW50CQAAZAAAAAIFAAAAD25ld1BhcnR5QUFtb3VudAUAAAAPbmV3UGFydHlCQW1vdW50BAAAAANpbmMJAABmAAAAAgUAAAAPbmV3UGFydHlCQW1vdW50BQAAAA9vbGRQYXJ0eUJBbW91bnQEAAAAA25lZwkAAGcAAAACBQAAAA9uZXdQYXJ0eUFBbW91bnQAAAAAAAAAAAAEAAAAA3NpZwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAAJZAAAAAQUAAAAGcGFydHlBBAAAAAtzdGF0ZUNoYW5nZQkAAAAAAAACCQABkAAAAAEIBQAAAAJkdAAAAARkYXRhAAAAAAAAAAACAwMDAwUAAAADaW52BQAAAANpbmMHBQAAAANuZWcHBQAAAAtzdGF0ZUNoYW5nZQcFAAAAA3NpZwcHjEiDbg==", "chainId": 84, "height": 357807, "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
Old | New | Differences | |
---|---|---|---|
1 | - | # no script | |
1 | + | {-# STDLIB_VERSION 1 #-} | |
2 | + | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | + | match tx { | |
4 | + | case dt: DataTransaction => | |
5 | + | let partyA = dt.data[0].key | |
6 | + | let partyB = dt.data[1].key | |
7 | + | let oldPartyAAmount = extract(getInteger(dt.sender, partyA)) | |
8 | + | let newPartyAAmount = extract(getInteger(dt.data, partyA)) | |
9 | + | let oldPartyBAmount = match getInteger(dt.sender, partyB) { | |
10 | + | case i: Int => | |
11 | + | i | |
12 | + | case _ => | |
13 | + | 0 | |
14 | + | } | |
15 | + | let newPartyBAmount = extract(getInteger(dt.data, partyB)) | |
16 | + | let inv = ((oldPartyAAmount + oldPartyBAmount) == (newPartyAAmount + newPartyBAmount)) | |
17 | + | let inc = (newPartyBAmount > oldPartyBAmount) | |
18 | + | let neg = (newPartyAAmount >= 0) | |
19 | + | let sig = sigVerify(tx.bodyBytes, tx.proofs[0], fromBase58String(partyA)) | |
20 | + | let stateChange = (size(dt.data) == 2) | |
21 | + | if (if (if (if (inv) | |
22 | + | then inc | |
23 | + | else false) | |
24 | + | then neg | |
25 | + | else false) | |
26 | + | then stateChange | |
27 | + | else false) | |
28 | + | then sig | |
29 | + | else false | |
30 | + | case _ => | |
31 | + | false | |
32 | + | } |
github/deemru/w8io/026f985 12.68 ms ◑