2019.04.18 19:45 [1488357] smart account 3PGZeXfoHHTVvxbn35Cc9WDYsJDpLVossBG > SELF 0.00000000 Waves

{ "type": 13, "id": "GBNiVDQb83VyHnWzKXVypxZnXKpeUUmBs9ygcPaGAy4V", "fee": 1400000, "feeAssetId": null, "timestamp": 1555605980564, "version": 1, "sender": "3PGZeXfoHHTVvxbn35Cc9WDYsJDpLVossBG", "senderPublicKey": "FLoFbkYbVTH2Bef5FHLXC7MxWMfkX8ur1aYKbvbYW6nv", "proofs": [ "4rGsWPcCyVmzt93Ub3osrbuSvjTCNHHGCXtDkTp49XKvrBcZ9P2ipBcmdSs5NLxRBvx8aAYHWyHizYb2HsP8PQam" ], "script": "base64:AgQAAAAIdmVyaWZpZWQJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAACdHIFAAAAByRtYXRjaDAEAAAABHRoaXMIBQAAAAJ0cgAAAAZzZW5kZXIEAAAABG5vZGUJAQAAAAdBZGRyZXNzAAAAAQkAAlkAAAABCQEAAAAHZXh0cmFjdAAAAAEJAAQdAAAAAgUAAAAEdGhpcwIAAAAEbm9kZQQAAAAHbm9kZWJhbAkBAAAADHdhdmVzQmFsYW5jZQAAAAEFAAAABG5vZGUEAAAACHR4aGVpZ2h0CQEAAAAHZXh0cmFjdAAAAAEJAAQaAAAAAgUAAAAEdGhpcwIAAAAIdHhoZWlnaHQEAAAABm1pbmJhbAkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMCAAAAA2JhbAMFAAAACHZlcmlmaWVkCQAAAAAAAAIJAQAAAAlpc0RlZmluZWQAAAABCAUAAAACdHIAAAAKZmVlQXNzZXRJZAMJAAAAAAAAAgUAAAAIdHhoZWlnaHQFAAAABmhlaWdodAkAAGYAAAACBQAAAAdub2RlYmFsBQAAAAZtaW5iYWwHBwMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAFT3JkZXIEAAAAAm9yBQAAAAckbWF0Y2gwBAAAAAR0aGlzCAUAAAACb3IAAAAGc2VuZGVyBAAAAARub2RlCQEAAAAHQWRkcmVzcwAAAAEJAAJZAAAAAQkBAAAAB2V4dHJhY3QAAAABCQAEHQAAAAIFAAAABHRoaXMCAAAABG5vZGUEAAAAB25vZGViYWwJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAARub2RlBAAAAAh0eGhlaWdodAkBAAAAB2V4dHJhY3QAAAABCQAEGgAAAAIFAAAABHRoaXMCAAAACHR4aGVpZ2h0BAAAAAZtaW5iYWwJAQAAAAdleHRyYWN0AAAAAQkABBoAAAACBQAAAAR0aGlzAgAAAANiYWwDCQEAAAABIQAAAAEFAAAACHZlcmlmaWVkCQAAAgAAAAECAAAAHFdyb25nIHNpZ25hdHVyZSBmb3IgZXhjaGFuZ2UDCQEAAAABIQAAAAEJAABmAAAAAgUAAAAHbm9kZWJhbAUAAAAGbWluYmFsCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAEXNtYWxsIGJhbDogbm9kZTogCQABpAAAAAEFAAAAB25vZGViYWwCAAAAByAvbWluOiAJAAGkAAAAAQUAAAAGbWluYmFsAwkBAAAAASEAAAABCQAAAAAAAAIFAAAACHR4aGVpZ2h0BQAAAAZoZWlnaHQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAUd3JvbmcgaGVpZ2h0OiBkYXRhOiAJAAGkAAAAAQUAAAAIdHhoZWlnaHQCAAAACCAvY3VycjogCQABpAAAAAEFAAAABmhlaWdodAYDAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAUU2V0U2NyaXB0VHJhbnNhY3Rpb24GCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAAFb3RoZXIFAAAAByRtYXRjaDAFAAAACHZlcmlmaWVkCQAAAgAAAAECAAAAFlByb2hpYml0ZWQgdHJhbnNhY3Rpb27BSTWK", "chainId": 87, "height": 1488357, "spentComplexity": 0 } View: original | compacted Prev: GcZppyNa3DXMxn5Hm4VmtP3ARMJFVzQr8DgCNCeCo3z4 Next: c5dpdGMSVSBr3w5TGRiSpxZihWHdYWevZcChT5pxF2p Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
3-let me = Address(base58'3PGZeXfoHHTVvxbn35Cc9WDYsJDpLVossBG')
4-let nodetest = base58'3P2HNUd5VUPLMQkJmctTPEeeHumiPN2GkTb'
5-let nodetestaddr = Address(nodetest)
6-let txheight = extract(getInteger(me, "txheight"))
7-let minbal = extract(getInteger(me, "bal"))
83 let verified = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
94 match tx {
105 case tr: TransferTransaction =>
11- let nodeaddr = Address(fromBase58String(extract(getString(me, "node"))))
12- if (!((nodeaddr == nodetestaddr)))
13- then throw("wrong node")
14- else {
15- let nodebal = wavesBalance(nodeaddr)
16- if (verified)
17- then (isDefined(tr.feeAssetId) == (if ((txheight == height))
18- then (nodebal > minbal)
19- else false))
20- else false
21- }
22- case ex: Order =>
23- let nodeaddr = Address(fromBase58String(extract(getString(me, "node"))))
24- if (!((nodeaddr == nodetestaddr)))
25- then throw("wrong node")
26- else {
27- let nodebal = wavesBalance(nodeaddr)
28- if (!(verified))
29- then throw("Wrong signature for exchange")
30- else if (!((nodebal > minbal)))
31- then throw(((("small bal: node: " + toString(nodebal)) + " /min: ") + toString(minbal)))
32- else if (!((txheight == height)))
33- then throw(((("wrong height: data: " + toString(txheight)) + " /curr: ") + toString(height)))
34- else true
35- }
6+ let this = tr.sender
7+ let node = Address(fromBase58String(extract(getString(this, "node"))))
8+ let nodebal = wavesBalance(node)
9+ let txheight = extract(getInteger(this, "txheight"))
10+ let minbal = extract(getInteger(this, "bal"))
11+ if (verified)
12+ then (isDefined(tr.feeAssetId) == (if ((txheight == height))
13+ then (nodebal > minbal)
14+ else false))
15+ else false
16+ case or: Order =>
17+ let this = or.sender
18+ let node = Address(fromBase58String(extract(getString(this, "node"))))
19+ let nodebal = wavesBalance(node)
20+ let txheight = extract(getInteger(this, "txheight"))
21+ let minbal = extract(getInteger(this, "bal"))
22+ if (!(verified))
23+ then throw("Wrong signature for exchange")
24+ else if (!((nodebal > minbal)))
25+ then throw(((("small bal: node: " + toString(nodebal)) + " /min: ") + toString(minbal)))
26+ else if (!((txheight == height)))
27+ then throw(((("wrong height: data: " + toString(txheight)) + " /curr: ") + toString(height)))
28+ else true
3629 case other: ExchangeTransaction|SetScriptTransaction|DataTransaction =>
3730 verified
3831 case _ =>
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
3-let me = Address(base58'3PGZeXfoHHTVvxbn35Cc9WDYsJDpLVossBG')
4-let nodetest = base58'3P2HNUd5VUPLMQkJmctTPEeeHumiPN2GkTb'
5-let nodetestaddr = Address(nodetest)
6-let txheight = extract(getInteger(me, "txheight"))
7-let minbal = extract(getInteger(me, "bal"))
83 let verified = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
94 match tx {
105 case tr: TransferTransaction =>
11- let nodeaddr = Address(fromBase58String(extract(getString(me, "node"))))
12- if (!((nodeaddr == nodetestaddr)))
13- then throw("wrong node")
14- else {
15- let nodebal = wavesBalance(nodeaddr)
16- if (verified)
17- then (isDefined(tr.feeAssetId) == (if ((txheight == height))
18- then (nodebal > minbal)
19- else false))
20- else false
21- }
22- case ex: Order =>
23- let nodeaddr = Address(fromBase58String(extract(getString(me, "node"))))
24- if (!((nodeaddr == nodetestaddr)))
25- then throw("wrong node")
26- else {
27- let nodebal = wavesBalance(nodeaddr)
28- if (!(verified))
29- then throw("Wrong signature for exchange")
30- else if (!((nodebal > minbal)))
31- then throw(((("small bal: node: " + toString(nodebal)) + " /min: ") + toString(minbal)))
32- else if (!((txheight == height)))
33- then throw(((("wrong height: data: " + toString(txheight)) + " /curr: ") + toString(height)))
34- else true
35- }
6+ let this = tr.sender
7+ let node = Address(fromBase58String(extract(getString(this, "node"))))
8+ let nodebal = wavesBalance(node)
9+ let txheight = extract(getInteger(this, "txheight"))
10+ let minbal = extract(getInteger(this, "bal"))
11+ if (verified)
12+ then (isDefined(tr.feeAssetId) == (if ((txheight == height))
13+ then (nodebal > minbal)
14+ else false))
15+ else false
16+ case or: Order =>
17+ let this = or.sender
18+ let node = Address(fromBase58String(extract(getString(this, "node"))))
19+ let nodebal = wavesBalance(node)
20+ let txheight = extract(getInteger(this, "txheight"))
21+ let minbal = extract(getInteger(this, "bal"))
22+ if (!(verified))
23+ then throw("Wrong signature for exchange")
24+ else if (!((nodebal > minbal)))
25+ then throw(((("small bal: node: " + toString(nodebal)) + " /min: ") + toString(minbal)))
26+ else if (!((txheight == height)))
27+ then throw(((("wrong height: data: " + toString(txheight)) + " /curr: ") + toString(height)))
28+ else true
3629 case other: ExchangeTransaction|SetScriptTransaction|DataTransaction =>
3730 verified
3831 case _ =>
3932 throw("Prohibited transaction")
4033 }

github/deemru/w8io/786bc32 
74.98 ms