tx · 7XJfRzZZW8ZQkV3n2219uJSNYLNsZTMdzpGDAxAPvYJC

3Mz7zzdQoHabgytXU3UuTAzADXPBBLgFqu8:  -0.01400000 Waves

2019.12.16 05:16 [810844] smart account 3Mz7zzdQoHabgytXU3UuTAzADXPBBLgFqu8 > SELF 0.00000000 Waves

{ "type": 13, "id": "7XJfRzZZW8ZQkV3n2219uJSNYLNsZTMdzpGDAxAPvYJC", "fee": 1400000, "feeAssetId": null, "timestamp": 1576462518114, "version": 1, "sender": "3Mz7zzdQoHabgytXU3UuTAzADXPBBLgFqu8", "senderPublicKey": "6uncmj7GmSzxFAGGX8NcToqPxTxWUHW7Aj1WSbMH2qXw", "proofs": [ "2U824ra89eK9hoeMaY1tDJfzgdoK7H6QmPJCj7ZW97yv9xLkbnANZDqH2uTgAqU2nYxJGuLJaoVNTQ3NbishHh7L" ], "script": "base64:AAIDAAAAAAAAABIIARIICgYBAQEBAQESBAoCCAIAAAAhAAAAAAlSU0FQVUJMSUMJAAJbAAAAAQIAAAGPYmFzZTY0Ok1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBZzRkQVI2WGJCREFTOWhyL0VqM2RKdjZGZmM0NjZ4L21PR01XVTNsckFCczNxYThCSG11Skdua2ZicEVmMnZBd1lUT1dQdnZ6Zk0xME9CYmZsb1N5cTNjOU1LdnlUZTFsdUJMR3FXNHZaVVhJeXZTZ3oxbGl5VVZlZklReTNkeUY5amJlVFpiQzBiYmNULzdPM0RFTCswMXo2QStyRENhY1NaMGxHb2xTUTZBbmhMeHpJa1ZwT1FKYnJCbUMreCtadVpQQ01Xekp5bmQ1YWVPbjdqYWovbWtSVnl4ZTZnLzBPaFd6NE5paVpYZXVNUkIrOG1LeTBmV0QvVWxJbFpXSHNBUzJabXJrWEtxakxxMC8wd3I4SUxKa3pualNxZG5JNUliamczdVFyai80QU4raTlyMjhhUTczL1prUHRZNVNidzBBT2lBQkJ1N2dIbXE5YXlWeFpRSURBUUFCAAAAAA9HQU1FU0NPVU5URVJLRVkCAAAACSRHQU1FX05VTQAAAAAOUkVTRVJWQVRJT05LRVkCAAAAECRSRVNFUlZFRF9BTU9VTlQAAAAABFdCRVQBAAAAIIa0Nqh40w7M2PAXrUsuLAQfB5+6yrkWqUrXbyWtm9B2AAAAAA5XQUxMRVRXQVZFU0JFVAkBAAAAB0FkZHJlc3MAAAABAQAAABoBVC8R8HhOr9aTn6luIitmtR+yU9d4zzto+wAAAAAMV0FMTEVUTUNBRkVFCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFULxHweE6v1pOfqW4iK2a1H7JT13jPO2j7AAAAAAdXQVZFTEVUAAAAAAAF9eEAAAAAAAtGRUVXQVZFU0JFVAAAAAAAAAAABAAAAAAJRkVFTUNBRkVFAAAAAAAAAAACAAAAAA5TVEFURVNVQk1JVFRFRAIAAAAJU1VCTUlUVEVEAAAAAAhTVEFURVdPTgIAAAADV09OAAAAAAlTVEFURUxPU1QCAAAABExPU1QAAAAABkJFVE1JTgkAAGgAAAACAAAAAAAAAAABBQAAAAdXQVZFTEVUAAAA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AAAAAAAbBwAAAAAAAAAACAMDCQAAAAAAAAIFAAAAA2JldAAAAAAAAAAAgAMDAwkAAAAAAAACBQAAAANudW0AAAAAAAAAABkGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAGgYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAcBgkAAAAAAAACBQAAAANudW0AAAAAAAAAAB0HAAAAAAAAAAAIAwMJAAAAAAAAAgUAAAADYmV0AAAAAAAAAACBAwMDCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAGgYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAbBgkAAAAAAAACBQAAAANudW0AAAAAAAAAAB0GCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAHgcAAAAAAAAAAAgDAwkAAAAAAAACBQAAAANiZXQAAAAAAAAAAIIDAwMJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAcBgkAAAAAAAACBQAAAANudW0AAAAAAAAAAB0GCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAHwYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAgBwAAAAAAAAAACAMDCQAAAAAAAAIFAAAAA2JldAAAAAAAAAAAgwMDAwkAAAAAAAACBQAAAANudW0AAAAAAAAAAB0GCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAHgYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAgBgkAAAAAAAACBQAAAANudW0AAAAAAAAAACEHAAAAAAAAAAAIAwMJAAAAAAAAAgUAAAADYmV0AAAAAAAAAACEAwMDCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAHwYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAgBgkAAAAAAAACBQAAAANudW0AAAAAAAAAACIGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAIwcAAAAAAAAAAAgDAwkAAAAAAAACBQAAAANiZXQAAAAAAAAAAIUDAwMJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAgBgkAAAAAAAACBQAAAANudW0AAAAAAAAAACEGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAIwYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAkBwAAAAAAAAAACAAAAAAAAAAAAAEAAAAHbGluZUJldAAAAAIAAAADbnVtAAAAA2JldAMDAwkAAAAAAAACBQAAAANiZXQAAAAAAAAAAIYJAABnAAAAAgUAAAADbnVtAAAAAAAAAAABBwkAAGcAAAACAAAAAAAAAAAGBQAAAANudW0HAAAAAAAAAAAFAwMDCQAAAAAAAAIFAAAAA2JldAAAAAAAAAAAhwkAAGcAAAACBQAAAANudW0AAAAAAAAAAAQHCQAAZwAAAAIAAAAAAAAAAAkFAAAAA251bQcAAAAAAAAAAAUDAwMJAAAAAAAAAgUAAAADYmV0AAAAAAAAAACICQAAZwAAAAIFAAAAA251bQAAAAAAAAAABwcJAABnAAAAAgAAAAAAAAAADAUAAAADbnVtBwAAAAAAAAAABQMDAwkAAAAAAAACBQAAAANiZXQAAAAAAAAAAIkJAABnAAAAAgUAAAADbnVtAAAAAAAAAAAKBwkAAGcAAAACAAAAAAAAAAAPBQAAAANudW0HAAAAAAAAAAAFAwMDCQAAAAAAAAIFAAAAA2JldAAAAAAAAAAAigkAAGcAAAACBQAAAANudW0AAAAAAAAAAA0HCQAAZwAAAAIAAAAAAAAAABIFAAAAA251bQcAAAAAAAAAAAUDAwMJAAAAAAAAAgUAAAADYmV0AAAAAAAAAACLCQAAZwAAAAIFAAAAA251bQAAAAAAAAAAEAcJAABnAAAAAgAAAAAAAAAAFQUAAAADbnVtBwAAAAAAAAAABQMDAwkAAAAAAAACBQAAAANiZXQAAAAAAAAAAIwJAABnAAAAAgUAAAADbnVtAAAAAAAAAAATBwkAAGcAAAACAAAAAAAAAAAYBQAAAANudW0HAAAAAAAAAAAFAwMDCQAAAAAAAAIFAAAAA2JldAAAAAAAAAAAjQkAAGcAAAACBQAAAANudW0AAAAAAAAAABYHCQAAZwAAAAIAAAAAAAAAABsFAAAAA251bQcAAAAAAAAAAAUDAwMJAAAAAAAAAgUAAAADYmV0AAAAAAAAAACOCQAAZwAAAAIFAAAAA251bQAAAAAAAAAAGQcJAABnAAAAAgAAAAAAAAAAHgUAAAADbnVtBwAAAAAAAAAABQMDAwkAAAAAAAACBQAAAANiZXQAAAAAAAAAAI8JAABnAAAAAgUAAAADbnVtAAAAAAAAAAAcBwkAAGcAAAACAAAAAAAAAAAhBQAAAANudW0HAAAAAAAAAAAFAwMDCQAAAAAAAAIFAAAAA2JldAAAAAAAAAAAkAkAAGcAAAACBQAAAANudW0AAAAAAAAAAB8HCQAAZwAAAAIAAAAAAAAAACQFAAAAA251bQcAAAAAAAAAAAUAAAAAAAAAAAABAAAACWNvbHVtbkJldAAAAAIAAAADbnVtAAAAA2JldAMDCQAAAAAAAAIFAAAAA2JldAAAAAAAAAAAkQMDAwMDAwMDAwMDAwkAAAAAAAACBQAAAANudW0AAAAAAAAAAAAGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAAQYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAEBgkAAAAAAAACBQAAAANudW0AAAAAAAAAAAcGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAACgYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAANBgkAAAAAAAACBQAAAANudW0AAAAAAAAAABAGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAEwYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAWBgkAAAAAAAACBQAAAANudW0AAAAAAAAAABkGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAHAYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAfBgkAAAAAAAACBQAAAANudW0AAAAAAAAAACIHAAAAAAAAAAACAwMJAAAAAAAAAgUAAAADYmV0AAAAAAAAAACSAwMDAwMDAwMDAwMDCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAAAYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAACBgkAAAAAAAACBQAAAANudW0AAAAAAAAAAAUGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAACAYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAALBgkAAAAAAAACBQAAAANudW0AAAAAAAAAAA4GCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAEQYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAUBgkAAAAAAAACBQAAAANudW0AAAAAAAAAABcGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAGgYJAAAAAAAAAgUAAAADbnVtAAAAAAAAAAAdBgkAAAAAAAACBQAAAANudW0AAAAAAAAAACAGCQAAAAAAAAIFAAAAA251bQAAAAAAAAAAIwcAAAAA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bW91bnQIBQAAAAdwYXltZW50AAAABmFtb3VudAkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgIAAAArUGF5bWVudCB2YWx1ZSBpcyBkaWZmZXJlbnQgZnJvbSBiZXQgdmFsdWUuIAkAAaQAAAABBQAAAApwbGF5QW1vdW50CQABpAAAAAEIBQAAAAdwYXltZW50AAAABmFtb3VudAQAAAAKbmV3R2FtZU51bQkBAAAAEEluY3JlbWVudEdhbWVOdW0AAAAABAAAAA5wbGF5ZXJQdWJLZXk1OAkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAC2dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAFBQAAAA5TVEFURVNVQk1JVFRFRAUAAAAOcGxheWVyUHViS2V5NTgJAQAAAAt2YWxpZGF0ZUJldAAAAAIFAAAABGJldDEFAAAABHZhbDEJAQAAAAt2YWxpZGF0ZUJldAAAAAIFAAAABGJldDIFAAAABHZhbDIJAQAAAAt2YWxpZGF0ZUJldAAAAAIFAAAABGJldDMFAAAABHZhbDMJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA9HQU1FU0NPVU5URVJLRVkFAAAACm5ld0dhbWVOdW0JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAALZ2FtZURhdGFTdHIFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAAZnYW1lSWQAAAAGcnNhU2lnBAAAAAxnYW1lRGF0YUxpc3QJAAS1AAAAAgUAAAAGZ2FtZUlkAgAAAAFfBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0AAAAAAAAAAAABAAAAA5wbGF5ZXJQdWJLZXk1OAkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QAAAAAAAAAAAEEAAAADXBsYXllckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAOcGxheWVyUHViS2V5NTgD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", "chainId": 84, "height": 810844, "spentComplexity": 0 } View: original | compacted Prev: HGgXb7uQocXpLQDt322gGki5D97btfcm81TEAJUWsfKM Next: 3RtMvrV3V9DPfHUEtXr3xzJXJ8F2sJFn1XDEuvuRHL6H Diff:
OldNewDifferences
44 let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg4dAR6XbBDAS9hr/Ej3dJv6Ffc466x/mOGMWU3lrABs3qa8BHmuJGnkfbpEf2vAwYTOWPvvzfM10OBbfloSyq3c9MKvyTe1luBLGqW4vZUXIyvSgz1liyUVefIQy3dyF9jbeTZbC0bbcT/7O3DEL+01z6A+rDCacSZ0lGolSQ6AnhLxzIkVpOQJbrBmC+x+ZuZPCMWzJynd5aeOn7jaj/mkRVyxe6g/0OhWz4NiiZXeuMRB+8mKy0fWD/UlIlZWHsAS2ZmrkXKqjLq0/0wr8ILJkznjSqdnI5Ibjg3uQrj/4AN+i9r28aQ73/ZkPtY5Sbw0AOiABBu7gHmq9ayVxZQIDAQAB")
55
66 let GAMESCOUNTERKEY = "$GAME_NUM"
7+
8+let RESERVATIONKEY = "$RESERVED_AMOUNT"
79
810 let WBET = base58'A4q1mYKo11yuH9gmvDodeJoksagcyQzeFE9JtphMWddw'
911
4850 else (bet == 85)
4951 else false)
5052 then 17
51- else if (if ((num == 2))
52- then if (if (if ((bet == 38))
53+ else if (if ((num == 1))
54+ then if (if ((bet == 37))
5355 then true
54- else (bet == 41))
55- then true
56- else (bet == 73))
56+ else (bet == 40))
5757 then true
5858 else (bet == 85)
5959 else false)
6060 then 17
61- else if (if ((num == 3))
62- then if (if ((bet == 39))
61+ else if (if ((num == 2))
62+ then if (if (if ((bet == 38))
6363 then true
64- else (bet == 42))
64+ else (bet == 41))
6565 then true
66- else (bet == 73)
66+ else (bet == 73))
67+ then true
68+ else (bet == 85)
6769 else false)
6870 then 17
69- else if (if ((num == 4))
70- then if (if ((bet == 40))
71+ else if (if ((num == 3))
72+ then if (if ((bet == 39))
7173 then true
72- else (bet == 43))
74+ else (bet == 42))
7375 then true
74- else (bet == 86)
76+ else (bet == 73)
7577 else false)
7678 then 17
77- else if (if ((num == 5))
78- then if (if (if ((bet == 41))
79+ else if (if ((num == 4))
80+ then if (if ((bet == 40))
7981 then true
80- else (bet == 44))
81- then true
82- else (bet == 74))
82+ else (bet == 43))
8383 then true
8484 else (bet == 86)
8585 else false)
8686 then 17
87- else if (if ((num == 6))
88- then if (if ((bet == 42))
87+ else if (if ((num == 5))
88+ then if (if (if ((bet == 41))
8989 then true
90- else (bet == 45))
90+ else (bet == 44))
9191 then true
92- else (bet == 74)
92+ else (bet == 74))
93+ then true
94+ else (bet == 86)
9395 else false)
9496 then 17
95- else if (if ((num == 7))
96- then if (if ((bet == 43))
97+ else if (if ((num == 6))
98+ then if (if ((bet == 42))
9799 then true
98- else (bet == 46))
100+ else (bet == 45))
99101 then true
100- else (bet == 87)
102+ else (bet == 74)
101103 else false)
102104 then 17
103- else if (if ((num == 8))
104- then if (if (if ((bet == 44))
105+ else if (if ((num == 7))
106+ then if (if ((bet == 43))
105107 then true
106- else (bet == 47))
107- then true
108- else (bet == 75))
108+ else (bet == 46))
109109 then true
110110 else (bet == 87)
111111 else false)
112112 then 17
113- else if (if ((num == 9))
114- then if (if ((bet == 45))
113+ else if (if ((num == 8))
114+ then if (if (if ((bet == 44))
115115 then true
116- else (bet == 48))
116+ else (bet == 47))
117117 then true
118- else (bet == 75)
118+ else (bet == 75))
119+ then true
120+ else (bet == 87)
119121 else false)
120122 then 17
121- else if (if ((num == 10))
122- then if (if ((bet == 46))
123+ else if (if ((num == 9))
124+ then if (if ((bet == 45))
123125 then true
124- else (bet == 49))
126+ else (bet == 48))
125127 then true
126- else (bet == 88)
128+ else (bet == 75)
127129 else false)
128130 then 17
129- else if (if ((num == 11))
130- then if (if (if ((bet == 47))
131+ else if (if ((num == 10))
132+ then if (if ((bet == 46))
131133 then true
132- else (bet == 50))
133- then true
134- else (bet == 76))
134+ else (bet == 49))
135135 then true
136136 else (bet == 88)
137137 else false)
138138 then 17
139- else if (if ((num == 12))
140- then if (if ((bet == 48))
139+ else if (if ((num == 11))
140+ then if (if (if ((bet == 47))
141141 then true
142- else (bet == 51))
142+ else (bet == 50))
143143 then true
144- else (bet == 76)
144+ else (bet == 76))
145+ then true
146+ else (bet == 88)
145147 else false)
146148 then 17
147- else if (if ((num == 13))
148- then if (if ((bet == 49))
149+ else if (if ((num == 12))
150+ then if (if ((bet == 48))
149151 then true
150- else (bet == 52))
152+ else (bet == 51))
151153 then true
152- else (bet == 89)
154+ else (bet == 76)
153155 else false)
154156 then 17
155- else if (if ((num == 14))
156- then if (if (if ((bet == 50))
157+ else if (if ((num == 13))
158+ then if (if ((bet == 49))
157159 then true
158- else (bet == 53))
159- then true
160- else (bet == 77))
160+ else (bet == 52))
161161 then true
162162 else (bet == 89)
163163 else false)
164164 then 17
165- else if (if ((num == 15))
166- then if (if ((bet == 51))
165+ else if (if ((num == 14))
166+ then if (if (if ((bet == 50))
167167 then true
168- else (bet == 54))
168+ else (bet == 53))
169169 then true
170- else (bet == 77)
170+ else (bet == 77))
171+ then true
172+ else (bet == 89)
171173 else false)
172174 then 17
173- else if (if ((num == 16))
174- then if (if ((bet == 52))
175+ else if (if ((num == 15))
176+ then if (if ((bet == 51))
175177 then true
176- else (bet == 55))
178+ else (bet == 54))
177179 then true
178- else (bet == 90)
180+ else (bet == 77)
179181 else false)
180182 then 17
181- else if (if ((num == 17))
182- then if (if (if ((bet == 53))
183+ else if (if ((num == 16))
184+ then if (if ((bet == 52))
183185 then true
184- else (bet == 56))
185- then true
186- else (bet == 78))
186+ else (bet == 55))
187187 then true
188188 else (bet == 90)
189189 else false)
190190 then 17
191- else if (if ((num == 18))
192- then if (if ((bet == 54))
191+ else if (if ((num == 17))
192+ then if (if (if ((bet == 53))
193193 then true
194- else (bet == 57))
194+ else (bet == 56))
195195 then true
196- else (bet == 78)
196+ else (bet == 78))
197+ then true
198+ else (bet == 90)
197199 else false)
198200 then 17
199- else if (if ((num == 19))
200- then if (if ((bet == 55))
201+ else if (if ((num == 18))
202+ then if (if ((bet == 54))
201203 then true
202- else (bet == 58))
204+ else (bet == 57))
203205 then true
204- else (bet == 91)
206+ else (bet == 78)
205207 else false)
206208 then 17
207- else if (if ((num == 20))
208- then if (if (if ((bet == 56))
209+ else if (if ((num == 19))
210+ then if (if ((bet == 55))
209211 then true
210- else (bet == 59))
211- then true
212- else (bet == 79))
212+ else (bet == 58))
213213 then true
214214 else (bet == 91)
215215 else false)
216216 then 17
217- else if (if ((num == 21))
218- then if (if ((bet == 57))
217+ else if (if ((num == 20))
218+ then if (if (if ((bet == 56))
219219 then true
220- else (bet == 60))
220+ else (bet == 59))
221221 then true
222- else (bet == 79)
222+ else (bet == 79))
223+ then true
224+ else (bet == 91)
223225 else false)
224226 then 17
225- else if (if ((num == 22))
226- then if (if ((bet == 58))
227+ else if (if ((num == 21))
228+ then if (if ((bet == 57))
227229 then true
228- else (bet == 61))
230+ else (bet == 60))
229231 then true
230- else (bet == 92)
232+ else (bet == 79)
231233 else false)
232234 then 17
233- else if (if ((num == 23))
234- then if (if (if ((bet == 59))
235+ else if (if ((num == 22))
236+ then if (if ((bet == 58))
235237 then true
236- else (bet == 62))
237- then true
238- else (bet == 80))
238+ else (bet == 61))
239239 then true
240240 else (bet == 92)
241241 else false)
242242 then 17
243- else if (if ((num == 24))
244- then if (if ((bet == 60))
243+ else if (if ((num == 23))
244+ then if (if (if ((bet == 59))
245245 then true
246- else (bet == 63))
246+ else (bet == 62))
247247 then true
248- else (bet == 80)
248+ else (bet == 80))
249+ then true
250+ else (bet == 92)
249251 else false)
250252 then 17
251- else if (if ((num == 25))
252- then if (if ((bet == 61))
253+ else if (if ((num == 24))
254+ then if (if ((bet == 60))
253255 then true
254- else (bet == 64))
256+ else (bet == 63))
255257 then true
256- else (bet == 93)
258+ else (bet == 80)
257259 else false)
258260 then 17
259- else if (if ((num == 26))
260- then if (if (if ((bet == 62))
261+ else if (if ((num == 25))
262+ then if (if ((bet == 61))
261263 then true
262- else (bet == 65))
263- then true
264- else (bet == 81))
264+ else (bet == 64))
265265 then true
266266 else (bet == 93)
267267 else false)
268268 then 17
269- else if (if ((num == 27))
270- then if (if ((bet == 63))
269+ else if (if ((num == 26))
270+ then if (if (if ((bet == 62))
271271 then true
272- else (bet == 66))
272+ else (bet == 65))
273273 then true
274- else (bet == 81)
274+ else (bet == 81))
275+ then true
276+ else (bet == 93)
275277 else false)
276278 then 17
277- else if (if ((num == 28))
278- then if (if ((bet == 64))
279+ else if (if ((num == 27))
280+ then if (if ((bet == 63))
279281 then true
280- else (bet == 67))
282+ else (bet == 66))
281283 then true
282- else (bet == 94)
284+ else (bet == 81)
283285 else false)
284286 then 17
285- else if (if ((num == 29))
286- then if (if (if ((bet == 65))
287+ else if (if ((num == 28))
288+ then if (if ((bet == 64))
287289 then true
288- else (bet == 68))
289- then true
290- else (bet == 82))
290+ else (bet == 67))
291291 then true
292292 else (bet == 94)
293293 else false)
294294 then 17
295- else if (if ((num == 30))
296- then if (if ((bet == 66))
295+ else if (if ((num == 29))
296+ then if (if (if ((bet == 65))
297297 then true
298- else (bet == 69))
298+ else (bet == 68))
299299 then true
300- else (bet == 82)
300+ else (bet == 82))
301+ then true
302+ else (bet == 94)
301303 else false)
302304 then 17
303- else if (if ((num == 31))
304- then if (if ((bet == 67))
305+ else if (if ((num == 30))
306+ then if (if ((bet == 66))
305307 then true
306- else (bet == 70))
308+ else (bet == 69))
307309 then true
308- else (bet == 95)
310+ else (bet == 82)
309311 else false)
310312 then 17
311- else if (if ((num == 32))
312- then if (if (if ((bet == 68))
313+ else if (if ((num == 31))
314+ then if (if ((bet == 67))
313315 then true
314- else (bet == 71))
315- then true
316- else (bet == 83))
316+ else (bet == 70))
317317 then true
318318 else (bet == 95)
319319 else false)
320320 then 17
321- else if (if ((num == 33))
322- then if (if ((bet == 69))
321+ else if (if ((num == 32))
322+ then if (if (if ((bet == 68))
323323 then true
324- else (bet == 72))
324+ else (bet == 71))
325325 then true
326- else (bet == 83)
326+ else (bet == 83))
327+ then true
328+ else (bet == 95)
327329 else false)
328330 then 17
329- else if (if ((num == 34))
330- then if ((bet == 70))
331+ else if (if ((num == 33))
332+ then if (if ((bet == 69))
331333 then true
332- else (bet == 96)
334+ else (bet == 72))
335+ then true
336+ else (bet == 83)
333337 else false)
334338 then 17
335- else if (if ((num == 35))
336- then if (if ((bet == 71))
337- then true
338- else (bet == 84))
339+ else if (if ((num == 34))
340+ then if ((bet == 70))
339341 then true
340342 else (bet == 96)
341343 else false)
342344 then 17
343- else if (if ((num == 36))
344- then if ((bet == 72))
345+ else if (if (if ((num == 35))
346+ then if (if ((bet == 71))
345347 then true
346- else (bet == 84)
348+ else (bet == 84))
349+ then true
350+ else (bet == 96)
347351 else false)
352+ then true
353+ else if ((num == 36))
354+ then if ((bet == 72))
355+ then true
356+ else (bet == 84)
357+ else false)
348358 then 17
349- else 0
359+ else if (if ((num == 36))
360+ then if ((bet == 72))
361+ then true
362+ else (bet == 84)
363+ else false)
364+ then 17
365+ else 0
350366
351367
352368 func streetBet (num,bet) = if (if ((bet == 97))
955971
956972 func evenOddBet (num,bet) = {
957973 let rem = (num % 2)
958- if (if ((bet == 153))
974+ if (if (if ((num > 0))
975+ then (bet == 153)
976+ else false)
959977 then (rem == 0)
960978 else false)
961979 then 1
962- else if (if ((bet == 154))
980+ else if (if (if ((num > 0))
981+ then (bet == 154)
982+ else false)
963983 then (rem != 0)
964984 else false)
965985 then 1
9821002 else 0
9831003
9841004
985-func teste (num,bet) = if (if ((bet >= 0))
1005+func rouletteCalc (num,bet,betValuet) = if (if ((bet >= 0))
9861006 then (36 >= bet)
9871007 else false)
988- then straightUpBet(num, bet)
1008+ then (straightUpBet(num, bet) * betValuet)
9891009 else if (if ((bet >= 37))
9901010 then (96 >= bet)
9911011 else false)
992- then splitBet(num, bet)
1012+ then (splitBet(num, bet) * betValuet)
9931013 else if (if ((bet >= 97))
9941014 then (110 >= bet)
9951015 else false)
996- then streetBet(num, bet)
1016+ then (streetBet(num, bet) * betValuet)
9971017 else if (if ((bet >= 111))
9981018 then (133 >= bet)
9991019 else false)
1000- then cornerBet(num, bet)
1020+ then (cornerBet(num, bet) * betValuet)
10011021 else if (if ((bet >= 134))
10021022 then (144 >= bet)
10031023 else false)
1004- then lineBet(num, bet)
1024+ then (lineBet(num, bet) * betValuet)
10051025 else if (if ((bet >= 145))
10061026 then (147 >= bet)
10071027 else false)
1008- then columnBet(num, bet)
1028+ then (columnBet(num, bet) * betValuet)
10091029 else if (if ((bet >= 148))
10101030 then (150 >= bet)
10111031 else false)
1012- then dozenBet(num, bet)
1032+ then (dozenBet(num, bet) * betValuet)
10131033 else if (if ((bet == 151))
10141034 then true
10151035 else (bet == 152))
1016- then colorBet(num, bet)
1036+ then (colorBet(num, bet) * betValuet)
10171037 else if (if ((bet == 153))
10181038 then true
10191039 else (bet == 154))
1020- then evenOddBet(num, bet)
1040+ then (evenOddBet(num, bet) * betValuet)
10211041 else if (if ((bet == 155))
10221042 then true
10231043 else (bet == 156))
1024- then lowHighBet(num, bet)
1044+ then (lowHighBet(num, bet) * betValuet)
10251045 else throw("Random number out of range, 0 <= rand <= 36")
1026-
1027-
1028-func greater (num1,num2,num3,num4) = if (if (if ((num1 > num2))
1029- then (num1 > num3)
1030- else false)
1031- then (num1 > num4)
1032- else false)
1033- then num1
1034- else if (if (if ((num2 > num1))
1035- then (num2 > num3)
1036- else false)
1037- then (num2 > num4)
1038- else false)
1039- then num2
1040- else if (if (if ((num3 > num1))
1041- then (num3 > num2)
1042- else false)
1043- then (num3 > num4)
1044- else false)
1045- then num3
1046- else if (if (if ((num4 > num1))
1047- then (num4 > num2)
1048- else false)
1049- then (num4 > num3)
1050- else false)
1051- then num4
1052- else 0
1053-
1054-
1055-func getAmt (bets) = {
1056- let bts = split(bets, "_")
1057- (((((((((parseIntValue(drop(bts[0], 4)) + parseIntValue(drop(bts[1], 4))) + parseIntValue(drop(bts[2], 4))) + parseIntValue(drop(bts[3], 4))) + parseIntValue(drop(bts[4], 4))) + parseIntValue(drop(bts[5], 4))) + parseIntValue(drop(bts[6], 4))) + parseIntValue(drop(bts[7], 4))) + parseIntValue(drop(bts[8], 4))) + parseIntValue(drop(bts[9], 4)))
1058- }
10591046
10601047
10611048 func IncrementGameNum () = {
10691056 }
10701057
10711058
1072-func FormatGameDataParam (p) = {
1073- let s = size(p)
1074- if ((s == 0))
1075- then throw("Parameter size must be greater then 0")
1076- else if ((s > 99))
1077- then throw("Parameter size must be less then 100")
1078- else if ((10 > s))
1079- then (("0" + toString(s)) + p)
1080- else (toString(s) + p)
1059+func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
1060+ case a: Int =>
1061+ a
1062+ case _ =>
1063+ 0
1064+}
1065+
1066+
1067+func ValidateAndIncreaseReservedAmt (winAmt) = {
1068+ let newReservedAmount = (ExtractReservedAmt() + winAmt)
1069+ let balance = assetBalance(this, WBET)
1070+ if ((newReservedAmount > balance))
1071+ then throw("Insufficient funds on Wavesbet Dice account. Transaction was rejected for your safety.")
1072+ else newReservedAmount
10811073 }
10821074
10831075
1084-func FormatGameDataStr (gameState,playerPubKey58,bet1,bet2,bet3,bet4) = {
1085- let fullStateStr = ((((((FormatGameDataParam(gameState) + "_") + (FormatGameDataParam(playerPubKey58) + "_")) + (FormatGameDataParam(bet1) + "_")) + (FormatGameDataParam(bet2) + "_")) + (FormatGameDataParam(bet3) + "_")) + FormatGameDataParam(bet4))
1076+func FormatGameDataStr (gameState,playerPubKey58,bet1,bet2,bet3) = {
1077+ let fullStateStr = (((((gameState + "_") + (playerPubKey58 + "_")) + (bet1 + "_")) + (bet2 + "_")) + bet3)
10861078 fullStateStr
1087- }
1088-
1089-
1090-func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
1091- then drop(remaining, 1)
1092- else remaining
1093-
1094-
1095-func ParseNextAttribute (remaining) = {
1096- let s = size(remaining)
1097- if ((s > 0))
1098- then {
1099- let nn = parseIntValue(take(remaining, 2))
1100- let v = take(drop(remaining, 2), nn)
1101- let tmpRemaining = drop(remaining, (nn + 2))
1102- let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
1103-[v, remainingState]
1104- }
1105- else throw("Empty string was passed into parseNextAttribute func")
1106- }
1107-
1108-
1109-func ParseGameRawDataStr (rawStateStr) = {
1110- let gameState = ParseNextAttribute(rawStateStr)
1111- let playerPubKey58 = ParseNextAttribute(gameState[1])
1112- let betStr1 = ParseNextAttribute(playerPubKey58[1])
1113- let bet1 = drop(betStr1[0], 2)
1114- let betStr2 = ParseNextAttribute(betStr1[1])
1115- let betStr3 = ParseNextAttribute(betStr2[1])
1116- let betStr4 = ParseNextAttribute(betStr3[1])
1117-[gameState[0], betStr1[0], betStr1[0], betStr1[0], betStr1[0]]
1118- }
1119-
1120-
1121-func ExtractGameDataList (gameId) = {
1122- let rawDataStr = match getString(this, gameId) {
1123- case str: String =>
1124- str
1125- case _ =>
1126- throw(("Couldn't find game by " + gameId))
1127- }
1128- ParseGameRawDataStr(rawDataStr)
11291079 }
11301080
11311081
11421092 }
11431093
11441094
1095+func RandToStr (r) = if (if ((r >= 1))
1096+ then (36 >= r)
1097+ else false)
1098+ then toString(r)
1099+ else throw(("Unsupported r parameter passed: expected=[0,...,36] actual=" + toString(r)))
1100+
1101+
11451102 func formatBet (bet,betValue) = if ((10 > bet))
11461103 then ((("00" + toString(bet)) + "-") + toString(betValue))
11471104 else if (if ((bet > 10))
11531110
11541111 func validateBet (bet,betValue) = if (if ((0 > bet))
11551112 then true
1156- else (bet > 157))
1157- then throw("invalid play, play must be between 0 and 157.")
1113+ else (bet > 156))
1114+ then throw("invalid play, play must be between 0 and 156.")
11581115 else if ((0 > betValue))
11591116 then throw("Bet value must be greater than or equal to 0")
1160- else if (if ((bet == 157))
1161- then (betValue != 0)
1162- else false)
1163- then throw("Invalid play, play 157 must have bet value 0.")
1164- else formatBet(bet, betValue)
1117+ else formatBet(bet, betValue)
11651118
11661119
11671120 @Callable(i)
1168-func playRoulette (bet1,val1,bet2,val2,bet3,val3,bet4,val4) = {
1121+func playRoulette (bet1,val1,bet2,val2,bet3,val3) = {
11691122 let gameId = toBase58String(i.transactionId)
11701123 let gameIdUsed = isDefined(getString(this, gameId))
11711124 let payment = extract(i.payment)
11721125 let feeAssetId = isDefined(i.feeAssetId)
11731126 let playerBalance = wavesBalance(i.caller)
1174- let playAmount = ((((val1 + val2) + val3) + val4) * 100000000)
1127+ let playAmount = (((val1 + val2) + val3) * WAVELET)
11751128 if ((payment.assetId != WBET))
11761129 then throw("Payment should be in Wavesbet")
11771130 else if ((1000000 > playerBalance))
11851138 else {
11861139 let newGameNum = IncrementGameNum()
11871140 let playerPubKey58 = toBase58String(i.callerPublicKey)
1188- let gameDataStr = FormatGameDataStr(STATESUBMITTED, playerPubKey58, validateBet(bet1, val1), validateBet(bet2, val2), validateBet(bet3, val3), validateBet(bet4, val4))
1141+ let gameDataStr = FormatGameDataStr(STATESUBMITTED, playerPubKey58, validateBet(bet1, val1), validateBet(bet2, val2), validateBet(bet3, val3))
11891142 ScriptResult(WriteSet([DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet(nil))
11901143 }
11911144 }
11941147
11951148 @Callable(i)
11961149 func withdraw (gameId,rsaSig) = {
1197- let gameDataList = ExtractGameDataList(gameId)
1198- let a01 = "001"
1199- let a02 = "090"
1200- let a03 = "099"
1201- let a04 = "113"
1202- let a05 = "135"
1203- let a06 = "146"
1204- let a07 = "149"
1205- let a08 = "151"
1206- let a09 = "153"
1207- let a10 = "155"
1208- let n01 = parseIntValue(a01)
1209- let n02 = parseIntValue(a02)
1210- let n03 = parseIntValue(a03)
1211- let n04 = parseIntValue(a04)
1212- let n05 = parseIntValue(a05)
1213- let rand = 5
1214- let resul1 = teste(rand, n01)
1215- let resul2 = teste(rand, n02)
1216- let resul3 = teste(rand, n03)
1217- let resul4 = teste(rand, n04)
1218- let resul5 = teste(rand, n05)
1219- let final = greater(resul1, resul2, resul3, resul4)
1220- throw(toString(final))
1150+ let gameDataList = split(gameId, "_")
1151+ let gameState = gameDataList[0]
1152+ let playerPubKey58 = gameDataList[1]
1153+ let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
1154+ if ((gameState != STATESUBMITTED))
1155+ then throw("Invalid game state for passed gameId. Game aborted.")
1156+ else {
1157+ let rand = GenerateRandInt(gameId, rsaSig)
1158+ let randStr = RandToStr(rand)
1159+ let result1 = rouletteCalc(rand, parseIntValue(gameDataList[2]), parseIntValue(gameDataList[3]))
1160+ let result2 = rouletteCalc(rand, parseIntValue(gameDataList[4]), parseIntValue(gameDataList[5]))
1161+ let result3 = rouletteCalc(rand, parseIntValue(gameDataList[6]), parseIntValue(gameDataList[7]))
1162+ let winAmt = (((result1 + result2) + result3) * WAVELET)
1163+ if ((winAmt > 0))
1164+ then {
1165+ let newGameDataStr = ((((((((((((((((((STATEWON + "_") + playerPubKey58) + "_") + gameDataList[2]) + "-") + gameDataList[3]) + "_") + gameDataList[4]) + "-") + gameDataList[5]) + "_") + gameDataList[6]) + "-") + gameDataList[7]) + "_") + toString(winAmt)) + "_") + randStr)
1166+ ScriptResult(WriteSet([DataEntry(gameId, newGameDataStr)]), TransferSet([ScriptTransfer(playerAddress, winAmt, WBET)]))
1167+ }
1168+ else {
1169+ let newGameDataStr = ((((((((((((((((((STATELOST + "_") + playerPubKey58) + "_") + gameDataList[2]) + "-") + gameDataList[3]) + "_") + gameDataList[4]) + "-") + gameDataList[5]) + "_") + gameDataList[6]) + "-") + gameDataList[7]) + "_") + toString(winAmt)) + "_") + randStr)
1170+ WriteSet([DataEntry(gameId, newGameDataStr)])
1171+ }
1172+ }
12211173 }
12221174
12231175
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg4dAR6XbBDAS9hr/Ej3dJv6Ffc466x/mOGMWU3lrABs3qa8BHmuJGnkfbpEf2vAwYTOWPvvzfM10OBbfloSyq3c9MKvyTe1luBLGqW4vZUXIyvSgz1liyUVefIQy3dyF9jbeTZbC0bbcT/7O3DEL+01z6A+rDCacSZ0lGolSQ6AnhLxzIkVpOQJbrBmC+x+ZuZPCMWzJynd5aeOn7jaj/mkRVyxe6g/0OhWz4NiiZXeuMRB+8mKy0fWD/UlIlZWHsAS2ZmrkXKqjLq0/0wr8ILJkznjSqdnI5Ibjg3uQrj/4AN+i9r28aQ73/ZkPtY5Sbw0AOiABBu7gHmq9ayVxZQIDAQAB")
55
66 let GAMESCOUNTERKEY = "$GAME_NUM"
7+
8+let RESERVATIONKEY = "$RESERVED_AMOUNT"
79
810 let WBET = base58'A4q1mYKo11yuH9gmvDodeJoksagcyQzeFE9JtphMWddw'
911
1012 let WALLETWAVESBET = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1113
1214 let WALLETMCAFEE = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1315
1416 let WAVELET = 100000000
1517
1618 let FEEWAVESBET = 4
1719
1820 let FEEMCAFEE = 2
1921
2022 let STATESUBMITTED = "SUBMITTED"
2123
2224 let STATEWON = "WON"
2325
2426 let STATELOST = "LOST"
2527
2628 let BETMIN = (1 * WAVELET)
2729
2830 let BETMAX = (20000000 * WAVELET)
2931
3032 func straightUpBet (num,bet) = if ((num == bet))
3133 then 35
3234 else 0
3335
3436
3537 func splitBet (num,bet) = if (if ((num == 0))
3638 then if (if ((bet == 37))
3739 then true
3840 else (bet == 38))
3941 then true
4042 else (bet == 39)
4143 else false)
4244 then 17
4345 else if (if ((num == 1))
4446 then if (if ((bet == 37))
4547 then true
4648 else (bet == 40))
4749 then true
4850 else (bet == 85)
4951 else false)
5052 then 17
51- else if (if ((num == 2))
52- then if (if (if ((bet == 38))
53+ else if (if ((num == 1))
54+ then if (if ((bet == 37))
5355 then true
54- else (bet == 41))
55- then true
56- else (bet == 73))
56+ else (bet == 40))
5757 then true
5858 else (bet == 85)
5959 else false)
6060 then 17
61- else if (if ((num == 3))
62- then if (if ((bet == 39))
61+ else if (if ((num == 2))
62+ then if (if (if ((bet == 38))
6363 then true
64- else (bet == 42))
64+ else (bet == 41))
6565 then true
66- else (bet == 73)
66+ else (bet == 73))
67+ then true
68+ else (bet == 85)
6769 else false)
6870 then 17
69- else if (if ((num == 4))
70- then if (if ((bet == 40))
71+ else if (if ((num == 3))
72+ then if (if ((bet == 39))
7173 then true
72- else (bet == 43))
74+ else (bet == 42))
7375 then true
74- else (bet == 86)
76+ else (bet == 73)
7577 else false)
7678 then 17
77- else if (if ((num == 5))
78- then if (if (if ((bet == 41))
79+ else if (if ((num == 4))
80+ then if (if ((bet == 40))
7981 then true
80- else (bet == 44))
81- then true
82- else (bet == 74))
82+ else (bet == 43))
8383 then true
8484 else (bet == 86)
8585 else false)
8686 then 17
87- else if (if ((num == 6))
88- then if (if ((bet == 42))
87+ else if (if ((num == 5))
88+ then if (if (if ((bet == 41))
8989 then true
90- else (bet == 45))
90+ else (bet == 44))
9191 then true
92- else (bet == 74)
92+ else (bet == 74))
93+ then true
94+ else (bet == 86)
9395 else false)
9496 then 17
95- else if (if ((num == 7))
96- then if (if ((bet == 43))
97+ else if (if ((num == 6))
98+ then if (if ((bet == 42))
9799 then true
98- else (bet == 46))
100+ else (bet == 45))
99101 then true
100- else (bet == 87)
102+ else (bet == 74)
101103 else false)
102104 then 17
103- else if (if ((num == 8))
104- then if (if (if ((bet == 44))
105+ else if (if ((num == 7))
106+ then if (if ((bet == 43))
105107 then true
106- else (bet == 47))
107- then true
108- else (bet == 75))
108+ else (bet == 46))
109109 then true
110110 else (bet == 87)
111111 else false)
112112 then 17
113- else if (if ((num == 9))
114- then if (if ((bet == 45))
113+ else if (if ((num == 8))
114+ then if (if (if ((bet == 44))
115115 then true
116- else (bet == 48))
116+ else (bet == 47))
117117 then true
118- else (bet == 75)
118+ else (bet == 75))
119+ then true
120+ else (bet == 87)
119121 else false)
120122 then 17
121- else if (if ((num == 10))
122- then if (if ((bet == 46))
123+ else if (if ((num == 9))
124+ then if (if ((bet == 45))
123125 then true
124- else (bet == 49))
126+ else (bet == 48))
125127 then true
126- else (bet == 88)
128+ else (bet == 75)
127129 else false)
128130 then 17
129- else if (if ((num == 11))
130- then if (if (if ((bet == 47))
131+ else if (if ((num == 10))
132+ then if (if ((bet == 46))
131133 then true
132- else (bet == 50))
133- then true
134- else (bet == 76))
134+ else (bet == 49))
135135 then true
136136 else (bet == 88)
137137 else false)
138138 then 17
139- else if (if ((num == 12))
140- then if (if ((bet == 48))
139+ else if (if ((num == 11))
140+ then if (if (if ((bet == 47))
141141 then true
142- else (bet == 51))
142+ else (bet == 50))
143143 then true
144- else (bet == 76)
144+ else (bet == 76))
145+ then true
146+ else (bet == 88)
145147 else false)
146148 then 17
147- else if (if ((num == 13))
148- then if (if ((bet == 49))
149+ else if (if ((num == 12))
150+ then if (if ((bet == 48))
149151 then true
150- else (bet == 52))
152+ else (bet == 51))
151153 then true
152- else (bet == 89)
154+ else (bet == 76)
153155 else false)
154156 then 17
155- else if (if ((num == 14))
156- then if (if (if ((bet == 50))
157+ else if (if ((num == 13))
158+ then if (if ((bet == 49))
157159 then true
158- else (bet == 53))
159- then true
160- else (bet == 77))
160+ else (bet == 52))
161161 then true
162162 else (bet == 89)
163163 else false)
164164 then 17
165- else if (if ((num == 15))
166- then if (if ((bet == 51))
165+ else if (if ((num == 14))
166+ then if (if (if ((bet == 50))
167167 then true
168- else (bet == 54))
168+ else (bet == 53))
169169 then true
170- else (bet == 77)
170+ else (bet == 77))
171+ then true
172+ else (bet == 89)
171173 else false)
172174 then 17
173- else if (if ((num == 16))
174- then if (if ((bet == 52))
175+ else if (if ((num == 15))
176+ then if (if ((bet == 51))
175177 then true
176- else (bet == 55))
178+ else (bet == 54))
177179 then true
178- else (bet == 90)
180+ else (bet == 77)
179181 else false)
180182 then 17
181- else if (if ((num == 17))
182- then if (if (if ((bet == 53))
183+ else if (if ((num == 16))
184+ then if (if ((bet == 52))
183185 then true
184- else (bet == 56))
185- then true
186- else (bet == 78))
186+ else (bet == 55))
187187 then true
188188 else (bet == 90)
189189 else false)
190190 then 17
191- else if (if ((num == 18))
192- then if (if ((bet == 54))
191+ else if (if ((num == 17))
192+ then if (if (if ((bet == 53))
193193 then true
194- else (bet == 57))
194+ else (bet == 56))
195195 then true
196- else (bet == 78)
196+ else (bet == 78))
197+ then true
198+ else (bet == 90)
197199 else false)
198200 then 17
199- else if (if ((num == 19))
200- then if (if ((bet == 55))
201+ else if (if ((num == 18))
202+ then if (if ((bet == 54))
201203 then true
202- else (bet == 58))
204+ else (bet == 57))
203205 then true
204- else (bet == 91)
206+ else (bet == 78)
205207 else false)
206208 then 17
207- else if (if ((num == 20))
208- then if (if (if ((bet == 56))
209+ else if (if ((num == 19))
210+ then if (if ((bet == 55))
209211 then true
210- else (bet == 59))
211- then true
212- else (bet == 79))
212+ else (bet == 58))
213213 then true
214214 else (bet == 91)
215215 else false)
216216 then 17
217- else if (if ((num == 21))
218- then if (if ((bet == 57))
217+ else if (if ((num == 20))
218+ then if (if (if ((bet == 56))
219219 then true
220- else (bet == 60))
220+ else (bet == 59))
221221 then true
222- else (bet == 79)
222+ else (bet == 79))
223+ then true
224+ else (bet == 91)
223225 else false)
224226 then 17
225- else if (if ((num == 22))
226- then if (if ((bet == 58))
227+ else if (if ((num == 21))
228+ then if (if ((bet == 57))
227229 then true
228- else (bet == 61))
230+ else (bet == 60))
229231 then true
230- else (bet == 92)
232+ else (bet == 79)
231233 else false)
232234 then 17
233- else if (if ((num == 23))
234- then if (if (if ((bet == 59))
235+ else if (if ((num == 22))
236+ then if (if ((bet == 58))
235237 then true
236- else (bet == 62))
237- then true
238- else (bet == 80))
238+ else (bet == 61))
239239 then true
240240 else (bet == 92)
241241 else false)
242242 then 17
243- else if (if ((num == 24))
244- then if (if ((bet == 60))
243+ else if (if ((num == 23))
244+ then if (if (if ((bet == 59))
245245 then true
246- else (bet == 63))
246+ else (bet == 62))
247247 then true
248- else (bet == 80)
248+ else (bet == 80))
249+ then true
250+ else (bet == 92)
249251 else false)
250252 then 17
251- else if (if ((num == 25))
252- then if (if ((bet == 61))
253+ else if (if ((num == 24))
254+ then if (if ((bet == 60))
253255 then true
254- else (bet == 64))
256+ else (bet == 63))
255257 then true
256- else (bet == 93)
258+ else (bet == 80)
257259 else false)
258260 then 17
259- else if (if ((num == 26))
260- then if (if (if ((bet == 62))
261+ else if (if ((num == 25))
262+ then if (if ((bet == 61))
261263 then true
262- else (bet == 65))
263- then true
264- else (bet == 81))
264+ else (bet == 64))
265265 then true
266266 else (bet == 93)
267267 else false)
268268 then 17
269- else if (if ((num == 27))
270- then if (if ((bet == 63))
269+ else if (if ((num == 26))
270+ then if (if (if ((bet == 62))
271271 then true
272- else (bet == 66))
272+ else (bet == 65))
273273 then true
274- else (bet == 81)
274+ else (bet == 81))
275+ then true
276+ else (bet == 93)
275277 else false)
276278 then 17
277- else if (if ((num == 28))
278- then if (if ((bet == 64))
279+ else if (if ((num == 27))
280+ then if (if ((bet == 63))
279281 then true
280- else (bet == 67))
282+ else (bet == 66))
281283 then true
282- else (bet == 94)
284+ else (bet == 81)
283285 else false)
284286 then 17
285- else if (if ((num == 29))
286- then if (if (if ((bet == 65))
287+ else if (if ((num == 28))
288+ then if (if ((bet == 64))
287289 then true
288- else (bet == 68))
289- then true
290- else (bet == 82))
290+ else (bet == 67))
291291 then true
292292 else (bet == 94)
293293 else false)
294294 then 17
295- else if (if ((num == 30))
296- then if (if ((bet == 66))
295+ else if (if ((num == 29))
296+ then if (if (if ((bet == 65))
297297 then true
298- else (bet == 69))
298+ else (bet == 68))
299299 then true
300- else (bet == 82)
300+ else (bet == 82))
301+ then true
302+ else (bet == 94)
301303 else false)
302304 then 17
303- else if (if ((num == 31))
304- then if (if ((bet == 67))
305+ else if (if ((num == 30))
306+ then if (if ((bet == 66))
305307 then true
306- else (bet == 70))
308+ else (bet == 69))
307309 then true
308- else (bet == 95)
310+ else (bet == 82)
309311 else false)
310312 then 17
311- else if (if ((num == 32))
312- then if (if (if ((bet == 68))
313+ else if (if ((num == 31))
314+ then if (if ((bet == 67))
313315 then true
314- else (bet == 71))
315- then true
316- else (bet == 83))
316+ else (bet == 70))
317317 then true
318318 else (bet == 95)
319319 else false)
320320 then 17
321- else if (if ((num == 33))
322- then if (if ((bet == 69))
321+ else if (if ((num == 32))
322+ then if (if (if ((bet == 68))
323323 then true
324- else (bet == 72))
324+ else (bet == 71))
325325 then true
326- else (bet == 83)
326+ else (bet == 83))
327+ then true
328+ else (bet == 95)
327329 else false)
328330 then 17
329- else if (if ((num == 34))
330- then if ((bet == 70))
331+ else if (if ((num == 33))
332+ then if (if ((bet == 69))
331333 then true
332- else (bet == 96)
334+ else (bet == 72))
335+ then true
336+ else (bet == 83)
333337 else false)
334338 then 17
335- else if (if ((num == 35))
336- then if (if ((bet == 71))
337- then true
338- else (bet == 84))
339+ else if (if ((num == 34))
340+ then if ((bet == 70))
339341 then true
340342 else (bet == 96)
341343 else false)
342344 then 17
343- else if (if ((num == 36))
344- then if ((bet == 72))
345+ else if (if (if ((num == 35))
346+ then if (if ((bet == 71))
345347 then true
346- else (bet == 84)
348+ else (bet == 84))
349+ then true
350+ else (bet == 96)
347351 else false)
352+ then true
353+ else if ((num == 36))
354+ then if ((bet == 72))
355+ then true
356+ else (bet == 84)
357+ else false)
348358 then 17
349- else 0
359+ else if (if ((num == 36))
360+ then if ((bet == 72))
361+ then true
362+ else (bet == 84)
363+ else false)
364+ then 17
365+ else 0
350366
351367
352368 func streetBet (num,bet) = if (if ((bet == 97))
353369 then if (if ((num == 0))
354370 then true
355371 else (num == 1))
356372 then true
357373 else (num == 2)
358374 else false)
359375 then 11
360376 else if (if ((bet == 98))
361377 then if (if ((num == 0))
362378 then true
363379 else (num == 2))
364380 then true
365381 else (num == 3)
366382 else false)
367383 then 11
368384 else if (if ((bet == 99))
369385 then if (if ((num == 1))
370386 then true
371387 else (num == 2))
372388 then true
373389 else (num == 3)
374390 else false)
375391 then 11
376392 else if (if ((bet == 100))
377393 then if (if ((num == 4))
378394 then true
379395 else (num == 5))
380396 then true
381397 else (num == 6)
382398 else false)
383399 then 11
384400 else if (if ((bet == 101))
385401 then if (if ((num == 7))
386402 then true
387403 else (num == 8))
388404 then true
389405 else (num == 9)
390406 else false)
391407 then 11
392408 else if (if ((bet == 102))
393409 then if (if ((num == 10))
394410 then true
395411 else (num == 11))
396412 then true
397413 else (num == 12)
398414 else false)
399415 then 11
400416 else if (if ((bet == 103))
401417 then if (if ((num == 13))
402418 then true
403419 else (num == 14))
404420 then true
405421 else (num == 15)
406422 else false)
407423 then 11
408424 else if (if ((bet == 104))
409425 then if (if ((num == 16))
410426 then true
411427 else (num == 17))
412428 then true
413429 else (num == 18)
414430 else false)
415431 then 11
416432 else if (if ((bet == 105))
417433 then if (if ((num == 19))
418434 then true
419435 else (num == 20))
420436 then true
421437 else (num == 21)
422438 else false)
423439 then 11
424440 else if (if ((bet == 106))
425441 then if (if ((num == 22))
426442 then true
427443 else (num == 23))
428444 then true
429445 else (num == 24)
430446 else false)
431447 then 11
432448 else if (if ((bet == 107))
433449 then if (if ((num == 25))
434450 then true
435451 else (num == 26))
436452 then true
437453 else (num == 27)
438454 else false)
439455 then 11
440456 else if (if ((bet == 108))
441457 then if (if ((num == 28))
442458 then true
443459 else (num == 29))
444460 then true
445461 else (num == 30)
446462 else false)
447463 then 11
448464 else if (if ((bet == 109))
449465 then if (if ((num == 31))
450466 then true
451467 else (num == 32))
452468 then true
453469 else (num == 33)
454470 else false)
455471 then 11
456472 else if (if ((bet == 110))
457473 then if (if ((num == 34))
458474 then true
459475 else (num == 35))
460476 then true
461477 else (num == 36)
462478 else false)
463479 then 11
464480 else 0
465481
466482
467483 func cornerBet (num,bet) = if (if ((bet == 111))
468484 then if (if (if ((num == 0))
469485 then true
470486 else (num == 1))
471487 then true
472488 else (num == 2))
473489 then true
474490 else (num == 3)
475491 else false)
476492 then 8
477493 else if (if ((bet == 112))
478494 then if (if (if ((num == 1))
479495 then true
480496 else (num == 2))
481497 then true
482498 else (num == 3))
483499 then true
484500 else (num == 4)
485501 else false)
486502 then 8
487503 else if (if ((bet == 113))
488504 then if (if (if ((num == 2))
489505 then true
490506 else (num == 3))
491507 then true
492508 else (num == 5))
493509 then true
494510 else (num == 6)
495511 else false)
496512 then 8
497513 else if (if ((bet == 114))
498514 then if (if (if ((num == 4))
499515 then true
500516 else (num == 5))
501517 then true
502518 else (num == 7))
503519 then true
504520 else (num == 8)
505521 else false)
506522 then 8
507523 else if (if ((bet == 115))
508524 then if (if (if ((num == 5))
509525 then true
510526 else (num == 6))
511527 then true
512528 else (num == 8))
513529 then true
514530 else (num == 9)
515531 else false)
516532 then 8
517533 else if (if ((bet == 116))
518534 then if (if (if ((num == 7))
519535 then true
520536 else (num == 8))
521537 then true
522538 else (num == 10))
523539 then true
524540 else (num == 11)
525541 else false)
526542 then 8
527543 else if (if ((bet == 117))
528544 then if (if (if ((num == 8))
529545 then true
530546 else (num == 9))
531547 then true
532548 else (num == 11))
533549 then true
534550 else (num == 12)
535551 else false)
536552 then 8
537553 else if (if ((bet == 118))
538554 then if (if (if ((num == 10))
539555 then true
540556 else (num == 11))
541557 then true
542558 else (num == 13))
543559 then true
544560 else (num == 14)
545561 else false)
546562 then 8
547563 else if (if ((bet == 119))
548564 then if (if (if ((num == 11))
549565 then true
550566 else (num == 12))
551567 then true
552568 else (num == 14))
553569 then true
554570 else (num == 15)
555571 else false)
556572 then 8
557573 else if (if ((bet == 120))
558574 then if (if (if ((num == 13))
559575 then true
560576 else (num == 14))
561577 then true
562578 else (num == 16))
563579 then true
564580 else (num == 17)
565581 else false)
566582 then 8
567583 else if (if ((bet == 121))
568584 then if (if (if ((num == 14))
569585 then true
570586 else (num == 15))
571587 then true
572588 else (num == 17))
573589 then true
574590 else (num == 18)
575591 else false)
576592 then 8
577593 else if (if ((bet == 122))
578594 then if (if (if ((num == 16))
579595 then true
580596 else (num == 17))
581597 then true
582598 else (num == 19))
583599 then true
584600 else (num == 20)
585601 else false)
586602 then 8
587603 else if (if ((bet == 123))
588604 then if (if (if ((num == 17))
589605 then true
590606 else (num == 18))
591607 then true
592608 else (num == 20))
593609 then true
594610 else (num == 21)
595611 else false)
596612 then 8
597613 else if (if ((bet == 124))
598614 then if (if (if ((num == 19))
599615 then true
600616 else (num == 20))
601617 then true
602618 else (num == 22))
603619 then true
604620 else (num == 23)
605621 else false)
606622 then 8
607623 else if (if ((bet == 125))
608624 then if (if (if ((num == 20))
609625 then true
610626 else (num == 21))
611627 then true
612628 else (num == 23))
613629 then true
614630 else (num == 24)
615631 else false)
616632 then 8
617633 else if (if ((bet == 126))
618634 then if (if (if ((num == 22))
619635 then true
620636 else (num == 23))
621637 then true
622638 else (num == 25))
623639 then true
624640 else (num == 26)
625641 else false)
626642 then 8
627643 else if (if ((bet == 127))
628644 then if (if (if ((num == 23))
629645 then true
630646 else (num == 24))
631647 then true
632648 else (num == 26))
633649 then true
634650 else (num == 27)
635651 else false)
636652 then 8
637653 else if (if ((bet == 128))
638654 then if (if (if ((num == 25))
639655 then true
640656 else (num == 26))
641657 then true
642658 else (num == 28))
643659 then true
644660 else (num == 29)
645661 else false)
646662 then 8
647663 else if (if ((bet == 129))
648664 then if (if (if ((num == 26))
649665 then true
650666 else (num == 27))
651667 then true
652668 else (num == 29))
653669 then true
654670 else (num == 30)
655671 else false)
656672 then 8
657673 else if (if ((bet == 130))
658674 then if (if (if ((num == 28))
659675 then true
660676 else (num == 29))
661677 then true
662678 else (num == 31))
663679 then true
664680 else (num == 32)
665681 else false)
666682 then 8
667683 else if (if ((bet == 131))
668684 then if (if (if ((num == 29))
669685 then true
670686 else (num == 30))
671687 then true
672688 else (num == 32))
673689 then true
674690 else (num == 33)
675691 else false)
676692 then 8
677693 else if (if ((bet == 132))
678694 then if (if (if ((num == 31))
679695 then true
680696 else (num == 32))
681697 then true
682698 else (num == 34))
683699 then true
684700 else (num == 35)
685701 else false)
686702 then 8
687703 else if (if ((bet == 133))
688704 then if (if (if ((num == 32))
689705 then true
690706 else (num == 33))
691707 then true
692708 else (num == 35))
693709 then true
694710 else (num == 36)
695711 else false)
696712 then 8
697713 else 0
698714
699715
700716 func lineBet (num,bet) = if (if (if ((bet == 134))
701717 then (num >= 1)
702718 else false)
703719 then (6 >= num)
704720 else false)
705721 then 5
706722 else if (if (if ((bet == 135))
707723 then (num >= 4)
708724 else false)
709725 then (9 >= num)
710726 else false)
711727 then 5
712728 else if (if (if ((bet == 136))
713729 then (num >= 7)
714730 else false)
715731 then (12 >= num)
716732 else false)
717733 then 5
718734 else if (if (if ((bet == 137))
719735 then (num >= 10)
720736 else false)
721737 then (15 >= num)
722738 else false)
723739 then 5
724740 else if (if (if ((bet == 138))
725741 then (num >= 13)
726742 else false)
727743 then (18 >= num)
728744 else false)
729745 then 5
730746 else if (if (if ((bet == 139))
731747 then (num >= 16)
732748 else false)
733749 then (21 >= num)
734750 else false)
735751 then 5
736752 else if (if (if ((bet == 140))
737753 then (num >= 19)
738754 else false)
739755 then (24 >= num)
740756 else false)
741757 then 5
742758 else if (if (if ((bet == 141))
743759 then (num >= 22)
744760 else false)
745761 then (27 >= num)
746762 else false)
747763 then 5
748764 else if (if (if ((bet == 142))
749765 then (num >= 25)
750766 else false)
751767 then (30 >= num)
752768 else false)
753769 then 5
754770 else if (if (if ((bet == 143))
755771 then (num >= 28)
756772 else false)
757773 then (33 >= num)
758774 else false)
759775 then 5
760776 else if (if (if ((bet == 144))
761777 then (num >= 31)
762778 else false)
763779 then (36 >= num)
764780 else false)
765781 then 5
766782 else 0
767783
768784
769785 func columnBet (num,bet) = if (if ((bet == 145))
770786 then if (if (if (if (if (if (if (if (if (if (if (if ((num == 0))
771787 then true
772788 else (num == 1))
773789 then true
774790 else (num == 4))
775791 then true
776792 else (num == 7))
777793 then true
778794 else (num == 10))
779795 then true
780796 else (num == 13))
781797 then true
782798 else (num == 16))
783799 then true
784800 else (num == 19))
785801 then true
786802 else (num == 22))
787803 then true
788804 else (num == 25))
789805 then true
790806 else (num == 28))
791807 then true
792808 else (num == 31))
793809 then true
794810 else (num == 34)
795811 else false)
796812 then 2
797813 else if (if ((bet == 146))
798814 then if (if (if (if (if (if (if (if (if (if (if (if ((num == 0))
799815 then true
800816 else (num == 2))
801817 then true
802818 else (num == 5))
803819 then true
804820 else (num == 8))
805821 then true
806822 else (num == 11))
807823 then true
808824 else (num == 14))
809825 then true
810826 else (num == 17))
811827 then true
812828 else (num == 20))
813829 then true
814830 else (num == 23))
815831 then true
816832 else (num == 26))
817833 then true
818834 else (num == 29))
819835 then true
820836 else (num == 32))
821837 then true
822838 else (num == 35)
823839 else false)
824840 then 2
825841 else if (if ((bet == 147))
826842 then if (if (if (if (if (if (if (if (if (if (if (if ((num == 0))
827843 then true
828844 else (num == 3))
829845 then true
830846 else (num == 6))
831847 then true
832848 else (num == 9))
833849 then true
834850 else (num == 12))
835851 then true
836852 else (num == 15))
837853 then true
838854 else (num == 18))
839855 then true
840856 else (num == 21))
841857 then true
842858 else (num == 24))
843859 then true
844860 else (num == 27))
845861 then true
846862 else (num == 30))
847863 then true
848864 else (num == 33))
849865 then true
850866 else (num == 36)
851867 else false)
852868 then 2
853869 else 0
854870
855871
856872 func dozenBet (num,bet) = if (if (if ((bet == 148))
857873 then (num >= 1)
858874 else false)
859875 then (12 >= num)
860876 else false)
861877 then 2
862878 else if (if (if ((bet == 149))
863879 then (num >= 13)
864880 else false)
865881 then (24 >= num)
866882 else false)
867883 then 2
868884 else if (if (if ((bet == 150))
869885 then (num >= 25)
870886 else false)
871887 then (36 >= num)
872888 else false)
873889 then 2
874890 else 0
875891
876892
877893 func colorBet (num,bet) = if (if ((bet == 151))
878894 then if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num == 1))
879895 then true
880896 else (num == 3))
881897 then true
882898 else (num == 5))
883899 then true
884900 else (num == 7))
885901 then true
886902 else (num == 9))
887903 then true
888904 else (num == 12))
889905 then true
890906 else (num == 14))
891907 then true
892908 else (num == 16))
893909 then true
894910 else (num == 18))
895911 then true
896912 else (num == 19))
897913 then true
898914 else (num == 21))
899915 then true
900916 else (num == 23))
901917 then true
902918 else (num == 25))
903919 then true
904920 else (num == 27))
905921 then true
906922 else (num == 30))
907923 then true
908924 else (num == 32))
909925 then true
910926 else (num == 34))
911927 then true
912928 else (num == 36)
913929 else false)
914930 then 2
915931 else if (if ((bet == 152))
916932 then if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num == 2))
917933 then true
918934 else (num == 4))
919935 then true
920936 else (num == 6))
921937 then true
922938 else (num == 8))
923939 then true
924940 else (num == 10))
925941 then true
926942 else (num == 11))
927943 then true
928944 else (num == 13))
929945 then true
930946 else (num == 15))
931947 then true
932948 else (num == 17))
933949 then true
934950 else (num == 20))
935951 then true
936952 else (num == 22))
937953 then true
938954 else (num == 24))
939955 then true
940956 else (num == 26))
941957 then true
942958 else (num == 28))
943959 then true
944960 else (num == 29))
945961 then true
946962 else (num == 31))
947963 then true
948964 else (num == 33))
949965 then true
950966 else (num == 35)
951967 else false)
952968 then 2
953969 else 0
954970
955971
956972 func evenOddBet (num,bet) = {
957973 let rem = (num % 2)
958- if (if ((bet == 153))
974+ if (if (if ((num > 0))
975+ then (bet == 153)
976+ else false)
959977 then (rem == 0)
960978 else false)
961979 then 1
962- else if (if ((bet == 154))
980+ else if (if (if ((num > 0))
981+ then (bet == 154)
982+ else false)
963983 then (rem != 0)
964984 else false)
965985 then 1
966986 else 0
967987 }
968988
969989
970990 func lowHighBet (num,bet) = if (if (if ((bet == 155))
971991 then (num >= 1)
972992 else false)
973993 then (18 >= num)
974994 else false)
975995 then 1
976996 else if (if (if ((bet == 156))
977997 then (num >= 19)
978998 else false)
979999 then (36 >= num)
9801000 else false)
9811001 then 1
9821002 else 0
9831003
9841004
985-func teste (num,bet) = if (if ((bet >= 0))
1005+func rouletteCalc (num,bet,betValuet) = if (if ((bet >= 0))
9861006 then (36 >= bet)
9871007 else false)
988- then straightUpBet(num, bet)
1008+ then (straightUpBet(num, bet) * betValuet)
9891009 else if (if ((bet >= 37))
9901010 then (96 >= bet)
9911011 else false)
992- then splitBet(num, bet)
1012+ then (splitBet(num, bet) * betValuet)
9931013 else if (if ((bet >= 97))
9941014 then (110 >= bet)
9951015 else false)
996- then streetBet(num, bet)
1016+ then (streetBet(num, bet) * betValuet)
9971017 else if (if ((bet >= 111))
9981018 then (133 >= bet)
9991019 else false)
1000- then cornerBet(num, bet)
1020+ then (cornerBet(num, bet) * betValuet)
10011021 else if (if ((bet >= 134))
10021022 then (144 >= bet)
10031023 else false)
1004- then lineBet(num, bet)
1024+ then (lineBet(num, bet) * betValuet)
10051025 else if (if ((bet >= 145))
10061026 then (147 >= bet)
10071027 else false)
1008- then columnBet(num, bet)
1028+ then (columnBet(num, bet) * betValuet)
10091029 else if (if ((bet >= 148))
10101030 then (150 >= bet)
10111031 else false)
1012- then dozenBet(num, bet)
1032+ then (dozenBet(num, bet) * betValuet)
10131033 else if (if ((bet == 151))
10141034 then true
10151035 else (bet == 152))
1016- then colorBet(num, bet)
1036+ then (colorBet(num, bet) * betValuet)
10171037 else if (if ((bet == 153))
10181038 then true
10191039 else (bet == 154))
1020- then evenOddBet(num, bet)
1040+ then (evenOddBet(num, bet) * betValuet)
10211041 else if (if ((bet == 155))
10221042 then true
10231043 else (bet == 156))
1024- then lowHighBet(num, bet)
1044+ then (lowHighBet(num, bet) * betValuet)
10251045 else throw("Random number out of range, 0 <= rand <= 36")
1026-
1027-
1028-func greater (num1,num2,num3,num4) = if (if (if ((num1 > num2))
1029- then (num1 > num3)
1030- else false)
1031- then (num1 > num4)
1032- else false)
1033- then num1
1034- else if (if (if ((num2 > num1))
1035- then (num2 > num3)
1036- else false)
1037- then (num2 > num4)
1038- else false)
1039- then num2
1040- else if (if (if ((num3 > num1))
1041- then (num3 > num2)
1042- else false)
1043- then (num3 > num4)
1044- else false)
1045- then num3
1046- else if (if (if ((num4 > num1))
1047- then (num4 > num2)
1048- else false)
1049- then (num4 > num3)
1050- else false)
1051- then num4
1052- else 0
1053-
1054-
1055-func getAmt (bets) = {
1056- let bts = split(bets, "_")
1057- (((((((((parseIntValue(drop(bts[0], 4)) + parseIntValue(drop(bts[1], 4))) + parseIntValue(drop(bts[2], 4))) + parseIntValue(drop(bts[3], 4))) + parseIntValue(drop(bts[4], 4))) + parseIntValue(drop(bts[5], 4))) + parseIntValue(drop(bts[6], 4))) + parseIntValue(drop(bts[7], 4))) + parseIntValue(drop(bts[8], 4))) + parseIntValue(drop(bts[9], 4)))
1058- }
10591046
10601047
10611048 func IncrementGameNum () = {
10621049 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
10631050 case num: Int =>
10641051 num
10651052 case _ =>
10661053 0
10671054 }
10681055 (gameNum + 1)
10691056 }
10701057
10711058
1072-func FormatGameDataParam (p) = {
1073- let s = size(p)
1074- if ((s == 0))
1075- then throw("Parameter size must be greater then 0")
1076- else if ((s > 99))
1077- then throw("Parameter size must be less then 100")
1078- else if ((10 > s))
1079- then (("0" + toString(s)) + p)
1080- else (toString(s) + p)
1059+func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
1060+ case a: Int =>
1061+ a
1062+ case _ =>
1063+ 0
1064+}
1065+
1066+
1067+func ValidateAndIncreaseReservedAmt (winAmt) = {
1068+ let newReservedAmount = (ExtractReservedAmt() + winAmt)
1069+ let balance = assetBalance(this, WBET)
1070+ if ((newReservedAmount > balance))
1071+ then throw("Insufficient funds on Wavesbet Dice account. Transaction was rejected for your safety.")
1072+ else newReservedAmount
10811073 }
10821074
10831075
1084-func FormatGameDataStr (gameState,playerPubKey58,bet1,bet2,bet3,bet4) = {
1085- let fullStateStr = ((((((FormatGameDataParam(gameState) + "_") + (FormatGameDataParam(playerPubKey58) + "_")) + (FormatGameDataParam(bet1) + "_")) + (FormatGameDataParam(bet2) + "_")) + (FormatGameDataParam(bet3) + "_")) + FormatGameDataParam(bet4))
1076+func FormatGameDataStr (gameState,playerPubKey58,bet1,bet2,bet3) = {
1077+ let fullStateStr = (((((gameState + "_") + (playerPubKey58 + "_")) + (bet1 + "_")) + (bet2 + "_")) + bet3)
10861078 fullStateStr
1087- }
1088-
1089-
1090-func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
1091- then drop(remaining, 1)
1092- else remaining
1093-
1094-
1095-func ParseNextAttribute (remaining) = {
1096- let s = size(remaining)
1097- if ((s > 0))
1098- then {
1099- let nn = parseIntValue(take(remaining, 2))
1100- let v = take(drop(remaining, 2), nn)
1101- let tmpRemaining = drop(remaining, (nn + 2))
1102- let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
1103-[v, remainingState]
1104- }
1105- else throw("Empty string was passed into parseNextAttribute func")
1106- }
1107-
1108-
1109-func ParseGameRawDataStr (rawStateStr) = {
1110- let gameState = ParseNextAttribute(rawStateStr)
1111- let playerPubKey58 = ParseNextAttribute(gameState[1])
1112- let betStr1 = ParseNextAttribute(playerPubKey58[1])
1113- let bet1 = drop(betStr1[0], 2)
1114- let betStr2 = ParseNextAttribute(betStr1[1])
1115- let betStr3 = ParseNextAttribute(betStr2[1])
1116- let betStr4 = ParseNextAttribute(betStr3[1])
1117-[gameState[0], betStr1[0], betStr1[0], betStr1[0], betStr1[0]]
1118- }
1119-
1120-
1121-func ExtractGameDataList (gameId) = {
1122- let rawDataStr = match getString(this, gameId) {
1123- case str: String =>
1124- str
1125- case _ =>
1126- throw(("Couldn't find game by " + gameId))
1127- }
1128- ParseGameRawDataStr(rawDataStr)
11291079 }
11301080
11311081
11321082 func GenerateRandInt (gameId,rsaSign) = {
11331083 let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), rsaSign, RSAPUBLIC)
11341084 if (rsaSigValid)
11351085 then {
11361086 let rand = ((toInt(sha256(rsaSign)) % 100) * 37)
11371087 if ((0 > rand))
11381088 then ((-1 * rand) + 1)
11391089 else (rand + 1)
11401090 }
11411091 else throw("Invalid RSA signature")
11421092 }
11431093
11441094
1095+func RandToStr (r) = if (if ((r >= 1))
1096+ then (36 >= r)
1097+ else false)
1098+ then toString(r)
1099+ else throw(("Unsupported r parameter passed: expected=[0,...,36] actual=" + toString(r)))
1100+
1101+
11451102 func formatBet (bet,betValue) = if ((10 > bet))
11461103 then ((("00" + toString(bet)) + "-") + toString(betValue))
11471104 else if (if ((bet > 10))
11481105 then (100 > bet)
11491106 else false)
11501107 then ((("0" + toString(bet)) + "-") + toString(betValue))
11511108 else ((toString(bet) + "-") + toString(betValue))
11521109
11531110
11541111 func validateBet (bet,betValue) = if (if ((0 > bet))
11551112 then true
1156- else (bet > 157))
1157- then throw("invalid play, play must be between 0 and 157.")
1113+ else (bet > 156))
1114+ then throw("invalid play, play must be between 0 and 156.")
11581115 else if ((0 > betValue))
11591116 then throw("Bet value must be greater than or equal to 0")
1160- else if (if ((bet == 157))
1161- then (betValue != 0)
1162- else false)
1163- then throw("Invalid play, play 157 must have bet value 0.")
1164- else formatBet(bet, betValue)
1117+ else formatBet(bet, betValue)
11651118
11661119
11671120 @Callable(i)
1168-func playRoulette (bet1,val1,bet2,val2,bet3,val3,bet4,val4) = {
1121+func playRoulette (bet1,val1,bet2,val2,bet3,val3) = {
11691122 let gameId = toBase58String(i.transactionId)
11701123 let gameIdUsed = isDefined(getString(this, gameId))
11711124 let payment = extract(i.payment)
11721125 let feeAssetId = isDefined(i.feeAssetId)
11731126 let playerBalance = wavesBalance(i.caller)
1174- let playAmount = ((((val1 + val2) + val3) + val4) * 100000000)
1127+ let playAmount = (((val1 + val2) + val3) * WAVELET)
11751128 if ((payment.assetId != WBET))
11761129 then throw("Payment should be in Wavesbet")
11771130 else if ((1000000 > playerBalance))
11781131 then throw("There are not enough waves, it takes 0.01 Waves to bet. Game aborted.")
11791132 else if (feeAssetId)
11801133 then throw("Transaction's fee must be in Waves. Game aborted.")
11811134 else if (gameIdUsed)
11821135 then throw("Passed gameId had been used before. Game aborted.")
11831136 else if ((playAmount != payment.amount))
11841137 then throw((("Payment value is different from bet value. " + toString(playAmount)) + toString(payment.amount)))
11851138 else {
11861139 let newGameNum = IncrementGameNum()
11871140 let playerPubKey58 = toBase58String(i.callerPublicKey)
1188- let gameDataStr = FormatGameDataStr(STATESUBMITTED, playerPubKey58, validateBet(bet1, val1), validateBet(bet2, val2), validateBet(bet3, val3), validateBet(bet4, val4))
1141+ let gameDataStr = FormatGameDataStr(STATESUBMITTED, playerPubKey58, validateBet(bet1, val1), validateBet(bet2, val2), validateBet(bet3, val3))
11891142 ScriptResult(WriteSet([DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet(nil))
11901143 }
11911144 }
11921145
11931146
11941147
11951148 @Callable(i)
11961149 func withdraw (gameId,rsaSig) = {
1197- let gameDataList = ExtractGameDataList(gameId)
1198- let a01 = "001"
1199- let a02 = "090"
1200- let a03 = "099"
1201- let a04 = "113"
1202- let a05 = "135"
1203- let a06 = "146"
1204- let a07 = "149"
1205- let a08 = "151"
1206- let a09 = "153"
1207- let a10 = "155"
1208- let n01 = parseIntValue(a01)
1209- let n02 = parseIntValue(a02)
1210- let n03 = parseIntValue(a03)
1211- let n04 = parseIntValue(a04)
1212- let n05 = parseIntValue(a05)
1213- let rand = 5
1214- let resul1 = teste(rand, n01)
1215- let resul2 = teste(rand, n02)
1216- let resul3 = teste(rand, n03)
1217- let resul4 = teste(rand, n04)
1218- let resul5 = teste(rand, n05)
1219- let final = greater(resul1, resul2, resul3, resul4)
1220- throw(toString(final))
1150+ let gameDataList = split(gameId, "_")
1151+ let gameState = gameDataList[0]
1152+ let playerPubKey58 = gameDataList[1]
1153+ let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
1154+ if ((gameState != STATESUBMITTED))
1155+ then throw("Invalid game state for passed gameId. Game aborted.")
1156+ else {
1157+ let rand = GenerateRandInt(gameId, rsaSig)
1158+ let randStr = RandToStr(rand)
1159+ let result1 = rouletteCalc(rand, parseIntValue(gameDataList[2]), parseIntValue(gameDataList[3]))
1160+ let result2 = rouletteCalc(rand, parseIntValue(gameDataList[4]), parseIntValue(gameDataList[5]))
1161+ let result3 = rouletteCalc(rand, parseIntValue(gameDataList[6]), parseIntValue(gameDataList[7]))
1162+ let winAmt = (((result1 + result2) + result3) * WAVELET)
1163+ if ((winAmt > 0))
1164+ then {
1165+ let newGameDataStr = ((((((((((((((((((STATEWON + "_") + playerPubKey58) + "_") + gameDataList[2]) + "-") + gameDataList[3]) + "_") + gameDataList[4]) + "-") + gameDataList[5]) + "_") + gameDataList[6]) + "-") + gameDataList[7]) + "_") + toString(winAmt)) + "_") + randStr)
1166+ ScriptResult(WriteSet([DataEntry(gameId, newGameDataStr)]), TransferSet([ScriptTransfer(playerAddress, winAmt, WBET)]))
1167+ }
1168+ else {
1169+ let newGameDataStr = ((((((((((((((((((STATELOST + "_") + playerPubKey58) + "_") + gameDataList[2]) + "-") + gameDataList[3]) + "_") + gameDataList[4]) + "-") + gameDataList[5]) + "_") + gameDataList[6]) + "-") + gameDataList[7]) + "_") + toString(winAmt)) + "_") + randStr)
1170+ WriteSet([DataEntry(gameId, newGameDataStr)])
1171+ }
1172+ }
12211173 }
12221174
12231175

github/deemru/w8io/169f3d6 
310.62 ms