tx · 3PzDaRvPnUAh6HAYzq4e5jWCXCWgHSfJWogMxSWdjN8r

3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA:  -0.02000000 Waves

2020.04.28 16:47 [974669] smart account 3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA > SELF 0.00000000 Waves

{ "type": 13, "id": "3PzDaRvPnUAh6HAYzq4e5jWCXCWgHSfJWogMxSWdjN8r", "fee": 2000000, "feeAssetId": null, "timestamp": 1588081697913, "version": 1, "sender": "3NBCBtA1F4m6tBir7JX2dUtDNt4ujmHH5NA", "senderPublicKey": "Aj2RvtYHTSnDfcwYBCD5ZEwG3V483xJe2L1n13KPsi3a", "proofs": [ "5A3iPmQ2y6YGGK4HihM5wD3st9U72MzrfH42xYDWnmoJVZz6L69sNFJCQ1kQfdavfjno8ARm17aNwnGBpdeHAcTu" ], "script": "base64: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", "chainId": 84, "height": 974669, "spentComplexity": 0 } View: original | compacted Prev: GQvkN1PUKZTuwakr1NGNf69FKVF6iCXYFpmPdrC5x9EA Next: Gji1d3xyGeik1DHtJYomUuAdGap36SVu7aFYxN7jVYAe Diff:
OldNewDifferences
6868 }
6969
7070
71-func r (b,c) = {
72- let q = h(b, c)
73- let s = q[0]
74- let t = q[1]
75-[take(drop(b, t), s), (t + s)]
76- }
71+func r (b,c) = if ((32 > size(b)))
72+ then throw("decode bytes32 error, data must be at least 32 bytes")
73+ else [take(drop(b, c), 32), (c + 32)]
74+
75+
76+func s (b,c) = if ((64 > size(b)))
77+ then throw("decode bytes64 error, data must be at least 64 bytes")
78+ else [take(drop(b, c), 64), (c + 64)]
79+
80+
81+func t (b,c) = if ((65 > size(b)))
82+ then throw("decode bytes65 error, data must be at least 65 bytes")
83+ else [take(drop(b, c), 65), (c + 65)]
7784
7885
7986 func u (b,c) = {
8087 let q = h(b, c)
81- let s = q[0]
82- let t = q[1]
83-[toUtf8String(take(drop(b, t), s)), (t + s)]
88+ let v = q[0]
89+ let w = q[1]
90+[take(drop(b, w), v), (w + v)]
8491 }
8592
8693
87-@Callable(v)
94+func x (b,c) = {
95+ let q = h(b, c)
96+ let v = q[0]
97+ let w = q[1]
98+[toUtf8String(take(drop(b, w), v)), (w + v)]
99+ }
100+
101+
102+@Callable(y)
88103 func testDecodeInt16 (b) = {
89104 let c = 0
90105 let e = f(b, c)
93108
94109
95110
96-@Callable(v)
111+@Callable(y)
97112 func testDecodeInt64 (b) = {
98113 let c = 0
99- let w = k(b, c)
100- WriteSet([DataEntry("i64", w[0])])
114+ let z = k(b, c)
115+ WriteSet([DataEntry("i64", z[0])])
101116 }
102117
103118
104119
105-@Callable(v)
120+@Callable(y)
106121 func testDecodeString (b) = {
107122 let c = 0
108- let w = u(b, c)
109- WriteSet([DataEntry("string", w[0])])
123+ let z = x(b, c)
124+ WriteSet([DataEntry("string", z[0])])
110125 }
111126
112127
113128
114-@Callable(v)
129+@Callable(y)
115130 func testDecodeBytes (b) = {
116131 let c = 0
117- let w = r(b, c)
118- WriteSet([DataEntry("bytes", w[0])])
132+ let z = u(b, c)
133+ WriteSet([DataEntry("bytes", z[0])])
119134 }
120135
121136
122137
123-@Callable(v)
138+@Callable(y)
139+func testDecodeBytes32 (b) = {
140+ let c = 0
141+ let z = r(b, c)
142+ WriteSet([DataEntry("bytes", z[0])])
143+ }
144+
145+
146+
147+@Callable(y)
124148 func testIntFromBytes (b) = WriteSet([DataEntry("bytesToInt", toInt(b, 0))])
125149
126150
127151
128-@Callable(v)
152+@Callable(y)
129153 func testStringFromBytes (b) = WriteSet([DataEntry("bytesToString", toUtf8String(b))])
130154
131155
132156
133-@Callable(v)
134-func setValidator (x) = if ((v.caller == this))
135- then WriteSet([DataEntry("validator", x)])
157+@Callable(y)
158+func setValidator (A) = if ((y.caller == this))
159+ then WriteSet([DataEntry("validator", A)])
136160 else throw("Only owner can use this function.")
137161
138162
139163
140-@Callable(v)
164+@Callable(y)
141165 func reportData (b) = {
142- let x = getBinary(this, "validator")
143- if ((v.caller.bytes == x))
166+ let A = getBinary(this, "validator")
167+ if ((y.caller.bytes == A))
144168 then WriteSet([DataEntry("data_reported", b)])
145169 else throw("Only validator can use this function.")
146170 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 func a (b,c) = if ((1 > size(b)))
55 then throw("decode u8 error, data must be at least 1 byte")
66 else if ((c > size(b)))
77 then throw("decode u8 error, decoding is finish")
88 else {
99 let d = take(drop(b, c), 1)
1010 let e = toInt((base58'1111111' + d), 0)
1111 if ((128 > e))
1212 then [e, (c + 1)]
1313 else [toInt((base58'Ahg1opVcGW' + d), 0), (c + 1)]
1414 }
1515
1616
1717 func f (b,c) = if ((2 > size(b)))
1818 then throw("decode u16 error, data must be at least 2 bytes")
1919 else if ((c > size(b)))
2020 then throw("decode u16 error, decoding is finish")
2121 else {
2222 let d = drop(b, c)
2323 let e = take(d, 1)
2424 let g = take(drop(d, 1), 1)
2525 if ((a(g, 0)[0] >= 0))
2626 then [toInt(((base58'111111' + g) + e), 0), (c + 2)]
2727 else [toInt(((base58'3CUsUpv9t' + g) + e), 0), (c + 2)]
2828 }
2929
3030
3131 func h (b,c) = if ((4 > size(b)))
3232 then throw("decode u32 error, data must be at least 4 bytes")
3333 else if ((c > size(b)))
3434 then throw("decode u32 error, decoding is finish")
3535 else {
3636 let d = drop(b, c)
3737 let e = take(d, 1)
3838 let g = take(drop(d, 1), 1)
3939 let i = take(drop(d, 2), 1)
4040 let j = take(drop(d, 3), 1)
4141 if ((a(j, 0)[0] >= 0))
4242 then [toInt(((((base58'1111' + j) + i) + g) + e), 0), (c + 4)]
4343 else [toInt(((((base58'7YXq9G' + j) + i) + g) + e), 0), (c + 4)]
4444 }
4545
4646
4747 func k (b,c) = if ((8 > size(b)))
4848 then throw("decode u32 error, data must be at least 8 bytes")
4949 else if ((c > size(b)))
5050 then throw("decode u32 error, decoding is finish")
5151 else {
5252 let d = drop(b, c)
5353 let e = take(d, 1)
5454 let g = take(drop(d, 1), 1)
5555 let i = take(drop(d, 2), 1)
5656 let j = take(drop(d, 3), 1)
5757 let l = take(drop(d, 4), 1)
5858 let m = take(drop(d, 5), 1)
5959 let n = take(drop(d, 6), 1)
6060 let o = take(drop(d, 7), 1)
6161 [toInt((((((((o + n) + m) + l) + j) + i) + g) + e), 0), (c + 8)]
6262 }
6363
6464
6565 func p (b,c) = {
6666 let q = a(b, c)
6767 [(q[0] != 0), q[1]]
6868 }
6969
7070
71-func r (b,c) = {
72- let q = h(b, c)
73- let s = q[0]
74- let t = q[1]
75-[take(drop(b, t), s), (t + s)]
76- }
71+func r (b,c) = if ((32 > size(b)))
72+ then throw("decode bytes32 error, data must be at least 32 bytes")
73+ else [take(drop(b, c), 32), (c + 32)]
74+
75+
76+func s (b,c) = if ((64 > size(b)))
77+ then throw("decode bytes64 error, data must be at least 64 bytes")
78+ else [take(drop(b, c), 64), (c + 64)]
79+
80+
81+func t (b,c) = if ((65 > size(b)))
82+ then throw("decode bytes65 error, data must be at least 65 bytes")
83+ else [take(drop(b, c), 65), (c + 65)]
7784
7885
7986 func u (b,c) = {
8087 let q = h(b, c)
81- let s = q[0]
82- let t = q[1]
83-[toUtf8String(take(drop(b, t), s)), (t + s)]
88+ let v = q[0]
89+ let w = q[1]
90+[take(drop(b, w), v), (w + v)]
8491 }
8592
8693
87-@Callable(v)
94+func x (b,c) = {
95+ let q = h(b, c)
96+ let v = q[0]
97+ let w = q[1]
98+[toUtf8String(take(drop(b, w), v)), (w + v)]
99+ }
100+
101+
102+@Callable(y)
88103 func testDecodeInt16 (b) = {
89104 let c = 0
90105 let e = f(b, c)
91106 WriteSet([DataEntry("i16", e[0])])
92107 }
93108
94109
95110
96-@Callable(v)
111+@Callable(y)
97112 func testDecodeInt64 (b) = {
98113 let c = 0
99- let w = k(b, c)
100- WriteSet([DataEntry("i64", w[0])])
114+ let z = k(b, c)
115+ WriteSet([DataEntry("i64", z[0])])
101116 }
102117
103118
104119
105-@Callable(v)
120+@Callable(y)
106121 func testDecodeString (b) = {
107122 let c = 0
108- let w = u(b, c)
109- WriteSet([DataEntry("string", w[0])])
123+ let z = x(b, c)
124+ WriteSet([DataEntry("string", z[0])])
110125 }
111126
112127
113128
114-@Callable(v)
129+@Callable(y)
115130 func testDecodeBytes (b) = {
116131 let c = 0
117- let w = r(b, c)
118- WriteSet([DataEntry("bytes", w[0])])
132+ let z = u(b, c)
133+ WriteSet([DataEntry("bytes", z[0])])
119134 }
120135
121136
122137
123-@Callable(v)
138+@Callable(y)
139+func testDecodeBytes32 (b) = {
140+ let c = 0
141+ let z = r(b, c)
142+ WriteSet([DataEntry("bytes", z[0])])
143+ }
144+
145+
146+
147+@Callable(y)
124148 func testIntFromBytes (b) = WriteSet([DataEntry("bytesToInt", toInt(b, 0))])
125149
126150
127151
128-@Callable(v)
152+@Callable(y)
129153 func testStringFromBytes (b) = WriteSet([DataEntry("bytesToString", toUtf8String(b))])
130154
131155
132156
133-@Callable(v)
134-func setValidator (x) = if ((v.caller == this))
135- then WriteSet([DataEntry("validator", x)])
157+@Callable(y)
158+func setValidator (A) = if ((y.caller == this))
159+ then WriteSet([DataEntry("validator", A)])
136160 else throw("Only owner can use this function.")
137161
138162
139163
140-@Callable(v)
164+@Callable(y)
141165 func reportData (b) = {
142- let x = getBinary(this, "validator")
143- if ((v.caller.bytes == x))
166+ let A = getBinary(this, "validator")
167+ if ((y.caller.bytes == A))
144168 then WriteSet([DataEntry("data_reported", b)])
145169 else throw("Only validator can use this function.")
146170 }
147171
148172

github/deemru/w8io/873ac7e 
42.82 ms