tx · 2zJGheVKLuBE8ckYZx79L5KxAgdLVc4EUJQdJpnvvuDF 3PGZeXfoHHTVvxbn35Cc9WDYsJDpLVossBG: -0.01400000 Waves 2019.04.21 08:56 [1492106] smart account 3PGZeXfoHHTVvxbn35Cc9WDYsJDpLVossBG > SELF 0.00000000 Waves
{ "type": 13, "id": "2zJGheVKLuBE8ckYZx79L5KxAgdLVc4EUJQdJpnvvuDF", "fee": 1400000, "feeAssetId": null, "timestamp": 1555826190960, "version": 1, "sender": "3PGZeXfoHHTVvxbn35Cc9WDYsJDpLVossBG", "senderPublicKey": "FLoFbkYbVTH2Bef5FHLXC7MxWMfkX8ur1aYKbvbYW6nv", "proofs": [ "4o8QmGAhHawLq7uMHnMkk1uvyytwd4bHjyedg572x79jVnWTBHU5HDxkbziWVajJnTqP56sj12QM913S2o4iMzid" ], "script": "base64:AgQAAAAIdmVyaWZpZWQJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAACdHIFAAAAByRtYXRjaDAEAAAABHRoaXMIBQAAAAJ0cgAAAAZzZW5kZXIEAAAABG5vZGUJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAHZXh0cmFjdAAAAAEJAAQdAAAAAgUAAAAEdGhpcwIAAAAEbm9kZQQAAAAIdHhoZWlnaHQJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzAgAAAAh0eGhlaWdodAQAAAAGbWluYmFsCQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwIAAAADYmFsBAAAAAdub2RlYmFsCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAEbm9kZQMFAAAACHZlcmlmaWVkCQAAAAAAAAIJAQAAAAlpc0RlZmluZWQAAAABCAUAAAACdHIAAAAKZmVlQXNzZXRJZAMJAAAAAAAAAgUAAAAIdHhoZWlnaHQFAAAABmhlaWdodAkAAGYAAAACBQAAAAdub2RlYmFsBQAAAAZtaW5iYWwHBwMDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABU9yZGVyBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATRXhjaGFuZ2VUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBgkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAA9EYXRhVHJhbnNhY3Rpb24EAAAABW90aGVyBQAAAAckbWF0Y2gwBQAAAAh2ZXJpZmllZAkAAAIAAAABAgAAABZQcm9oaWJpdGVkIHRyYW5zYWN0aW9uW0x47g==", "chainId": 87, "height": 1492106, "spentComplexity": 0 } View: original | compacted Prev: 9qEdYi8RjjzdAsC5jBJSYFJPuiSmWK4c1mB7LgVYnCWY Next: 2zxDLTZjPAacZpmYbtmwq6KeiZFjxXWK3SttFAWvTrqB Diff:
Old | New | Differences | |
---|---|---|---|
4 | 4 | match tx { | |
5 | 5 | case tr: TransferTransaction => | |
6 | 6 | let this = tr.sender | |
7 | - | let | |
7 | + | let node = Address(fromBase58String(extract(getString(this, "node")))) | |
8 | 8 | let txheight = extract(getInteger(this, "txheight")) | |
9 | - | let minbalance = extract(getInteger(this, "bal")) | |
10 | - | if ((minbalance > accountbalance)) | |
11 | - | then throw("Low balance") | |
12 | - | else if ((txheight > height)) | |
13 | - | then throw("Trading not allowed on this height") | |
14 | - | else verified | |
15 | - | case or: Order => | |
16 | - | let this = or.sender | |
17 | - | let accountbalance = wavesBalance(this) | |
18 | - | let txheight = extract(getInteger(this, "txheight")) | |
19 | - | let minbalance = extract(getInteger(this, "bal")) | |
20 | - | if ((10000000 > accountbalance)) | |
21 | - | then throw("Low balance") | |
22 | - | else if ((txheight > height)) | |
23 | - | then throw("Trading not allowed on this height") | |
24 | - | else verified | |
25 | - | case other: ExchangeTransaction|SetScriptTransaction|DataTransaction => | |
9 | + | let minbal = extract(getInteger(this, "bal")) | |
10 | + | let nodebal = wavesBalance(node) | |
11 | + | if (verified) | |
12 | + | then (isDefined(tr.feeAssetId) == (if ((txheight == height)) | |
13 | + | then (nodebal > minbal) | |
14 | + | else false)) | |
15 | + | else false | |
16 | + | case other: Order|ExchangeTransaction|SetScriptTransaction|DataTransaction => | |
26 | 17 | verified | |
27 | 18 | case _ => | |
28 | - | throw() | |
19 | + | throw("Prohibited transaction") | |
29 | 20 | } |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 2 #-} | |
2 | 2 | {-# CONTENT_TYPE EXPRESSION #-} | |
3 | 3 | let verified = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey) | |
4 | 4 | match tx { | |
5 | 5 | case tr: TransferTransaction => | |
6 | 6 | let this = tr.sender | |
7 | - | let | |
7 | + | let node = Address(fromBase58String(extract(getString(this, "node")))) | |
8 | 8 | let txheight = extract(getInteger(this, "txheight")) | |
9 | - | let minbalance = extract(getInteger(this, "bal")) | |
10 | - | if ((minbalance > accountbalance)) | |
11 | - | then throw("Low balance") | |
12 | - | else if ((txheight > height)) | |
13 | - | then throw("Trading not allowed on this height") | |
14 | - | else verified | |
15 | - | case or: Order => | |
16 | - | let this = or.sender | |
17 | - | let accountbalance = wavesBalance(this) | |
18 | - | let txheight = extract(getInteger(this, "txheight")) | |
19 | - | let minbalance = extract(getInteger(this, "bal")) | |
20 | - | if ((10000000 > accountbalance)) | |
21 | - | then throw("Low balance") | |
22 | - | else if ((txheight > height)) | |
23 | - | then throw("Trading not allowed on this height") | |
24 | - | else verified | |
25 | - | case other: ExchangeTransaction|SetScriptTransaction|DataTransaction => | |
9 | + | let minbal = extract(getInteger(this, "bal")) | |
10 | + | let nodebal = wavesBalance(node) | |
11 | + | if (verified) | |
12 | + | then (isDefined(tr.feeAssetId) == (if ((txheight == height)) | |
13 | + | then (nodebal > minbal) | |
14 | + | else false)) | |
15 | + | else false | |
16 | + | case other: Order|ExchangeTransaction|SetScriptTransaction|DataTransaction => | |
26 | 17 | verified | |
27 | 18 | case _ => | |
28 | - | throw() | |
19 | + | throw("Prohibited transaction") | |
29 | 20 | } |
github/deemru/w8io/6500d08 85.08 ms ◑