tx · 9kvzSHWQt4mfmBeB9987ZVMrKpcbK3CzKvam8718eot9

3NCN79gCSaKTFV6fDoEzELoxDMrAUTCekd5:  -0.01400000 Waves

2019.09.17 20:10 [680527] smart account 3NCN79gCSaKTFV6fDoEzELoxDMrAUTCekd5 > SELF 0.00000000 Waves

{ "type": 13, "id": "9kvzSHWQt4mfmBeB9987ZVMrKpcbK3CzKvam8718eot9", "fee": 1400000, "feeAssetId": null, "timestamp": 1568740245168, "version": 1, "sender": "3NCN79gCSaKTFV6fDoEzELoxDMrAUTCekd5", "senderPublicKey": "4tD3VgZ1AmHzY7q1KZpn2mAkpMbBoXVAKSw3FRP9EXfT", "proofs": [ "3CAYEAJ2sb9boJrXLQPk8TpRbtDmGEsNvXDADhGsjeesYgciC17HKkbJ94ee9ZdobBfuenGGZpzjGd4m1y1bsYKf" ], "script": "base64:AgQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgQAAAABZAUAAAAHJG1hdGNoMAQAAAACazAICQABkQAAAAIIBQAAAAFkAAAABGRhdGEAAAAAAAAAAAAAAAADa2V5BAAAAAVldmVudAkAAS8AAAACBQAAAAJrMAkAAGUAAAACCQABMQAAAAEFAAAAAmswAAAAAAAAAAAFBAAAAAR0eGlkCQEAAAAHZXh0cmFjdAAAAAEJAAQTAAAAAggFAAAAAWQAAAAEZGF0YQkAASwAAAACBQAAAAVldmVudAIAAAADX3R4BAAAAApleGNoYW5nZVR4CQEAAAAHZXh0cmFjdAAAAAEEAAAAByRtYXRjaDEJAAPoAAAAAQkAAlkAAAABBQAAAAR0eGlkAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAABNFeGNoYW5nZVRyYW5zYWN0aW9uBAAAAAFlBQAAAAckbWF0Y2gxBQAAAAFlBQAAAAR1bml0BAAAAAZwcmV2VHMJAAQaAAAAAggFAAAAAnR4AAAABnNlbmRlcgkAASwAAAACBQAAAAVldmVudAIAAAAKX3RpbWVzdGFtcAQAAAAHZXZlbnRUcwkBAAAACXRha2VSaWdodAAAAAIFAAAABWV2ZW50AAAAAAAAAAAKAwMDAwMDAwMDAwMDCQAAAAAAAAIJAAGQAAAAAQgFAAAAAWQAAAAEZGF0YQAAAAAAAAAABQkAAAAAAAACCAkAAZEAAAACCAUAAAABZAAAAARkYXRhAAAAAAAAAAAAAAAAA2tleQkAASwAAAACBQAAAAVldmVudAIAAAAFX3JhdGUHCQAAAAAAAAIICQABkQAAAAIIBQAAAAFkAAAABGRhdGEAAAAAAAAAAAEAAAADa2V5CQABLAAAAAIFAAAABWV2ZW50AgAAAApfdGltZXN0YW1wBwkAAAAAAAACCAkAAZEAAAACCAUAAAABZAAAAARkYXRhAAAAAAAAAAACAAAAA2tleQkAASwAAAACBQAAAAVldmVudAIAAAADX3R4BwkAAAAAAAACCAkAAZEAAAACCAUAAAABZAAAAARkYXRhAAAAAAAAAAADAAAAA2tleQkAASwAAAACBQAAAAVldmVudAIAAAAIX2V2ZW50dHMHCQAAAAAAAAIICQABkQAAAAIIBQAAAAFkAAAABGRhdGEAAAAAAAAAAAQAAAADa2V5CQABLAAAAAIFAAAABWV2ZW50AgAAAAdfaGVpZ2h0BwkAAAAAAAACCAkAAZEAAAACCAUAAAABZAAAAARkYXRhAAAAAAAAAAAAAAAABXZhbHVlCAUAAAAKZXhjaGFuZ2VUeAAAAAVwcmljZQcJAAAAAAAAAggJAAGRAAAAAggFAAAAAWQAAAAEZGF0YQAAAAAAAAAAAQAAAAV2YWx1ZQgFAAAACmV4Y2hhbmdlVHgAAAAJdGltZXN0YW1wBwkAAAAAAAACCAkAAZEAAAACCAUAAAABZAAAAARkYXRhAAAAAAAAAAACAAAABXZhbHVlBQAAAAR0eGlkBwMJAQAAAAEhAAAAAQkBAAAACWlzRGVmaW5lZAAAAAEFAAAABnByZXZUcwYJAABmAAAAAgkBAAAAB2V4dHJhY3QAAAABBQAAAAZwcmV2VHMIBQAAAApleGNoYW5nZVR4AAAACXRpbWVzdGFtcAcJAAAAAAAAAgkAAaQAAAABCQEAAAAHZXh0cmFjdAAAAAEJAAQQAAAAAggFAAAAAWQAAAAEZGF0YQkAASwAAAACBQAAAAVldmVudAIAAAAIX2V2ZW50dHMFAAAAB2V2ZW50VHMHCQAAZwAAAAIIBQAAAApleGNoYW5nZVR4AAAACXRpbWVzdGFtcAkAAGgAAAACCQEAAAAHZXh0cmFjdAAAAAEJAAQQAAAAAggFAAAAAWQAAAAEZGF0YQkAASwAAAACBQAAAAVldmVudAIAAAAIX2V2ZW50dHMAAAAAAAAAA+gHCQAAAAAAAAIICQABkQAAAAIIBQAAAAFkAAAABGRhdGEAAAAAAAAAAAQAAAAFdmFsdWUJAAPpAAAAAQkAAlkAAAABBQAAAAR0eGlkBwkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXls0YZw", "chainId": 84, "height": 680527, "spentComplexity": 0 } View: original | compacted Prev: 9kv45cS7rjYqnvq9q7wPjWPDdfA886F1vAM6Y8iUUAAD Next: none Diff:
OldNewDifferences
1313 })
1414 let prevTs = getInteger(tx.sender, (event + "_timestamp"))
1515 let eventTs = takeRight(event, 10)
16- if (if (if (if (if (if (if (if (if (if ((size(d.data) == 4))
16+ if (if (if (if (if (if (if (if (if (if (if (if ((size(d.data) == 5))
1717 then (d.data[0].key == (event + "_rate"))
1818 else false)
1919 then (d.data[1].key == (event + "_timestamp"))
2121 then (d.data[2].key == (event + "_tx"))
2222 else false)
2323 then (d.data[3].key == (event + "_eventts"))
24+ else false)
25+ then (d.data[4].key == (event + "_height"))
2426 else false)
2527 then (d.data[0].value == exchangeTx.price)
2628 else false)
3537 then (toString(extract(getInteger(d.data, (event + "_eventts")))) == eventTs)
3638 else false)
3739 then (exchangeTx.timestamp >= (extract(getInteger(d.data, (event + "_eventts"))) * 1000))
40+ else false)
41+ then (d.data[4].value == transactionHeightById(fromBase58String(txid)))
3842 else false
3943 case _ =>
4044 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 2 #-}
22 {-# CONTENT_TYPE EXPRESSION #-}
33 match tx {
44 case d: DataTransaction =>
55 let k0 = d.data[0].key
66 let event = take(k0, (size(k0) - 5))
77 let txid = extract(getString(d.data, (event + "_tx")))
88 let exchangeTx = extract( match transactionById(fromBase58String(txid)) {
99 case e: ExchangeTransaction =>
1010 e
1111 case _ =>
1212 unit
1313 })
1414 let prevTs = getInteger(tx.sender, (event + "_timestamp"))
1515 let eventTs = takeRight(event, 10)
16- if (if (if (if (if (if (if (if (if (if ((size(d.data) == 4))
16+ if (if (if (if (if (if (if (if (if (if (if (if ((size(d.data) == 5))
1717 then (d.data[0].key == (event + "_rate"))
1818 else false)
1919 then (d.data[1].key == (event + "_timestamp"))
2020 else false)
2121 then (d.data[2].key == (event + "_tx"))
2222 else false)
2323 then (d.data[3].key == (event + "_eventts"))
24+ else false)
25+ then (d.data[4].key == (event + "_height"))
2426 else false)
2527 then (d.data[0].value == exchangeTx.price)
2628 else false)
2729 then (d.data[1].value == exchangeTx.timestamp)
2830 else false)
2931 then (d.data[2].value == txid)
3032 else false)
3133 then if (!(isDefined(prevTs)))
3234 then true
3335 else (extract(prevTs) > exchangeTx.timestamp)
3436 else false)
3537 then (toString(extract(getInteger(d.data, (event + "_eventts")))) == eventTs)
3638 else false)
3739 then (exchangeTx.timestamp >= (extract(getInteger(d.data, (event + "_eventts"))) * 1000))
40+ else false)
41+ then (d.data[4].value == transactionHeightById(fromBase58String(txid)))
3842 else false
3943 case _ =>
4044 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
4145 }

github/deemru/w8io/169f3d6 
41.00 ms