tx · DT1EbBUsHk9546k8cPTECoPLn1dFiKAZn2gszBRqd319

3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC:  -0.01400000 Waves

2021.11.19 15:38 [1797935] smart account 3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC > SELF 0.00000000 Waves

{ "type": 13, "id": "DT1EbBUsHk9546k8cPTECoPLn1dFiKAZn2gszBRqd319", "fee": 1400000, "feeAssetId": null, "timestamp": 1637325496871, "version": 2, "chainId": 84, "sender": "3Mp5JgVSHA9iziujC9Kmnf2rCN5SYFE97yC", "senderPublicKey": "CSx1y2ADZAi6KvFZT2LoqQmX5qBxDVVGGZ6heDAGngHM", "proofs": [ "4KCvuvwSY8KoRuAqYrSgRCUEEeCRNzwv1VBbDgdFJ1nXzQSFqrmKH9hAJHrgrUfhVFp99U56dqrerU2phMLGhnm", "5hPTFbzxQKhvkx6X6tozApAhFcNXsqSACZPVyaqMUdNisaeTacGevXd87ucwJhNmdZgYkDy4gD27r2sJbhU5y866" ], "script": "base64:AAIFAAAAAAAAABwIAhIHCgUBERgRGBIAEgMKAQgSBAoCAQgSABIAAAAAHQAAAAAJa2V5QWN0aXZlAgAAAAZhY3RpdmUAAAAADGtleUVuZEhlaWdodAIAAAAKZW5kX2hlaWdodAAAAAAPa2V5UHJpemVzUHJpY2VzAgAAAA1wcml6ZXNfcHJpY2VzAAAAAA1rZXlQcml6ZXNBSWRzAgAAABdwcml6ZXNfYWNoaWV2ZW1lbnRzX2lkcwAAAAAQa2V5UHJpemVzQW1vdW50cwIAAAANcHJpemVzX2Ftb3VudAAAAAAOa2V5TGV2ZWxQcmljZXMCAAAADGxldmVsX3ByaWNlcwAAAAAWa2V5TGV2ZWxBY2hpZXZlbW50c0lkcwIAAAAWbGV2ZWxfYWNoaWV2ZW1lbnRzX2lkcwAAAAAJa2V5U1dPUGlkAgAAAAdTV09QX2lkAAAAAA5rZXlUb3RhbEJ1cm5lZAIAAAAMdG90YWxfYnVybmVkAAAAAA1rZXlWZXJpZnlIYXNoAgAAAAt2ZXJpZnlfaGFzaAAAAAARa2V5RmluYWxpemVIZWlnaHQCAAAAD2ZpbmFsaXplX2hlaWdodAAAAAASa2V5VXNlclRvdGFsQnVybmVkAgAAAA1fdG90YWxfYnVybmVkAAAAAAZvcmFjbGUJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVTpRaoekC86rvG6DuYumpJfGpiE4fNiswgAAAAAB2Zhcm1pbmcJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQsS4J2Ro3vGTI9KakEzAv69iHSjreZL2YAAAAADGFjaGlldmVtZW50cwkBAAAAB0FkZHJlc3MAAAABAQAAABoBVJK5fKIHIb/pZr3vGi+pG6QkOinYZMH4PwAAAAAPa2V5QWRtaW5QdWJLZXkxAgAAAAthZG1pbl9wdWJfMQAAAAAPa2V5QWRtaW5QdWJLZXkyAgAAAAthZG1pbl9wdWJfMgAAAAAPa2V5QWRtaW5QdWJLZXkzAgAAAAthZG1pbl9wdWJfMwEAAAALZ2V0QWRtaW5QdWIAAAABAAAAC2tleUFkbWluUHViBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAABm9yYWNsZQUAAAALa2V5QWRtaW5QdWIDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQA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", "height": 1797935, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3UxUiqUiW6jsexr6TYJ5nbudtUn4ehXNXhDzCFe4BvdH Next: Hua2f7BfCucfFYtafS3mFSNuAyAL5XH7BENnbNVpcMav Diff:
OldNewDifferences
6363
6464 let C = valueOrElse(getBoolean(this, a), true)
6565
66-let D = valueOrElse(getInteger(this, i), 0)
67-
68-func E (F,G) = if ((F == ""))
69- then (F + toString(G))
70- else ((F + ",") + toString(G))
66+func D (E,F) = if ((E == ""))
67+ then (E + toString(F))
68+ else ((E + ",") + toString(F))
7169
7270
73-func H (F,G) = (F :+ parseIntValue(G))
71+func G (E,F) = (E :+ parseIntValue(F))
7472
7573
76-func I (F,G) = (F :+ (D / G))
74+func H (E,F) = {
75+ let I = E
76+ let J = I._1
77+ let K = I._2
78+ $Tuple2(J, (K :+ (J / F)))
79+ }
7780
7881
79-func J (K) = {
80- let L = {
81- let M = split(getStringValue(this, f), ",")
82- let N = size(M)
83- let O = nil
84- func P (Q,R) = if ((R >= N))
85- then Q
86- else H(Q, M[R])
82+func L (M) = {
83+ let N = {
84+ let O = split(getStringValue(this, f), ",")
85+ let P = size(O)
86+ let Q = nil
87+ func R (S,T) = if ((T >= P))
88+ then S
89+ else G(S, O[T])
8790
88- func S (Q,R) = if ((R >= N))
89- then Q
91+ func U (S,T) = if ((T >= P))
92+ then S
9093 else throw("List size exceeds 5")
9194
92- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
95+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
9396 }
94- if ((L[3] >= K))
97+ if ((N[3] >= M))
9598 then 4
96- else if ((L[2] >= K))
99+ else if ((N[2] >= M))
97100 then 3
98- else if ((L[1] >= K))
101+ else if ((N[1] >= M))
99102 then 2
100- else if ((L[0] >= K))
103+ else if ((N[0] >= M))
101104 then 1
102105 else 0
103106 }
104107
105108
106-@Callable(T)
107-func init (U,V,W,L,X) = if (!(containsElement([x, y, z], T.callerPublicKey)))
109+@Callable(V)
110+func init (W,X,Y,N,Z) = if (!(containsElement([x, y, z], V.callerPublicKey)))
108111 then throw("Only admin can call this function")
109112 else if (isDefined(getInteger(this, b)))
110113 then throw("DApp is already inited")
111- else if ((height > U))
114+ else if ((height > W))
112115 then throw("Burning ending must be greater than current height")
113- else if (if ((size(V) != 5))
116+ else if (if ((size(X) != 5))
114117 then true
115- else (size(W) != 5))
118+ else (size(Y) != 5))
116119 then throw("Amount of prizes achievemts lists must equal to 5")
117- else if (if ((size(L) != 4))
120+ else if (if ((size(N) != 4))
118121 then true
119- else (size(X) != 4))
122+ else (size(Z) != 4))
120123 then throw("Amount of levels lists must equal to 4")
121124 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])
125+ let aa = {
126+ let O = X
127+ let P = size(O)
128+ let Q = ""
129+ func R (S,T) = if ((T >= P))
130+ then S
131+ else D(S, O[T])
129132
130- func S (Q,R) = if ((R >= N))
131- then Q
133+ func U (S,T) = if ((T >= P))
134+ then S
132135 else throw("List size exceeds 5")
133136
134- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
137+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
135138 }
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])
139+ let ab = makeString(Y, ",")
140+ let ac = {
141+ let O = N
142+ let P = size(O)
143+ let Q = ""
144+ func R (S,T) = if ((T >= P))
145+ then S
146+ else D(S, O[T])
144147
145- func S (Q,R) = if ((R >= N))
146- then Q
148+ func U (S,T) = if ((T >= P))
149+ then S
147150 else throw("List size exceeds 5")
148151
149- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
152+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
150153 }
151- let ab = makeString(X, ",")
152- let ac = "0,0,0,0,0"
153-[IntegerEntry(b, U), StringEntry(c, Y), StringEntry(d, Z), StringEntry(f, aa), StringEntry(g, ab), StringEntry(e, ac)]
154+ let ad = makeString(Z, ",")
155+ let ae = "0,0,0,0,0"
156+[IntegerEntry(b, W), StringEntry(c, aa), StringEntry(d, ab), StringEntry(f, ac), StringEntry(g, ad), StringEntry(e, ae)]
154157 }
155158
156159
157160
158-@Callable(T)
161+@Callable(V)
159162 func add () = {
160- let ad = $Tuple2(T.payments[0].amount, T.payments[0].assetId)
161- let ae = ad._1
162- let af = ad._2
163- let U = valueOrElse(getInteger(this, b), 0)
163+ let af = $Tuple2(V.payments[0].amount, V.payments[0].assetId)
164+ let ag = af._1
165+ let ah = af._2
166+ let W = valueOrElse(getInteger(this, b), 0)
164167 if (!(C))
165168 then throw("DApp is inactive at this moment")
166- else if (if ((height > U))
169+ else if (if ((height > W))
167170 then true
168- else (U == 0))
171+ else (W == 0))
169172 then throw("Swop burning are ended or not started yet")
170- else if ((af != B))
173+ else if ((ah != B))
171174 then throw("You can add only SWOP token")
172175 else {
173- let ag = valueOrElse(getInteger(this, (toString(this) + l)), 0)
174- let ah = {
175- let M = split(getStringValue(this, e), ",")
176- let N = size(M)
177- let O = nil
178- func P (Q,R) = if ((R >= N))
179- then Q
180- else H(Q, M[R])
176+ let ai = (valueOrElse(getInteger(this, i), 0) + ag)
177+ let aj = valueOrElse(getInteger(this, (toString(this) + l)), 0)
178+ let ak = {
179+ let O = split(getStringValue(this, e), ",")
180+ let P = size(O)
181+ let Q = nil
182+ func R (S,T) = if ((T >= P))
183+ then S
184+ else G(S, O[T])
181185
182- func S (Q,R) = if ((R >= N))
183- then Q
186+ func U (S,T) = if ((T >= P))
187+ then S
184188 else throw("List size exceeds 5")
185189
186- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
190+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
187191 }
188- let ai = {
189- let M = split(getStringValue(this, c), ",")
190- let N = size(M)
191- let O = nil
192- func P (Q,R) = if ((R >= N))
193- then Q
194- else H(Q, M[R])
192+ let al = {
193+ let O = split(getStringValue(this, c), ",")
194+ let P = size(O)
195+ let Q = nil
196+ func R (S,T) = if ((T >= P))
197+ then S
198+ else G(S, O[T])
195199
196- func S (Q,R) = if ((R >= N))
197- then Q
200+ func U (S,T) = if ((T >= P))
201+ then S
198202 else throw("List size exceeds 5")
199203
200- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
204+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
201205 }
202- let aj = split(getStringValue(this, d), ",")
203- let ak = split(getStringValue(this, g), ",")
204- let al = {
205- let M = ai
206- let N = size(M)
207- let O = nil
208- func P (Q,R) = if ((R >= N))
209- then Q
210- else I(Q, M[R])
206+ let am = split(getStringValue(this, d), ",")
207+ let an = split(getStringValue(this, g), ",")
208+ let ao = {
209+ let O = al
210+ let P = size(O)
211+ let Q = $Tuple2(ai, nil)
212+ func R (S,T) = if ((T >= P))
213+ then S
214+ else H(S, O[T])
211215
212- func S (Q,R) = if ((R >= N))
213- then Q
216+ func U (S,T) = if ((T >= P))
217+ then S
214218 else throw("List size exceeds 5")
215219
216- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
220+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
217221 }
218- let am = {
219- let M = al
220- let N = size(M)
221- let O = ""
222- func P (Q,R) = if ((R >= N))
223- then Q
224- else E(Q, M[R])
222+ let ap = ao._2
223+ let aq = {
224+ let O = ap
225+ let P = size(O)
226+ let Q = ""
227+ func R (S,T) = if ((T >= P))
228+ then S
229+ else D(S, O[T])
225230
226- func S (Q,R) = if ((R >= N))
227- then Q
231+ func U (S,T) = if ((T >= P))
232+ then S
228233 else throw("List size exceeds 5")
229234
230- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
235+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
231236 }
232- let an = if ((al[0] != ah[0]))
237+ let ar = if ((ap[0] != ak[0]))
233238 then {
234- let ao = (al[0] - ah[0])
235- invoke(o, "add", [aj[0], ao], nil)
239+ let as = (ap[0] - ak[0])
240+ invoke(o, "add", [am[0], as], nil)
236241 }
237242 else 0
238- if ((an == an))
243+ if ((ar == ar))
239244 then {
240- let ap = if ((al[1] != ah[1]))
245+ let at = if ((ap[1] != ak[1]))
241246 then {
242- let ao = (al[1] - ah[1])
243- invoke(o, "add", [aj[1], ao], nil)
247+ let as = (ap[1] - ak[1])
248+ invoke(o, "add", [am[1], as], nil)
244249 }
245250 else 0
246- if ((ap == ap))
251+ if ((at == at))
247252 then {
248- let aq = if ((al[2] != ah[2]))
253+ let au = if ((ap[2] != ak[2]))
249254 then {
250- let ao = (al[2] - ah[2])
251- invoke(o, "add", [aj[2], ao], nil)
255+ let as = (ap[2] - ak[2])
256+ invoke(o, "add", [am[2], as], nil)
252257 }
253258 else 0
254- if ((aq == aq))
259+ if ((au == au))
255260 then {
256- let ar = if ((al[3] != ah[3]))
261+ let av = if ((ap[3] != ak[3]))
257262 then {
258- let ao = (al[3] - ah[3])
259- invoke(o, "add", [aj[3], ao], nil)
263+ let as = (ap[3] - ak[3])
264+ invoke(o, "add", [am[3], as], nil)
260265 }
261266 else 0
262- if ((ar == ar))
267+ if ((av == av))
263268 then {
264- let as = if ((al[4] != ah[4]))
269+ let aw = if ((ap[4] != ak[4]))
265270 then {
266- let ao = (al[4] - ah[4])
267- invoke(o, "add", [aj[4], ao], nil)
271+ let as = (ap[4] - ak[4])
272+ invoke(o, "add", [am[4], as], nil)
268273 }
269274 else 0
270- if ((as == as))
275+ if ((aw == aw))
271276 then {
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)
277+ let ax = L(aj)
278+ let ay = L((aj + ag))
279+ let az = if ((ax != ay))
280+ then invoke(o, "add", [an[(ay - 1)], 1], nil)
276281 else 0
277-[IntegerEntry(i, (D + ae)), IntegerEntry((toString(T.caller) + l), (ag + ae)), StringEntry(e, am)]
282+[IntegerEntry(i, ai), IntegerEntry((toString(V.caller) + l), (aj + ag)), StringEntry(e, aq)]
278283 }
279284 else throw("Strict value is not equal to itself.")
280285 }
290295
291296
292297
293-@Callable(T)
294-func hashingRandom (aw) = if (!(C))
298+@Callable(V)
299+func hashingRandom (aA) = if (!(C))
295300 then throw("DApp is inactive at this moment")
296- else if (!(containsElement([x, y, z], T.callerPublicKey)))
301+ else if (!(containsElement([x, y, z], V.callerPublicKey)))
297302 then throw("Only admin can call this function")
298- else [StringEntry(j, aw)]
303+ else [StringEntry(j, aA)]
299304
300305
301306
302-@Callable(T)
303-func finalize (ax,ay) = {
304- let az = getStringValue(this, j)
305- let aA = toBase58String(sha256((toBytes(ax) + toBytes(ay))))
307+@Callable(V)
308+func finalize (aB,aC) = {
309+ let aD = getStringValue(this, j)
310+ let aE = toBase58String(sha256((toBytes(aB) + toBytes(aC))))
306311 if (!(C))
307312 then throw("DApp is inactive at this moment")
308- else if (!(containsElement([x, y, z], T.callerPublicKey)))
313+ else if (!(containsElement([x, y, z], V.callerPublicKey)))
309314 then throw("Only admin can call this function")
310- else if ((aA != az))
315+ else if ((aE != aD))
311316 then throw("vrf Height hash not matching")
312317 else {
313- let aB = getIntegerValue(this, i)
314-[Burn(B, aB), IntegerEntry(k, height)]
318+ let aF = getIntegerValue(this, i)
319+[Burn(B, aF), IntegerEntry(k, height)]
315320 }
316321 }
317322
318323
319324
320-@Callable(T)
325+@Callable(V)
321326 func shutdown () = if (!(C))
322327 then throw("DApp already inactive")
323- else if (!(containsElement([x, y, z], T.callerPublicKey)))
328+ else if (!(containsElement([x, y, z], V.callerPublicKey)))
324329 then throw("Only admin can call this function")
325330 else [BooleanEntry(a, false)]
326331
327332
328333
329-@Callable(T)
334+@Callable(V)
330335 func activate () = if (C)
331336 then throw("DApp already active")
332- else if (!(containsElement([x, y, z], T.callerPublicKey)))
337+ else if (!(containsElement([x, y, z], V.callerPublicKey)))
333338 then throw("Only admin can call this function")
334339 else [BooleanEntry(a, true)]
335340
336341
337-@Verifier(aC)
338-func aD () = {
339- let aE = {
340- let aF = if (sigVerify(aC.bodyBytes, aC.proofs[0], x))
342+@Verifier(aG)
343+func aH () = {
344+ let aI = {
345+ let aJ = if (sigVerify(aG.bodyBytes, aG.proofs[0], x))
341346 then 1
342347 else 0
343- let aG = if (sigVerify(aC.bodyBytes, aC.proofs[1], y))
348+ let aK = if (sigVerify(aG.bodyBytes, aG.proofs[1], y))
344349 then 1
345350 else 0
346- let aH = if (sigVerify(aC.bodyBytes, aC.proofs[2], z))
351+ let aL = if (sigVerify(aG.bodyBytes, aG.proofs[2], z))
347352 then 1
348353 else 0
349- (((aF + aG) + aH) >= 2)
354+ (((aJ + aK) + aL) >= 2)
350355 }
351- let aI = if (if (if (sigVerify(aC.bodyBytes, aC.proofs[0], x))
356+ let aM = if (if (if (sigVerify(aG.bodyBytes, aG.proofs[0], x))
352357 then true
353- else sigVerify(aC.bodyBytes, aC.proofs[0], y))
358+ else sigVerify(aG.bodyBytes, aG.proofs[0], y))
354359 then true
355- else sigVerify(aC.bodyBytes, aC.proofs[0], z))
360+ else sigVerify(aG.bodyBytes, aG.proofs[0], z))
356361 then true
357- else sigVerify(aC.bodyBytes, aC.proofs[0], A)
358- let u = aC
359- aE
362+ else sigVerify(aG.bodyBytes, aG.proofs[0], A)
363+ let u = aG
364+ aI
360365 }
361366
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
1010 let d = "prizes_achievements_ids"
1111
1212 let e = "prizes_amount"
1313
1414 let f = "level_prices"
1515
1616 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
66-let D = valueOrElse(getInteger(this, i), 0)
67-
68-func E (F,G) = if ((F == ""))
69- then (F + toString(G))
70- else ((F + ",") + toString(G))
66+func D (E,F) = if ((E == ""))
67+ then (E + toString(F))
68+ else ((E + ",") + toString(F))
7169
7270
73-func H (F,G) = (F :+ parseIntValue(G))
71+func G (E,F) = (E :+ parseIntValue(F))
7472
7573
76-func I (F,G) = (F :+ (D / G))
74+func H (E,F) = {
75+ let I = E
76+ let J = I._1
77+ let K = I._2
78+ $Tuple2(J, (K :+ (J / F)))
79+ }
7780
7881
79-func J (K) = {
80- let L = {
81- let M = split(getStringValue(this, f), ",")
82- let N = size(M)
83- let O = nil
84- func P (Q,R) = if ((R >= N))
85- then Q
86- else H(Q, M[R])
82+func L (M) = {
83+ let N = {
84+ let O = split(getStringValue(this, f), ",")
85+ let P = size(O)
86+ let Q = nil
87+ func R (S,T) = if ((T >= P))
88+ then S
89+ else G(S, O[T])
8790
88- func S (Q,R) = if ((R >= N))
89- then Q
91+ func U (S,T) = if ((T >= P))
92+ then S
9093 else throw("List size exceeds 5")
9194
92- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
95+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
9396 }
94- if ((L[3] >= K))
97+ if ((N[3] >= M))
9598 then 4
96- else if ((L[2] >= K))
99+ else if ((N[2] >= M))
97100 then 3
98- else if ((L[1] >= K))
101+ else if ((N[1] >= M))
99102 then 2
100- else if ((L[0] >= K))
103+ else if ((N[0] >= M))
101104 then 1
102105 else 0
103106 }
104107
105108
106-@Callable(T)
107-func init (U,V,W,L,X) = if (!(containsElement([x, y, z], T.callerPublicKey)))
109+@Callable(V)
110+func init (W,X,Y,N,Z) = if (!(containsElement([x, y, z], V.callerPublicKey)))
108111 then throw("Only admin can call this function")
109112 else if (isDefined(getInteger(this, b)))
110113 then throw("DApp is already inited")
111- else if ((height > U))
114+ else if ((height > W))
112115 then throw("Burning ending must be greater than current height")
113- else if (if ((size(V) != 5))
116+ else if (if ((size(X) != 5))
114117 then true
115- else (size(W) != 5))
118+ else (size(Y) != 5))
116119 then throw("Amount of prizes achievemts lists must equal to 5")
117- else if (if ((size(L) != 4))
120+ else if (if ((size(N) != 4))
118121 then true
119- else (size(X) != 4))
122+ else (size(Z) != 4))
120123 then throw("Amount of levels lists must equal to 4")
121124 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])
125+ let aa = {
126+ let O = X
127+ let P = size(O)
128+ let Q = ""
129+ func R (S,T) = if ((T >= P))
130+ then S
131+ else D(S, O[T])
129132
130- func S (Q,R) = if ((R >= N))
131- then Q
133+ func U (S,T) = if ((T >= P))
134+ then S
132135 else throw("List size exceeds 5")
133136
134- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
137+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
135138 }
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])
139+ let ab = makeString(Y, ",")
140+ let ac = {
141+ let O = N
142+ let P = size(O)
143+ let Q = ""
144+ func R (S,T) = if ((T >= P))
145+ then S
146+ else D(S, O[T])
144147
145- func S (Q,R) = if ((R >= N))
146- then Q
148+ func U (S,T) = if ((T >= P))
149+ then S
147150 else throw("List size exceeds 5")
148151
149- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
152+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
150153 }
151- let ab = makeString(X, ",")
152- let ac = "0,0,0,0,0"
153-[IntegerEntry(b, U), StringEntry(c, Y), StringEntry(d, Z), StringEntry(f, aa), StringEntry(g, ab), StringEntry(e, ac)]
154+ let ad = makeString(Z, ",")
155+ let ae = "0,0,0,0,0"
156+[IntegerEntry(b, W), StringEntry(c, aa), StringEntry(d, ab), StringEntry(f, ac), StringEntry(g, ad), StringEntry(e, ae)]
154157 }
155158
156159
157160
158-@Callable(T)
161+@Callable(V)
159162 func add () = {
160- let ad = $Tuple2(T.payments[0].amount, T.payments[0].assetId)
161- let ae = ad._1
162- let af = ad._2
163- let U = valueOrElse(getInteger(this, b), 0)
163+ let af = $Tuple2(V.payments[0].amount, V.payments[0].assetId)
164+ let ag = af._1
165+ let ah = af._2
166+ let W = valueOrElse(getInteger(this, b), 0)
164167 if (!(C))
165168 then throw("DApp is inactive at this moment")
166- else if (if ((height > U))
169+ else if (if ((height > W))
167170 then true
168- else (U == 0))
171+ else (W == 0))
169172 then throw("Swop burning are ended or not started yet")
170- else if ((af != B))
173+ else if ((ah != B))
171174 then throw("You can add only SWOP token")
172175 else {
173- let ag = valueOrElse(getInteger(this, (toString(this) + l)), 0)
174- let ah = {
175- let M = split(getStringValue(this, e), ",")
176- let N = size(M)
177- let O = nil
178- func P (Q,R) = if ((R >= N))
179- then Q
180- else H(Q, M[R])
176+ let ai = (valueOrElse(getInteger(this, i), 0) + ag)
177+ let aj = valueOrElse(getInteger(this, (toString(this) + l)), 0)
178+ let ak = {
179+ let O = split(getStringValue(this, e), ",")
180+ let P = size(O)
181+ let Q = nil
182+ func R (S,T) = if ((T >= P))
183+ then S
184+ else G(S, O[T])
181185
182- func S (Q,R) = if ((R >= N))
183- then Q
186+ func U (S,T) = if ((T >= P))
187+ then S
184188 else throw("List size exceeds 5")
185189
186- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
190+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
187191 }
188- let ai = {
189- let M = split(getStringValue(this, c), ",")
190- let N = size(M)
191- let O = nil
192- func P (Q,R) = if ((R >= N))
193- then Q
194- else H(Q, M[R])
192+ let al = {
193+ let O = split(getStringValue(this, c), ",")
194+ let P = size(O)
195+ let Q = nil
196+ func R (S,T) = if ((T >= P))
197+ then S
198+ else G(S, O[T])
195199
196- func S (Q,R) = if ((R >= N))
197- then Q
200+ func U (S,T) = if ((T >= P))
201+ then S
198202 else throw("List size exceeds 5")
199203
200- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
204+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
201205 }
202- let aj = split(getStringValue(this, d), ",")
203- let ak = split(getStringValue(this, g), ",")
204- let al = {
205- let M = ai
206- let N = size(M)
207- let O = nil
208- func P (Q,R) = if ((R >= N))
209- then Q
210- else I(Q, M[R])
206+ let am = split(getStringValue(this, d), ",")
207+ let an = split(getStringValue(this, g), ",")
208+ let ao = {
209+ let O = al
210+ let P = size(O)
211+ let Q = $Tuple2(ai, nil)
212+ func R (S,T) = if ((T >= P))
213+ then S
214+ else H(S, O[T])
211215
212- func S (Q,R) = if ((R >= N))
213- then Q
216+ func U (S,T) = if ((T >= P))
217+ then S
214218 else throw("List size exceeds 5")
215219
216- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
220+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
217221 }
218- let am = {
219- let M = al
220- let N = size(M)
221- let O = ""
222- func P (Q,R) = if ((R >= N))
223- then Q
224- else E(Q, M[R])
222+ let ap = ao._2
223+ let aq = {
224+ let O = ap
225+ let P = size(O)
226+ let Q = ""
227+ func R (S,T) = if ((T >= P))
228+ then S
229+ else D(S, O[T])
225230
226- func S (Q,R) = if ((R >= N))
227- then Q
231+ func U (S,T) = if ((T >= P))
232+ then S
228233 else throw("List size exceeds 5")
229234
230- S(P(P(P(P(P(O, 0), 1), 2), 3), 4), 5)
235+ U(R(R(R(R(R(Q, 0), 1), 2), 3), 4), 5)
231236 }
232- let an = if ((al[0] != ah[0]))
237+ let ar = if ((ap[0] != ak[0]))
233238 then {
234- let ao = (al[0] - ah[0])
235- invoke(o, "add", [aj[0], ao], nil)
239+ let as = (ap[0] - ak[0])
240+ invoke(o, "add", [am[0], as], nil)
236241 }
237242 else 0
238- if ((an == an))
243+ if ((ar == ar))
239244 then {
240- let ap = if ((al[1] != ah[1]))
245+ let at = if ((ap[1] != ak[1]))
241246 then {
242- let ao = (al[1] - ah[1])
243- invoke(o, "add", [aj[1], ao], nil)
247+ let as = (ap[1] - ak[1])
248+ invoke(o, "add", [am[1], as], nil)
244249 }
245250 else 0
246- if ((ap == ap))
251+ if ((at == at))
247252 then {
248- let aq = if ((al[2] != ah[2]))
253+ let au = if ((ap[2] != ak[2]))
249254 then {
250- let ao = (al[2] - ah[2])
251- invoke(o, "add", [aj[2], ao], nil)
255+ let as = (ap[2] - ak[2])
256+ invoke(o, "add", [am[2], as], nil)
252257 }
253258 else 0
254- if ((aq == aq))
259+ if ((au == au))
255260 then {
256- let ar = if ((al[3] != ah[3]))
261+ let av = if ((ap[3] != ak[3]))
257262 then {
258- let ao = (al[3] - ah[3])
259- invoke(o, "add", [aj[3], ao], nil)
263+ let as = (ap[3] - ak[3])
264+ invoke(o, "add", [am[3], as], nil)
260265 }
261266 else 0
262- if ((ar == ar))
267+ if ((av == av))
263268 then {
264- let as = if ((al[4] != ah[4]))
269+ let aw = if ((ap[4] != ak[4]))
265270 then {
266- let ao = (al[4] - ah[4])
267- invoke(o, "add", [aj[4], ao], nil)
271+ let as = (ap[4] - ak[4])
272+ invoke(o, "add", [am[4], as], nil)
268273 }
269274 else 0
270- if ((as == as))
275+ if ((aw == aw))
271276 then {
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)
277+ let ax = L(aj)
278+ let ay = L((aj + ag))
279+ let az = if ((ax != ay))
280+ then invoke(o, "add", [an[(ay - 1)], 1], nil)
276281 else 0
277-[IntegerEntry(i, (D + ae)), IntegerEntry((toString(T.caller) + l), (ag + ae)), StringEntry(e, am)]
282+[IntegerEntry(i, ai), IntegerEntry((toString(V.caller) + l), (aj + ag)), StringEntry(e, aq)]
278283 }
279284 else throw("Strict value is not equal to itself.")
280285 }
281286 else throw("Strict value is not equal to itself.")
282287 }
283288 else throw("Strict value is not equal to itself.")
284289 }
285290 else throw("Strict value is not equal to itself.")
286291 }
287292 else throw("Strict value is not equal to itself.")
288293 }
289294 }
290295
291296
292297
293-@Callable(T)
294-func hashingRandom (aw) = if (!(C))
298+@Callable(V)
299+func hashingRandom (aA) = if (!(C))
295300 then throw("DApp is inactive at this moment")
296- else if (!(containsElement([x, y, z], T.callerPublicKey)))
301+ else if (!(containsElement([x, y, z], V.callerPublicKey)))
297302 then throw("Only admin can call this function")
298- else [StringEntry(j, aw)]
303+ else [StringEntry(j, aA)]
299304
300305
301306
302-@Callable(T)
303-func finalize (ax,ay) = {
304- let az = getStringValue(this, j)
305- let aA = toBase58String(sha256((toBytes(ax) + toBytes(ay))))
307+@Callable(V)
308+func finalize (aB,aC) = {
309+ let aD = getStringValue(this, j)
310+ let aE = toBase58String(sha256((toBytes(aB) + toBytes(aC))))
306311 if (!(C))
307312 then throw("DApp is inactive at this moment")
308- else if (!(containsElement([x, y, z], T.callerPublicKey)))
313+ else if (!(containsElement([x, y, z], V.callerPublicKey)))
309314 then throw("Only admin can call this function")
310- else if ((aA != az))
315+ else if ((aE != aD))
311316 then throw("vrf Height hash not matching")
312317 else {
313- let aB = getIntegerValue(this, i)
314-[Burn(B, aB), IntegerEntry(k, height)]
318+ let aF = getIntegerValue(this, i)
319+[Burn(B, aF), IntegerEntry(k, height)]
315320 }
316321 }
317322
318323
319324
320-@Callable(T)
325+@Callable(V)
321326 func shutdown () = if (!(C))
322327 then throw("DApp already inactive")
323- else if (!(containsElement([x, y, z], T.callerPublicKey)))
328+ else if (!(containsElement([x, y, z], V.callerPublicKey)))
324329 then throw("Only admin can call this function")
325330 else [BooleanEntry(a, false)]
326331
327332
328333
329-@Callable(T)
334+@Callable(V)
330335 func activate () = if (C)
331336 then throw("DApp already active")
332- else if (!(containsElement([x, y, z], T.callerPublicKey)))
337+ else if (!(containsElement([x, y, z], V.callerPublicKey)))
333338 then throw("Only admin can call this function")
334339 else [BooleanEntry(a, true)]
335340
336341
337-@Verifier(aC)
338-func aD () = {
339- let aE = {
340- let aF = if (sigVerify(aC.bodyBytes, aC.proofs[0], x))
342+@Verifier(aG)
343+func aH () = {
344+ let aI = {
345+ let aJ = if (sigVerify(aG.bodyBytes, aG.proofs[0], x))
341346 then 1
342347 else 0
343- let aG = if (sigVerify(aC.bodyBytes, aC.proofs[1], y))
348+ let aK = if (sigVerify(aG.bodyBytes, aG.proofs[1], y))
344349 then 1
345350 else 0
346- let aH = if (sigVerify(aC.bodyBytes, aC.proofs[2], z))
351+ let aL = if (sigVerify(aG.bodyBytes, aG.proofs[2], z))
347352 then 1
348353 else 0
349- (((aF + aG) + aH) >= 2)
354+ (((aJ + aK) + aL) >= 2)
350355 }
351- let aI = if (if (if (sigVerify(aC.bodyBytes, aC.proofs[0], x))
356+ let aM = if (if (if (sigVerify(aG.bodyBytes, aG.proofs[0], x))
352357 then true
353- else sigVerify(aC.bodyBytes, aC.proofs[0], y))
358+ else sigVerify(aG.bodyBytes, aG.proofs[0], y))
354359 then true
355- else sigVerify(aC.bodyBytes, aC.proofs[0], z))
360+ else sigVerify(aG.bodyBytes, aG.proofs[0], z))
356361 then true
357- else sigVerify(aC.bodyBytes, aC.proofs[0], A)
358- let u = aC
359- aE
362+ else sigVerify(aG.bodyBytes, aG.proofs[0], A)
363+ let u = aG
364+ aI
360365 }
361366

github/deemru/w8io/873ac7e 
124.56 ms