tx · EQBhFaDyhDBnV3UtWWyZTmuQ4c219hxwrYzsujoyfmBt

3NCL2nR9XWgknwdBDHeJCCeAk34uKP7mAqp:  -0.01800000 Waves

2022.05.25 02:35 [2066428] smart account 3NCL2nR9XWgknwdBDHeJCCeAk34uKP7mAqp > SELF 0.00000000 Waves

{ "type": 13, "id": "EQBhFaDyhDBnV3UtWWyZTmuQ4c219hxwrYzsujoyfmBt", "fee": 1800000, "feeAssetId": null, "timestamp": 1653435409322, "version": 2, "chainId": 84, "sender": "3NCL2nR9XWgknwdBDHeJCCeAk34uKP7mAqp", "senderPublicKey": "BcPzQEK7JhZL9S51twwZR7yifUzzNrF4MezL2ZTPpXW2", "proofs": [ "XEsSagK8sqeour2Sfhe89J97YXuvqXp5nDW1GsrdN21d3ajX4pKFrZEfpjYSr2ZpNanXpZH7t3TV8AwzvZxPSiW" ], "script": "base64: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AAAAAAMJAARMAAAAAgAAAAAAAAAABgkABEwAAAACAAAAAAAAAAAJCQAETAAAAAIAAAAAAAAAAAwJAARMAAAAAgAAAAAAAAAADwkABEwAAAACAAAAAAAAAAASCQAETAAAAAIAAAAAAAAAABUJAARMAAAAAgAAAAAAAAAAGAkABEwAAAACAAAAAAAAAAAbCQAETAAAAAIAAAAAAAAAAB4JAARMAAAAAgAAAAAAAAAAIQkABEwAAAACAAAAAAAAAAAkBQAAAANuaWwAAAAAE2dhbWVNYXN0ZXJQdWJsaWNLZXkJAAJZAAAAAQIAAAAsRUp5SHVoR1NKMThEb25HZ2ZSazNiOG4xZFh2WnBmVlBkN2VoRVRiblFoa3UAAAAAEGdhbWVDb3VudGVyTGFiZWwCAAAADkdfR0FNRVNDT1VOVEVSAAAAABJnYW1lVG90YWxCZXRzTGFiZWwCAAAAC0dfVE9UQUxCRVRTAAAAABZnYW1lUHJvY2Vzc2VkQmV0c0xhYmVsAgAAAA9HX1BST0NFU1NFREJFVFMAAAAAD2dhbWVNaW5CZXRMYWJlbAIAAAAIR19NSU5CRVQAAAAAD2dhbWVNYXhCZXRMYWJlbAIAAAAIR19NQVhCRVQAAAAAEmdhbWVSU0FQdWJsaWNMYWJlbAIAAAALR19SU0FQVUJMSUMAAAAAGGdhbWVNYXN0ZXJQdWJsaWNLZXlMYWJlbAIAAAAXR19HQU1FTUFTVEVSX1BVQkxJQ19LRVkAAAAADmdhbWVUb2tlbkxhYmVsAgAAAAlHX1RPS0VOSUQBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAQZ2FtZUNvdW50ZXJMYWJlbAEAAAAOZ2FtZXNUb3RhbEJldHMAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAEmdhbWVUb3RhbEJldHNMYWJlbAEAAAASZ2FtZXNQcm9jZXNzZWRCZXRzAAAAAAkABBoAAAACBQAAAAR0aGlzBQAAABZnYW1lUHJvY2Vzc2VkQmV0c0xhYmVsAQAAAAtnYW1lc01pbkJldAAAAAAJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABHRoaXMFAAAAD2dhbWVNaW5CZXRMYWJlbAEAAAALZ2FtZXNNYXhCZXQAAAAACQEAAAAR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aXRHYW1lX0ZPUkJCSURFTgQAAAAHJG1hdGNoMAkBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMR0FNRVNDT1VOVEVSBQAAAAckbWF0Y2gwCQAAAgAAAAECAAAAEUlOSVRfQUxSRUFEWV9ET05FCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBnYW1lQ291bnRlckxhYmVsAAAAAAAAAAAACQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJnYW1lVG90YWxCZXRzTGFiZWwAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFmdhbWVQcm9jZXNzZWRCZXRzTGFiZWwAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2dhbWVNaW5CZXRMYWJlbAAAAAAABfXhAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPZ2FtZU1heEJldExhYmVsAAAAAACVAvkACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEmdhbWVSU0FQdWJsaWNMYWJlbAIAAAGTYmFzZTY0Ok1JSUJJekFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUkFBTUlJQkN3S0NBUUlBK0NwYnpNQktwcSs3VmFyU0RITFcwd1FTb2gyTFRiZ2wxckFoZnJ1WkdDanQ2TU80bzF2MWlMcUt5TkgzRkpzdndsTFVxbXFFN0UyV2w3TGJJUEEyNlB4TzJYQ0RmdmowT1dwN2NFSmtVQkVpeVBZQ24raXVQWFVQd3Vkb0ZnTTRXSGYwSVBiREoyTzZPZ3pRbEJCbU51Nk93cjduYUlUaUpyUEF2YWtQZ0FkbVVQdjRyT3pjdTZCUjBUOEd3c3p3cHJ2d1dabEtGNkFkMDBvbUxGRG14NjZIdkJFNTFzUkJpWElSYkpuakRobG9waXplNExvUjFGSXJRYUF1MXNmczViRUhMQTMzanZLeWJuZStJRGF3Q3NpSU5aWWRQWlYxV1djVVJDK1hBRmZCaVlDdzRQWXlndXhhQlJIb3R6TGMyZE9zQlYxSEROSWpMS1ZvUmtueXQ1MENBd0VBQVE9PQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA5nYW1lVG9rZW5MYWJlbAIAAAAABQAAAANuaWwAAAABaQEAAAAJc3RhcnRHYW1lAAAAAgAAAApyYW5kb21IYXNoAAAADGJsb2NrSW5Sb3VuZAMJAQAAAA9jaGVja1Blcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAATc3RhcnRHYW1lX0ZPUkJCSURFTgQAAAAHJG1hdGNoMAkBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMR0FNRVNDT1VOVEVSBQAAAAckbWF0Y2gwBAAAAA5uZXdHYW1lQ291bnRlcgkAAGQAAAACBQAAAAxHQU1FU0NPVU5URVIAAAAAAAAAAAEDCQAAZgAAAAIFAAAADEdBTUVTQ09VTlRFUgAAAAAAAAAAAAQAAAAHJG1hdGNoMQkBAAAADGdhbWVHZXRTdGF0ZQAAAAEFAAAADEdBTUVTQ09VTlRFUgMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAADSW50BAAAAAlnYW1lU3RhdGUFAAAAByRtYXRjaDEDCQAAAAAAAAIFAAAACWdhbWVTdGF0ZQAAAAAAAAAAAAkAAAIAAAABAgAAAB9MYXN0IGdhbWUgaGFzIG5vdCBmaW5pc2hlZCB5ZXQuCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBnYW1lQ291bnRlckxhYmVsBQAAAA5uZXdHYW1lQ291bnRlcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFGdhbWVTdGFydEhlaWdodExhYmVsAAAAAQUAAAAObmV3R2FtZUNvdW50ZXIIBQAAAAlsYXN0QmxvY2sAAAAGaGVpZ2h0CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAASZ2FtZUVuZEhlaWdodExhYmVsAAAAAQUAAAAObmV3R2FtZUNvdW50ZXIJAABkAAAAAgUAAAAGaGVpZ2h0BQAAAAxibG9ja0luUm91bmQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA5nYW1lU3Rh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AAAAAAAlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOZ2FtZVN0YXRlTGFiZWwAAAABBQAAAApnYW1lTnVtYmVyAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAPZ2FtZVJlc3VsdExhYmVsAAAAAQUAAAAKZ2FtZU51bWJlcgUAAAAFaW5kZXgJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAE2dhbWVSYW5kb21IYXNoTGFiZWwAAAABBQAAAApnYW1lTnVtYmVyCQACWgAAAAEFAAAACnJhbmRvbUhhc2gFAAAAA25pbAkAAAIAAAABAgAAABpMYXN0IGJsb2NrIGRvZXMgbm90IGV4aXN0LgkAAAIAAAABAgAAABJTSEEgZG9lcyBub3QgZXhpc3QJAAACAAAAAQIAAAAXQ2Fubm90IGdldCBnYW1lIGhlaWdodC4JAAACAAAAAQIAAAAoR2FtZSBkb2VzIG5vdCBleGlzdCBvciBoYXMgYWxyZWFkeSBlbmRlZAAAAAFpAQAAAAxzZXRQYXJhbWV0ZXIAAAACAAAADXBhcmFtZXRlck5hbWUAAAAOcGFyYW1ldGVyVmFsdWUDCQEAAAAPY2hlY2tQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAFnNldFBhcmFtZXRlcl9GT1JCQklERU4DCQAAAAAAAAIFAAAADXBhcmFtZXRlck5hbWUCAAAACWNoYW5nZU1heAQAAAAMbWF4aW11bVZhbHVlCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAADnBhcmFtZXRlclZhbHVlBAAAAAxtaW5pbXVtVmFsdWUJAQAAAAtnYW1lc01pbkJldAAAAAADCQAAZgAAAAIAAAAAAAAAAAAFAAAADG1heGltdW1WYWx1ZQkAAAIAAAABAgAAABx2YWx1ZSBjYW5ub3QgYmUgbG93ZXIgdGhhbiAwAwkAAGcAAAACBQAAAAxtaW5pbXVtVmFsdWUFAAAADG1heGltdW1WYWx1ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAAtdmFsdWUgY2Fubm90IGJlIGxvd2VyIG9yIGVxdWFsIHRoYW4gbWluIGJldCAoCQABpAAAAAEFAAAADG1pbmltdW1WYWx1ZQIAAAABKQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAPZ2FtZU1heEJldExhYmVsBQAAAAxtYXhpbXVtVmFsdWUFAAAAA25pbAMJAAAAAAAAAgUAAAANcGFyYW1ldGVyTmFtZQIAAAAJY2hhbmdlTWluBAAAAAxtYXhpbXVtVmFsdWUJAQAAAAtnYW1lc01heEJldAAAAAAEAAAADG1pbmltdW1WYWx1ZQkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAAA5wYXJhbWV0ZXJWYWx1ZQMJAABmAAAAAgAAAAAAAAAAAAUAAAAMbWluaW11bVZhbHVlCQAAAgAAAAECAAAAHHZhbHVlIGNhbm5vdCBiZSBsb3dlciB0aGFuIDADCQAAZwAAAAIFAAAADG1pbmltdW1WYWx1ZQUAAAAMbWF4aW11bVZhbHVlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACAgAAAC92YWx1ZSBjYW5ub3QgYmUgZ3JlYXRlciBvciBlcXVhbCB0aGFuIG1pbiBiZXQgKAkAAaQAAAABBQAAAAxtYXhpbXVtVmFsdWUCAAAAASkJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2dhbWVNaW5CZXRMYWJlbAUAAAAMbWluaW11bVZhbHVlBQAAAANuaWwDCQAAAAAAAAIFAAAADXBhcmFtZXRlck5hbWUCAAAACWNoYW5nZVJTQQQAAAAHJG1hdGNoMAkBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMR0FNRVNDT1VOVEVSBQAAAAckbWF0Y2gwBAAAAAckbWF0Y2gxCQEAAAAMZ2FtZUdldFN0YXRlAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAANJbnQEAAAABXN0YXRlBQAAAAckbWF0Y2gxAwkBAAAAAiE9AAAAAgUAAAAFc3RhdGUAAAAAAAAAAAEJAAACAAAAAQIAAAAYR2FtZSBoYXMgdG8gYmUgZmluaXNoZWQuCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAAEmdhbWVSU0FQdWJsaWNMYWJlbAUAAAAOcGFyYW1ldGVyVmFsdWUFAAAAA25pbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAABJnYW1lUlNBUHVibGljTGFiZWwFAAAADnBhcmFtZXRlclZhbHVlBQAAAANuaWwJAAACAAAAAQIAAAAdR2FtZSBuZWVkcyB0byBiZSBpbml0aWFsaXplZC4JAAACAAAAAQIAAABJU2V0dGluZyBub3QgZm91bmQuIEFsbG93ZWQ6IGNoYW5nZU1heCwgY2hhbmdlTWluLCBjaGFuZ2VSU0EsIGNoYW5nZVB1YktleQAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V57i7uHg==", "height": 2066428, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: none Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let a = [5, 24, 16, 33, 1, 20, 14, 31, 9, 22, 18, 29, 7, 28, 12, 35, 3, 26, 0, 32, 15, 19, 4, 21, 2, 25, 17, 34, 6, 27, 13, 36, 11, 30, 8, 23, 10]
5+
6+let b = [2, 4, 6, 8, 10, 11, 13, 15, 17, 20, 22, 24, 26, 28, 29, 31, 33, 35]
7+
8+let c = [1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36]
9+
10+let d = [1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34]
11+
12+let e = [2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35]
13+
14+let f = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36]
15+
16+let g = fromBase58String("EJyHuhGSJ18DonGgfRk3b8n1dXvZpfVPd7ehETbnQhku")
17+
18+let h = "G_GAMESCOUNTER"
19+
20+let i = "G_TOTALBETS"
21+
22+let j = "G_PROCESSEDBETS"
23+
24+let k = "G_MINBET"
25+
26+let l = "G_MAXBET"
27+
28+let m = "G_RSAPUBLIC"
29+
30+let n = "G_GAMEMASTER_PUBLIC_KEY"
31+
32+let o = "G_TOKENID"
33+
34+func p () = getInteger(this, h)
35+
36+
37+func q () = getInteger(this, i)
38+
39+
40+func r () = getInteger(this, j)
41+
42+
43+func s () = getIntegerValue(this, k)
44+
45+
46+func t () = getIntegerValue(this, l)
47+
48+
49+func u () = getStringValue(this, m)
50+
51+
52+func v () = fromBase64String(u())
53+
54+
55+func w () = {
56+ let x = getString(this, o)
57+ if ($isInstanceOf(x, "String"))
58+ then {
59+ let y = x
60+ if ((y == ""))
61+ then unit
62+ else fromBase58String(y)
63+ }
64+ else unit
65+ }
66+
67+
68+func z (A) = (("B_" + toString(A)) + "_BETDETAILS")
69+
70+
71+func B (A) = (("B_" + toString(A)) + "_WINSTATE")
72+
73+
74+func C (A) = (("B_" + toString(A)) + "_WINAMOUNT")
75+
76+
77+func D (A) = (("B_" + toString(A)) + "_GAME")
78+
79+
80+func E (A) = (("B_" + toString(A)) + "_PAYOUT")
81+
82+
83+func F (A) = getStringValue(this, z(A))
84+
85+
86+func G (A) = getIntegerValue(this, D(A))
87+
88+
89+func H (I) = (("G_" + toString(I)) + "_STATE")
90+
91+
92+func J (I) = (("G_" + toString(I)) + "_STARTHEIGHT")
93+
94+
95+func K (I) = (("G_" + toString(I)) + "_ENDHEIGHT")
96+
97+
98+func L (I) = (("G_" + toString(I)) + "_SUMSHA")
99+
100+
101+func M (I) = (("G_" + toString(I)) + "_RESULT")
102+
103+
104+func N (I) = (("G_" + toString(I)) + "_RANDOMHASH")
105+
106+
107+func O (I) = getInteger(this, H(I))
108+
109+
110+func P (I) = getInteger(this, K(I))
111+
112+
113+func Q (I) = getString(this, L(I))
114+
115+
116+func R (I) = getIntegerValue(this, M(I))
117+
118+
119+func S (T) = (T != g)
120+
121+
122+func U (V) = (V == unit)
123+
124+
125+func W (X) = if ((X == 1))
126+ then 36
127+ else if ((X == 2))
128+ then 18
129+ else if ((X == 3))
130+ then 12
131+ else if ((X == 4))
132+ then 9
133+ else if ((X == 5))
134+ then 7
135+ else if ((X == 6))
136+ then 6
137+ else 0
138+
139+
140+func Y (Z,aa) = {
141+ let ab = split(Z, "-")
142+ let ac = value(parseInt(ab[1]))
143+ let ad = ab[2]
144+ if ((ad == "numbers"))
145+ then {
146+ let ae = removeByIndex(removeByIndex(removeByIndex(ab, 0), 0), 0)
147+ if (containsElement(ae, toString(aa)))
148+ then (ac * W(size(ae)))
149+ else 0
150+ }
151+ else if ((ad == "color"))
152+ then if ((ab[3] == "red"))
153+ then if (containsElement(c, aa))
154+ then (ac * 2)
155+ else 0
156+ else if (containsElement(b, aa))
157+ then (ac * 2)
158+ else 0
159+ else if ((ad == "column"))
160+ then if ((ab[3] == "1"))
161+ then if (containsElement(d, aa))
162+ then (ac * 3)
163+ else 0
164+ else if ((ab[3] == "2"))
165+ then if (containsElement(e, aa))
166+ then (ac * 3)
167+ else 0
168+ else if ((ab[3] == "3"))
169+ then if (containsElement(f, aa))
170+ then (ac * 3)
171+ else 0
172+ else 0
173+ else if ((ad == "dozen"))
174+ then if ((ab[3] == "1"))
175+ then if (if ((aa >= 1))
176+ then (12 >= aa)
177+ else false)
178+ then (ac * 3)
179+ else 0
180+ else if ((ab[3] == "2"))
181+ then if (if ((aa >= 13))
182+ then (24 >= aa)
183+ else false)
184+ then (ac * 3)
185+ else 0
186+ else if ((ab[3] == "3"))
187+ then if (if ((aa >= 25))
188+ then (36 >= aa)
189+ else false)
190+ then (ac * 3)
191+ else 0
192+ else 0
193+ else if ((ad == "oddeven"))
194+ then if ((aa == 0))
195+ then 0
196+ else if ((ab[3] == "even"))
197+ then if (if (((aa % 2) == 0))
198+ then (aa != 0)
199+ else false)
200+ then (ac * 2)
201+ else 0
202+ else if (((aa % 2) == 1))
203+ then (ac * 2)
204+ else 0
205+ else if ((ad == "lowhigh"))
206+ then if ((aa == 0))
207+ then 0
208+ else if ((ab[3] == "low"))
209+ then if (if ((aa >= 1))
210+ then (18 >= aa)
211+ else false)
212+ then (ac * 2)
213+ else 0
214+ else if (if ((aa >= 19))
215+ then (36 >= aa)
216+ else false)
217+ then (ac * 2)
218+ else 0
219+ else 0
220+ }
221+
222+
223+@Callable(af)
224+func processNextBet () = if (S(af.callerPublicKey))
225+ then throw("processNextBet_FORBBIDEN")
226+ else {
227+ let x = q()
228+ if ($isInstanceOf(x, "Int"))
229+ then {
230+ let ag = x
231+ let ah = r()
232+ if ($isInstanceOf(ah, "Int"))
233+ then {
234+ let ai = ah
235+ let aj = (ai + 1)
236+ if ((aj > ag))
237+ then throw("Next bet has not been placed.")
238+ else {
239+ let I = G(aj)
240+ let ak = O(I)
241+ if ($isInstanceOf(ak, "Int"))
242+ then {
243+ let al = ak
244+ if ((al == 1))
245+ then {
246+ let aa = R(I)
247+ let am = F(aj)
248+ let an = split(am, "-")[0]
249+ let ao = value(addressFromString(an))
250+ let ap = Y(am, aa)
251+[ScriptTransfer(ao, ap, w()), IntegerEntry(j, (ai + 1)), IntegerEntry(E(aj), ap)]
252+ }
253+ else throw("Game has not finished.")
254+ }
255+ else throw("Game does not exist or has already ended.")
256+ }
257+ }
258+ else throw("Game has not been initialized, next bets not found")
259+ }
260+ else throw("Game has not been initialized, total bets not found")
261+ }
262+
263+
264+
265+@Callable(af)
266+func initGame () = if (S(af.callerPublicKey))
267+ then throw("initGame_FORBBIDEN")
268+ else {
269+ let x = p()
270+ if ($isInstanceOf(x, "Int"))
271+ then {
272+ let aq = x
273+ throw("INIT_ALREADY_DONE")
274+ }
275+ else [IntegerEntry(h, 0), IntegerEntry(i, 0), IntegerEntry(j, 0), IntegerEntry(k, 100000000), IntegerEntry(l, 2500000000), StringEntry(m, "base64:MIIBIzANBgkqhkiG9w0BAQEFAAOCARAAMIIBCwKCAQIA+CpbzMBKpq+7VarSDHLW0wQSoh2LTbgl1rAhfruZGCjt6MO4o1v1iLqKyNH3FJsvwlLUqmqE7E2Wl7LbIPA26PxO2XCDfvj0OWp7cEJkUBEiyPYCn+iuPXUPwudoFgM4WHf0IPbDJ2O6OgzQlBBmNu6Owr7naITiJrPAvakPgAdmUPv4rOzcu6BR0T8GwszwprvwWZlKF6Ad00omLFDmx66HvBE51sRBiXIRbJnjDhlopize4LoR1FIrQaAu1sfs5bEHLA33jvKybne+IDawCsiINZYdPZV1WWcURC+XAFfBiYCw4PYyguxaBRHotzLc2dOsBV1HDNIjLKVoRknyt50CAwEAAQ=="), StringEntry(o, "")]
276+ }
277+
278+
279+
280+@Callable(af)
281+func startGame (ar,as) = if (S(af.callerPublicKey))
282+ then throw("startGame_FORBBIDEN")
283+ else {
284+ let x = p()
285+ if ($isInstanceOf(x, "Int"))
286+ then {
287+ let aq = x
288+ let at = (aq + 1)
289+ if ((aq > 0))
290+ then {
291+ let ah = O(aq)
292+ if ($isInstanceOf(ah, "Int"))
293+ then {
294+ let au = ah
295+ if ((au == 0))
296+ then throw("Last game has not finished yet.")
297+ else [IntegerEntry(h, at), IntegerEntry(J(at), lastBlock.height), IntegerEntry(K(at), (height + as)), IntegerEntry(H(at), 0), StringEntry(L(at), toBase58String(sha256(fromBase64String(ar))))]
298+ }
299+ else throw("Game state not found.")
300+ }
301+ else [IntegerEntry(h, at), IntegerEntry(J(at), lastBlock.height), IntegerEntry(K(at), (height + as)), IntegerEntry(H(at), 0), StringEntry(L(at), toBase58String(sha256(fromBase64String(ar))))]
302+ }
303+ else throw("INIT_NEEDED")
304+ }
305+
306+
307+
308+@Callable(af)
309+func placeBet (Z) = {
310+ let av = w()
311+ if ((af.feeAssetId != av))
312+ then throw("Fee is not in correct assetId")
313+ else {
314+ let ab = split(Z, "-")
315+ let ad = ab[0]
316+ if (if (if (if (if (if ((ad != "numbers"))
317+ then (ad != "column")
318+ else false)
319+ then (ad != "color")
320+ else false)
321+ then (ad != "dozen")
322+ else false)
323+ then (ad != "oddeven")
324+ else false)
325+ then (ad != "lowhigh")
326+ else false)
327+ then throw("Bet type is not valid.")
328+ else {
329+ let x = p()
330+ if ($isInstanceOf(x, "Int"))
331+ then {
332+ let aq = x
333+ let ah = O(aq)
334+ if ($isInstanceOf(ah, "Int"))
335+ then {
336+ let al = ah
337+ if ((al == 1))
338+ then throw("Game is finished and next game has not started.")
339+ else if ((size(af.payments) != 1))
340+ then throw("Payment not attached or there is more then one payment")
341+ else {
342+ let aw = af.payments[0]
343+ let ax = aw.amount
344+ if (if (if ((value(t()) >= ax))
345+ then (ax >= value(s()))
346+ else false)
347+ then (af.payments[0].assetId == av)
348+ else false)
349+ then {
350+ let ak = P(aq)
351+ if ($isInstanceOf(ak, "Int"))
352+ then {
353+ let ay = ak
354+ if ((ay > height))
355+ then {
356+ let az = q()
357+ if ($isInstanceOf(az, "Int"))
358+ then {
359+ let ag = az
360+ let aA = (ag + 1)
361+ if ((av == unit))
362+ then [IntegerEntry(i, (ag + 1)), StringEntry(z(aA), ((((toBase58String(af.caller.bytes) + "-") + toString(ax)) + "-") + Z)), IntegerEntry(D(aA), aq)]
363+ else [IntegerEntry(i, (ag + 1)), StringEntry(z(aA), ((((toBase58String(af.caller.bytes) + "-") + toString(ax)) + "-") + Z)), IntegerEntry(D(aA), aq)]
364+ }
365+ else throw("Game has not been initalized.")
366+ }
367+ else throw("Game has already exceeded betting round")
368+ }
369+ else throw("End height has not been defined.")
370+ }
371+ else throw((((((("Bet (" + toString(ax)) + ") is greater than maximum bet (") + toString(t())) + "), lower than minimum (") + toString(s())) + ") or payment is not in correct assetId."))
372+ }
373+ }
374+ else throw("Game does not exist or has already ended.")
375+ }
376+ else throw("Game needs to be initialized.")
377+ }
378+ }
379+ }
380+
381+
382+
383+@Callable(af)
384+func endGame (aB,I) = if (S(af.callerPublicKey))
385+ then throw("endGame_FORBBIDEN")
386+ else {
387+ let x = O(I)
388+ if ($isInstanceOf(x, "Int"))
389+ then {
390+ let al = x
391+ if ((al == 1))
392+ then throw("Game is finished")
393+ else {
394+ let ah = P(I)
395+ if ($isInstanceOf(ah, "Int"))
396+ then {
397+ let aC = ah
398+ if ((aC > height))
399+ then throw(("Not enough blocks have past since game has started, game ends at block " + toString(aC)))
400+ else {
401+ let ak = Q(I)
402+ if ($isInstanceOf(ak, "String"))
403+ then {
404+ let aD = ak
405+ let aE = fromBase64String(aB)
406+ let aF = rsaVerify(SHA256, fromBase58String(aD), aE, v())
407+ let az = blockInfoByHeight(aC)
408+ if ($isInstanceOf(az, "BlockInfo"))
409+ then {
410+ let aG = az
411+ let ar = sha256((take(aE, 32) + take(aG.generationSignature, 32)))
412+ if (!(aF))
413+ then throw("INVALID_RSA_SIGN")
414+ else {
415+ let aH = a[((toInt(ar) + value(I)) % 37)]
416+[IntegerEntry(H(I), 1), IntegerEntry(M(I), aH), StringEntry(N(I), toBase64String(ar))]
417+ }
418+ }
419+ else throw("Last block does not exist.")
420+ }
421+ else throw("SHA does not exist")
422+ }
423+ }
424+ else throw("Cannot get game height.")
425+ }
426+ }
427+ else throw("Game does not exist or has already ended")
428+ }
429+
430+
431+
432+@Callable(af)
433+func setParameter (aI,aJ) = if (S(af.callerPublicKey))
434+ then throw("setParameter_FORBBIDEN")
435+ else if ((aI == "changeMax"))
436+ then {
437+ let aK = parseIntValue(aJ)
438+ let aL = s()
439+ if ((0 > aK))
440+ then throw("value cannot be lower than 0")
441+ else if ((aL >= aK))
442+ then throw((("value cannot be lower or equal than min bet (" + toString(aL)) + ")"))
443+ else [IntegerEntry(l, aK)]
444+ }
445+ else if ((aI == "changeMin"))
446+ then {
447+ let aK = t()
448+ let aL = parseIntValue(aJ)
449+ if ((0 > aL))
450+ then throw("value cannot be lower than 0")
451+ else if ((aL >= aK))
452+ then throw((("value cannot be greater or equal than min bet (" + toString(aK)) + ")"))
453+ else [IntegerEntry(k, aL)]
454+ }
455+ else if ((aI == "changeRSA"))
456+ then {
457+ let x = p()
458+ if ($isInstanceOf(x, "Int"))
459+ then {
460+ let aq = x
461+ let ah = O(aq)
462+ if ($isInstanceOf(ah, "Int"))
463+ then {
464+ let al = ah
465+ if ((al != 1))
466+ then throw("Game has to be finished.")
467+ else [StringEntry(m, aJ)]
468+ }
469+ else [StringEntry(m, aJ)]
470+ }
471+ else throw("Game needs to be initialized.")
472+ }
473+ else throw("Setting not found. Allowed: changeMax, changeMin, changeRSA, changePubKey")
474+
475+
476+@Verifier(aM)
477+func aN () = sigVerify(aM.bodyBytes, aM.proofs[0], aM.senderPublicKey)
478+

github/deemru/w8io/169f3d6 
36.64 ms