tx · 8LwYmadHf1qnAp13r1sZd9mAicGszf7taCxVmhufbQZ

3MpwcwacJAfY3Wt5no8Vayek5Y2wLHCoqKa:  -0.01400000 Waves

2021.02.21 01:53 [1407061] smart account 3MpwcwacJAfY3Wt5no8Vayek5Y2wLHCoqKa > SELF 0.00000000 Waves

{ "type": 13, "id": "8LwYmadHf1qnAp13r1sZd9mAicGszf7taCxVmhufbQZ", "fee": 1400000, "feeAssetId": null, "timestamp": 1613861637438, "version": 2, "chainId": 84, "sender": "3MpwcwacJAfY3Wt5no8Vayek5Y2wLHCoqKa", "senderPublicKey": "22LwkZvhBgiz8QycnmX7skuLXNvp4gKCEBD4r474vKgp", "proofs": [ "2XGskZn1YBCQp1yrA4Fbm7AqeMQc9VSjakh8xSx8DzHTEPGw1nELtJEboohhjun8QudADPjthw1YUnX94TCqB69K" ], "script": "base64:AAIDAAAAAAAAAAgIARIAEgASAAAAACoAAAAADWdhbWVQdWJsaWNLZXkJAAJZAAAAAQIAAAAsMjJMd2tadmhCZ2l6OFF5Y25tWDdza3VMWE52cDRnS0NFQkQ0cjQ3NHZLZ3AAAAAAC2dhbWVBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAA1nYW1lUHVibGljS2V5AAAAAA5hZG1pblB1YmxpY0tleQEAAAAgo48gw3sh+zm7Ti9Qukc32bYx6mSAxesLg4xaN7sn3DIAAAAADGFkbWluQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAOYWRtaW5QdWJsaWNLZXkAAAAABWRydW0xCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATcJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0BQAAAANuaWwAAAAABWRydW0yCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE3CQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEzBQAAAANuaWwAAAAABWRydW0zCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNwkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE2CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNwkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAExBQAAAANuaWwAAAAACHN0YXRlQWNjAgAAAAhBQ0NFUFRFRAAAAAAJYmV0UGxhY2VkAgAAAAdQRU5ESU5HAAAAAAZiZXRXaW4CAAAAA1dPTgAAAAAHYmV0TG9zZQIAAAAETE9TVAAAAAANZ2FtZVRpbWVGcmFtZQAAAAAAAAAAAwAAAAAHd2F2ZXNJZAUAAAAEdW5pdAAAAAALd2F2ZXNNaW5BbXQAAAAAAAExLQAAAAAAC3dhdmVzTWF4QW10CQAAaAAAAAIFAAAAC3dhdmVzTWluQW10AAAAAAAAAAAKAAAAABBnYW1lTGFiZWxDb3VudGVyAgAAAAxHQU1FU0NPVU5URVIBAAAADmdhbWVHZXRDb3VudGVyAAAAAAkABBoAAAACBQAAAAR0aGlzBQAAABBnYW1lTGFiZWxDb3VudGVyAAAAAAlnYW1lTGFiZWwJAAEsAAAAAgkABCUAAAABBQAAAAtnYW1lQWRkcmVzcwIAAAANX0dBTUVfQUREUkVTUwEAAAAHZ2FtZUdldAAAAAAJAAQdAAAAAgUAAAAEdGhpcwUAAAAJZ2FtZUxhYmVsAAAAAA9nYW1lTGFiZWxTdGF0dXMJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkABCUAAAABBQAAAAtnYW1lQWRkcmVzcwIAAAAHX1NUQVRVUwEAAAANZ2FtZUdldFN0YXR1cwAAAAAJAAQdAAAAAgUAAAAEdGhpcwUAAAAPZ2FtZUxhYmVsU3RhdHVzAAAAAAxnYW1lTGFiZWxSb3cJAAEsAAAAAgkAASwAAAACAgAAAAJSXwkABCUAAAABBQAAAAtnYW1lQWRkcmVzcwIAAAANX1JPV19XSU4vTE9TRQEAAAAKZ2FtZUdldFJvdwAAAAAJAAQdAAAAAgUAAAAEdGhpcwUAAAAMZ2FtZUxhYmVsUm93AQAAABJnYW1lTGFiZWxCZXRTdGF0dXMAAAABAAAACnBsYXllckFkZHIJAAEsAAAAAgUAAAAKcGxheWVyQWRkcgIAAAALX0JFVF9TVEFUVVMBAAAAEGdhbWVHZXRCZXRTdGF0dXMAAAABAAAACnBsYXllckFkZHIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAEmdhbWVMYWJlbEJldFN0YXR1cwAAAAEFAAAACnBsYXllckFkZHIBAAAADGdhbWVMYWJlbEJldAAAAAEAAAAKcGxheWVyQWRkcgkAASwAAAACBQAAAApwbGF5ZXJBZGRyAgAAAAhfQkVUREFUQQEAAAAKZ2FtZUdldEJldAAAAAEAAAAKcGxheWVyQWRkcgkABB0AAAACBQAAAAR0aGlzCQEAAAAMZ2FtZUxhYmVsQmV0AAAAAQUAAAAKcGxheWVyQWRkcgEAAAASYWRkcmVzc0xhYmVsQW1vdW50AAAAAQAAAARhZGRyCQABLAAAAAIJAAEsAAAAAgIAAAACQl8FAAAABGFkZHIC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", "height": 1407061, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4RzTa596gDygcWA22X4FUNrqHgWAh5WtD3NftLHMHWmB Next: 3mZCs5TiRL9zwhLnYgTnS1bWb3Y1PMYzk37B5EFutyJB Diff:
OldNewDifferences
156156
157157
158158 func X (Y) = {
159- let Z = ((((Y.transactionId + Y.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
159+ let Z = (((Y.transactionId + Y.callerPublicKey) + toBytes(lastBlock.height)) + toBytes(lastBlock.timestamp))
160160 (toInt(sha256(Z)) % 29)
161161 }
162162
163163
164-@Callable(aa)
165-func initSlotGame () = if ((aa.callerPublicKey != c))
164+func aa (Y) = {
165+ let Z = (((Y.transactionId + lastBlock.generationSignature) + toBytes(lastBlock.height)) + toBytes(lastBlock.timestamp))
166+ (toInt(sha256(Z)) % 29)
167+ }
168+
169+
170+func ab (Y) = {
171+ let Z = (((Y.transactionId + Y.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp))
172+ (toInt(sha256(Z)) % 29)
173+ }
174+
175+
176+@Callable(ac)
177+func initSlotGame () = if ((ac.callerPublicKey != c))
166178 then throw("initGame_FORBBIDEN")
167179 else {
168180 let M = q()
169181 if ($isInstanceOf(M, "Int"))
170182 then {
171- let ab = M
183+ let ad = M
172184 throw("INIT_ALREADY_DONE")
173185 }
174186 else WriteSet([DataEntry(p, 0), DataEntry(t, "ACTIVE"), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(v, ("0_" + toString(b)))])
176188
177189
178190
179-@Callable(aa)
191+@Callable(ac)
180192 func placeBet () = {
181- let ac = extract(aa.caller)
182- let ad = extract(aa.payment)
183- let S = ad.amount
184- let ae = R(S)
193+ let ae = extract(ac.caller)
194+ let af = extract(ac.payment)
195+ let S = af.amount
196+ let ag = R(S)
185197 let M = u()
186198 if ($isInstanceOf(M, "String"))
187199 then {
188- let af = M
189- if ((af != "ACTIVE"))
200+ let ah = M
201+ if ((ah != "ACTIVE"))
190202 then throw("SLOT_GAME_NOT_INITIALIZED")
191203 else {
192- let ag = q()
193- if ($isInstanceOf(ag, "Int"))
204+ let ai = q()
205+ if ($isInstanceOf(ai, "Int"))
194206 then {
195- let ab = ag
196- if (!(ae))
207+ let ad = ai
208+ if (!(ag))
197209 then throw("PLACEBET:_WRONG_BET_AMOUNT")
198210 else {
199- let ah = (ab + 1)
200- let ai = G(toString(ac))
201- if ($isInstanceOf(ai, "Int"))
211+ let aj = (ad + 1)
212+ let ak = G(toString(ae))
213+ if ($isInstanceOf(ak, "Int"))
202214 then {
203- let aj = ai
204- if ((aj >= 0))
215+ let al = ak
216+ if ((al >= 0))
205217 then {
206- let ak = z(toString(ac))
207- if ($isInstanceOf(ak, "String"))
218+ let am = z(toString(ae))
219+ if ($isInstanceOf(am, "String"))
208220 then {
209- let al = ak
210- if ((al != "PLAYED"))
221+ let an = am
222+ if ((an != "PLAYED"))
211223 then throw("COMPLETE_ PREVIOUS_GAME_1")
212- else WriteSet([DataEntry(p, ah), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ac)), "BET"), DataEntry(C(toString(ac)), S), DataEntry(A(toString(ac)), (((((((i + "_") + toString(ac)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
224+ else WriteSet([DataEntry(p, aj), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ae)), "BET"), DataEntry(C(toString(ae)), S), DataEntry(A(toString(ae)), (((((((i + "_") + toString(ae)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
213225 }
214- else WriteSet([DataEntry(p, ah), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ac)), "BET"), DataEntry(C(toString(ac)), S), DataEntry(A(toString(ac)), (((((((i + "_") + toString(ac)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
226+ else WriteSet([DataEntry(p, aj), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ae)), "BET"), DataEntry(C(toString(ae)), S), DataEntry(A(toString(ae)), (((((((i + "_") + toString(ae)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
215227 }
216228 else throw("BAD_WIN_INIT")
217229 }
218230 else {
219- let ak = z(toString(ac))
220- if ($isInstanceOf(ak, "String"))
231+ let am = z(toString(ae))
232+ if ($isInstanceOf(am, "String"))
221233 then {
222- let al = ak
223- if ((al != "PLAYED"))
234+ let an = am
235+ if ((an != "PLAYED"))
224236 then throw("COMPLETE_ PREVIOUS_GAME_2")
225- else WriteSet([DataEntry(p, ah), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ac)), "BET"), DataEntry(C(toString(ac)), S), DataEntry(A(toString(ac)), (((((((i + "_") + toString(ac)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(F(toString(ac)), 0), DataEntry(H(toString(ac)), 0)])
237+ else WriteSet([DataEntry(p, aj), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ae)), "BET"), DataEntry(C(toString(ae)), S), DataEntry(A(toString(ae)), (((((((i + "_") + toString(ae)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(F(toString(ae)), 0), DataEntry(H(toString(ae)), 0)])
226238 }
227- else WriteSet([DataEntry(p, ah), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ac)), "BET"), DataEntry(C(toString(ac)), S), DataEntry(A(toString(ac)), (((((((i + "_") + toString(ac)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(F(toString(ac)), 0), DataEntry(H(toString(ac)), 0)])
239+ else WriteSet([DataEntry(p, aj), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ae)), "BET"), DataEntry(C(toString(ae)), S), DataEntry(A(toString(ae)), (((((((i + "_") + toString(ae)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(F(toString(ae)), 0), DataEntry(H(toString(ae)), 0)])
228240 }
229241 }
230242 }
236248
237249
238250
239-@Callable(aa)
251+@Callable(ac)
240252 func playGame () = {
241- let am = N()
242- let an = parseIntValue(am[0])
243- let ao = am[1]
244- let ap = P(toString(aa.caller))
245- let al = ap[0]
246- let y = ap[1]
247- let S = parseIntValue(ap[2])
248- let aq = X(aa)
249- let ar = X(aa)
250- let as = X(aa)
251- let W = ((e[aq] + f[ar]) + g[as])
252- let at = ((T(aq) + T(aq)) + T(aq))
253- let au = ((V(W) * wavesBalance(this)) / 100)
253+ let ao = N()
254+ let ap = parseIntValue(ao[0])
255+ let aq = ao[1]
256+ let ar = P(toString(ac.caller))
257+ let an = ar[0]
258+ let y = ar[1]
259+ let S = parseIntValue(ar[2])
260+ let as = X(ac)
261+ let at = aa(ac)
262+ let au = ab(ac)
263+ let W = ((e[as] + f[at]) + g[au])
264+ let av = ((T(as) + T(as)) + T(as))
265+ let aw = ((V(W) * wavesBalance(this)) / 100)
254266 let M = u()
255267 if ($isInstanceOf(M, "String"))
256268 then {
257- let af = M
258- if ((af != "ACTIVE"))
269+ let ah = M
270+ if ((ah != "ACTIVE"))
259271 then throw("SLOT_GAME_NOT_ACTIVE")
260272 else {
261- let ag = z(y)
262- if ($isInstanceOf(ag, "String"))
273+ let ai = z(y)
274+ if ($isInstanceOf(ai, "String"))
263275 then {
264- let av = ag
265- if ((av != "BET"))
276+ let ax = ai
277+ if ((ax != "BET"))
266278 then throw("PLACE_BET_BEFORE_YOU_PLAY")
267- else if ((aa.caller != addressFromStringValue(y)))
279+ else if ((ac.caller != addressFromStringValue(y)))
268280 then throw("NOT_CURRENT_PLAYER")
269- else if ((au != 0))
281+ else if ((aw != 0))
270282 then {
271- let ai = G(y)
272- if ($isInstanceOf(ai, "Int"))
283+ let ak = G(y)
284+ if ($isInstanceOf(ak, "Int"))
273285 then {
274- let aj = ai
275- let aw = (aj + 1)
286+ let al = ak
287+ let ay = (al + 1)
276288 if ((W == "444"))
277- then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((("TRIPLE_BAR_" + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(aw)) + "_") + ap[6]) + "_") + ap[7]) + "_") + W) + "_") + at)), DataEntry(F(toString(aa.caller)), aw), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), au, unit)]))
278- else if ((aj >= 200))
279- then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(0)) + "_") + ap[6]) + "_") + ap[7]) + "_") + W) + "_") + at)), DataEntry(F(toString(aa.caller)), 0), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), au, unit)]))
280- else if (if ((y == ao))
281- then (an == 5)
289+ then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((("TRIPLE_BAR_" + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(ay)) + "_") + ar[6]) + "_") + ar[7]) + "_") + W) + "_") + av)), DataEntry(F(toString(ac.caller)), ay), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), aw, unit)]))
290+ else if ((al >= 200))
291+ then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(0)) + "_") + ar[6]) + "_") + ar[7]) + "_") + W) + "_") + av)), DataEntry(F(toString(ac.caller)), 0), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), aw, unit)]))
292+ else if (if ((y == aq))
293+ then (ap == 5)
282294 else false)
283- then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(aw)) + "_") + toString(0)) + "_") + ap[7]) + "_") + W) + "_") + at)), DataEntry(F(toString(aa.caller)), aw), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), au, unit)]))
284- else ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(y), ((((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(aw)) + "_") + toString(aw)) + "_") + ap[7]) + "_") + W) + "_") + at) + "_") + toString(au))), DataEntry(F(toString(aa.caller)), aw), DataEntry(v, ((toString(aw) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), au, unit)]))
295+ then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(ay)) + "_") + toString(0)) + "_") + ar[7]) + "_") + W) + "_") + av)), DataEntry(F(toString(ac.caller)), ay), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), aw, unit)]))
296+ else ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(y), ((((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(ay)) + "_") + toString(ay)) + "_") + ar[7]) + "_") + W) + "_") + av) + "_") + toString(aw))), DataEntry(F(toString(ac.caller)), ay), DataEntry(v, ((toString(ay) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), aw, unit)]))
285297 }
286298 else throw("INIT_WIN:addressGetWins")
287299 }
288300 else {
289- let ai = I(y)
290- if ($isInstanceOf(ai, "Int"))
301+ let ak = I(y)
302+ if ($isInstanceOf(ak, "Int"))
291303 then {
292- let ax = ai
293- let ay = (ax + 1)
294- if ((ax >= 5))
295- then WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((at + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + ap[5]) + "_") + ap[6]) + "_0_") + W) + "_") + at)), DataEntry(H(toString(aa.caller)), 0), DataEntry(v, ((toString(0) + "_") + y))])
296- else WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((((at + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + ap[5]) + "_") + ap[6]) + "_") + toString(ay)) + "_") + W) + "_") + at)), DataEntry(H(toString(aa.caller)), ay), DataEntry(v, ((toString(ay) + "_") + y))])
304+ let az = ak
305+ let aA = (az + 1)
306+ if ((az >= 5))
307+ then WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((av + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + ar[5]) + "_") + ar[6]) + "_0_") + W) + "_") + av)), DataEntry(H(toString(ac.caller)), 0), DataEntry(v, ((toString(0) + "_") + y))])
308+ else WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((((av + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + ar[5]) + "_") + ar[6]) + "_") + toString(aA)) + "_") + W) + "_") + av)), DataEntry(H(toString(ac.caller)), aA), DataEntry(v, ((toString(aA) + "_") + y))])
297309 }
298310 else throw("INIT_LOSES")
299311 }
305317 }
306318
307319
308-@Verifier(az)
309-func aA () = if (sigVerify(az.bodyBytes, az.proofs[0], a))
320+@Verifier(aB)
321+func aC () = if (sigVerify(aB.bodyBytes, aB.proofs[0], a))
310322 then {
311- let M = az
323+ let M = aB
312324 if ($isInstanceOf(M, "SetScriptTransaction"))
313325 then {
314- let az = M
326+ let aB = M
315327 true
316328 }
317329 else false
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = fromBase58String("22LwkZvhBgiz8QycnmX7skuLXNvp4gKCEBD4r474vKgp")
55
66 let b = addressFromPublicKey(a)
77
88 let c = base58'C1U3CKj36gYHoZC119pyKKqgkUK1xigC3yQg5XrLSZsf'
99
1010 let d = addressFromPublicKey(c)
1111
1212 let e = ["6", "1", "5", "4", "3", "2", "1", "3", "5", "2", "4", "1", "7", "3", "2", "3", "1", "4", "1", "3", "5", "2", "1", "4", "2", "6", "5", "2", "1", "4"]
1313
1414 let f = ["1", "3", "4", "2", "3", "5", "1", "6", "4", "2", "1", "1", "4", "2", "1", "6", "3", "4", "1", "2", "5", "4", "1", "5", "3", "2", "7", "5", "1", "3"]
1515
1616 let g = ["3", "2", "5", "2", "7", "4", "1", "3", "6", "4", "2", "3", "1", "6", "4", "2", "1", "5", "2", "5", "1", "3", "7", "1", "2", "6", "4", "1", "3", "1"]
1717
1818 let h = "ACCEPTED"
1919
2020 let i = "PENDING"
2121
2222 let j = "WON"
2323
2424 let k = "LOST"
2525
2626 let l = 3
2727
2828 let m = unit
2929
3030 let n = 20000000
3131
3232 let o = (n * 10)
3333
3434 let p = "GAMESCOUNTER"
3535
3636 func q () = getInteger(this, p)
3737
3838
3939 let r = (toString(b) + "_GAME_ADDRESS")
4040
4141 func s () = getString(this, r)
4242
4343
4444 let t = (("G_" + toString(b)) + "_STATUS")
4545
4646 func u () = getString(this, t)
4747
4848
4949 let v = (("R_" + toString(b)) + "_ROW_WIN/LOSE")
5050
5151 func w () = getString(this, v)
5252
5353
5454 func x (y) = (y + "_BET_STATUS")
5555
5656
5757 func z (y) = getString(this, x(y))
5858
5959
6060 func A (y) = (y + "_BETDATA")
6161
6262
6363 func B (y) = getString(this, A(y))
6464
6565
6666 func C (D) = (("B_" + D) + "_AMOUNT")
6767
6868
6969 func E (D) = getInteger(this, C(D))
7070
7171
7272 func F (D) = (("B_" + D) + "_WINS")
7373
7474
7575 func G (D) = getInteger(this, F(D))
7676
7777
7878 func H (D) = (("B_" + D) + "_LOSES")
7979
8080
8181 func I (D) = getInteger(this, H(D))
8282
8383
8484 func J () = {
8585 let K = s()
8686 let L = {
8787 let M = K
8888 if ($isInstanceOf(M, "String"))
8989 then {
9090 let L = M
9191 L
9292 }
9393 else throw("GAME_DATA_ERROR")
9494 }
9595 split(L, "_")
9696 }
9797
9898
9999 func N () = {
100100 let O = w()
101101 let L = {
102102 let M = O
103103 if ($isInstanceOf(M, "String"))
104104 then {
105105 let L = M
106106 L
107107 }
108108 else throw("GAME_DATA_ERROR")
109109 }
110110 split(L, "_")
111111 }
112112
113113
114114 func P (y) = {
115115 let Q = B(y)
116116 let L = {
117117 let M = Q
118118 if ($isInstanceOf(M, "String"))
119119 then {
120120 let L = M
121121 L
122122 }
123123 else throw("BET_DATA_ERROR")
124124 }
125125 split(L, "_")
126126 }
127127
128128
129129 func R (S) = if (if ((S >= n))
130130 then (o >= S)
131131 else false)
132132 then true
133133 else throw("Bet amount is not in range")
134134
135135
136136 func T (U) = if ((10 > U))
137137 then ("0" + toString(U))
138138 else toString(U)
139139
140140
141141 func V (W) = if ((W == "777"))
142142 then 100
143143 else if ((W == "666"))
144144 then 20
145145 else if ((W == "555"))
146146 then 14
147147 else if ((W == "444"))
148148 then 10
149149 else if ((W == "333"))
150150 then 7
151151 else if ((W == "222"))
152152 then 5
153153 else if ((W == "111"))
154154 then 2
155155 else 0
156156
157157
158158 func X (Y) = {
159- let Z = ((((Y.transactionId + Y.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
159+ let Z = (((Y.transactionId + Y.callerPublicKey) + toBytes(lastBlock.height)) + toBytes(lastBlock.timestamp))
160160 (toInt(sha256(Z)) % 29)
161161 }
162162
163163
164-@Callable(aa)
165-func initSlotGame () = if ((aa.callerPublicKey != c))
164+func aa (Y) = {
165+ let Z = (((Y.transactionId + lastBlock.generationSignature) + toBytes(lastBlock.height)) + toBytes(lastBlock.timestamp))
166+ (toInt(sha256(Z)) % 29)
167+ }
168+
169+
170+func ab (Y) = {
171+ let Z = (((Y.transactionId + Y.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp))
172+ (toInt(sha256(Z)) % 29)
173+ }
174+
175+
176+@Callable(ac)
177+func initSlotGame () = if ((ac.callerPublicKey != c))
166178 then throw("initGame_FORBBIDEN")
167179 else {
168180 let M = q()
169181 if ($isInstanceOf(M, "Int"))
170182 then {
171- let ab = M
183+ let ad = M
172184 throw("INIT_ALREADY_DONE")
173185 }
174186 else WriteSet([DataEntry(p, 0), DataEntry(t, "ACTIVE"), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(v, ("0_" + toString(b)))])
175187 }
176188
177189
178190
179-@Callable(aa)
191+@Callable(ac)
180192 func placeBet () = {
181- let ac = extract(aa.caller)
182- let ad = extract(aa.payment)
183- let S = ad.amount
184- let ae = R(S)
193+ let ae = extract(ac.caller)
194+ let af = extract(ac.payment)
195+ let S = af.amount
196+ let ag = R(S)
185197 let M = u()
186198 if ($isInstanceOf(M, "String"))
187199 then {
188- let af = M
189- if ((af != "ACTIVE"))
200+ let ah = M
201+ if ((ah != "ACTIVE"))
190202 then throw("SLOT_GAME_NOT_INITIALIZED")
191203 else {
192- let ag = q()
193- if ($isInstanceOf(ag, "Int"))
204+ let ai = q()
205+ if ($isInstanceOf(ai, "Int"))
194206 then {
195- let ab = ag
196- if (!(ae))
207+ let ad = ai
208+ if (!(ag))
197209 then throw("PLACEBET:_WRONG_BET_AMOUNT")
198210 else {
199- let ah = (ab + 1)
200- let ai = G(toString(ac))
201- if ($isInstanceOf(ai, "Int"))
211+ let aj = (ad + 1)
212+ let ak = G(toString(ae))
213+ if ($isInstanceOf(ak, "Int"))
202214 then {
203- let aj = ai
204- if ((aj >= 0))
215+ let al = ak
216+ if ((al >= 0))
205217 then {
206- let ak = z(toString(ac))
207- if ($isInstanceOf(ak, "String"))
218+ let am = z(toString(ae))
219+ if ($isInstanceOf(am, "String"))
208220 then {
209- let al = ak
210- if ((al != "PLAYED"))
221+ let an = am
222+ if ((an != "PLAYED"))
211223 then throw("COMPLETE_ PREVIOUS_GAME_1")
212- else WriteSet([DataEntry(p, ah), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ac)), "BET"), DataEntry(C(toString(ac)), S), DataEntry(A(toString(ac)), (((((((i + "_") + toString(ac)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
224+ else WriteSet([DataEntry(p, aj), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ae)), "BET"), DataEntry(C(toString(ae)), S), DataEntry(A(toString(ae)), (((((((i + "_") + toString(ae)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
213225 }
214- else WriteSet([DataEntry(p, ah), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ac)), "BET"), DataEntry(C(toString(ac)), S), DataEntry(A(toString(ac)), (((((((i + "_") + toString(ac)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
226+ else WriteSet([DataEntry(p, aj), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ae)), "BET"), DataEntry(C(toString(ae)), S), DataEntry(A(toString(ae)), (((((((i + "_") + toString(ae)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
215227 }
216228 else throw("BAD_WIN_INIT")
217229 }
218230 else {
219- let ak = z(toString(ac))
220- if ($isInstanceOf(ak, "String"))
231+ let am = z(toString(ae))
232+ if ($isInstanceOf(am, "String"))
221233 then {
222- let al = ak
223- if ((al != "PLAYED"))
234+ let an = am
235+ if ((an != "PLAYED"))
224236 then throw("COMPLETE_ PREVIOUS_GAME_2")
225- else WriteSet([DataEntry(p, ah), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ac)), "BET"), DataEntry(C(toString(ac)), S), DataEntry(A(toString(ac)), (((((((i + "_") + toString(ac)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(F(toString(ac)), 0), DataEntry(H(toString(ac)), 0)])
237+ else WriteSet([DataEntry(p, aj), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ae)), "BET"), DataEntry(C(toString(ae)), S), DataEntry(A(toString(ae)), (((((((i + "_") + toString(ae)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(F(toString(ae)), 0), DataEntry(H(toString(ae)), 0)])
226238 }
227- else WriteSet([DataEntry(p, ah), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ac)), "BET"), DataEntry(C(toString(ac)), S), DataEntry(A(toString(ac)), (((((((i + "_") + toString(ac)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(F(toString(ac)), 0), DataEntry(H(toString(ac)), 0)])
239+ else WriteSet([DataEntry(p, aj), DataEntry(r, ((h + "_WAVES_") + toString(height))), DataEntry(x(toString(ae)), "BET"), DataEntry(C(toString(ae)), S), DataEntry(A(toString(ae)), (((((((i + "_") + toString(ae)) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(F(toString(ae)), 0), DataEntry(H(toString(ae)), 0)])
228240 }
229241 }
230242 }
231243 else throw("INIT_NEEDED_FOR_COUNT")
232244 }
233245 }
234246 else throw("INIT_ERROR")
235247 }
236248
237249
238250
239-@Callable(aa)
251+@Callable(ac)
240252 func playGame () = {
241- let am = N()
242- let an = parseIntValue(am[0])
243- let ao = am[1]
244- let ap = P(toString(aa.caller))
245- let al = ap[0]
246- let y = ap[1]
247- let S = parseIntValue(ap[2])
248- let aq = X(aa)
249- let ar = X(aa)
250- let as = X(aa)
251- let W = ((e[aq] + f[ar]) + g[as])
252- let at = ((T(aq) + T(aq)) + T(aq))
253- let au = ((V(W) * wavesBalance(this)) / 100)
253+ let ao = N()
254+ let ap = parseIntValue(ao[0])
255+ let aq = ao[1]
256+ let ar = P(toString(ac.caller))
257+ let an = ar[0]
258+ let y = ar[1]
259+ let S = parseIntValue(ar[2])
260+ let as = X(ac)
261+ let at = aa(ac)
262+ let au = ab(ac)
263+ let W = ((e[as] + f[at]) + g[au])
264+ let av = ((T(as) + T(as)) + T(as))
265+ let aw = ((V(W) * wavesBalance(this)) / 100)
254266 let M = u()
255267 if ($isInstanceOf(M, "String"))
256268 then {
257- let af = M
258- if ((af != "ACTIVE"))
269+ let ah = M
270+ if ((ah != "ACTIVE"))
259271 then throw("SLOT_GAME_NOT_ACTIVE")
260272 else {
261- let ag = z(y)
262- if ($isInstanceOf(ag, "String"))
273+ let ai = z(y)
274+ if ($isInstanceOf(ai, "String"))
263275 then {
264- let av = ag
265- if ((av != "BET"))
276+ let ax = ai
277+ if ((ax != "BET"))
266278 then throw("PLACE_BET_BEFORE_YOU_PLAY")
267- else if ((aa.caller != addressFromStringValue(y)))
279+ else if ((ac.caller != addressFromStringValue(y)))
268280 then throw("NOT_CURRENT_PLAYER")
269- else if ((au != 0))
281+ else if ((aw != 0))
270282 then {
271- let ai = G(y)
272- if ($isInstanceOf(ai, "Int"))
283+ let ak = G(y)
284+ if ($isInstanceOf(ak, "Int"))
273285 then {
274- let aj = ai
275- let aw = (aj + 1)
286+ let al = ak
287+ let ay = (al + 1)
276288 if ((W == "444"))
277- then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((("TRIPLE_BAR_" + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(aw)) + "_") + ap[6]) + "_") + ap[7]) + "_") + W) + "_") + at)), DataEntry(F(toString(aa.caller)), aw), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), au, unit)]))
278- else if ((aj >= 200))
279- then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(0)) + "_") + ap[6]) + "_") + ap[7]) + "_") + W) + "_") + at)), DataEntry(F(toString(aa.caller)), 0), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), au, unit)]))
280- else if (if ((y == ao))
281- then (an == 5)
289+ then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((("TRIPLE_BAR_" + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(ay)) + "_") + ar[6]) + "_") + ar[7]) + "_") + W) + "_") + av)), DataEntry(F(toString(ac.caller)), ay), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), aw, unit)]))
290+ else if ((al >= 200))
291+ then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(0)) + "_") + ar[6]) + "_") + ar[7]) + "_") + W) + "_") + av)), DataEntry(F(toString(ac.caller)), 0), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), aw, unit)]))
292+ else if (if ((y == aq))
293+ then (ap == 5)
282294 else false)
283- then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(aw)) + "_") + toString(0)) + "_") + ap[7]) + "_") + W) + "_") + at)), DataEntry(F(toString(aa.caller)), aw), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), au, unit)]))
284- else ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(y), ((((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(aw)) + "_") + toString(aw)) + "_") + ap[7]) + "_") + W) + "_") + at) + "_") + toString(au))), DataEntry(F(toString(aa.caller)), aw), DataEntry(v, ((toString(aw) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), au, unit)]))
295+ then ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(ay)) + "_") + toString(0)) + "_") + ar[7]) + "_") + W) + "_") + av)), DataEntry(F(toString(ac.caller)), ay), DataEntry(v, ((toString(0) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), aw, unit)]))
296+ else ScriptResult(WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(y), ((((((((((((((((((j + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + toString(ay)) + "_") + toString(ay)) + "_") + ar[7]) + "_") + W) + "_") + av) + "_") + toString(aw))), DataEntry(F(toString(ac.caller)), ay), DataEntry(v, ((toString(ay) + "_") + y))]), TransferSet([ScriptTransfer(addressFromStringValue(y), aw, unit)]))
285297 }
286298 else throw("INIT_WIN:addressGetWins")
287299 }
288300 else {
289- let ai = I(y)
290- if ($isInstanceOf(ai, "Int"))
301+ let ak = I(y)
302+ if ($isInstanceOf(ak, "Int"))
291303 then {
292- let ax = ai
293- let ay = (ax + 1)
294- if ((ax >= 5))
295- then WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((at + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + ap[5]) + "_") + ap[6]) + "_0_") + W) + "_") + at)), DataEntry(H(toString(aa.caller)), 0), DataEntry(v, ((toString(0) + "_") + y))])
296- else WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(aa.caller)), ((((((((((((((((at + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + ap[5]) + "_") + ap[6]) + "_") + toString(ay)) + "_") + W) + "_") + at)), DataEntry(H(toString(aa.caller)), ay), DataEntry(v, ((toString(ay) + "_") + y))])
304+ let az = ak
305+ let aA = (az + 1)
306+ if ((az >= 5))
307+ then WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((av + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + ar[5]) + "_") + ar[6]) + "_0_") + W) + "_") + av)), DataEntry(H(toString(ac.caller)), 0), DataEntry(v, ((toString(0) + "_") + y))])
308+ else WriteSet([DataEntry(x(y), "PLAYED"), DataEntry(A(toString(ac.caller)), ((((((((((((((((av + "_") + y) + "_") + toString(S)) + "_WAVES_") + toString(height)) + "_") + ar[5]) + "_") + ar[6]) + "_") + toString(aA)) + "_") + W) + "_") + av)), DataEntry(H(toString(ac.caller)), aA), DataEntry(v, ((toString(aA) + "_") + y))])
297309 }
298310 else throw("INIT_LOSES")
299311 }
300312 }
301313 else throw("BET_PLACED")
302314 }
303315 }
304316 else throw("INIT_ERROR")
305317 }
306318
307319
308-@Verifier(az)
309-func aA () = if (sigVerify(az.bodyBytes, az.proofs[0], a))
320+@Verifier(aB)
321+func aC () = if (sigVerify(aB.bodyBytes, aB.proofs[0], a))
310322 then {
311- let M = az
323+ let M = aB
312324 if ($isInstanceOf(M, "SetScriptTransaction"))
313325 then {
314- let az = M
326+ let aB = M
315327 true
316328 }
317329 else false
318330 }
319331 else false
320332

github/deemru/w8io/026f985 
156.98 ms