tx · GyKh7FGVCAL4xcc72iDjBMLCv6WMi88iLnkMvbLfHEkS

3Mr1J95HgTFuj93Uh61WS1PBrxc5hSx5uE5:  -0.05000000 Waves

2024.10.24 19:22 [3341146] smart account 3Mr1J95HgTFuj93Uh61WS1PBrxc5hSx5uE5 > SELF 0.00000000 Waves

{ "type": 13, "id": "GyKh7FGVCAL4xcc72iDjBMLCv6WMi88iLnkMvbLfHEkS", "fee": 5000000, "feeAssetId": null, "timestamp": 1729786989843, "version": 2, "chainId": 84, "sender": "3Mr1J95HgTFuj93Uh61WS1PBrxc5hSx5uE5", "senderPublicKey": "DhKSnv34wE65np8uDd8E6ygEbNsn6fHx9p7q4hJTcgRw", "proofs": [ "6MGvViZzpWHifAHnWGFvuhW6rdCLUbBQUT1JJVaXMhNp4c7aPE9B1Af8zTnmUiAXtrk3M5tDSwM3HmSQuwAWDVp" ], "script": "base64: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", "height": 3341146, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 83MTpnBtpe2b2riaztqLGWQUA7HTtdsefpSdDEUvsYtc Next: RXm9pnESJMDuwdX8Z2Y8FDSFG2Stu88QQA75N47qMkC Diff:
OldNewDifferences
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV"
55
6-let b = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
6+let b = base58'2fdzyHvXGCqaz1XA8m9fodemmP9giVBcpe4Jq9F63oFL'
77
88 let c = "1"
99
226226
227227
228228 @Callable(g)
229-func callback (ae) = {
230- let af = split(ae, "_")
231- let k = af[0]
232- let l = af[1]
233- let ag = {
229+func callback (ae,af) = {
230+ let ag = split(af, "_")
231+ let k = ag[0]
232+ let l = ag[1]
233+ let ah = {
234234 let f = getString(("next_player_" + k))
235235 if ($isInstanceOf(f, "String"))
236236 then {
239239 }
240240 else ""
241241 }
242- let ah = j(k, l)
243- if (!(ah))
242+ let ai = j(k, l)
243+ if (!(ai))
244244 then throw("Illegal move!")
245- else if ((ag != d))
245+ else if ((ah != d))
246246 then throw("Player has to move first!")
247247 else {
248- let ai = J(k, l, d)
249- if (ai)
248+ let aj = J(k, l, d)
249+ if (aj)
250250 then [StringEntry(("currentBoard_" + k), l), StringEntry(("winner_" + k), "ai")]
251251 else [StringEntry(("currentBoard_" + k), l), StringEntry(("next_player_" + k), c)]
252252 }
255255
256256
257257 @Callable(g)
258-func playTTT (aj,l) = {
259- let ak = size(g.payments)
260- if ((ak != 1))
258+func playTTT (ak,l) = {
259+ let al = size(g.payments)
260+ if ((al != 1))
261261 then throw("Payment necessary!")
262262 else {
263- let al = g.payments[0]
264- let am = al.amount
265- let an = al.assetId
266- let ao = {
263+ let am = g.payments[0]
264+ let an = am.amount
265+ let ao = am.assetId
266+ let ap = {
267267 let f = getInteger(Address(fromBase58String(a)), "price_tictactoe")
268268 if ($isInstanceOf(f, "Int"))
269269 then {
270- let ap = f
271- ap
270+ let aq = f
271+ aq
272272 }
273273 else 0
274274 }
275- if (if ((an != b))
275+ if (if ((ao != b))
276276 then true
277- else (ao > am))
277+ else (ap > an))
278278 then throw("Payment of the minimal BAI amount necessary!")
279279 else {
280- let aq = g.caller
281- let k = if ((size(aj) == 0))
280+ let ar = g.caller
281+ let k = if ((size(ak) == 0))
282282 then toBase58String(g.transactionId)
283- else aj
284- let ag = {
283+ else ak
284+ let ah = {
285285 let f = getString(("next_player_" + k))
286286 if ($isInstanceOf(f, "String"))
287287 then {
290290 }
291291 else c
292292 }
293- if ((ag != c))
293+ if ((ah != c))
294294 then throw("AI hast to move first!")
295295 else {
296296 let m = {
302302 }
303303 else l
304304 }
305- let ar = {
305+ let as = {
306306 let f = getString(("initiator_" + k))
307307 if ($isInstanceOf(f, "String"))
308308 then {
309309 let n = f
310310 n
311311 }
312- else toString(aq)
312+ else toString(ar)
313313 }
314- if ((toString(aq) != ar))
314+ if ((toString(ar) != as))
315315 then throw("Only initiator is allowed to make moves!")
316316 else {
317- let as = j(k, l)
318- if (!(as))
317+ let at = j(k, l)
318+ if (!(at))
319319 then throw("Illegal move!")
320320 else {
321- let at = J(k, l, c)
322- let au = U(l)
323- if (at)
324- then [StringEntry(("currentBoard_" + k), l), StringEntry(("winner_" + k), "player"), ScriptTransfer(aq, e, b)]
325- else if ((au == 0))
321+ let au = J(k, l, c)
322+ let av = U(l)
323+ if (au)
324+ then [StringEntry(("currentBoard_" + k), l), StringEntry(("winner_" + k), "player"), ScriptTransfer(ar, e, b)]
325+ else if ((av == 0))
326326 then [StringEntry(("currentBoard_" + k), l), StringEntry(("winner_" + k), "draw")]
327327 else {
328- let av = invoke(Address(fromBase58String(a)), "registerTaskCallback", [((k + "_") + l), "tictactoe", "callback"], [AttachedPayment(b, 10000000)])
329- if ((av == av))
330- then [StringEntry(("currentBoard_" + k), l), StringEntry(("initiator_" + k), toString(aq)), StringEntry(("winner_" + k), "none"), StringEntry(("next_player_" + k), d)]
328+ let aw = invoke(Address(fromBase58String(a)), "registerTaskCallback", [((k + "_") + l), "tictactoe", "callback"], [AttachedPayment(b, 10000000)])
329+ if ((aw == aw))
330+ then [StringEntry(("currentBoard_" + k), l), StringEntry(("initiator_" + k), toString(ar)), StringEntry(("winner_" + k), "none"), StringEntry(("next_player_" + k), d)]
331331 else throw("Strict value is not equal to itself.")
332332 }
333333 }
338338 }
339339
340340
341-@Verifier(aw)
342-func ax () = sigVerify(aw.bodyBytes, aw.proofs[0], aw.senderPublicKey)
341+@Verifier(ax)
342+func ay () = sigVerify(ax.bodyBytes, ax.proofs[0], ax.senderPublicKey)
343343
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "3N9tKixzqTYWnEXQxrDQ5pBTGvQd6sFsvmV"
55
6-let b = base58'AxGKQRxKo4F2EbhrRq6N2tdLsxtMnpzQsS4QemV6V1W1'
6+let b = base58'2fdzyHvXGCqaz1XA8m9fodemmP9giVBcpe4Jq9F63oFL'
77
88 let c = "1"
99
1010 let d = "2"
1111
1212 let e = {
1313 let f = getInteger("winning_amount")
1414 if ($isInstanceOf(f, "Int"))
1515 then {
1616 let g = f
1717 g
1818 }
1919 else 500000000
2020 }
2121
2222 func h (i,g) = split(i, "")[g]
2323
2424
2525 func j (k,l) = {
2626 let m = {
2727 let f = getString(("currentBoard_" + k))
2828 if ($isInstanceOf(f, "String"))
2929 then {
3030 let n = f
3131 n
3232 }
3333 else "000000000"
3434 }
3535 let o = if ((h(l, 0) != h(m, 0)))
3636 then 1
3737 else 0
3838 let p = if ((h(l, 1) != h(m, 1)))
3939 then 1
4040 else 0
4141 let q = if ((h(l, 2) != h(m, 2)))
4242 then 1
4343 else 0
4444 let r = if ((h(l, 3) != h(m, 3)))
4545 then 1
4646 else 0
4747 let s = if ((h(l, 4) != h(m, 4)))
4848 then 1
4949 else 0
5050 let t = if ((h(l, 5) != h(m, 5)))
5151 then 1
5252 else 0
5353 let u = if ((h(l, 6) != h(m, 6)))
5454 then 1
5555 else 0
5656 let v = if ((h(l, 7) != h(m, 7)))
5757 then 1
5858 else 0
5959 let w = if ((h(l, 8) != h(m, 8)))
6060 then 1
6161 else 0
6262 let x = if (if ((h(l, 0) == h(m, 0)))
6363 then true
6464 else (h(m, 0) == "0"))
6565 then true
6666 else false
6767 let y = if (if ((h(l, 1) == h(m, 1)))
6868 then true
6969 else (h(m, 1) == "0"))
7070 then true
7171 else false
7272 let z = if (if ((h(l, 2) == h(m, 2)))
7373 then true
7474 else (h(m, 2) == "0"))
7575 then true
7676 else false
7777 let A = if (if ((h(l, 3) == h(m, 3)))
7878 then true
7979 else (h(m, 3) == "0"))
8080 then true
8181 else false
8282 let B = if (if ((h(l, 4) == h(m, 4)))
8383 then true
8484 else (h(m, 4) == "0"))
8585 then true
8686 else false
8787 let C = if (if ((h(l, 5) == h(m, 5)))
8888 then true
8989 else (h(m, 5) == "0"))
9090 then true
9191 else false
9292 let D = if (if ((h(l, 6) == h(m, 6)))
9393 then true
9494 else (h(m, 6) == "0"))
9595 then true
9696 else false
9797 let E = if (if ((h(l, 7) == h(m, 7)))
9898 then true
9999 else (h(m, 7) == "0"))
100100 then true
101101 else false
102102 let F = if (if ((h(l, 8) == h(m, 8)))
103103 then true
104104 else (h(m, 8) == "0"))
105105 then true
106106 else false
107107 let G = if (if (if (if (if (if (if (if (x)
108108 then y
109109 else false)
110110 then z
111111 else false)
112112 then A
113113 else false)
114114 then B
115115 else false)
116116 then C
117117 else false)
118118 then D
119119 else false)
120120 then E
121121 else false)
122122 then F
123123 else false
124124 let H = ((((((((o + p) + q) + r) + s) + t) + u) + v) + w)
125125 let I = (1 >= H)
126126 if ((H > 1))
127127 then throw("More than move made!")
128128 else if (!(G))
129129 then throw("Former position overwritten!")
130130 else if (G)
131131 then I
132132 else false
133133 }
134134
135135
136136 func J (k,l,K) = {
137137 let L = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6]]
138138 let M = if (if ((h(l, L[0][0]) == K))
139139 then (h(l, L[0][1]) == K)
140140 else false)
141141 then (h(l, L[0][2]) == K)
142142 else false
143143 let N = if (if ((h(l, L[1][0]) == K))
144144 then (h(l, L[1][1]) == K)
145145 else false)
146146 then (h(l, L[1][2]) == K)
147147 else false
148148 let O = if (if ((h(l, L[2][0]) == K))
149149 then (h(l, L[2][1]) == K)
150150 else false)
151151 then (h(l, L[2][2]) == K)
152152 else false
153153 let P = if (if ((h(l, L[3][0]) == K))
154154 then (h(l, L[3][1]) == K)
155155 else false)
156156 then (h(l, L[3][2]) == K)
157157 else false
158158 let Q = if (if ((h(l, L[4][0]) == K))
159159 then (h(l, L[4][1]) == K)
160160 else false)
161161 then (h(l, L[4][2]) == K)
162162 else false
163163 let R = if (if ((h(l, L[5][0]) == K))
164164 then (h(l, L[5][1]) == K)
165165 else false)
166166 then (h(l, L[5][2]) == K)
167167 else false
168168 let S = if (if ((h(l, L[6][0]) == K))
169169 then (h(l, L[6][1]) == K)
170170 else false)
171171 then (h(l, L[6][2]) == K)
172172 else false
173173 let T = if (if ((h(l, L[7][0]) == K))
174174 then (h(l, L[7][1]) == K)
175175 else false)
176176 then (h(l, L[7][2]) == K)
177177 else false
178178 if (if (if (if (if (if (if (M)
179179 then true
180180 else N)
181181 then true
182182 else O)
183183 then true
184184 else P)
185185 then true
186186 else Q)
187187 then true
188188 else R)
189189 then true
190190 else S)
191191 then true
192192 else T
193193 }
194194
195195
196196 func U (l) = {
197197 let V = if ((h(l, 0) == "0"))
198198 then 1
199199 else 0
200200 let W = if ((h(l, 1) == "0"))
201201 then 1
202202 else 0
203203 let X = if ((h(l, 2) == "0"))
204204 then 1
205205 else 0
206206 let Y = if ((h(l, 3) == "0"))
207207 then 1
208208 else 0
209209 let Z = if ((h(l, 4) == "0"))
210210 then 1
211211 else 0
212212 let aa = if ((h(l, 5) == "0"))
213213 then 1
214214 else 0
215215 let ab = if ((h(l, 6) == "0"))
216216 then 1
217217 else 0
218218 let ac = if ((h(l, 7) == "0"))
219219 then 1
220220 else 0
221221 let ad = if ((h(l, 8) == "0"))
222222 then 1
223223 else 0
224224 ((((((((V + W) + X) + Y) + Z) + aa) + ab) + ac) + ad)
225225 }
226226
227227
228228 @Callable(g)
229-func callback (ae) = {
230- let af = split(ae, "_")
231- let k = af[0]
232- let l = af[1]
233- let ag = {
229+func callback (ae,af) = {
230+ let ag = split(af, "_")
231+ let k = ag[0]
232+ let l = ag[1]
233+ let ah = {
234234 let f = getString(("next_player_" + k))
235235 if ($isInstanceOf(f, "String"))
236236 then {
237237 let n = f
238238 n
239239 }
240240 else ""
241241 }
242- let ah = j(k, l)
243- if (!(ah))
242+ let ai = j(k, l)
243+ if (!(ai))
244244 then throw("Illegal move!")
245- else if ((ag != d))
245+ else if ((ah != d))
246246 then throw("Player has to move first!")
247247 else {
248- let ai = J(k, l, d)
249- if (ai)
248+ let aj = J(k, l, d)
249+ if (aj)
250250 then [StringEntry(("currentBoard_" + k), l), StringEntry(("winner_" + k), "ai")]
251251 else [StringEntry(("currentBoard_" + k), l), StringEntry(("next_player_" + k), c)]
252252 }
253253 }
254254
255255
256256
257257 @Callable(g)
258-func playTTT (aj,l) = {
259- let ak = size(g.payments)
260- if ((ak != 1))
258+func playTTT (ak,l) = {
259+ let al = size(g.payments)
260+ if ((al != 1))
261261 then throw("Payment necessary!")
262262 else {
263- let al = g.payments[0]
264- let am = al.amount
265- let an = al.assetId
266- let ao = {
263+ let am = g.payments[0]
264+ let an = am.amount
265+ let ao = am.assetId
266+ let ap = {
267267 let f = getInteger(Address(fromBase58String(a)), "price_tictactoe")
268268 if ($isInstanceOf(f, "Int"))
269269 then {
270- let ap = f
271- ap
270+ let aq = f
271+ aq
272272 }
273273 else 0
274274 }
275- if (if ((an != b))
275+ if (if ((ao != b))
276276 then true
277- else (ao > am))
277+ else (ap > an))
278278 then throw("Payment of the minimal BAI amount necessary!")
279279 else {
280- let aq = g.caller
281- let k = if ((size(aj) == 0))
280+ let ar = g.caller
281+ let k = if ((size(ak) == 0))
282282 then toBase58String(g.transactionId)
283- else aj
284- let ag = {
283+ else ak
284+ let ah = {
285285 let f = getString(("next_player_" + k))
286286 if ($isInstanceOf(f, "String"))
287287 then {
288288 let n = f
289289 n
290290 }
291291 else c
292292 }
293- if ((ag != c))
293+ if ((ah != c))
294294 then throw("AI hast to move first!")
295295 else {
296296 let m = {
297297 let f = getString(("currentBoard_" + k))
298298 if ($isInstanceOf(f, "String"))
299299 then {
300300 let n = f
301301 n
302302 }
303303 else l
304304 }
305- let ar = {
305+ let as = {
306306 let f = getString(("initiator_" + k))
307307 if ($isInstanceOf(f, "String"))
308308 then {
309309 let n = f
310310 n
311311 }
312- else toString(aq)
312+ else toString(ar)
313313 }
314- if ((toString(aq) != ar))
314+ if ((toString(ar) != as))
315315 then throw("Only initiator is allowed to make moves!")
316316 else {
317- let as = j(k, l)
318- if (!(as))
317+ let at = j(k, l)
318+ if (!(at))
319319 then throw("Illegal move!")
320320 else {
321- let at = J(k, l, c)
322- let au = U(l)
323- if (at)
324- then [StringEntry(("currentBoard_" + k), l), StringEntry(("winner_" + k), "player"), ScriptTransfer(aq, e, b)]
325- else if ((au == 0))
321+ let au = J(k, l, c)
322+ let av = U(l)
323+ if (au)
324+ then [StringEntry(("currentBoard_" + k), l), StringEntry(("winner_" + k), "player"), ScriptTransfer(ar, e, b)]
325+ else if ((av == 0))
326326 then [StringEntry(("currentBoard_" + k), l), StringEntry(("winner_" + k), "draw")]
327327 else {
328- let av = invoke(Address(fromBase58String(a)), "registerTaskCallback", [((k + "_") + l), "tictactoe", "callback"], [AttachedPayment(b, 10000000)])
329- if ((av == av))
330- then [StringEntry(("currentBoard_" + k), l), StringEntry(("initiator_" + k), toString(aq)), StringEntry(("winner_" + k), "none"), StringEntry(("next_player_" + k), d)]
328+ let aw = invoke(Address(fromBase58String(a)), "registerTaskCallback", [((k + "_") + l), "tictactoe", "callback"], [AttachedPayment(b, 10000000)])
329+ if ((aw == aw))
330+ then [StringEntry(("currentBoard_" + k), l), StringEntry(("initiator_" + k), toString(ar)), StringEntry(("winner_" + k), "none"), StringEntry(("next_player_" + k), d)]
331331 else throw("Strict value is not equal to itself.")
332332 }
333333 }
334334 }
335335 }
336336 }
337337 }
338338 }
339339
340340
341-@Verifier(aw)
342-func ax () = sigVerify(aw.bodyBytes, aw.proofs[0], aw.senderPublicKey)
341+@Verifier(ax)
342+func ay () = sigVerify(ax.bodyBytes, ax.proofs[0], ax.senderPublicKey)
343343

github/deemru/w8io/c3f4982 
56.64 ms