tx · AAqFiYdifbxU1vETJnpSJrELBos7g6YWGi9rgpRPuakx

3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC:  -0.01400000 Waves

2021.11.18 10:53 [1796207] smart account 3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC > SELF 0.00000000 Waves

{ "type": 13, "id": "AAqFiYdifbxU1vETJnpSJrELBos7g6YWGi9rgpRPuakx", "fee": 1400000, "feeAssetId": null, "timestamp": 1637221994427, "version": 2, "chainId": 84, "sender": "3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC", "senderPublicKey": "CSx1y2ADZAi6KvFZT2LoqQmX5qBxDVVGGZ6heDAGngHM", "proofs": [ "5kxc5nC3ssx6FHGDdnVZDeBmropnJnqoSRiat1bYZsoAnnDAodP1vRhw1R1ZJdAL6KxnyVxhr1sNsqbQa9GyE4pA", "2bj5PCSQmmZmzSVCQ5YTqU29cEMie4vXieUBWjMKYtww7UF6PDgf9e3YRkFAzPfA2QEy2qJbhi488x193S1bPqBy" ], "script": "base64:AAIFAAAAAAAAABwIAhIHCgUBERgRGBIAEgMKAQgSBAoCAQgSABIAAAAAHgAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAADGtleUVuZEhlaWdodAIAAAAKZW5kX2hlaWdodAAAAAAPa2V5UHJpemVzUHJpY2VzAgAAAA1wcml6ZXNfcHJpY2VzAAAAAA1rZXlQcml6ZXNBSWRzAgAAABdwcml6ZXNfYWNoaWV2ZW1lbnRzX2lkcwAAAAAQa2V5UHJpemVzQW1vdW50cwIAAAANcHJpemVzX2Ftb3VudAAAAAAOa2V5TGV2ZWxQcmljZXMCAAAADGxldmVsX3ByaWNlcwAAAAAWa2V5TGV2ZWxBY2hpZXZlbW50c0lkcwIAAAAWbGV2ZWxfYWNoaWV2ZW1lbnRzX2lkcwAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAA5rZXlUb3RhbEJ1cm5lZAIAAAAMdG90YWxfYnVybmVkAAAAAA1rZXlWZXJpZnlIYXNoAgAAAAt2ZXJpZnlfaGFzaAAAAAARa2V5RmluYWxpemVIZWlnaHQCAAAAD2ZpbmFsaXplX2hlaWdodAAAAAASa2V5VXNlclRvdGFsQnVybmVkAgAAAA1fdG90YWxfYnVybmVkAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTpRaoekC86rvG6DuYumpJfGpiE4fNiswgAAAAAB2Zhcm1pbmcJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAADGFjaGlldmVtZW50cwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVJK5fKIHIb/pZr3vGi+pG6QkOinYZMH4PwAAAAAPa2V5QWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAAPa2V5QWRtaW5QdWJLZXkyAgAAAAthZG1pbl9wdWJfMgAAAAAPa2V5QWRtaW5QdWJLZXkzAgAAAAthZG1pbl9wdWJfMwEAAAALZ2V0QWRtaW5QdWIAAAABAAAAC2tleUFkbWluUHViBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAALa2V5QWRtaW5QdWIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQA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", "height": 1796207, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 6qppARN7VdAA7SPQUtayCpV3EARPY6oh3nN6zn7YY5sG Next: 3UxUiqUiW6jsexr6TYJ5nbudtUn4ehXNXhDzCFe4BvdH Diff:
OldNewDifferences
77
88 let c = "prizes_prices"
99
10-let d = "prizes_ids"
10+let d = "prizes_achievements_ids"
1111
1212 let e = "prizes_amount"
1313
1414 let f = "level_prices"
1515
16-let g = "level_ids"
16+let g = "level_achievements_ids"
1717
1818 let h = "SWOP_id"
1919
104104
105105
106106 @Callable(T)
107-func init (U,V,W,L,X) = if (isDefined(getInteger(this, b)))
108- then throw("DApp is already inited")
109- else {
110- let Y = {
111- let M = V
112- let N = size(M)
113- let O = ""
114- func P (Q,R) = if ((R >= N))
115- then Q
116- else E(Q, M[R])
107+func init (U,V,W,L,X) = if (!(containsElement([x, y, z], T.callerPublicKey)))
108+ then throw("Only admin can call this function")
109+ else if (isDefined(getInteger(this, b)))
110+ then throw("DApp is already inited")
111+ else if ((height > U))
112+ then throw("Burning ending must be greater than current height")
113+ else if (if ((size(V) != 5))
114+ then true
115+ else (size(W) != 5))
116+ then throw("Amount of prizes achievemts lists must equal to 5")
117+ else if (if ((size(L) != 4))
118+ then true
119+ else (size(X) != 4))
120+ then throw("Amount of levels lists must equal to 4")
121+ else {
122+ let Y = {
123+ let M = V
124+ let N = size(M)
125+ let O = ""
126+ func P (Q,R) = if ((R >= N))
127+ then Q
128+ else E(Q, M[R])
117129
118- func S (Q,R) = if ((R >= N))
119- then Q
120- else throw("List size exceeds 5")
130+ func S (Q,R) = if ((R >= N))
131+ then Q
132+ else throw("List size exceeds 5")
121133
122- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
123- }
124- let Z = makeString(W, ",")
125- let aa = {
126- let M = L
127- let N = size(M)
128- let O = ""
129- func P (Q,R) = if ((R >= N))
130- then Q
131- else E(Q, M[R])
134+ S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
135+ }
136+ let Z = makeString(W, ",")
137+ let aa = {
138+ let M = L
139+ let N = size(M)
140+ let O = ""
141+ func P (Q,R) = if ((R >= N))
142+ then Q
143+ else E(Q, M[R])
132144
133- func S (Q,R) = if ((R >= N))
134- then Q
135- else throw("List size exceeds 5")
145+ func S (Q,R) = if ((R >= N))
146+ then Q
147+ else throw("List size exceeds 5")
136148
137- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
138- }
139- let ab = makeString(X, ",")
140- let ac = "0,0,0,0,0"
149+ S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
150+ }
151+ let ab = makeString(X, ",")
152+ let ac = "0,0,0,0,0"
141153 [IntegerEntry(b, U), StringEntry(c, Y), StringEntry(d, Z), StringEntry(f, aa), StringEntry(g, ab), StringEntry(e, ac)]
142- }
154+ }
143155
144156
145157
188200 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
189201 }
190202 let aj = split(getStringValue(this, d), ",")
191- let X = split(getStringValue(this, g), ",")
192- let ak = {
203+ let ak = split(getStringValue(this, g), ",")
204+ let al = {
193205 let M = ai
194206 let N = size(M)
195207 let O = nil
203215
204216 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
205217 }
206- let al = {
207- let M = ak
218+ let am = {
219+ let M = al
208220 let N = size(M)
209221 let O = ""
210222 func P (Q,R) = if ((R >= N))
217229
218230 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
219231 }
220- let am = if ((ak[0] != ah[0]))
232+ let an = if ((al[0] != ah[0]))
221233 then {
222- let an = (ak[0] - ah[0])
223- invoke(o, "add", [aj[0], an], nil)
234+ let ao = (al[0] - ah[0])
235+ invoke(o, "add", [aj[0], ao], nil)
224236 }
225237 else 0
226- if ((am == am))
238+ if ((an == an))
227239 then {
228- let ao = if ((ak[1] != ah[1]))
240+ let ap = if ((al[1] != ah[1]))
229241 then {
230- let an = (ak[1] - ah[1])
231- invoke(o, "add", [aj[1], an], nil)
242+ let ao = (al[1] - ah[1])
243+ invoke(o, "add", [aj[1], ao], nil)
232244 }
233245 else 0
234- if ((ao == ao))
246+ if ((ap == ap))
235247 then {
236- let ap = if ((ak[2] != ah[2]))
248+ let aq = if ((al[2] != ah[2]))
237249 then {
238- let an = (ak[2] - ah[2])
239- invoke(o, "add", [aj[2], an], nil)
250+ let ao = (al[2] - ah[2])
251+ invoke(o, "add", [aj[2], ao], nil)
240252 }
241253 else 0
242- if ((ap == ap))
254+ if ((aq == aq))
243255 then {
244- let aq = if ((ak[3] != ah[3]))
256+ let ar = if ((al[3] != ah[3]))
245257 then {
246- let an = (ak[3] - ah[3])
247- invoke(o, "add", [aj[3], an], nil)
258+ let ao = (al[3] - ah[3])
259+ invoke(o, "add", [aj[3], ao], nil)
248260 }
249261 else 0
250- if ((aq == aq))
262+ if ((ar == ar))
251263 then {
252- let ar = if ((ak[4] != ah[4]))
264+ let as = if ((al[4] != ah[4]))
253265 then {
254- let an = (ak[4] - ah[4])
255- invoke(o, "add", [aj[4], an], nil)
266+ let ao = (al[4] - ah[4])
267+ invoke(o, "add", [aj[4], ao], nil)
256268 }
257269 else 0
258- if ((ar == ar))
270+ if ((as == as))
259271 then {
260- let as = J(ag)
261- let at = J((ag + ae))
262- let au = if ((as != at))
263- then invoke(o, "add", [X[(at - 1)], 1], nil)
272+ let at = J(ag)
273+ let au = J((ag + ae))
274+ let av = if ((at != au))
275+ then invoke(o, "add", [ak[(au - 1)], 1], nil)
264276 else 0
265-[IntegerEntry(i, (D + ae)), IntegerEntry((toString(this) + l), (ag + ae)), StringEntry(e, al)]
277+[IntegerEntry(i, (D + ae)), IntegerEntry((toString(this) + l), (ag + ae)), StringEntry(e, am)]
266278 }
267279 else throw("Strict value is not equal to itself.")
268280 }
279291
280292
281293 @Callable(T)
282-func hashingRandom (av) = if (!(C))
294+func hashingRandom (aw) = if (!(C))
283295 then throw("DApp is inactive at this moment")
284296 else if (!(containsElement([x, y, z], T.callerPublicKey)))
285297 then throw("Only admin can call this function")
286- else [StringEntry(j, av)]
298+ else [StringEntry(j, aw)]
287299
288300
289301
290302 @Callable(T)
291-func finalize (aw,ax) = {
292- let ay = getStringValue(this, j)
293- let az = toBase58String(sha256((toBytes(aw) + toBytes(ax))))
303+func finalize (ax,ay) = {
304+ let az = getStringValue(this, j)
305+ let aA = toBase58String(sha256((toBytes(ax) + toBytes(ay))))
294306 if (!(C))
295307 then throw("DApp is inactive at this moment")
296308 else if (!(containsElement([x, y, z], T.callerPublicKey)))
297309 then throw("Only admin can call this function")
298- else if ((az != ay))
310+ else if ((aA != az))
299311 then throw("vrf Height hash not matching")
300312 else {
301- let aA = getIntegerValue(this, i)
302-[Burn(B, aA), IntegerEntry(k, height)]
313+ let aB = getIntegerValue(this, i)
314+[Burn(B, aB), IntegerEntry(k, height)]
303315 }
304316 }
305317
322334 else [BooleanEntry(a, true)]
323335
324336
325-@Verifier(aB)
326-func aC () = {
327- let aD = {
328- let aE = if (sigVerify(aB.bodyBytes, aB.proofs[0], x))
337+@Verifier(aC)
338+func aD () = {
339+ let aE = {
340+ let aF = if (sigVerify(aC.bodyBytes, aC.proofs[0], x))
329341 then 1
330342 else 0
331- let aF = if (sigVerify(aB.bodyBytes, aB.proofs[1], y))
343+ let aG = if (sigVerify(aC.bodyBytes, aC.proofs[1], y))
332344 then 1
333345 else 0
334- let aG = if (sigVerify(aB.bodyBytes, aB.proofs[2], z))
346+ let aH = if (sigVerify(aC.bodyBytes, aC.proofs[2], z))
335347 then 1
336348 else 0
337- (((aE + aF) + aG) >= 2)
349+ (((aF + aG) + aH) >= 2)
338350 }
339- let aH = if (if (if (sigVerify(aB.bodyBytes, aB.proofs[0], x))
351+ let aI = if (if (if (sigVerify(aC.bodyBytes, aC.proofs[0], x))
340352 then true
341- else sigVerify(aB.bodyBytes, aB.proofs[0], y))
353+ else sigVerify(aC.bodyBytes, aC.proofs[0], y))
342354 then true
343- else sigVerify(aB.bodyBytes, aB.proofs[0], z))
355+ else sigVerify(aC.bodyBytes, aC.proofs[0], z))
344356 then true
345- else sigVerify(aB.bodyBytes, aB.proofs[0], A)
346- let u = aB
347- aD
357+ else sigVerify(aC.bodyBytes, aC.proofs[0], A)
358+ let u = aC
359+ aE
348360 }
349361
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "active"
55
66 let b = "end_height"
77
88 let c = "prizes_prices"
99
10-let d = "prizes_ids"
10+let d = "prizes_achievements_ids"
1111
1212 let e = "prizes_amount"
1313
1414 let f = "level_prices"
1515
16-let g = "level_ids"
16+let g = "level_achievements_ids"
1717
1818 let h = "SWOP_id"
1919
2020 let i = "total_burned"
2121
2222 let j = "verify_hash"
2323
2424 let k = "finalize_height"
2525
2626 let l = "_total_burned"
2727
2828 let m = Address(base58'3NBBWfzZtZtszaXbitTKnrB2xXwv26Bn7H9')
2929
3030 let n = Address(base58'3MsxHxruYWoddB4HRiPBYAWtMXMtCF1V9XT')
3131
3232 let o = Address(base58'3N3HtdnBkqSSc16DaydiwtrMBUv3DfqKjSW')
3333
3434 let p = "admin_pub_1"
3535
3636 let q = "admin_pub_2"
3737
3838 let r = "admin_pub_3"
3939
4040 func s (t) = {
4141 let u = getString(m, t)
4242 if ($isInstanceOf(u, "String"))
4343 then {
4444 let v = u
4545 fromBase58String(v)
4646 }
4747 else {
4848 let w = u
4949 throw("Admin public key is empty")
5050 }
5151 }
5252
5353
5454 let x = s(p)
5555
5656 let y = s(q)
5757
5858 let z = s(r)
5959
6060 let A = base58'Kn7NpzaG12dLZgcHf2ipUftU6hbJygmrhFqQYE4B7ZK'
6161
6262 let B = fromBase58String(getStringValue(n, h))
6363
6464 let C = valueOrElse(getBoolean(this, a), true)
6565
6666 let D = valueOrElse(getInteger(this, i), 0)
6767
6868 func E (F,G) = if ((F == ""))
6969 then (F + toString(G))
7070 else ((F + ",") + toString(G))
7171
7272
7373 func H (F,G) = (F :+ parseIntValue(G))
7474
7575
7676 func I (F,G) = (F :+ (D / G))
7777
7878
7979 func J (K) = {
8080 let L = {
8181 let M = split(getStringValue(this, f), ",")
8282 let N = size(M)
8383 let O = nil
8484 func P (Q,R) = if ((R >= N))
8585 then Q
8686 else H(Q, M[R])
8787
8888 func S (Q,R) = if ((R >= N))
8989 then Q
9090 else throw("List size exceeds 5")
9191
9292 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
9393 }
9494 if ((L[3] >= K))
9595 then 4
9696 else if ((L[2] >= K))
9797 then 3
9898 else if ((L[1] >= K))
9999 then 2
100100 else if ((L[0] >= K))
101101 then 1
102102 else 0
103103 }
104104
105105
106106 @Callable(T)
107-func init (U,V,W,L,X) = if (isDefined(getInteger(this, b)))
108- then throw("DApp is already inited")
109- else {
110- let Y = {
111- let M = V
112- let N = size(M)
113- let O = ""
114- func P (Q,R) = if ((R >= N))
115- then Q
116- else E(Q, M[R])
107+func init (U,V,W,L,X) = if (!(containsElement([x, y, z], T.callerPublicKey)))
108+ then throw("Only admin can call this function")
109+ else if (isDefined(getInteger(this, b)))
110+ then throw("DApp is already inited")
111+ else if ((height > U))
112+ then throw("Burning ending must be greater than current height")
113+ else if (if ((size(V) != 5))
114+ then true
115+ else (size(W) != 5))
116+ then throw("Amount of prizes achievemts lists must equal to 5")
117+ else if (if ((size(L) != 4))
118+ then true
119+ else (size(X) != 4))
120+ then throw("Amount of levels lists must equal to 4")
121+ else {
122+ let Y = {
123+ let M = V
124+ let N = size(M)
125+ let O = ""
126+ func P (Q,R) = if ((R >= N))
127+ then Q
128+ else E(Q, M[R])
117129
118- func S (Q,R) = if ((R >= N))
119- then Q
120- else throw("List size exceeds 5")
130+ func S (Q,R) = if ((R >= N))
131+ then Q
132+ else throw("List size exceeds 5")
121133
122- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
123- }
124- let Z = makeString(W, ",")
125- let aa = {
126- let M = L
127- let N = size(M)
128- let O = ""
129- func P (Q,R) = if ((R >= N))
130- then Q
131- else E(Q, M[R])
134+ S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
135+ }
136+ let Z = makeString(W, ",")
137+ let aa = {
138+ let M = L
139+ let N = size(M)
140+ let O = ""
141+ func P (Q,R) = if ((R >= N))
142+ then Q
143+ else E(Q, M[R])
132144
133- func S (Q,R) = if ((R >= N))
134- then Q
135- else throw("List size exceeds 5")
145+ func S (Q,R) = if ((R >= N))
146+ then Q
147+ else throw("List size exceeds 5")
136148
137- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
138- }
139- let ab = makeString(X, ",")
140- let ac = "0,0,0,0,0"
149+ S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
150+ }
151+ let ab = makeString(X, ",")
152+ let ac = "0,0,0,0,0"
141153 [IntegerEntry(b, U), StringEntry(c, Y), StringEntry(d, Z), StringEntry(f, aa), StringEntry(g, ab), StringEntry(e, ac)]
142- }
154+ }
143155
144156
145157
146158 @Callable(T)
147159 func add () = {
148160 let ad = $Tuple2(T.payments[0].amount, T.payments[0].assetId)
149161 let ae = ad._1
150162 let af = ad._2
151163 let U = valueOrElse(getInteger(this, b), 0)
152164 if (!(C))
153165 then throw("DApp is inactive at this moment")
154166 else if (if ((height > U))
155167 then true
156168 else (U == 0))
157169 then throw("Swop burning are ended or not started yet")
158170 else if ((af != B))
159171 then throw("You can add only SWOP token")
160172 else {
161173 let ag = valueOrElse(getInteger(this, (toString(this) + l)), 0)
162174 let ah = {
163175 let M = split(getStringValue(this, e), ",")
164176 let N = size(M)
165177 let O = nil
166178 func P (Q,R) = if ((R >= N))
167179 then Q
168180 else H(Q, M[R])
169181
170182 func S (Q,R) = if ((R >= N))
171183 then Q
172184 else throw("List size exceeds 5")
173185
174186 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
175187 }
176188 let ai = {
177189 let M = split(getStringValue(this, c), ",")
178190 let N = size(M)
179191 let O = nil
180192 func P (Q,R) = if ((R >= N))
181193 then Q
182194 else H(Q, M[R])
183195
184196 func S (Q,R) = if ((R >= N))
185197 then Q
186198 else throw("List size exceeds 5")
187199
188200 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
189201 }
190202 let aj = split(getStringValue(this, d), ",")
191- let X = split(getStringValue(this, g), ",")
192- let ak = {
203+ let ak = split(getStringValue(this, g), ",")
204+ let al = {
193205 let M = ai
194206 let N = size(M)
195207 let O = nil
196208 func P (Q,R) = if ((R >= N))
197209 then Q
198210 else I(Q, M[R])
199211
200212 func S (Q,R) = if ((R >= N))
201213 then Q
202214 else throw("List size exceeds 5")
203215
204216 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
205217 }
206- let al = {
207- let M = ak
218+ let am = {
219+ let M = al
208220 let N = size(M)
209221 let O = ""
210222 func P (Q,R) = if ((R >= N))
211223 then Q
212224 else E(Q, M[R])
213225
214226 func S (Q,R) = if ((R >= N))
215227 then Q
216228 else throw("List size exceeds 5")
217229
218230 S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
219231 }
220- let am = if ((ak[0] != ah[0]))
232+ let an = if ((al[0] != ah[0]))
221233 then {
222- let an = (ak[0] - ah[0])
223- invoke(o, "add", [aj[0], an], nil)
234+ let ao = (al[0] - ah[0])
235+ invoke(o, "add", [aj[0], ao], nil)
224236 }
225237 else 0
226- if ((am == am))
238+ if ((an == an))
227239 then {
228- let ao = if ((ak[1] != ah[1]))
240+ let ap = if ((al[1] != ah[1]))
229241 then {
230- let an = (ak[1] - ah[1])
231- invoke(o, "add", [aj[1], an], nil)
242+ let ao = (al[1] - ah[1])
243+ invoke(o, "add", [aj[1], ao], nil)
232244 }
233245 else 0
234- if ((ao == ao))
246+ if ((ap == ap))
235247 then {
236- let ap = if ((ak[2] != ah[2]))
248+ let aq = if ((al[2] != ah[2]))
237249 then {
238- let an = (ak[2] - ah[2])
239- invoke(o, "add", [aj[2], an], nil)
250+ let ao = (al[2] - ah[2])
251+ invoke(o, "add", [aj[2], ao], nil)
240252 }
241253 else 0
242- if ((ap == ap))
254+ if ((aq == aq))
243255 then {
244- let aq = if ((ak[3] != ah[3]))
256+ let ar = if ((al[3] != ah[3]))
245257 then {
246- let an = (ak[3] - ah[3])
247- invoke(o, "add", [aj[3], an], nil)
258+ let ao = (al[3] - ah[3])
259+ invoke(o, "add", [aj[3], ao], nil)
248260 }
249261 else 0
250- if ((aq == aq))
262+ if ((ar == ar))
251263 then {
252- let ar = if ((ak[4] != ah[4]))
264+ let as = if ((al[4] != ah[4]))
253265 then {
254- let an = (ak[4] - ah[4])
255- invoke(o, "add", [aj[4], an], nil)
266+ let ao = (al[4] - ah[4])
267+ invoke(o, "add", [aj[4], ao], nil)
256268 }
257269 else 0
258- if ((ar == ar))
270+ if ((as == as))
259271 then {
260- let as = J(ag)
261- let at = J((ag + ae))
262- let au = if ((as != at))
263- then invoke(o, "add", [X[(at - 1)], 1], nil)
272+ let at = J(ag)
273+ let au = J((ag + ae))
274+ let av = if ((at != au))
275+ then invoke(o, "add", [ak[(au - 1)], 1], nil)
264276 else 0
265-[IntegerEntry(i, (D + ae)), IntegerEntry((toString(this) + l), (ag + ae)), StringEntry(e, al)]
277+[IntegerEntry(i, (D + ae)), IntegerEntry((toString(this) + l), (ag + ae)), StringEntry(e, am)]
266278 }
267279 else throw("Strict value is not equal to itself.")
268280 }
269281 else throw("Strict value is not equal to itself.")
270282 }
271283 else throw("Strict value is not equal to itself.")
272284 }
273285 else throw("Strict value is not equal to itself.")
274286 }
275287 else throw("Strict value is not equal to itself.")
276288 }
277289 }
278290
279291
280292
281293 @Callable(T)
282-func hashingRandom (av) = if (!(C))
294+func hashingRandom (aw) = if (!(C))
283295 then throw("DApp is inactive at this moment")
284296 else if (!(containsElement([x, y, z], T.callerPublicKey)))
285297 then throw("Only admin can call this function")
286- else [StringEntry(j, av)]
298+ else [StringEntry(j, aw)]
287299
288300
289301
290302 @Callable(T)
291-func finalize (aw,ax) = {
292- let ay = getStringValue(this, j)
293- let az = toBase58String(sha256((toBytes(aw) + toBytes(ax))))
303+func finalize (ax,ay) = {
304+ let az = getStringValue(this, j)
305+ let aA = toBase58String(sha256((toBytes(ax) + toBytes(ay))))
294306 if (!(C))
295307 then throw("DApp is inactive at this moment")
296308 else if (!(containsElement([x, y, z], T.callerPublicKey)))
297309 then throw("Only admin can call this function")
298- else if ((az != ay))
310+ else if ((aA != az))
299311 then throw("vrf Height hash not matching")
300312 else {
301- let aA = getIntegerValue(this, i)
302-[Burn(B, aA), IntegerEntry(k, height)]
313+ let aB = getIntegerValue(this, i)
314+[Burn(B, aB), IntegerEntry(k, height)]
303315 }
304316 }
305317
306318
307319
308320 @Callable(T)
309321 func shutdown () = if (!(C))
310322 then throw("DApp already inactive")
311323 else if (!(containsElement([x, y, z], T.callerPublicKey)))
312324 then throw("Only admin can call this function")
313325 else [BooleanEntry(a, false)]
314326
315327
316328
317329 @Callable(T)
318330 func activate () = if (C)
319331 then throw("DApp already active")
320332 else if (!(containsElement([x, y, z], T.callerPublicKey)))
321333 then throw("Only admin can call this function")
322334 else [BooleanEntry(a, true)]
323335
324336
325-@Verifier(aB)
326-func aC () = {
327- let aD = {
328- let aE = if (sigVerify(aB.bodyBytes, aB.proofs[0], x))
337+@Verifier(aC)
338+func aD () = {
339+ let aE = {
340+ let aF = if (sigVerify(aC.bodyBytes, aC.proofs[0], x))
329341 then 1
330342 else 0
331- let aF = if (sigVerify(aB.bodyBytes, aB.proofs[1], y))
343+ let aG = if (sigVerify(aC.bodyBytes, aC.proofs[1], y))
332344 then 1
333345 else 0
334- let aG = if (sigVerify(aB.bodyBytes, aB.proofs[2], z))
346+ let aH = if (sigVerify(aC.bodyBytes, aC.proofs[2], z))
335347 then 1
336348 else 0
337- (((aE + aF) + aG) >= 2)
349+ (((aF + aG) + aH) >= 2)
338350 }
339- let aH = if (if (if (sigVerify(aB.bodyBytes, aB.proofs[0], x))
351+ let aI = if (if (if (sigVerify(aC.bodyBytes, aC.proofs[0], x))
340352 then true
341- else sigVerify(aB.bodyBytes, aB.proofs[0], y))
353+ else sigVerify(aC.bodyBytes, aC.proofs[0], y))
342354 then true
343- else sigVerify(aB.bodyBytes, aB.proofs[0], z))
355+ else sigVerify(aC.bodyBytes, aC.proofs[0], z))
344356 then true
345- else sigVerify(aB.bodyBytes, aB.proofs[0], A)
346- let u = aB
347- aD
357+ else sigVerify(aC.bodyBytes, aC.proofs[0], A)
358+ let u = aC
359+ aE
348360 }
349361

github/deemru/w8io/169f3d6 
91.64 ms