tx · JBub4wQTFdbT7a4QGmzRsshvHzc3ajZJ7DVCRxsbThUH

3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA:  -0.02000000 Waves

2020.04.28 12:08 [974383] smart account 3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA > SELF 0.00000000 Waves

{ "type": 13, "id": "JBub4wQTFdbT7a4QGmzRsshvHzc3ajZJ7DVCRxsbThUH", "fee": 2000000, "feeAssetId": null, "timestamp": 1588064989924, "version": 1, "sender": "3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA", "senderPublicKey": "Aj2RvtYHTSnDfcwYBCD5ZEwG3V483xJe2L1n13KPsi3a", "proofs": [ "4voCocmTcF5TQ5nSkaWRtNx8tsRMUVTJhXSSxJ3dD985kwSQKdxTpmfAgpgfU7KXzGkdF8iEUyUQyL7NdPQvHGUU" ], "script": "base64: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", "chainId": 84, "height": 974383, "spentComplexity": 0 } View: original | compacted Prev: 63gYWzzLdUq6DdUwP5vi6eR7pfabfBZCXwxLuzQk3LV9 Next: HgL6UbkM4vQu8DZwttCYXJ8BTyeYWQJXq5rtwdAykSeo Diff:
OldNewDifferences
3030
3131
3232 @Callable(contextObj)
33+func testDecodeU64 (data) = {
34+ let offset = 0
35+ let decoded = decodeU64(data, offset)
36+ WriteSet([DataEntry("u64", decoded[0])])
37+ }
38+
39+
40+
41+@Callable(contextObj)
3342 func testIntFromBytes (data) = WriteSet([DataEntry("bytesToInt", toInt(data, 0))])
3443
3544
3645
3746 @Callable(contextObj)
3847 func testStringFromBytes (data) = WriteSet([DataEntry("bytesToString", toUtf8String(data))])
39-
40-
41-
42-@Callable(contextObj)
43-func testDecodeU32 (data) = {
44- let offset = 0
45- let decoded = decodeU32(data, offset)
46- WriteSet([DataEntry("u32", decoded[0])])
47- }
4848
4949
5050
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func decodeU8 (data,offset) = if ((size(data) == 0))
55 then throw("decode u8 error, data is an empty bytes")
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 decodeU16 (data,offset) = {
1212 let decoded1 = decodeU8(data, offset)
1313 let decoded2 = decodeU8(data, decoded1[1])
1414 [(decoded1[0] + (decoded2[0] * 256)), decoded2[1]]
1515 }
1616
1717
1818 func decodeU32 (data,offset) = {
1919 let decoded1 = decodeU16(data, offset)
2020 let decoded2 = decodeU16(data, decoded1[1])
2121 [(decoded1[0] + ((decoded2[0] * 256) * 256)), decoded2[1]]
2222 }
2323
2424
2525 func decodeU64 (data,offset) = {
2626 let decoded1 = decodeU32(data, offset)
2727 let decoded2 = decodeU32(data, decoded1[1])
2828 [(decoded1[0] + (((decoded2[0] * 256) * 256) * 256)), decoded2[1]]
2929 }
3030
3131
3232 @Callable(contextObj)
33+func testDecodeU64 (data) = {
34+ let offset = 0
35+ let decoded = decodeU64(data, offset)
36+ WriteSet([DataEntry("u64", decoded[0])])
37+ }
38+
39+
40+
41+@Callable(contextObj)
3342 func testIntFromBytes (data) = WriteSet([DataEntry("bytesToInt", toInt(data, 0))])
3443
3544
3645
3746 @Callable(contextObj)
3847 func testStringFromBytes (data) = WriteSet([DataEntry("bytesToString", toUtf8String(data))])
39-
40-
41-
42-@Callable(contextObj)
43-func testDecodeU32 (data) = {
44- let offset = 0
45- let decoded = decodeU32(data, offset)
46- WriteSet([DataEntry("u32", decoded[0])])
47- }
4848
4949
5050
5151 @Callable(contextObj)
5252 func setValidator (validator) = if ((contextObj.caller == this))
5353 then WriteSet([DataEntry("validator", validator)])
5454 else throw("Only owner can use this function.")
5555
5656
5757
5858 @Callable(contextObj)
5959 func reportData (data) = {
6060 let validator = getBinary(this, "validator")
6161 if ((contextObj.caller.bytes == validator))
6262 then WriteSet([DataEntry("data_reported", data)])
6363 else throw("Only validator can use this function.")
6464 }
6565
6666

github/deemru/w8io/3ef1775 
32.88 ms