tx · FJ4Stj6Ubm3XjLi9o2o4Ge2Qg6dYMjvT9HkmSduEruYt

3N4gGXLoQLDL8J6rHho3CK714TWiAw3ahi4:  -0.01400000 Waves

2020.09.10 22:34 [1171650] smart account 3N4gGXLoQLDL8J6rHho3CK714TWiAw3ahi4 > SELF 0.00000000 Waves

{ "type": 13, "id": "FJ4Stj6Ubm3XjLi9o2o4Ge2Qg6dYMjvT9HkmSduEruYt", "fee": 1400000, "feeAssetId": null, "timestamp": 1599766535089, "version": 1, "sender": "3N4gGXLoQLDL8J6rHho3CK714TWiAw3ahi4", "senderPublicKey": "2G2SB6hLj6PxUgshtzMt5QLV3XzLbQNhvXk5f6QTkTZy", "proofs": [ "4DaV5Ur5wZHR3iTFADiPg3fqSxxvv9wo7qpyoEBGgNXBgQA66wb7w3F5gFXUDwZxQYDB4xdEEcQL6p8jKFFAsfqh" ], "script": "base64:AAIDAAAAAAAAAA8IARIECgICCBIFCgMICAEAAAAfAAAAAAVXQVZFUwIAAAAFV0FWRVMAAAAAB0ludFR5cGUAAAAAAAAAAAAAAAAAClN0cmluZ1R5cGUAAAAAAAAAAAEAAAAACUJ5dGVzVHlwZQAAAAAAAAAAAgEAAAAOZ2V0TnVtYmVyQnlLZXkAAAABAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABdgUAAAAHJG1hdGNoMAUAAAABdgAAAAAAAAAAAAEAAAANZ2V0Qnl0ZXNCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHAAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAKQnl0ZVZlY3RvcgQAAAABdgUAAAAHJG1hdGNoMAUAAAABdgEAAAAD0AAAAQAAAA5nZXRTdHJpbmdCeUtleQAAAAEAAAADa2V5BAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABHRoaXMFAAAAA2tleQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAF2BQAAAAckbWF0Y2gwBQAAAAF2AgAAAAABAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIAAAAHYWRkcmVzcwAAAANrZXkEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAAHYWRkcmVzcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAAZTdHJpbmcEAAAAAXYFAAAAByRtYXRjaDAFAAAAAXYCAAAAAAEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgAAAAdhZGRyZXNzAAAAA2tleQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAdhZGRyZXNzBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABdgUAAAAHJG1hdGNoMAUAAAABdgAAAAAAAAAAAAAAAAAKT3JhY2xlc0tleQIAAAAHb3JhY2xlcwAAAAAUU3Vic2NyaWJlckFkZHJlc3NLZXkCAAAAEnN1YnNjcmliZXJfYWRkcmVzcwAAAAAHVHlwZUtleQIAAAAEdHlwZQAAAAASR3Jhdml0eUNvbnRyYWN0S2V5AgAAABBncmF2aXR5X2NvbnRyYWN0AAAAABFCZnRDb2VmZmljaWVudEtleQIAAAAPYmZ0X2NvZWZmaWNpZW50AAAAAA1MYXN0SGVpZ2h0S2V5AgAAAAtsYXN0X2hlaWdodAAAAAAMTGFzdFJvdW5kS2V5AgAAAApsYXN0X3JvdW5kAAAAAA5MYXN0UHVsc2VJZEtleQIAAAANbGFzdF9wdWxzZV9pZAEAAAAOZ2V0SGFzaERhdGFLZXkAAAABAAAAB3B1bHNlSWQJAAEsAAAAAgIAAAAKZGF0YV9oYXNoXwkAAaQAAAABBQAAAAdwdWxzZUlkAQAAABNnZXRIZWlnaHRCeVB1bHNlS2V5AAAAAQAAAAdwdWxzZUlkCQABLAAAAAICAAAAB2hlaWdodF8JAAGkAAAAAQUAAAAHcHVsc2VJZAEAAAAKQ29uc3Vsc0tleQAAAAEAAAAFcm91bmQJAAEsAAAAAgIAAAAIY29uc3Vsc18JAAGkAAAAAQUAAAAFcm91bmQAAAAAB29yYWNsZXMJAAS1AAAAAgkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAAKT3JhY2xlc0tleQIAAAABLAAAAAAOYmZ0Q29lZmZpY2llbnQJAQAAAA5nZXROdW1iZXJCeUtleQAAAAEFAAAAEUJmdENvZWZmaWNpZW50S2V5AAAAAA9ncmFjaXR5Q29udHJhY3QJAQAAABxAZXh0clVzZXIoYWRkcmVzc0Zyb21TdHJpbmcpAAAAAQkBAAAADmdldFN0cmluZ0J5S2V5AAAAAQUAAAASR3Jhdml0eUNvbnRyYWN0S2V5AAAAABBsYXN0R3Jhdml0eVJvdW5kCQEAAAAYZ2V0TnVtYmVyQnlBZGRyZXNzQW5kS2V5AAAAAgUAAAAPZ3JhY2l0eUNvbnRyYWN0BQAAAAxMYXN0Um91bmRLZXkAAAAAB2NvbnN1bHMJAAS1AAAAAgkBAAAAGGdldFN0cmluZ0J5QWRkcmVzc0FuZEtleQAAAAIFAAAAD2dyYWNpdHlDb250cmFjdAkBAAAACkNvbnN1bHNLZXkAAAABBQAAABBsYXN0R3Jhdml0eVJvdW5kAgAAAAEsAAAAABFzdWJzY3JpYmVyQWRkcmVzcwkBAAAADmdl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", "chainId": 84, "height": 1171650, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: DReK56wQPwCXxJgaiy7bB9jPUL5R5YHYZP4QDAQK1eFo Next: FwkgAqTcGuJuEiLXG2r9rG3zV8cDryidaFZLHxxp9Ux7 Diff:
OldNewDifferences
5353 }
5454
5555
56-let m = "oracles"
56+func m (l,f) = {
57+ let g = getInteger(l, f)
58+ if ($isInstanceOf(g, "Int"))
59+ then {
60+ let h = g
61+ h
62+ }
63+ else 0
64+ }
5765
58-let n = "consuls"
66+
67+let n = "oracles"
5968
6069 let o = "subscriber_address"
6170
7786 func x (w) = ("height_" + toString(w))
7887
7988
80-let y = split(j(m), ",")
81-
82-let z = e(r)
83-
84-let A = addressFromStringValue(j(q))
85-
86-let B = split(k(A, n), ",")
87-
88-let C = j(o)
89-
90-let D = e(p)
91-
92-let E = e(u)
93-
94-func F (w) = i(v(w))
89+func y (z) = ("consuls_" + toString(z))
9590
9691
97-func G (w) = e(x(w))
92+let A = split(j(n), ",")
93+
94+let B = e(r)
95+
96+let C = addressFromStringValue(j(q))
97+
98+let D = m(C, t)
99+
100+let E = split(k(C, y(D)), ",")
101+
102+let F = j(o)
103+
104+let G = e(p)
105+
106+let H = e(u)
107+
108+func I (w) = i(v(w))
98109
99110
100-func H (I,J,K) = if ((J != "nil"))
101- then if (sigVerify(I, fromBase58String(J), fromBase58String(K)))
111+func J (w) = e(x(w))
112+
113+
114+func K (L,M,N) = if ((M != "nil"))
115+ then if (sigVerify(L, fromBase58String(M), fromBase58String(N)))
102116 then 1
103117 else 0
104118 else 0
105119
106120
107-@Callable(L)
108-func sendHashValue (I,M) = {
109- let N = split(M, ",")
110- let O = ((((H(I, N[0], y[0]) + H(I, N[1], y[1])) + H(I, N[2], y[2])) + H(I, N[3], y[3])) + H(I, N[4], y[4]))
111- if ((z > O))
121+@Callable(O)
122+func sendHashValue (L,P) = {
123+ let Q = split(P, ",")
124+ let R = ((((K(L, Q[0], A[0]) + K(L, Q[1], A[1])) + K(L, Q[2], A[2])) + K(L, Q[3], A[3])) + K(L, Q[4], A[4]))
125+ if ((B > R))
112126 then throw("invalid bft count")
113127 else if ((i(toString(height)) != base58'2CsAf'))
114128 then throw("data is exist")
115129 else {
116- let w = (E + 1)
117- WriteSet([DataEntry(v(w), I), DataEntry(x(w), height), DataEntry(s, height), DataEntry(u, w)])
130+ let w = (H + 1)
131+ WriteSet([DataEntry(v(w), L), DataEntry(x(w), height), DataEntry(s, height), DataEntry(u, w)])
118132 }
119133 }
120134
121135
122136
123-@Callable(L)
124-func updateOracles (P,Q,R) = {
125- let M = split(Q, ",")
126- let O = ((((H(toBytes(P), M[0], B[0]) + H(toBytes(P), M[1], B[1])) + H(toBytes(P), M[2], B[2])) + H(toBytes(P), M[3], B[3])) + H(toBytes(P), M[4], B[4]))
127- if ((O > z))
137+@Callable(O)
138+func updateOracles (S,T,z) = {
139+ let P = split(T, ",")
140+ let R = ((((K(toBytes(S), P[0], E[0]) + K(toBytes(S), P[1], E[1])) + K(toBytes(S), P[2], E[2])) + K(toBytes(S), P[3], E[3])) + K(toBytes(S), P[4], E[4]))
141+ if ((R > B))
128142 then throw("invalid bft count")
129- else WriteSet([DataEntry(m, P), DataEntry(((t + "_") + toString(R)), R)])
143+ else WriteSet([DataEntry(n, S), DataEntry(((t + "_") + toString(z)), z)])
130144 }
131145
132146
133-@Verifier(L)
134-func S () = {
135- let g = L
147+@Verifier(O)
148+func U () = {
149+ let g = O
136150 if ($isInstanceOf(g, "InvokeScriptTransaction"))
137151 then {
138- let T = g
139- let U = if ((D == b))
152+ let V = g
153+ let W = if ((G == b))
140154 then {
141155 let h = {
142- let V = T.args[0]
143- if ($isInstanceOf(V, "Int"))
156+ let X = V.args[0]
157+ if ($isInstanceOf(X, "Int"))
144158 then {
145- let h = V
159+ let h = X
146160 h
147161 }
148162 else throw("invalid value type")
149163 }
150164 toBytes(h)
151165 }
152- else if ((D == c))
166+ else if ((G == c))
153167 then {
154168 let h = {
155- let V = T.args[0]
156- if ($isInstanceOf(V, "String"))
169+ let X = V.args[0]
170+ if ($isInstanceOf(X, "String"))
157171 then {
158- let h = V
172+ let h = X
159173 h
160174 }
161175 else throw("invalid value type")
162176 }
163177 toBytes(h)
164178 }
165- else if ((D == d))
179+ else if ((G == d))
166180 then {
167181 let h = {
168- let V = T.args[0]
169- if ($isInstanceOf(V, "ByteVector"))
182+ let X = V.args[0]
183+ if ($isInstanceOf(X, "ByteVector"))
170184 then {
171- let h = V
185+ let h = X
172186 h
173187 }
174188 else throw("invalid value type")
176190 h
177191 }
178192 else throw("invalid value type")
179- let W = {
180- let V = T.args[1]
181- if ($isInstanceOf(V, "Int"))
193+ let Y = {
194+ let X = V.args[1]
195+ if ($isInstanceOf(X, "Int"))
182196 then {
183- let W = V
184- W
197+ let Y = X
198+ Y
185199 }
186200 else throw("invalid height type")
187201 }
188- if ((T.function != "attachValue"))
202+ if ((V.function != "attachValue"))
189203 then throw("invalid function name")
190- else if ((size(T.args) != 2))
204+ else if ((size(V.args) != 2))
191205 then throw("invalid args size")
192- else if ((T.dApp != addressFromStringValue(C)))
206+ else if ((V.dApp != addressFromStringValue(F)))
193207 then throw("invalid dapp address")
194- else if ((G(W) != height))
208+ else if ((J(Y) != height))
195209 then throw("invalid height")
196- else if ((F(W) == base58'2CsAf'))
210+ else if ((I(Y) == base58'2CsAf'))
197211 then throw("invalid pulse id")
198- else if ((keccak256(U) != F(W)))
212+ else if ((keccak256(W) != I(Y)))
199213 then throw("invalid keccak256(value)")
200214 else true
201215 }
202- else sigVerify(L.bodyBytes, L.proofs[0], L.senderPublicKey)
216+ else sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
203217 }
204218
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "WAVES"
55
66 let b = 0
77
88 let c = 1
99
1010 let d = 2
1111
1212 func e (f) = {
1313 let g = getInteger(this, f)
1414 if ($isInstanceOf(g, "Int"))
1515 then {
1616 let h = g
1717 h
1818 }
1919 else 0
2020 }
2121
2222
2323 func i (f) = {
2424 let g = getBinary(this, f)
2525 if ($isInstanceOf(g, "ByteVector"))
2626 then {
2727 let h = g
2828 h
2929 }
3030 else base58'2CsAf'
3131 }
3232
3333
3434 func j (f) = {
3535 let g = getString(this, f)
3636 if ($isInstanceOf(g, "String"))
3737 then {
3838 let h = g
3939 h
4040 }
4141 else ""
4242 }
4343
4444
4545 func k (l,f) = {
4646 let g = getString(l, f)
4747 if ($isInstanceOf(g, "String"))
4848 then {
4949 let h = g
5050 h
5151 }
5252 else ""
5353 }
5454
5555
56-let m = "oracles"
56+func m (l,f) = {
57+ let g = getInteger(l, f)
58+ if ($isInstanceOf(g, "Int"))
59+ then {
60+ let h = g
61+ h
62+ }
63+ else 0
64+ }
5765
58-let n = "consuls"
66+
67+let n = "oracles"
5968
6069 let o = "subscriber_address"
6170
6271 let p = "type"
6372
6473 let q = "gravity_contract"
6574
6675 let r = "bft_coefficient"
6776
6877 let s = "last_height"
6978
7079 let t = "last_round"
7180
7281 let u = "last_pulse_id"
7382
7483 func v (w) = ("data_hash_" + toString(w))
7584
7685
7786 func x (w) = ("height_" + toString(w))
7887
7988
80-let y = split(j(m), ",")
81-
82-let z = e(r)
83-
84-let A = addressFromStringValue(j(q))
85-
86-let B = split(k(A, n), ",")
87-
88-let C = j(o)
89-
90-let D = e(p)
91-
92-let E = e(u)
93-
94-func F (w) = i(v(w))
89+func y (z) = ("consuls_" + toString(z))
9590
9691
97-func G (w) = e(x(w))
92+let A = split(j(n), ",")
93+
94+let B = e(r)
95+
96+let C = addressFromStringValue(j(q))
97+
98+let D = m(C, t)
99+
100+let E = split(k(C, y(D)), ",")
101+
102+let F = j(o)
103+
104+let G = e(p)
105+
106+let H = e(u)
107+
108+func I (w) = i(v(w))
98109
99110
100-func H (I,J,K) = if ((J != "nil"))
101- then if (sigVerify(I, fromBase58String(J), fromBase58String(K)))
111+func J (w) = e(x(w))
112+
113+
114+func K (L,M,N) = if ((M != "nil"))
115+ then if (sigVerify(L, fromBase58String(M), fromBase58String(N)))
102116 then 1
103117 else 0
104118 else 0
105119
106120
107-@Callable(L)
108-func sendHashValue (I,M) = {
109- let N = split(M, ",")
110- let O = ((((H(I, N[0], y[0]) + H(I, N[1], y[1])) + H(I, N[2], y[2])) + H(I, N[3], y[3])) + H(I, N[4], y[4]))
111- if ((z > O))
121+@Callable(O)
122+func sendHashValue (L,P) = {
123+ let Q = split(P, ",")
124+ let R = ((((K(L, Q[0], A[0]) + K(L, Q[1], A[1])) + K(L, Q[2], A[2])) + K(L, Q[3], A[3])) + K(L, Q[4], A[4]))
125+ if ((B > R))
112126 then throw("invalid bft count")
113127 else if ((i(toString(height)) != base58'2CsAf'))
114128 then throw("data is exist")
115129 else {
116- let w = (E + 1)
117- WriteSet([DataEntry(v(w), I), DataEntry(x(w), height), DataEntry(s, height), DataEntry(u, w)])
130+ let w = (H + 1)
131+ WriteSet([DataEntry(v(w), L), DataEntry(x(w), height), DataEntry(s, height), DataEntry(u, w)])
118132 }
119133 }
120134
121135
122136
123-@Callable(L)
124-func updateOracles (P,Q,R) = {
125- let M = split(Q, ",")
126- let O = ((((H(toBytes(P), M[0], B[0]) + H(toBytes(P), M[1], B[1])) + H(toBytes(P), M[2], B[2])) + H(toBytes(P), M[3], B[3])) + H(toBytes(P), M[4], B[4]))
127- if ((O > z))
137+@Callable(O)
138+func updateOracles (S,T,z) = {
139+ let P = split(T, ",")
140+ let R = ((((K(toBytes(S), P[0], E[0]) + K(toBytes(S), P[1], E[1])) + K(toBytes(S), P[2], E[2])) + K(toBytes(S), P[3], E[3])) + K(toBytes(S), P[4], E[4]))
141+ if ((R > B))
128142 then throw("invalid bft count")
129- else WriteSet([DataEntry(m, P), DataEntry(((t + "_") + toString(R)), R)])
143+ else WriteSet([DataEntry(n, S), DataEntry(((t + "_") + toString(z)), z)])
130144 }
131145
132146
133-@Verifier(L)
134-func S () = {
135- let g = L
147+@Verifier(O)
148+func U () = {
149+ let g = O
136150 if ($isInstanceOf(g, "InvokeScriptTransaction"))
137151 then {
138- let T = g
139- let U = if ((D == b))
152+ let V = g
153+ let W = if ((G == b))
140154 then {
141155 let h = {
142- let V = T.args[0]
143- if ($isInstanceOf(V, "Int"))
156+ let X = V.args[0]
157+ if ($isInstanceOf(X, "Int"))
144158 then {
145- let h = V
159+ let h = X
146160 h
147161 }
148162 else throw("invalid value type")
149163 }
150164 toBytes(h)
151165 }
152- else if ((D == c))
166+ else if ((G == c))
153167 then {
154168 let h = {
155- let V = T.args[0]
156- if ($isInstanceOf(V, "String"))
169+ let X = V.args[0]
170+ if ($isInstanceOf(X, "String"))
157171 then {
158- let h = V
172+ let h = X
159173 h
160174 }
161175 else throw("invalid value type")
162176 }
163177 toBytes(h)
164178 }
165- else if ((D == d))
179+ else if ((G == d))
166180 then {
167181 let h = {
168- let V = T.args[0]
169- if ($isInstanceOf(V, "ByteVector"))
182+ let X = V.args[0]
183+ if ($isInstanceOf(X, "ByteVector"))
170184 then {
171- let h = V
185+ let h = X
172186 h
173187 }
174188 else throw("invalid value type")
175189 }
176190 h
177191 }
178192 else throw("invalid value type")
179- let W = {
180- let V = T.args[1]
181- if ($isInstanceOf(V, "Int"))
193+ let Y = {
194+ let X = V.args[1]
195+ if ($isInstanceOf(X, "Int"))
182196 then {
183- let W = V
184- W
197+ let Y = X
198+ Y
185199 }
186200 else throw("invalid height type")
187201 }
188- if ((T.function != "attachValue"))
202+ if ((V.function != "attachValue"))
189203 then throw("invalid function name")
190- else if ((size(T.args) != 2))
204+ else if ((size(V.args) != 2))
191205 then throw("invalid args size")
192- else if ((T.dApp != addressFromStringValue(C)))
206+ else if ((V.dApp != addressFromStringValue(F)))
193207 then throw("invalid dapp address")
194- else if ((G(W) != height))
208+ else if ((J(Y) != height))
195209 then throw("invalid height")
196- else if ((F(W) == base58'2CsAf'))
210+ else if ((I(Y) == base58'2CsAf'))
197211 then throw("invalid pulse id")
198- else if ((keccak256(U) != F(W)))
212+ else if ((keccak256(W) != I(Y)))
199213 then throw("invalid keccak256(value)")
200214 else true
201215 }
202- else sigVerify(L.bodyBytes, L.proofs[0], L.senderPublicKey)
216+ else sigVerify(O.bodyBytes, O.proofs[0], O.senderPublicKey)
203217 }
204218

github/deemru/w8io/873ac7e 
49.70 ms