tx · H5uLzTTDUxkXBL6Nypvgj7WtrMeCg4mnEkScED6nRb4k

3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA:  -0.02000000 Waves

2020.04.28 15:54 [974613] smart account 3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA > SELF 0.00000000 Waves

{ "type": 13, "id": "H5uLzTTDUxkXBL6Nypvgj7WtrMeCg4mnEkScED6nRb4k", "fee": 2000000, "feeAssetId": null, "timestamp": 1588078444160, "version": 1, "sender": "3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA", "senderPublicKey": "Aj2RvtYHTSnDfcwYBCD5ZEwG3V483xJe2L1n13KPsi3a", "proofs": [ "66XSMxjVKqitpzQFApF7CfsSDgN2xNZTwSDSQNXdbR4thTh6UEF5BhmemomBf2DfBHUWrjA3QEWTkN8WSP6LV4qG" ], "script": "base64:AAIDAAAAAAAAACAIARIDCgECEgMKAQISAwoBAhIDCgECEgMKAQISAwoBCAAAAAcBAAAACmRlY29kZUludDgAAAACAAAABGRhdGEAAAAGb2Zmc2V0AwkAAGYAAAACAAAAAAAAAAABCQAAyAAAAAEFAAAABGRhdGEJAAACAAAAAQIAAAAtZGVjb2RlIHU4IGVycm9yLCBkYXRhIG11c3QgYmUgYXQgbGVhc3QgMSBieXRlAwkAAGYAAAACBQAAAAZvZmZzZXQJAADIAAAAAQUAAAAEZGF0YQkAAAIAAAABAgAAACNkZWNvZGUgdTggZXJyb3IsIGRlY29kaW5nIGlzIGZpbmlzaAkABEwAAAACCQAEsgAAAAIJAADLAAAAAgEAAAAHAAAAAAAAAAkAAMkAAAACCQAAygAAAAIFAAAABGRhdGEFAAAABm9mZnNldAAAAAAAAAAAAQAAAAAAAAAAAAkABEwAAAACCQAAZAAAAAIFAAAABm9mZnNldAAAAAAAAAAAAQUAAAADbmlsAQAAAAtkZWNvZGVJbnQxNgAAAAIAAAAEZGF0YQAAAAZvZmZzZXQDCQAAZgAAAAIAAAAAAAAAAAIJAADIAAAAAQUAAAAEZGF0YQkAAAIAAAABAgAAAC9kZWNvZGUgdTE2IGVycm9yLCBkYXRhIG11c3QgYmUgYXQgbGVhc3QgMiBieXRlcwMJAABmAAAAAgUAAAAGb2Zmc2V0CQAAyAAAAAEFAAAABGRhdGEJAAACAAAAAQIAAAAkZGVjb2RlIHUxNiBlcnJvciwgZGVjb2RpbmcgaXMgZmluaXNoCQAETAAAAAIJAASyAAAAAgkAAMsAAAACAQAAAAYAAAAAAAAJAADJAAAAAgkAAMoAAAACBQAAAARkYXRhBQAAAAZvZmZzZXQAAAAAAAAAAAIAAAAAAAAAAAAJAARMAAAAAgkAAGQAAAACBQAAAAZvZmZzZXQAAAAAAAAAAAIFAAAAA25pbAEAAAALZGVjb2RlSW50MzIAAAACAAAABGRhdGEAAAAGb2Zmc2V0AwkAAGYAAAACAAAAAAAAAAAECQAAyAAAAAEFAAAABGRhdGEJAAACAAAAAQIAAAAvZGVjb2RlIHUzMiBlcnJvciwgZGF0YSBtdXN0IGJlIGF0IGxlYXN0IDQgYnl0ZXMDCQAAZgAAAAIFAAAABm9mZnNldAkAAMgAAAABBQAAAARkYXRhCQAAAgAAAAECAAAAJGRlY29kZSB1MzIgZXJyb3IsIGRlY29kaW5nIGlzIGZpbmlzaAkABEwAAAACCQAEsgAAAAIJAADLAAAAAgEAAAAEAAAAAAkAAMkAAAACCQAAygAAAAIFAAAABGRhdGEFAAAABm9mZnNldAAAAAAAAAAABAAAAAAAAAAAAAkABEwAAAACCQAAZAAAAAIFAAAABm9mZnNldAAAAAAAAAAABAUAAAADbmlsAQAAAAtkZWNvZGVJbnQ2NAAAAAIAAAAEZGF0YQAAAAZvZmZzZXQDCQAAZgAAAAIAAAAAAAAAAAgJAADIAAAAAQUAAAAEZGF0YQkAAAIAAAABAgAAAC9kZWNvZGUgdTMyIGVycm9yLCBkYXRhIG11c3QgYmUgYXQgbGVhc3QgOCBieXRlcwMJAABmAAAAAgUAAAAGb2Zmc2V0CQAAyAAAAAEFAAAABGRhdGEJAAACAAAAAQIAAAAkZGVjb2RlIHUzMiBlcnJvciwgZGVjb2RpbmcgaXMgZmluaXNoBAAAAAJ4MAkAAMoAAAACBQAAAARkYXRhBQAAAAZvZmZzZXQEAAAAAngxCQAAyQAAAAIFAAAAAngwAAAAAAAAAAABBAAAAAJ4MgkAAMkAAAACCQAAygAAAAIFAAAAAngwAAAAAAAAAAABAAAAAAAAAAABBAAAAAJ4MwkAAMkAAAACCQAAygAAAAIFAAAAAngwAAAAAAAAAAACAAAAAAAAAAABBAAAAAJ4NAkAAMkAAAACCQAAygAAAAIFAAAAAngwAAAAAAAAAAADAAAAAAAAAAABBAAAAAJ4NQkAAMkAAAACCQAAygAAAAIFAAAAAngwAAAAAAAAAAAEAAAAAAAAAAABBAAAAAJ4NgkAAMkAAAACCQAAygAAAAIFAAAAAngwAAAAAAAAAAAFAAAAAAAAAAABBAAAAAJ4NwkAAMkAAAACCQAAygAAAAIFAAAAAngwAAAAAAAAAAAGAAAAAAAAAAABBAAAAAJ4OAkAAMkAAAACCQAAygAAAAIFAAAAAngwAAAAAAAAAAAHAAAAAAAAAAABCQAETAAAAAIJAASyAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACCQAAywAAAAIJAADLAAAAAgkAAMsAAAACBQAAAAJ4OAUAAAACeDcFAAAAAng2BQAAAAJ4NQUAAAACeDQFAAAAAngzBQAAAAJ4MgUAAAACeDEAAAAAAAAAAAAJAARMAAAAAgkAAGQAAAACBQAAAAZvZmZzZXQAAAAAAAAAAAgFAAAAA25pbAEAAAAKZGVjb2RlQm9vbAAAAAIAAAAEZGF0YQAAAAZvZmZzZXQEAAAACGRlY29kZWQxCQEAAAAKZGVjb2RlSW50OAAAAAIFAAAABGRhdGEFAAAABm9mZnNldAkABEwAAAACCQEAAAACIT0AAAACCQABkQAAAAIFAAAACGRlY29kZWQxAAAAAAAAAAAAAAAAAAAAAAAACQAETAAAAAIJAAGRAAAAAgUAAAAIZGVjb2RlZDEAAAAAAAAAAAEFAAAAA25pbAEAAAALZGVjb2RlQnl0ZXMAAAACAAAABGRhdGEAAAAGb2Zmc2V0BAAAAAhkZWNvZGVkMQkBAAAAC2RlY29kZUludDMyAAAAAgUAAAAEZGF0YQUAAAAGb2Zmc2V0BAAAAAlieXRlc1NpemUJAAGRAAAAAgUAAAAIZGVjb2RlZDEAAAAAAAAAAAAEAAAACm5leHRPZmZzZXQJAAGRAAAAAgUAAAAIZGVjb2RlZDEAAAAAAAAAAAEJAARMAAAAAgkAAMkAAAACCQAAygAAAAIFAAAABGRhdGEFAAAACm5leHRPZmZzZXQFAAAACWJ5dGVzU2l6ZQkABEwAAAACCQAAZAAAAAIFAAAACm5leHRPZmZzZXQFAAAACWJ5dGVzU2l6ZQUAAAADbmlsAQAAAAxkZWNvZGVTdHJpbmcAAAACAAAABGRhdGEAAAAGb2Zmc2V0BAAAAAhkZWNvZGVkMQkBAAAAC2RlY29kZUludDMyAAAAAgUAAAAEZGF0YQUAAAAGb2Zmc2V0BAAAAAlieXRlc1NpemUJAAGRAAAAAgUAAAAIZGVjb2RlZDEAAAAAAAAAAAAEAAAACm5leHRPZmZzZXQJAAGRAAAAAgUAAAAIZGVjb2RlZDEAAAAAAAAAAAEJAARMAAAAAgkABLAAAAABCQAAyQAAAAIJAADKAAAAAgUAAAAEZGF0YQUAAAAKbmV4dE9mZnNldAUAAAAJYnl0ZXNTaXplCQAETAAAAAIJAABkAAAAAgUAAAAKbmV4dE9mZnNldAUAAAAJYnl0ZXNTaXplBQAAAANuaWwAAAAGAAAACmNvbnRleHRPYmoBAAAADnRlc3REZWNvZGVJbnQ4AAAAAQAAAARkYXRhBAAAAAZvZmZzZXQAAAAAAAAAAAAEAAAAAngxCQEAAAAKZGVjb2RlSW50OAAAAAIFAAAABGRhdGEFAAAABm9mZnNldAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAAGc3RyaW5nCQABkQAAAAIFAAAAAngxAAAAAAAAAAAABQAAAANuaWwAAAAKY29udGV4dE9iagEAAAAPdGVzdERlY29kZUludDY0AAAAAQAAAARkYXRhBAAAAAZvZmZzZXQAAAAAAAAAAAAEAAAAB2RlY29kZWQJAQAAAAtkZWNvZGVJbnQ2NAAAAAIFAAAABGRhdGEFAAAABm9mZnNldAkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgIAAAADdTY0CQABkQAAAAIFAAAAB2RlY29kZWQAAAAAAAAAAAAFAAAAA25pbAAAAApjb250ZXh0T2JqAQAAABB0ZXN0SW50RnJvbUJ5dGVzAAAAAQAAAARkYXRhCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAApieXRlc1RvSW50CQAEsgAAAAIFAAAABGRhdGEAAAAAAAAAAAAFAAAAA25pbAAAAApjb250ZXh0T2JqAQAAABN0ZXN0U3RyaW5nRnJvbUJ5dGVzAAAAAQAAAARkYXRhCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAA1ieXRlc1RvU3RyaW5nCQAEsAAAAAEFAAAABGRhdGEFAAAAA25pbAAAAApjb250ZXh0T2JqAQAAAAxzZXRWYWxpZGF0b3IAAAABAAAACXZhbGlkYXRvcgMJAAAAAAAAAggFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyBQAAAAR0aGlzCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACAgAAAAl2YWxpZGF0b3IFAAAACXZhbGlkYXRvcgUAAAADbmlsCQAAAgAAAAECAAAAIU9ubHkgb3duZXIgY2FuIHVzZSB0aGlzIGZ1bmN0aW9uLgAAAApjb250ZXh0T2JqAQAAAApyZXBvcnREYXRhAAAAAQAAAARkYXRhBAAAAAl2YWxpZGF0b3IJAAQcAAAAAgUAAAAEdGhpcwIAAAAJdmFsaWRhdG9yAwkAAAAAAAACCAgFAAAACmNvbnRleHRPYmoAAAAGY2FsbGVyAAAABWJ5dGVzBQAAAAl2YWxpZGF0b3IJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAICAAAADWRhdGFfcmVwb3J0ZWQFAAAABGRhdGEFAAAAA25pbAkAAAIAAAABAgAAACVPbmx5IHZhbGlkYXRvciBjYW4gdXNlIHRoaXMgZnVuY3Rpb24uAAAAAJfPK64=", "chainId": 84, "height": 974613, "spentComplexity": 0 } View: original | compacted Prev: 2FRNtMB5YtK74yqrXGCDE5PPZjGhbbTCR9yEQWwFkmHA Next: 2pCrA3LCa65toG57GHazGNj5XyfZPcb6NomzLYdwB2BM Diff:
OldNewDifferences
2626 then throw("decode u32 error, data must be at least 8 bytes")
2727 else if ((offset > size(data)))
2828 then throw("decode u32 error, decoding is finish")
29- else [toInt(take(drop(data, offset), 8), 0), (offset + 8)]
29+ else {
30+ let x0 = drop(data, offset)
31+ let x1 = take(x0, 1)
32+ let x2 = take(drop(x0, 1), 1)
33+ let x3 = take(drop(x0, 2), 1)
34+ let x4 = take(drop(x0, 3), 1)
35+ let x5 = take(drop(x0, 4), 1)
36+ let x6 = take(drop(x0, 5), 1)
37+ let x7 = take(drop(x0, 6), 1)
38+ let x8 = take(drop(x0, 7), 1)
39+[toInt((((((((x8 + x7) + x6) + x5) + x4) + x3) + x2) + x1), 0), (offset + 8)]
40+ }
3041
3142
3243 func decodeBool (data,offset) = {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func decodeInt8 (data,offset) = if ((1 > size(data)))
55 then throw("decode u8 error, data must be at least 1 byte")
66 else if ((offset > size(data)))
77 then throw("decode u8 error, decoding is finish")
88 else [toInt((base58'1111111' + take(drop(data, offset), 1)), 0), (offset + 1)]
99
1010
1111 func decodeInt16 (data,offset) = if ((2 > size(data)))
1212 then throw("decode u16 error, data must be at least 2 bytes")
1313 else if ((offset > size(data)))
1414 then throw("decode u16 error, decoding is finish")
1515 else [toInt((base58'111111' + take(drop(data, offset), 2)), 0), (offset + 2)]
1616
1717
1818 func decodeInt32 (data,offset) = if ((4 > size(data)))
1919 then throw("decode u32 error, data must be at least 4 bytes")
2020 else if ((offset > size(data)))
2121 then throw("decode u32 error, decoding is finish")
2222 else [toInt((base58'1111' + take(drop(data, offset), 4)), 0), (offset + 4)]
2323
2424
2525 func decodeInt64 (data,offset) = if ((8 > size(data)))
2626 then throw("decode u32 error, data must be at least 8 bytes")
2727 else if ((offset > size(data)))
2828 then throw("decode u32 error, decoding is finish")
29- else [toInt(take(drop(data, offset), 8), 0), (offset + 8)]
29+ else {
30+ let x0 = drop(data, offset)
31+ let x1 = take(x0, 1)
32+ let x2 = take(drop(x0, 1), 1)
33+ let x3 = take(drop(x0, 2), 1)
34+ let x4 = take(drop(x0, 3), 1)
35+ let x5 = take(drop(x0, 4), 1)
36+ let x6 = take(drop(x0, 5), 1)
37+ let x7 = take(drop(x0, 6), 1)
38+ let x8 = take(drop(x0, 7), 1)
39+[toInt((((((((x8 + x7) + x6) + x5) + x4) + x3) + x2) + x1), 0), (offset + 8)]
40+ }
3041
3142
3243 func decodeBool (data,offset) = {
3344 let decoded1 = decodeInt8(data, offset)
3445 [(decoded1[0] != 0), decoded1[1]]
3546 }
3647
3748
3849 func decodeBytes (data,offset) = {
3950 let decoded1 = decodeInt32(data, offset)
4051 let bytesSize = decoded1[0]
4152 let nextOffset = decoded1[1]
4253 [take(drop(data, nextOffset), bytesSize), (nextOffset + bytesSize)]
4354 }
4455
4556
4657 func decodeString (data,offset) = {
4758 let decoded1 = decodeInt32(data, offset)
4859 let bytesSize = decoded1[0]
4960 let nextOffset = decoded1[1]
5061 [toUtf8String(take(drop(data, nextOffset), bytesSize)), (nextOffset + bytesSize)]
5162 }
5263
5364
5465 @Callable(contextObj)
5566 func testDecodeInt8 (data) = {
5667 let offset = 0
5768 let x1 = decodeInt8(data, offset)
5869 WriteSet([DataEntry("string", x1[0])])
5970 }
6071
6172
6273
6374 @Callable(contextObj)
6475 func testDecodeInt64 (data) = {
6576 let offset = 0
6677 let decoded = decodeInt64(data, offset)
6778 WriteSet([DataEntry("u64", decoded[0])])
6879 }
6980
7081
7182
7283 @Callable(contextObj)
7384 func testIntFromBytes (data) = WriteSet([DataEntry("bytesToInt", toInt(data, 0))])
7485
7586
7687
7788 @Callable(contextObj)
7889 func testStringFromBytes (data) = WriteSet([DataEntry("bytesToString", toUtf8String(data))])
7990
8091
8192
8293 @Callable(contextObj)
8394 func setValidator (validator) = if ((contextObj.caller == this))
8495 then WriteSet([DataEntry("validator", validator)])
8596 else throw("Only owner can use this function.")
8697
8798
8899
89100 @Callable(contextObj)
90101 func reportData (data) = {
91102 let validator = getBinary(this, "validator")
92103 if ((contextObj.caller.bytes == validator))
93104 then WriteSet([DataEntry("data_reported", data)])
94105 else throw("Only validator can use this function.")
95106 }
96107
97108

github/deemru/w8io/3ef1775 
36.60 ms