tx · HLMfH15EoSgZAg8u9FMoRLKuJRgGZc1WmQsyM5RBsC2a

3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA:  -0.02000000 Waves

2020.04.28 16:28 [974652] smart account 3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA > SELF 0.00000000 Waves

{ "type": 13, "id": "HLMfH15EoSgZAg8u9FMoRLKuJRgGZc1WmQsyM5RBsC2a", "fee": 2000000, "feeAssetId": null, "timestamp": 1588080623744, "version": 1, "sender": "3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA", "senderPublicKey": "Aj2RvtYHTSnDfcwYBCD5ZEwG3V483xJe2L1n13KPsi3a", "proofs": [ "5QH7ALZasV9H5t1fCs8fjvcWMBzX6iqceMKbnfNnUumoG8Ry7zSRrPyjagn6s9Uw14jkooy8MFbNecDQ6PHdx5H3" ], "script": "base64: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", "chainId": 84, "height": 974652, "spentComplexity": 0 } View: original | compacted Prev: 6WHyDnntKSPBMahdsqP54daWMwwSyHM7MPuhQYk1ZELn Next: Bjp3jDvvFe2qrwKpCYe5CA2b7oeiUFfXRpnpar4GmFAZ Diff:
OldNewDifferences
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")
8- else [toInt((base58'1111111' + take(drop(data, offset), 1)), 0), (offset + 1)]
8+ else {
9+ let x0 = take(drop(data, offset), 1)
10+ let x1 = toInt((base58'1111111' + x0), 0)
11+ if ((128 > x1))
12+ then [x1, (offset + 1)]
13+ else [toInt((base58'Ahg1opVcGW' + x0), 0), (offset + 1)]
14+ }
915
1016
1117 func decodeInt16 (data,offset) = if ((2 > size(data)))
1622 let x0 = drop(data, offset)
1723 let x1 = take(x0, 1)
1824 let x2 = take(drop(x0, 1), 1)
19-[toInt(((base58'111111' + x2) + x1), 0), (offset + 2)]
25+ if ((decodeInt8(x2, 0)[0] >= 0))
26+ then [toInt(((base58'111111' + x2) + x1), 0), (offset + 2)]
27+ else [toInt(((base58'3CUsUpv9t' + x2) + x1), 0), (offset + 2)]
2028 }
2129
2230
3038 let x2 = take(drop(x0, 1), 1)
3139 let x3 = take(drop(x0, 2), 1)
3240 let x4 = take(drop(x0, 3), 1)
33-[toInt(((((base58'1111' + x4) + x3) + x2) + x1), 0), (offset + 4)]
41+ if ((decodeInt8(x4, 0)[0] >= 0))
42+ then [toInt(((((base58'1111' + x4) + x3) + x2) + x1), 0), (offset + 4)]
43+ else [toInt(((((base58'7YXq9G' + x4) + x3) + x2) + x1), 0), (offset + 4)]
3444 }
3545
3646
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")
8- else [toInt((base58'1111111' + take(drop(data, offset), 1)), 0), (offset + 1)]
8+ else {
9+ let x0 = take(drop(data, offset), 1)
10+ let x1 = toInt((base58'1111111' + x0), 0)
11+ if ((128 > x1))
12+ then [x1, (offset + 1)]
13+ else [toInt((base58'Ahg1opVcGW' + x0), 0), (offset + 1)]
14+ }
915
1016
1117 func decodeInt16 (data,offset) = if ((2 > size(data)))
1218 then throw("decode u16 error, data must be at least 2 bytes")
1319 else if ((offset > size(data)))
1420 then throw("decode u16 error, decoding is finish")
1521 else {
1622 let x0 = drop(data, offset)
1723 let x1 = take(x0, 1)
1824 let x2 = take(drop(x0, 1), 1)
19-[toInt(((base58'111111' + x2) + x1), 0), (offset + 2)]
25+ if ((decodeInt8(x2, 0)[0] >= 0))
26+ then [toInt(((base58'111111' + x2) + x1), 0), (offset + 2)]
27+ else [toInt(((base58'3CUsUpv9t' + x2) + x1), 0), (offset + 2)]
2028 }
2129
2230
2331 func decodeInt32 (data,offset) = if ((4 > size(data)))
2432 then throw("decode u32 error, data must be at least 4 bytes")
2533 else if ((offset > size(data)))
2634 then throw("decode u32 error, decoding is finish")
2735 else {
2836 let x0 = drop(data, offset)
2937 let x1 = take(x0, 1)
3038 let x2 = take(drop(x0, 1), 1)
3139 let x3 = take(drop(x0, 2), 1)
3240 let x4 = take(drop(x0, 3), 1)
33-[toInt(((((base58'1111' + x4) + x3) + x2) + x1), 0), (offset + 4)]
41+ if ((decodeInt8(x4, 0)[0] >= 0))
42+ then [toInt(((((base58'1111' + x4) + x3) + x2) + x1), 0), (offset + 4)]
43+ else [toInt(((((base58'7YXq9G' + x4) + x3) + x2) + x1), 0), (offset + 4)]
3444 }
3545
3646
3747 func decodeInt64 (data,offset) = if ((8 > size(data)))
3848 then throw("decode u32 error, data must be at least 8 bytes")
3949 else if ((offset > size(data)))
4050 then throw("decode u32 error, decoding is finish")
4151 else {
4252 let x0 = drop(data, offset)
4353 let x1 = take(x0, 1)
4454 let x2 = take(drop(x0, 1), 1)
4555 let x3 = take(drop(x0, 2), 1)
4656 let x4 = take(drop(x0, 3), 1)
4757 let x5 = take(drop(x0, 4), 1)
4858 let x6 = take(drop(x0, 5), 1)
4959 let x7 = take(drop(x0, 6), 1)
5060 let x8 = take(drop(x0, 7), 1)
5161 [toInt((((((((x8 + x7) + x6) + x5) + x4) + x3) + x2) + x1), 0), (offset + 8)]
5262 }
5363
5464
5565 func decodeBool (data,offset) = {
5666 let decoded1 = decodeInt8(data, offset)
5767 [(decoded1[0] != 0), decoded1[1]]
5868 }
5969
6070
6171 func decodeBytes (data,offset) = {
6272 let decoded1 = decodeInt32(data, offset)
6373 let bytesSize = decoded1[0]
6474 let nextOffset = decoded1[1]
6575 [take(drop(data, nextOffset), bytesSize), (nextOffset + bytesSize)]
6676 }
6777
6878
6979 func decodeString (data,offset) = {
7080 let decoded1 = decodeInt32(data, offset)
7181 let bytesSize = decoded1[0]
7282 let nextOffset = decoded1[1]
7383 [toUtf8String(take(drop(data, nextOffset), bytesSize)), (nextOffset + bytesSize)]
7484 }
7585
7686
7787 @Callable(contextObj)
7888 func testDecodeInt32 (data) = {
7989 let offset = 0
8090 let x1 = decodeInt32(data, offset)
8191 WriteSet([DataEntry("i32", x1[0])])
8292 }
8393
8494
8595
8696 @Callable(contextObj)
8797 func testDecodeInt64 (data) = {
8898 let offset = 0
8999 let decoded = decodeInt64(data, offset)
90100 WriteSet([DataEntry("i64", decoded[0])])
91101 }
92102
93103
94104
95105 @Callable(contextObj)
96106 func testDecodeString (data) = {
97107 let offset = 0
98108 let decoded = decodeString(data, offset)
99109 WriteSet([DataEntry("string", decoded[0])])
100110 }
101111
102112
103113
104114 @Callable(contextObj)
105115 func testIntFromBytes (data) = WriteSet([DataEntry("bytesToInt", toInt(data, 0))])
106116
107117
108118
109119 @Callable(contextObj)
110120 func testStringFromBytes (data) = WriteSet([DataEntry("bytesToString", toUtf8String(data))])
111121
112122
113123
114124 @Callable(contextObj)
115125 func setValidator (validator) = if ((contextObj.caller == this))
116126 then WriteSet([DataEntry("validator", validator)])
117127 else throw("Only owner can use this function.")
118128
119129
120130
121131 @Callable(contextObj)
122132 func reportData (data) = {
123133 let validator = getBinary(this, "validator")
124134 if ((contextObj.caller.bytes == validator))
125135 then WriteSet([DataEntry("data_reported", data)])
126136 else throw("Only validator can use this function.")
127137 }
128138
129139

github/deemru/w8io/3ef1775 
37.03 ms