tx · HWmuLL1RbgLqdWAMZhBdAFgw7gSc2ZJNUhbDfeC4AQnY 3N2hBea4tJ4vmGdTnr7iGEfeCwsDkLyCbWK: -0.14000000 Waves 2019.01.10 20:25 [444139] smart account 3N2hBea4tJ4vmGdTnr7iGEfeCwsDkLyCbWK > SELF 0.00000000 Waves
{ "type": 13, "id": "HWmuLL1RbgLqdWAMZhBdAFgw7gSc2ZJNUhbDfeC4AQnY", "fee": 14000000, "feeAssetId": null, "timestamp": 1547141176163, "version": 1, "sender": "3N2hBea4tJ4vmGdTnr7iGEfeCwsDkLyCbWK", "senderPublicKey": "9vCFiiQT1mT2SMoSSoShakxyfJND9mzVDfjiaiVdh7y5", "proofs": [ "3khUsTf915XYW6drWqN9kFSyhkvYBxciXH44gTG4WmymwKnGLZbiEv1yGRxucv2QEUsWELdUG6Bj6UKM7z6gBLsn" ], "script": "base64:AQQAAAAEdGhpcwkBAAAAB2V4dHJhY3QAAAABCAUAAAACdHgAAAAGc2VuZGVyBAAAAAVhc3NldAEAAAAgtq+x+Lyp0OJdcspblOG40c0ZJIRwpLdaI6skeeO/GpMEAAAAAU4JAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzAgAAAAFOBAAAABBsYXN0VXBkYXRlSGVpZ2h0CQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwIAAAAQbGFzdFVwZGF0ZUhlaWdodAQAAAARbGFzdFVwZGF0ZUJhbGFuY2UJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzAgAAABFsYXN0VXBkYXRlQmFsYW5jZQQAAAAOdmFsaWRpdHlQZXJpb2QAAAAAAAAAA+gEAAAADmN1cnJlbnRCYWxhbmNlCQAD6wAAAAIFAAAABHRoaXMFAAAABWFzc2V0BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAEAAAACmZpcnN0Qnl0ZXMJAAJYAAAAAQkAAMkAAAACCAUAAAACdHgAAAACaWQFAAAAAU4EAAAADnRyYW5zZmVyQW1vdW50CQAAZAAAAAIJAABpAAAAAgUAAAAOY3VycmVudEJhbGFuY2UAAAAAAAAAAGQAAAAAAAAAAAEDAwMDAwkAAGYAAAACBQAAAA52YWxpZGl0eVBlcmlvZAkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEGxhc3RVcGRhdGVIZWlnaHQJAQAAAAlpc0RlZmluZWQAAAABCQAEGwAAAAIFAAAABHRoaXMFAAAACmZpcnN0Qnl0ZXMHCQAAAAAAAAIIBQAAAAJ0eAAAAAZhbW91bnQFAAAADnRyYW5zZmVyQW1vdW50BwkAAAAAAAACCAUAAAACdHgAAAAHYXNzZXRJZAUAAAAFYXNzZXQHCQAAAAAAAAIIBQAAAAJ0eAAAAANmZWUAAAAAAAAHoSAHCQEAAAABIQAAAAEJAQAAAAlpc0RlZmluZWQAAAABCAUAAAACdHgAAAAKZmVlQXNzZXRJZAcDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAACdHgFAAAAByRtYXRjaDAEAAAABG5ld04JAABlAAAAAgkAAGQAAAACBQAAAAFOCQAAaQAAAAIJAABlAAAAAgUAAAARbGFzdFVwZGF0ZUJhbGFuY2UFAAAADmN1cnJlbnRCYWxhbmNlAAAAAAAAAABkAAAAAAAAAAABAwMDAwMJAABnAAAAAgkAAGUAAAACBQAAAAZoZWlnaHQFAAAAEGxhc3RVcGRhdGVIZWlnaHQFAAAADnZhbGlkaXR5UGVyaW9kCQAAAAAAAAIJAAGQAAAAAQgFAAAAAnR4AAAABGRhdGEAAAAAAAAAAAMHCQAAAAAAAAIJAQAAAAdleHRyYWN0AAAAAQkABBAAAAACCAUAAAACdHgAAAAEZGF0YQIAAAABTgMJAABmAAAAAgAAAAAAAAAAAQUAAAAEbmV3TgAAAAAAAAAAAQMJAABmAAAAAgUAAAAEbmV3TgAAAAAAAAAAIAAAAAAAAAAAIAUAAAAEbmV3TgcJAAAAAAAAAgkBAAAAB2V4dHJhY3QAAAABCQAEEAAAAAIIBQAAAAJ0eAAAAARkYXRhAgAAABBsYXN0VXBkYXRlSGVpZ2h0BQAAAAZoZWlnaHQHCQAAAAAAAAIJAQAAAAdleHRyYWN0AAAAAQkABBAAAAACCAUAAAACdHgAAAAEZGF0YQIAAAARbGFzdFVwZGF0ZUJhbGFuY2UFAAAADmN1cnJlbnRCYWxhbmNlBwkAAAAAAAACCAUAAAACdHgAAAADZmVlAAAAAAAAB6EgBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXm1Xl1f", "chainId": 84, "height": 444139, "spentComplexity": 0 } View: original | compacted Prev: H9eKnnZXbrgj5fVoq6Mb3Kwdzp1ZBeezT8b7SB71XFxX Next: none Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let this = extract(tx.sender) | |
4 | - | let asset = base58' | |
4 | + | let asset = base58'DJ8b2j2iRxuW8URdz3r87ww3TvCjksJe8AqaBp1uGjZL' | |
5 | 5 | let N = extract(getInteger(this, "N")) | |
6 | 6 | let lastUpdateHeight = extract(getInteger(this, "lastUpdateHeight")) | |
7 | 7 | let lastUpdateBalance = extract(getInteger(this, "lastUpdateBalance")) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 1 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let this = extract(tx.sender) | |
4 | - | let asset = base58' | |
4 | + | let asset = base58'DJ8b2j2iRxuW8URdz3r87ww3TvCjksJe8AqaBp1uGjZL' | |
5 | 5 | let N = extract(getInteger(this, "N")) | |
6 | 6 | let lastUpdateHeight = extract(getInteger(this, "lastUpdateHeight")) | |
7 | 7 | let lastUpdateBalance = extract(getInteger(this, "lastUpdateBalance")) | |
8 | 8 | let validityPeriod = 1000 | |
9 | 9 | let currentBalance = assetBalance(this, asset) | |
10 | 10 | match tx { | |
11 | 11 | case tx: TransferTransaction => | |
12 | 12 | let firstBytes = toBase58String(take(tx.id, N)) | |
13 | 13 | let transferAmount = ((currentBalance / 100) + 1) | |
14 | 14 | if (if (if (if (if ((validityPeriod > (height - lastUpdateHeight))) | |
15 | 15 | then isDefined(getBoolean(this, firstBytes)) | |
16 | 16 | else false) | |
17 | 17 | then (tx.amount == transferAmount) | |
18 | 18 | else false) | |
19 | 19 | then (tx.assetId == asset) | |
20 | 20 | else false) | |
21 | 21 | then (tx.fee == 500000) | |
22 | 22 | else false) | |
23 | 23 | then !(isDefined(tx.feeAssetId)) | |
24 | 24 | else false | |
25 | 25 | case tx: DataTransaction => | |
26 | 26 | let newN = ((N + ((lastUpdateBalance - currentBalance) / 100)) - 1) | |
27 | 27 | if (if (if (if (if (((height - lastUpdateHeight) >= validityPeriod)) | |
28 | 28 | then (size(tx.data) == 3) | |
29 | 29 | else false) | |
30 | 30 | then (extract(getInteger(tx.data, "N")) == (if ((1 > newN)) | |
31 | 31 | then 1 | |
32 | 32 | else if ((newN > 32)) | |
33 | 33 | then 32 | |
34 | 34 | else newN)) | |
35 | 35 | else false) | |
36 | 36 | then (extract(getInteger(tx.data, "lastUpdateHeight")) == height) | |
37 | 37 | else false) | |
38 | 38 | then (extract(getInteger(tx.data, "lastUpdateBalance")) == currentBalance) | |
39 | 39 | else false) | |
40 | 40 | then (tx.fee == 500000) | |
41 | 41 | else false | |
42 | 42 | case _ => | |
43 | 43 | sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
44 | 44 | } |
github/deemru/w8io/026f985 20.10 ms ◑