tx · 4mmixvcrru92yoyqKzaGjnqKhsUjush4SaRmr66PunQY

3N8YkRZsgDVNAxtmwU1F65EpcYMb8f7QPos:  -0.01500000 Waves

2024.06.04 10:25 [3135647] smart account 3N8YkRZsgDVNAxtmwU1F65EpcYMb8f7QPos > SELF 0.00000000 Waves

{ "type": 13, "id": "4mmixvcrru92yoyqKzaGjnqKhsUjush4SaRmr66PunQY", "fee": 1500000, "feeAssetId": null, "timestamp": 1717485975593, "version": 2, "chainId": 84, "sender": "3N8YkRZsgDVNAxtmwU1F65EpcYMb8f7QPos", "senderPublicKey": "F7SLwr7RYVQpyocmVScFC6ooaAwewaGq6wNRDYvyiPj1", "proofs": [ "3Dic9QMhLWcaAiQJ4EUGaohb2Qner7Lsn5d3hiintmHmH8XZd34XWPgTH7ar6BH3sKWi8syenoQSLUY5tpSxG3tA" ], "script": "base64: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ZQAAAAAAAAAAAQQAAAAKYWRqdXN0bWVudAkAAGkAAAACCQAAaAAAAAIFAAAAAWsJAABlAAAAAgAAAAAAAAAAZAUAAAAMcmF0aW5fZmFjdG9yBQAAAAVzY2FsZQkAAGQAAAACBQAAAAhyX3BsYXllcgUAAAAKYWRqdXN0bWVudAQAAAAKYWRqdXN0bWVudAkAAGkAAAACCQAAaAAAAAIJAQAAAAEtAAAAAQUAAAABawkAAGQAAAACAAAAAAAAAAAUBQAAAAxyYXRpbl9mYWN0b3IFAAAABXNjYWxlCQAAZAAAAAIFAAAACHJfcGxheWVyBQAAAAphZGp1c3RtZW50AAAAAwAAAAFpAQAAACJhZGp1c3RSYXRpbmdzQW5kUGF5b3V0UGFydGljaXBhbnRzAAAABAAAAAZpdGVtSWQAAAALYWRkcmVzc0xpc3QAAAARbGFzdENhbGxlckFkZHJlc3MAAAAPZmluYWxQcmVkaWN0aW9uBAAAAAZjYWxsZXIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyAwkBAAAAAiE9AAAAAgUAAAAGY2FsbGVyCQAEJQAAAAEFAAAABHRoaXMJAAACAAAAAQIAAAApWW91IGFyZSBub3QgYWxsb3dlZCB0byBjYWxsIHRoaXMgZnVuY3Rpb24KAQAAABF1cGRhdGVSYXRpbmdzRnVuYwAAAAIAAAAFYWNjdW0AAAAHYWRkcmVzcwQAAAAGcmF0aW5nCQEAAAAPc2VhcmNoRm9yUmF0aW5nAAAAAQUAAAAHYWRkcmVzcwQAAAAKcHJlZGljdGlvbgkBAAAAGnNlYXJjaEZvckFkZHJlc3NQcmVkaWN0aW9uAAAAAgUAAAAGaXRlbUlkBQAAAAdhZGRyZXNzBAAAAAthY3R1YWxTY29yZQMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgUAAAAPZmluYWxQcmVkaWN0aW9uAAAAAAAAAAABAAAAAAAAAAAABAAAAAluZXdSYXRpbmcJAQAAABJjYWxjdWxhdGVOZXdSYXRpbmcAAAAEBQAAAAZyYXRpbmcFAAAABXJfbWF4BQAAAA5yYXRlQWRqdXN0bWVudAUAAAALYWN0dWFsU2NvcmUEAAAABnBheW91dAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgUAAAAPZmluYWxQcmVkaWN0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", "height": 3135647, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: G5Dda9KrcBGYpRkjo7e7XMUa1yEp725mAzkrZzaEenia Next: 5tdrBtY5Y9NTfeYbV2XqAyWWKcqSx9tJyshjbFeqd54p Diff:
OldNewDifferences
1111
1212 let e = base58'8QGJvsXqJ43q5ksFymoPKF1NWWhwUfr2F7h52oeWgVhH'
1313
14-let f = 100000000
14+let f = 50000000
1515
1616 let g = 50
1717
18-let h = 100
18+let h = 500
1919
20-let i = 1000
20+let i = 100
2121
2222 func j (k,l) = {
2323 let j = {
101101
102102
103103 func C (D,h) = {
104- let E = (h - D)
105- let F = (E / h)
106- let G = pow(10, 0, F, 0, 0, HALFUP)
107- let H = (i + G)
108- (i / H)
104+ let E = ((D * 100) / h)
105+ let F = ((f * E) / 100)
106+ F
109107 }
110108
111109
112-func I (D,h) = {
113- let J = ((D * 100) / h)
114- let K = ((f * J) / 100)
115- K
110+func G (D,H,I,J) = {
111+ let K = ((D * i) / h)
112+ if ((J == 1))
113+ then {
114+ let L = ((I * (100 - K)) / i)
115+ (D + L)
116+ }
117+ else {
118+ let L = ((-(I) * (20 + K)) / i)
119+ (D + L)
120+ }
116121 }
117122
118123
119-func L (D,h,M,N) = {
120- let O = C(D, h)
121- let P = (N * i)
122- let Q = ((M * (N - O)) / i)
123- (D + Q)
124- }
125-
126-
127-@Callable(R)
128-func adjustRatingsAndPayoutParticipants (k,S,T,U) = {
129- let V = toString(R.caller)
130- if ((V != toString(this)))
124+@Callable(M)
125+func adjustRatingsAndPayoutParticipants (k,N,O,P) = {
126+ let Q = toString(M.caller)
127+ if ((Q != toString(this)))
131128 then throw("You are not allowed to call this function")
132129 else {
133- func W (X,p) = {
130+ func R (S,p) = {
134131 let q = o(p)
135- let Y = s(k, p)
136- let N = if ((Y == U))
132+ let T = s(k, p)
133+ let J = if ((T == P))
137134 then 1
138135 else 0
139- let Z = L(q, h, d, N)
140- let K = if ((Y == U))
136+ let U = G(q, h, d, J)
137+ let F = if ((T == P))
141138 then true
142139 else false
143- let aa = (X :+ IntegerEntry((p + "_rating"), Z))
144- let ab = I(Z, h)
145- if (K)
146- then (aa :+ ScriptTransfer(Address(fromBase58String(p)), ab, e))
147- else aa
140+ let V = (S :+ IntegerEntry((p + "_rating"), U))
141+ let W = C(U, h)
142+ if (F)
143+ then (V :+ ScriptTransfer(Address(fromBase58String(p)), W, e))
144+ else V
148145 }
149146
150- let ac = {
151- let ad = S
152- let ae = size(ad)
153- let af = nil
154- func ag (ah,ai) = if ((ai >= ae))
155- then ah
156- else W(ah, ad[ai])
147+ let X = {
148+ let Y = N
149+ let Z = size(Y)
150+ let aa = nil
151+ func ab (ac,ad) = if ((ad >= Z))
152+ then ac
153+ else R(ac, Y[ad])
157154
158- func aj (ah,ai) = if ((ai >= ae))
159- then ah
155+ func ae (ac,ad) = if ((ad >= Z))
156+ then ac
160157 else throw("List size exceeds 5")
161158
162- aj(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5)
159+ ae(ab(ab(ab(ab(ab(aa, 0), 1), 2), 3), 4), 5)
163160 }
164- (ac :+ BooleanEntry((k + "_adjusted"), true))
161+ (X :+ BooleanEntry((k + "_adjusted"), true))
165162 }
166163 }
167164
168165
169166
170-@Callable(R)
171-func savePrediction (k,Y) = {
172- let ak = toString(R.caller)
173- let al = {
174- let m = getInteger((ak + "_rating"))
167+@Callable(M)
168+func savePrediction (k,T) = {
169+ let af = toString(M.caller)
170+ let ag = {
171+ let m = getInteger((af + "_rating"))
175172 if ($isInstanceOf(m, "Int"))
176173 then {
177174 let n = m
179176 }
180177 else "User does not exist"
181178 }
182- if ((al == "User does not exist"))
179+ if ((ag == "User does not exist"))
183180 then throw("User does not exist")
184181 else {
185- let am = {
182+ let ah = {
186183 let m = getBoolean((k + "_final"))
187184 if ($isInstanceOf(m, "Boolean"))
188185 then {
191188 }
192189 else false
193190 }
194- if (am)
191+ if (ah)
195192 then throw("Final prediction already made")
196193 else {
197- let an = {
194+ let ai = {
198195 let m = getBoolean((k + "_cancelled"))
199196 if ($isInstanceOf(m, "Boolean"))
200197 then {
203200 }
204201 else false
205202 }
206- if (an)
203+ if (ai)
207204 then throw("Final prediction already made")
208205 else {
209- let ao = o(ak)
210- if ((g >= ao))
206+ let aj = o(af)
207+ if ((g >= aj))
211208 then throw("You are not allowed to participate anymore")
212209 else {
213- let ap = {
210+ let ak = {
214211 let m = getInteger((k + "_counter"))
215212 if ($isInstanceOf(m, "Int"))
216213 then {
219216 }
220217 else -1
221218 }
222- if ((ap >= 1))
219+ if ((ak >= 1))
223220 then {
224- let w = v(k, ap)
225- if (containsElement(w, ak))
221+ let w = v(k, ak)
222+ if (containsElement(w, af))
226223 then throw("This User already gave a Prediction")
227224 else {
228- let aq = {
225+ let al = {
229226 let m = getInteger((k + "_predictionCounter"))
230227 if ($isInstanceOf(m, "Int"))
231228 then {
234231 }
235232 else -1
236233 }
237- let ar = w[(size(w) - 1)]
238- let as = {
239- let m = getString(((k + "_") + ar))
234+ let am = w[(size(w) - 1)]
235+ let an = {
236+ let m = getString(((k + "_") + am))
240237 if ($isInstanceOf(m, "String"))
241238 then {
242239 let n = m
244241 }
245242 else "no Prediction Found"
246243 }
247- let at = (ap + 1)
248- if ((as == Y))
249- then if (((aq + 1) == a))
244+ let ao = (ak + 1)
245+ if ((an == T))
246+ then if (((al + 1) == a))
250247 then {
251- let Z = L(ao, h, d, 1)
252- let ab = I(Z, h)
253- let au = invoke(this, "adjustRatingsAndPayoutParticipants", [k, w, ak, Y], nil)
254- if ((au != au))
248+ let U = G(aj, h, d, 1)
249+ let W = C(U, h)
250+ let ap = invoke(this, "adjustRatingsAndPayoutParticipants", [k, w, af, T], nil)
251+ if ((ap != ap))
255252 then throw("Strict value is not equal to itself.")
256- else [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), (aq + 1)), BooleanEntry((k + "_final"), true), BooleanEntry((k + "_cancelled"), false), ScriptTransfer(Address(fromBase58String(ak)), ab, e), IntegerEntry((ak + "_rating"), Z)]
253+ else [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), (al + 1)), BooleanEntry((k + "_final"), true), BooleanEntry((k + "_cancelled"), false), ScriptTransfer(Address(fromBase58String(af)), W, e), IntegerEntry((af + "_rating"), U)]
257254 }
258- else [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), (aq + 1)), BooleanEntry((k + "_final"), false), BooleanEntry((k + "_cancelled"), false)]
259- else if ((at >= b))
260- then [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), (aq - 1)), BooleanEntry((k + "_cancelled"), true), BooleanEntry((k + "_final"), false)]
261- else if (((aq - 1) == 0))
262- then [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), 1), BooleanEntry((k + "_cancelled"), false), BooleanEntry((k + "_final"), false), StringEntry("test", as), IntegerEntry("test2", size(w))]
263- else [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), (aq - 1)), BooleanEntry((k + "_cancelled"), false), BooleanEntry((k + "_final"), false), StringEntry("test", as), IntegerEntry("test2", size(w))]
255+ else [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), (al + 1)), BooleanEntry((k + "_final"), false), BooleanEntry((k + "_cancelled"), false)]
256+ else if ((ao >= b))
257+ then [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), (al - 1)), BooleanEntry((k + "_cancelled"), true), BooleanEntry((k + "_final"), false)]
258+ else if (((al - 1) == 0))
259+ then [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), 1), BooleanEntry((k + "_cancelled"), false), BooleanEntry((k + "_final"), false), StringEntry("test", an), IntegerEntry("test2", size(w))]
260+ else [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), (al - 1)), BooleanEntry((k + "_cancelled"), false), BooleanEntry((k + "_final"), false), StringEntry("test", an), IntegerEntry("test2", size(w))]
264261 }
265262 }
266263 else {
267- let av = {
264+ let aq = {
268265 let m = getString(("new_" + k))
269266 if ($isInstanceOf(m, "String"))
270267 then {
273270 }
274271 else "Item not Found"
275272 }
276- if ((av == "Item not Found"))
273+ if ((aq == "Item not Found"))
277274 then throw("Item not found")
278- else [StringEntry(((k + "_") + toString(1)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), 1), IntegerEntry((k + "_predictionCounter"), 1), DeleteEntry(("new_" + k)), StringEntry(("updated_" + k), k)]
275+ else [StringEntry(((k + "_") + toString(1)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), 1), IntegerEntry((k + "_predictionCounter"), 1), DeleteEntry(("new_" + k)), StringEntry(("updated_" + k), k)]
279276 }
280277 }
281278 }
285282
286283
287284
288-@Callable(R)
285+@Callable(M)
289286 func registerUser () = {
290- let ak = toString(R.caller)
291- let al = {
292- let m = getInteger((ak + "_rating"))
287+ let af = toString(M.caller)
288+ let ag = {
289+ let m = getInteger((af + "_rating"))
293290 if ($isInstanceOf(m, "Int"))
294291 then {
295292 let n = m
297294 }
298295 else -1
299296 }
300- if ((al != -1))
297+ if ((ag != -1))
301298 then throw("User already exists")
302- else [IntegerEntry((ak + "_rating"), c)]
299+ else [IntegerEntry((af + "_rating"), c)]
303300 }
304301
305302
306-@Verifier(aw)
307-func ax () = sigVerify(aw.bodyBytes, aw.proofs[0], aw.senderPublicKey)
303+@Verifier(ar)
304+func as () = sigVerify(ar.bodyBytes, ar.proofs[0], ar.senderPublicKey)
308305
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = 3
55
66 let b = 6
77
88 let c = 100
99
1010 let d = 20
1111
1212 let e = base58'8QGJvsXqJ43q5ksFymoPKF1NWWhwUfr2F7h52oeWgVhH'
1313
14-let f = 100000000
14+let f = 50000000
1515
1616 let g = 50
1717
18-let h = 100
18+let h = 500
1919
20-let i = 1000
20+let i = 100
2121
2222 func j (k,l) = {
2323 let j = {
2424 let m = getString(((k + "_") + toString(l)))
2525 if ($isInstanceOf(m, "String"))
2626 then {
2727 let n = m
2828 n
2929 }
3030 else "No User"
3131 }
3232 j
3333 }
3434
3535
3636 func o (p) = {
3737 let q = {
3838 let m = getInteger((p + "_rating"))
3939 if ($isInstanceOf(m, "Int"))
4040 then {
4141 let r = m
4242 r
4343 }
4444 else c
4545 }
4646 q
4747 }
4848
4949
5050 func s (k,t) = {
5151 let u = {
5252 let m = getString(((k + "_") + t))
5353 if ($isInstanceOf(m, "String"))
5454 then {
5555 let n = m
5656 n
5757 }
5858 else "Not Found"
5959 }
6060 u
6161 }
6262
6363
6464 func v (k,l) = {
6565 let w = if ((l >= 5))
6666 then {
6767 let x = j(k, 1)
6868 let y = j(k, 2)
6969 let z = j(k, 3)
7070 let A = j(k, 4)
7171 let B = j(k, 5)
7272 (((((nil :+ x) :+ y) :+ z) :+ A) :+ B)
7373 }
7474 else if ((l >= 4))
7575 then {
7676 let x = j(k, 1)
7777 let y = j(k, 2)
7878 let z = j(k, 3)
7979 let A = j(k, 4)
8080 ((((nil :+ x) :+ y) :+ z) :+ A)
8181 }
8282 else if ((l >= 3))
8383 then {
8484 let x = j(k, 1)
8585 let y = j(k, 2)
8686 let z = j(k, 3)
8787 (((nil :+ x) :+ y) :+ z)
8888 }
8989 else if ((l >= 2))
9090 then {
9191 let x = j(k, 1)
9292 let y = j(k, 2)
9393 ((nil :+ x) :+ y)
9494 }
9595 else {
9696 let x = j(k, 1)
9797 (nil :+ x)
9898 }
9999 w
100100 }
101101
102102
103103 func C (D,h) = {
104- let E = (h - D)
105- let F = (E / h)
106- let G = pow(10, 0, F, 0, 0, HALFUP)
107- let H = (i + G)
108- (i / H)
104+ let E = ((D * 100) / h)
105+ let F = ((f * E) / 100)
106+ F
109107 }
110108
111109
112-func I (D,h) = {
113- let J = ((D * 100) / h)
114- let K = ((f * J) / 100)
115- K
110+func G (D,H,I,J) = {
111+ let K = ((D * i) / h)
112+ if ((J == 1))
113+ then {
114+ let L = ((I * (100 - K)) / i)
115+ (D + L)
116+ }
117+ else {
118+ let L = ((-(I) * (20 + K)) / i)
119+ (D + L)
120+ }
116121 }
117122
118123
119-func L (D,h,M,N) = {
120- let O = C(D, h)
121- let P = (N * i)
122- let Q = ((M * (N - O)) / i)
123- (D + Q)
124- }
125-
126-
127-@Callable(R)
128-func adjustRatingsAndPayoutParticipants (k,S,T,U) = {
129- let V = toString(R.caller)
130- if ((V != toString(this)))
124+@Callable(M)
125+func adjustRatingsAndPayoutParticipants (k,N,O,P) = {
126+ let Q = toString(M.caller)
127+ if ((Q != toString(this)))
131128 then throw("You are not allowed to call this function")
132129 else {
133- func W (X,p) = {
130+ func R (S,p) = {
134131 let q = o(p)
135- let Y = s(k, p)
136- let N = if ((Y == U))
132+ let T = s(k, p)
133+ let J = if ((T == P))
137134 then 1
138135 else 0
139- let Z = L(q, h, d, N)
140- let K = if ((Y == U))
136+ let U = G(q, h, d, J)
137+ let F = if ((T == P))
141138 then true
142139 else false
143- let aa = (X :+ IntegerEntry((p + "_rating"), Z))
144- let ab = I(Z, h)
145- if (K)
146- then (aa :+ ScriptTransfer(Address(fromBase58String(p)), ab, e))
147- else aa
140+ let V = (S :+ IntegerEntry((p + "_rating"), U))
141+ let W = C(U, h)
142+ if (F)
143+ then (V :+ ScriptTransfer(Address(fromBase58String(p)), W, e))
144+ else V
148145 }
149146
150- let ac = {
151- let ad = S
152- let ae = size(ad)
153- let af = nil
154- func ag (ah,ai) = if ((ai >= ae))
155- then ah
156- else W(ah, ad[ai])
147+ let X = {
148+ let Y = N
149+ let Z = size(Y)
150+ let aa = nil
151+ func ab (ac,ad) = if ((ad >= Z))
152+ then ac
153+ else R(ac, Y[ad])
157154
158- func aj (ah,ai) = if ((ai >= ae))
159- then ah
155+ func ae (ac,ad) = if ((ad >= Z))
156+ then ac
160157 else throw("List size exceeds 5")
161158
162- aj(ag(ag(ag(ag(ag(af, 0), 1), 2), 3), 4), 5)
159+ ae(ab(ab(ab(ab(ab(aa, 0), 1), 2), 3), 4), 5)
163160 }
164- (ac :+ BooleanEntry((k + "_adjusted"), true))
161+ (X :+ BooleanEntry((k + "_adjusted"), true))
165162 }
166163 }
167164
168165
169166
170-@Callable(R)
171-func savePrediction (k,Y) = {
172- let ak = toString(R.caller)
173- let al = {
174- let m = getInteger((ak + "_rating"))
167+@Callable(M)
168+func savePrediction (k,T) = {
169+ let af = toString(M.caller)
170+ let ag = {
171+ let m = getInteger((af + "_rating"))
175172 if ($isInstanceOf(m, "Int"))
176173 then {
177174 let n = m
178175 n
179176 }
180177 else "User does not exist"
181178 }
182- if ((al == "User does not exist"))
179+ if ((ag == "User does not exist"))
183180 then throw("User does not exist")
184181 else {
185- let am = {
182+ let ah = {
186183 let m = getBoolean((k + "_final"))
187184 if ($isInstanceOf(m, "Boolean"))
188185 then {
189186 let n = m
190187 n
191188 }
192189 else false
193190 }
194- if (am)
191+ if (ah)
195192 then throw("Final prediction already made")
196193 else {
197- let an = {
194+ let ai = {
198195 let m = getBoolean((k + "_cancelled"))
199196 if ($isInstanceOf(m, "Boolean"))
200197 then {
201198 let n = m
202199 n
203200 }
204201 else false
205202 }
206- if (an)
203+ if (ai)
207204 then throw("Final prediction already made")
208205 else {
209- let ao = o(ak)
210- if ((g >= ao))
206+ let aj = o(af)
207+ if ((g >= aj))
211208 then throw("You are not allowed to participate anymore")
212209 else {
213- let ap = {
210+ let ak = {
214211 let m = getInteger((k + "_counter"))
215212 if ($isInstanceOf(m, "Int"))
216213 then {
217214 let n = m
218215 n
219216 }
220217 else -1
221218 }
222- if ((ap >= 1))
219+ if ((ak >= 1))
223220 then {
224- let w = v(k, ap)
225- if (containsElement(w, ak))
221+ let w = v(k, ak)
222+ if (containsElement(w, af))
226223 then throw("This User already gave a Prediction")
227224 else {
228- let aq = {
225+ let al = {
229226 let m = getInteger((k + "_predictionCounter"))
230227 if ($isInstanceOf(m, "Int"))
231228 then {
232229 let n = m
233230 n
234231 }
235232 else -1
236233 }
237- let ar = w[(size(w) - 1)]
238- let as = {
239- let m = getString(((k + "_") + ar))
234+ let am = w[(size(w) - 1)]
235+ let an = {
236+ let m = getString(((k + "_") + am))
240237 if ($isInstanceOf(m, "String"))
241238 then {
242239 let n = m
243240 n
244241 }
245242 else "no Prediction Found"
246243 }
247- let at = (ap + 1)
248- if ((as == Y))
249- then if (((aq + 1) == a))
244+ let ao = (ak + 1)
245+ if ((an == T))
246+ then if (((al + 1) == a))
250247 then {
251- let Z = L(ao, h, d, 1)
252- let ab = I(Z, h)
253- let au = invoke(this, "adjustRatingsAndPayoutParticipants", [k, w, ak, Y], nil)
254- if ((au != au))
248+ let U = G(aj, h, d, 1)
249+ let W = C(U, h)
250+ let ap = invoke(this, "adjustRatingsAndPayoutParticipants", [k, w, af, T], nil)
251+ if ((ap != ap))
255252 then throw("Strict value is not equal to itself.")
256- else [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), (aq + 1)), BooleanEntry((k + "_final"), true), BooleanEntry((k + "_cancelled"), false), ScriptTransfer(Address(fromBase58String(ak)), ab, e), IntegerEntry((ak + "_rating"), Z)]
253+ else [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), (al + 1)), BooleanEntry((k + "_final"), true), BooleanEntry((k + "_cancelled"), false), ScriptTransfer(Address(fromBase58String(af)), W, e), IntegerEntry((af + "_rating"), U)]
257254 }
258- else [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), (aq + 1)), BooleanEntry((k + "_final"), false), BooleanEntry((k + "_cancelled"), false)]
259- else if ((at >= b))
260- then [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), (aq - 1)), BooleanEntry((k + "_cancelled"), true), BooleanEntry((k + "_final"), false)]
261- else if (((aq - 1) == 0))
262- then [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), 1), BooleanEntry((k + "_cancelled"), false), BooleanEntry((k + "_final"), false), StringEntry("test", as), IntegerEntry("test2", size(w))]
263- else [StringEntry(((k + "_") + toString(at)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), at), IntegerEntry((k + "_predictionCounter"), (aq - 1)), BooleanEntry((k + "_cancelled"), false), BooleanEntry((k + "_final"), false), StringEntry("test", as), IntegerEntry("test2", size(w))]
255+ else [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), (al + 1)), BooleanEntry((k + "_final"), false), BooleanEntry((k + "_cancelled"), false)]
256+ else if ((ao >= b))
257+ then [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), (al - 1)), BooleanEntry((k + "_cancelled"), true), BooleanEntry((k + "_final"), false)]
258+ else if (((al - 1) == 0))
259+ then [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), 1), BooleanEntry((k + "_cancelled"), false), BooleanEntry((k + "_final"), false), StringEntry("test", an), IntegerEntry("test2", size(w))]
260+ else [StringEntry(((k + "_") + toString(ao)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), ao), IntegerEntry((k + "_predictionCounter"), (al - 1)), BooleanEntry((k + "_cancelled"), false), BooleanEntry((k + "_final"), false), StringEntry("test", an), IntegerEntry("test2", size(w))]
264261 }
265262 }
266263 else {
267- let av = {
264+ let aq = {
268265 let m = getString(("new_" + k))
269266 if ($isInstanceOf(m, "String"))
270267 then {
271268 let n = m
272269 n
273270 }
274271 else "Item not Found"
275272 }
276- if ((av == "Item not Found"))
273+ if ((aq == "Item not Found"))
277274 then throw("Item not found")
278- else [StringEntry(((k + "_") + toString(1)), ak), StringEntry(((k + "_") + ak), Y), IntegerEntry((k + "_counter"), 1), IntegerEntry((k + "_predictionCounter"), 1), DeleteEntry(("new_" + k)), StringEntry(("updated_" + k), k)]
275+ else [StringEntry(((k + "_") + toString(1)), af), StringEntry(((k + "_") + af), T), IntegerEntry((k + "_counter"), 1), IntegerEntry((k + "_predictionCounter"), 1), DeleteEntry(("new_" + k)), StringEntry(("updated_" + k), k)]
279276 }
280277 }
281278 }
282279 }
283280 }
284281 }
285282
286283
287284
288-@Callable(R)
285+@Callable(M)
289286 func registerUser () = {
290- let ak = toString(R.caller)
291- let al = {
292- let m = getInteger((ak + "_rating"))
287+ let af = toString(M.caller)
288+ let ag = {
289+ let m = getInteger((af + "_rating"))
293290 if ($isInstanceOf(m, "Int"))
294291 then {
295292 let n = m
296293 n
297294 }
298295 else -1
299296 }
300- if ((al != -1))
297+ if ((ag != -1))
301298 then throw("User already exists")
302- else [IntegerEntry((ak + "_rating"), c)]
299+ else [IntegerEntry((af + "_rating"), c)]
303300 }
304301
305302
306-@Verifier(aw)
307-func ax () = sigVerify(aw.bodyBytes, aw.proofs[0], aw.senderPublicKey)
303+@Verifier(ar)
304+func as () = sigVerify(ar.bodyBytes, ar.proofs[0], ar.senderPublicKey)
308305

github/deemru/w8io/169f3d6 
112.92 ms