tx · 4BkvEErH8kEpMzRAVDeuP2GizBCcDqNFxZCbRVGQVxk8

3NA7cHZ9oBicev5AEn3BidRAyitA3HdjRbE:  -0.05000000 Waves

2019.11.27 05:48 [783098] smart account 3NA7cHZ9oBicev5AEn3BidRAyitA3HdjRbE > SELF 0.00000000 Waves

{ "type": 13, "id": "4BkvEErH8kEpMzRAVDeuP2GizBCcDqNFxZCbRVGQVxk8", "fee": 5000000, "feeAssetId": null, "timestamp": 1574822920441, "version": 1, "sender": "3NA7cHZ9oBicev5AEn3BidRAyitA3HdjRbE", "senderPublicKey": "FEmBffz5oKcY5pLrHbwcj8jxovWVvTYCeNRzNT6uHBJc", "proofs": [ "4Vx2Yi53vga5LqZDTwUZDV2QU7Gepu2AArY4aYvLMUnicGG82VJ2XgHcwY2H49HB54hwph5j6YsXkJJPTxFCh48U" ], "script": "base64:AAIDAAAAAAAAAAcIARIDCgEIAAAAJwAAAAAJUlNBUFVCTElDCQACWwAAAAECAAABj2Jhc2U2NDpNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQWc0ZEFSNlhiQkRBUzloci9FajNkSnY2RmZjNDY2eC9tT0dNV1UzbHJBQnMzcWE4QkhtdUpHbmtmYnBFZjJ2QXdZVE9XUHZ2emZNMTBPQmJmbG9TeXEzYzlNS3Z5VGUxbHVCTEdxVzR2WlVYSXl2U2d6MWxpeVVWZWZJUXkzZHlGOWpiZVRaYkMwYmJjVC83TzNERUwrMDF6NkErckRDYWNTWjBsR29sU1E2QW5oTHh6SWtWcE9RSmJyQm1DK3grWnVaUENNV3pKeW5kNWFlT243amFqL21rUlZ5eGU2Zy8wT2hXejROaWlaWGV1TVJCKzhtS3kwZldEL1VsSWxaV0hzQVMyWm1ya1hLcWpMcTAvMHdyOElMSmt6bmpTcWRuSTVJYmpnM3VRcmovNEFOK2k5cjI4YVE3My9aa1B0WTVTYncwQU9pQUJCdTdnSG1xOWF5VnhaUUlEQVFBQgAAAAAPR0FNRVNDT1VOVEVSS0VZAgAAAAkkR0FNRV9OVU0AAAAADlJFU0VSVkFUSU9OS0VZAgAAABAkUkVTRVJWRURfQU1PVU5UAAAAAARXQkVUAQAAACCGtDaoeNMOzNjwF61LLiwEHwefusq5FqlK128lrZvQdgAAAAAOV0FMTEVUV0FWRVNCRVQJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVQvEfB4Tq/Wk5+pbiIrZrUfslPXeM87aPsAAAAADFdBTExFVE1DQUZFRQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVC8R8HhOr9aTn6luIitmtR+yU9d4zzto+wAAAAAHV0FWRUxFVAAAAAAABfXhAAAAAAALRkVFV0FWRVNCRVQAAAAAAAAAAAQAAAAACUZFRU1DQUZFRQAAAAAAAAAAAgAAAAAOU1RBVEVTVUJNSVRURUQCAAAACVNVQk1JVFRFRAAAAAAIU1RBVEVXT04CAAAAA1dPTgAAAAAJU1RBVEVMT1NUAgAAAARMT1NUAAAAAAZCRVRNSU4JAABoAAAAAgAAAAAAAAAAAQUAAAAHV0FWRUxFVAAAAAAGQkVUTUFYCQAA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", "chainId": 84, "height": 783098, "spentComplexity": 0 } View: original | compacted Prev: DXGsSiqYdnkrA1eBnc1CFAyPE4VQhG1UsdkDVupStbcD Next: HVoCdiTdiNXPXGSnJWm4fzauw5UMDRLLdAZYk7NCQ9WX Diff:
OldNewDifferences
248248 else throw("Invalid line move. Game aborted!")
249249
250250
251-func isColumn (num,column) = if ((column == 1))
252- then if (if (if (if (if (if (if (if (if (if (if (if ((num == 1))
253- then true
254- else (num == 4))
255- then true
256- else (num == 7))
257- then true
258- else (num == 10))
259- then true
260- else (num == 13))
261- then true
262- else (num == 16))
263- then true
264- else (num == 19))
265- then true
266- else (num == 22))
267- then true
268- else (num == 25))
269- then true
270- else (num == 28))
271- then true
272- else (num == 31))
273- then true
274- else (num == 34))
275- then true
276- else throw("Invalid column 1 move. Game aborted!")
277- else if ((column == 2))
278- then if (if (if (if (if (if (if (if (if (if (if (if ((num == 2))
279- then true
280- else (num == 5))
281- then true
282- else (num == 8))
283- then true
284- else (num == 11))
285- then true
286- else (num == 14))
287- then true
288- else (num == 17))
289- then true
290- else (num == 20))
291- then true
292- else (num == 23))
293- then true
294- else (num == 26))
295- then true
296- else (num == 29))
297- then true
298- else (num == 32))
299- then true
300- else (num == 35))
301- then true
302- else throw("Invalid column 2 move. Game aborted!")
303- else if ((column == 3))
304- then if (if (if (if (if (if (if (if (if (if (if (if ((num == 3))
305- then true
306- else (num == 6))
307- then true
308- else (num == 9))
309- then true
310- else (num == 12))
311- then true
312- else (num == 15))
313- then true
314- else (num == 18))
315- then true
316- else (num == 21))
317- then true
318- else (num == 24))
319- then true
320- else (num == 27))
321- then true
322- else (num == 30))
323- then true
324- else (num == 33))
325- then true
326- else (num == 36))
327- then true
328- else throw("Invalid column 3 move. Game aborted!")
329- else throw("Invalid column move. Game aborted!")
251+func isColumn (column) = if (if (if ((column == 1))
252+ then true
253+ else (column == 2))
254+ then true
255+ else (column == 3))
256+ then true
257+ else throw("Invalid column move. Game aborted!")
330258
331259
332-func isDozen (num,dozen) = if ((dozen == 1))
333- then if (if ((num > 0))
334- then (13 > num)
335- else false)
336- then true
337- else throw("Invalid dozen 1 move. Game aborted!")
338- else if ((dozen == 2))
339- then if (if ((num > 12))
340- then (25 > num)
341- else false)
342- then true
343- else throw("Invalid dozen 2 move. Game aborted!")
344- else if ((dozen == 3))
345- then if (if ((num > 24))
346- then (37 > num)
347- else false)
348- then true
349- else throw("Invalid dozen 3 move. Game aborted!")
350- else throw("Invalid dozen move. Game aborted!")
260+func isDozen (dozen) = if (if (if ((dozen == 1))
261+ then true
262+ else (dozen == 2))
263+ then true
264+ else (dozen == 3))
265+ then true
266+ else throw("Invalid dozen move. Game aborted!")
351267
352268
353-func isRed (num) = if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num == 1))
354- then true
355- else (num == 3))
356- then true
357- else (num == 5))
358- then true
359- else (num == 7))
360- then true
361- else (num == 9))
362- then true
363- else (num == 12))
364- then true
365- else (num == 14))
366- then true
367- else (num == 16))
368- then true
369- else (num == 18))
370- then true
371- else (num == 19))
372- then true
373- else (num == 21))
374- then true
375- else (num == 23))
376- then true
377- else (num == 25))
378- then true
379- else (num == 27))
380- then true
381- else (num == 30))
382- then true
383- else (num == 32))
384- then true
385- else (num == 34))
386- then true
387- else (num == 36))
388- then true
389- else throw("Invalid color, expected red color, try again. Game aborted!")
390-
391-
392-func isBlack (num) = if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num == 2))
393- then true
394- else (num == 4))
395- then true
396- else (num == 6))
397- then true
398- else (num == 8))
399- then true
400- else (num == 10))
401- then true
402- else (num == 11))
403- then true
404- else (num == 13))
405- then true
406- else (num == 15))
407- then true
408- else (num == 17))
409- then true
410- else (num == 20))
411- then true
412- else (num == 22))
413- then true
414- else (num == 24))
415- then true
416- else (num == 26))
417- then true
418- else (num == 28))
419- then true
420- else (num == 29))
421- then true
422- else (num == 31))
423- then true
424- else (num == 33))
425- then true
426- else (num == 35))
427- then true
428- else throw("Invalid color, expected black color, try again. Game aborted!")
429-
430-
431-func isOdd (num) = if (((num % 2) != 0))
432- then true
433- else throw("Invalid move, number is not odd. Game aborted!")
434-
435-
436-func isEven (num) = if (((num % 2) == 0))
437- then true
438- else throw("Invalid move, number is not even. Game aborted!")
439-
440-
441-func is1to18 (num) = if (if ((num > 0))
442- then (19 > num)
443- else false)
444- then true
445- else throw("Invalid range for 1to18, try between 1 and 18. Game aborted!")
446-
447-
448-func is19to36 (num) = if (if ((num > 18))
449- then (37 > num)
450- else false)
451- then true
452- else throw("Invalid range for 19to36, try between 1 and 18. Game aborted!")
453-
454-
455-func validateBet (bet) = {
456- let betContents = split(bet, "_")
457- if ((size(betContents) == 5))
458- then {
459- let betType = parseIntValue(betContents[0])
460- let betAmount = parseIntValue(betContents[1])
461- let betNum1 = parseIntValue(betContents[2])
462- let betNum2 = parseIntValue(betContents[3])
463- let betNum3 = parseIntValue(betContents[4])
464- if (is0to36(betNum1))
465- then if ((betType == TSPLIT))
466- then if (isSplit(betNum1, betNum2, betNum3))
269+func validateBetAndGetAmt (bet) = if ((size(bet) != 0))
270+ then {
271+ let betContents = split(bet, "_")
272+ if ((size(betContents) == 5))
273+ then {
274+ let betType = parseIntValue(betContents[0])
275+ let betAmount = parseIntValue(betContents[1])
276+ let betNum1 = parseIntValue(betContents[2])
277+ let betNum2 = parseIntValue(betContents[3])
278+ let betNum3 = parseIntValue(betContents[4])
279+ if (is0to36(betNum1))
280+ then if ((betType == TSTRAIGHT))
467281 then betAmount
468- else 0
469- else if ((betType == TSTREET))
470- then if (isStreet(betNum1, betNum2))
471- then betAmount
472- else 0
473- else if ((betType == TCOLUMN))
474- then if (isCorner(betNum1, betNum2))
282+ else if ((betType == TSPLIT))
283+ then if (isSplit(betNum1, betNum2, betNum3))
475284 then betAmount
476285 else 0
477- else if ((betType == TLINE))
478- then if (isLine(betNum1))
286+ else if ((betType == TSTREET))
287+ then if (isStreet(betNum1, betNum2))
479288 then betAmount
480289 else 0
481290 else if ((betType == TCOLUMN))
482- then if (isColumn(betNum1, betNum2))
291+ then if (isCorner(betNum1, betNum2))
483292 then betAmount
484293 else 0
485- else if ((betType == TDOZEN))
486- then if (isDozen(betNum1, betNum2))
294+ else if ((betType == TLINE))
295+ then if (isLine(betNum1))
487296 then betAmount
488297 else 0
489- else if ((betType == TRED))
490- then if (isRed(betNum1))
298+ else if ((betType == TCOLUMN))
299+ then if (isColumn(betNum1))
491300 then betAmount
492301 else 0
493- else if ((betType == TBLACK))
494- then if (isBlack(betNum1))
302+ else if ((betType == TDOZEN))
303+ then if (isDozen(betNum1))
495304 then betAmount
496305 else 0
497- else if ((betType == TODD))
498- then if (isOdd(betNum1))
306+ else if ((betType == TRED))
307+ then betAmount
308+ else if ((betType == TBLACK))
499309 then betAmount
500- else 0
501- else if ((betType == TEVEN))
502- then if (isEven(betNum1))
310+ else if ((betType == TODD))
503311 then betAmount
504- else 0
505- else if ((betType == T1TO18))
506- then if (is1to18(betNum1))
312+ else if ((betType == TEVEN))
507313 then betAmount
508- else 0
509- else if ((betType == T19TO36))
510- then if (is19to36(betNum1))
314+ else if ((betType == T1TO18))
511315 then betAmount
512- else 0
513- else throw("Invalid bet type, Game aborted!")
514- else throw("Invalid bet, Game aborted!")
515- }
516- else 0
517- }
316+ else if ((betType == T19TO36))
317+ then betAmount
318+ else throw("Invalid bet type, Game aborted!")
319+ else throw("Invalid bet range, Game aborted!")
320+ }
321+ else throw("Invalid bet structure, Game aborted!")
322+ }
323+ else 0
518324
519325
520-func validateBetsAndGetAmt (bets) = (validateBet(bets[0]) + validateBet(bets[1]))
326+func getBetsAmt (bets) = (validateBetAndGetAmt(bets[0]) + validateBetAndGetAmt(bets[1]))
521327
522328
523329 func IncrementGameNum () = {
535341 func playRoulette (bets) = {
536342 let s = split(bets, "_")
537343 let a = s[0]
344+ let b = s[1]
538345 throw(("a: " + toString(size(a))))
539346 }
540347
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"
77
88 let RESERVATIONKEY = "$RESERVED_AMOUNT"
99
1010 let WBET = base58'A4q1mYKo11yuH9gmvDodeJoksagcyQzeFE9JtphMWddw'
1111
1212 let WALLETWAVESBET = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1313
1414 let WALLETMCAFEE = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1515
1616 let WAVELET = 100000000
1717
1818 let FEEWAVESBET = 4
1919
2020 let FEEMCAFEE = 2
2121
2222 let STATESUBMITTED = "SUBMITTED"
2323
2424 let STATEWON = "WON"
2525
2626 let STATELOST = "LOST"
2727
2828 let BETMIN = (1 * WAVELET)
2929
3030 let BETMAX = (20000000 * WAVELET)
3131
3232 let TSTRAIGHT = 1
3333
3434 let TSPLIT = 2
3535
3636 let TSTREET = 3
3737
3838 let TCORNER = 4
3939
4040 let TLINE = 5
4141
4242 let TCOLUMN = 6
4343
4444 let TDOZEN = 7
4545
4646 let TRED = 8
4747
4848 let TBLACK = 9
4949
5050 let TODD = 10
5151
5252 let TEVEN = 11
5353
5454 let T1TO18 = 12
5555
5656 let T19TO36 = 13
5757
5858 let HORIZONTAL = 1
5959
6060 let VERTICAL = 2
6161
6262 func is0to36 (num) = if (if ((num >= 0))
6363 then (37 > num)
6464 else false)
6565 then true
6666 else throw("Invalid range, try between 0 and 36. Game aborted!")
6767
6868
6969 func isSplit (num1,num2,direction) = if ((direction == HORIZONTAL))
7070 then if (if (if (if (if ((num1 > 0))
7171 then (34 > num1)
7272 else false)
7373 then true
7474 else if ((num1 == 0))
7575 then (num2 == 1)
7676 else false)
7777 then true
7878 else if ((num1 == 0))
7979 then (num2 == 2)
8080 else false)
8181 then true
8282 else if ((num1 == 0))
8383 then (num2 == 3)
8484 else false)
8585 then true
8686 else throw("Invalid split hotizontal move. Game aborted!")
8787 else if ((direction == VERTICAL))
8888 then if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num1 == 1))
8989 then true
9090 else (num1 == 2))
9191 then true
9292 else (num1 == 4))
9393 then true
9494 else (num1 == 5))
9595 then true
9696 else (num1 == 7))
9797 then true
9898 else (num1 == 8))
9999 then true
100100 else (num1 == 10))
101101 then true
102102 else (num1 == 11))
103103 then true
104104 else (num1 == 13))
105105 then true
106106 else (num1 == 14))
107107 then true
108108 else (num1 == 16))
109109 then true
110110 else (num1 == 17))
111111 then true
112112 else (num1 == 19))
113113 then true
114114 else (num1 == 20))
115115 then true
116116 else (num1 == 22))
117117 then true
118118 else (num1 == 23))
119119 then true
120120 else (num1 == 25))
121121 then true
122122 else (num1 == 26))
123123 then true
124124 else (num1 == 28))
125125 then true
126126 else (num1 == 29))
127127 then true
128128 else (num1 == 31))
129129 then true
130130 else (num1 == 32))
131131 then true
132132 else (num1 == 34))
133133 then true
134134 else (num1 == 35))
135135 then true
136136 else throw("Invalid split vertical move. Game aborted!")
137137 else throw("Invalid split move. Game aborted!")
138138
139139
140140 func isStreet (num1,num2) = if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num1 == 1))
141141 then true
142142 else (num1 == 4))
143143 then true
144144 else (num1 == 7))
145145 then true
146146 else (num1 == 10))
147147 then true
148148 else (num1 == 13))
149149 then true
150150 else (num1 == 16))
151151 then true
152152 else (num1 == 19))
153153 then true
154154 else (num1 == 22))
155155 then true
156156 else (num1 == 25))
157157 then true
158158 else (num1 == 28))
159159 then true
160160 else (num1 == 31))
161161 then true
162162 else (num1 == 34))
163163 then true
164164 else if ((num1 == 0))
165165 then (num2 == 1)
166166 else false)
167167 then true
168168 else if ((num1 == 0))
169169 then (num2 == 3)
170170 else false)
171171 then true
172172 else throw("Invalid street move. Game aborted!")
173173
174174
175175 func isCorner (num1,num2) = if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num1 == 1))
176176 then true
177177 else (num1 == 2))
178178 then true
179179 else (num1 == 4))
180180 then true
181181 else (num1 == 5))
182182 then true
183183 else (num1 == 7))
184184 then true
185185 else (num1 == 8))
186186 then true
187187 else (num1 == 10))
188188 then true
189189 else (num1 == 11))
190190 then true
191191 else (num1 == 13))
192192 then true
193193 else (num1 == 14))
194194 then true
195195 else (num1 == 16))
196196 then true
197197 else (num1 == 17))
198198 then true
199199 else (num1 == 19))
200200 then true
201201 else (num1 == 20))
202202 then true
203203 else (num1 == 22))
204204 then true
205205 else (num1 == 23))
206206 then true
207207 else (num1 == 25))
208208 then true
209209 else (num1 == 26))
210210 then true
211211 else (num1 == 28))
212212 then true
213213 else (num1 == 29))
214214 then true
215215 else (num1 == 31))
216216 then true
217217 else (num1 == 32))
218218 then true
219219 else if ((num1 == 0))
220220 then (num2 == 1)
221221 else false)
222222 then true
223223 else throw("Invalid corner move. Game aborted!")
224224
225225
226226 func isLine (num) = if (if (if (if (if (if (if (if (if (if (if ((num == 1))
227227 then true
228228 else (num == 4))
229229 then true
230230 else (num == 7))
231231 then true
232232 else (num == 10))
233233 then true
234234 else (num == 13))
235235 then true
236236 else (num == 16))
237237 then true
238238 else (num == 19))
239239 then true
240240 else (num == 22))
241241 then true
242242 else (num == 25))
243243 then true
244244 else (num == 28))
245245 then true
246246 else (num == 31))
247247 then true
248248 else throw("Invalid line move. Game aborted!")
249249
250250
251-func isColumn (num,column) = if ((column == 1))
252- then if (if (if (if (if (if (if (if (if (if (if (if ((num == 1))
253- then true
254- else (num == 4))
255- then true
256- else (num == 7))
257- then true
258- else (num == 10))
259- then true
260- else (num == 13))
261- then true
262- else (num == 16))
263- then true
264- else (num == 19))
265- then true
266- else (num == 22))
267- then true
268- else (num == 25))
269- then true
270- else (num == 28))
271- then true
272- else (num == 31))
273- then true
274- else (num == 34))
275- then true
276- else throw("Invalid column 1 move. Game aborted!")
277- else if ((column == 2))
278- then if (if (if (if (if (if (if (if (if (if (if (if ((num == 2))
279- then true
280- else (num == 5))
281- then true
282- else (num == 8))
283- then true
284- else (num == 11))
285- then true
286- else (num == 14))
287- then true
288- else (num == 17))
289- then true
290- else (num == 20))
291- then true
292- else (num == 23))
293- then true
294- else (num == 26))
295- then true
296- else (num == 29))
297- then true
298- else (num == 32))
299- then true
300- else (num == 35))
301- then true
302- else throw("Invalid column 2 move. Game aborted!")
303- else if ((column == 3))
304- then if (if (if (if (if (if (if (if (if (if (if (if ((num == 3))
305- then true
306- else (num == 6))
307- then true
308- else (num == 9))
309- then true
310- else (num == 12))
311- then true
312- else (num == 15))
313- then true
314- else (num == 18))
315- then true
316- else (num == 21))
317- then true
318- else (num == 24))
319- then true
320- else (num == 27))
321- then true
322- else (num == 30))
323- then true
324- else (num == 33))
325- then true
326- else (num == 36))
327- then true
328- else throw("Invalid column 3 move. Game aborted!")
329- else throw("Invalid column move. Game aborted!")
251+func isColumn (column) = if (if (if ((column == 1))
252+ then true
253+ else (column == 2))
254+ then true
255+ else (column == 3))
256+ then true
257+ else throw("Invalid column move. Game aborted!")
330258
331259
332-func isDozen (num,dozen) = if ((dozen == 1))
333- then if (if ((num > 0))
334- then (13 > num)
335- else false)
336- then true
337- else throw("Invalid dozen 1 move. Game aborted!")
338- else if ((dozen == 2))
339- then if (if ((num > 12))
340- then (25 > num)
341- else false)
342- then true
343- else throw("Invalid dozen 2 move. Game aborted!")
344- else if ((dozen == 3))
345- then if (if ((num > 24))
346- then (37 > num)
347- else false)
348- then true
349- else throw("Invalid dozen 3 move. Game aborted!")
350- else throw("Invalid dozen move. Game aborted!")
260+func isDozen (dozen) = if (if (if ((dozen == 1))
261+ then true
262+ else (dozen == 2))
263+ then true
264+ else (dozen == 3))
265+ then true
266+ else throw("Invalid dozen move. Game aborted!")
351267
352268
353-func isRed (num) = if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num == 1))
354- then true
355- else (num == 3))
356- then true
357- else (num == 5))
358- then true
359- else (num == 7))
360- then true
361- else (num == 9))
362- then true
363- else (num == 12))
364- then true
365- else (num == 14))
366- then true
367- else (num == 16))
368- then true
369- else (num == 18))
370- then true
371- else (num == 19))
372- then true
373- else (num == 21))
374- then true
375- else (num == 23))
376- then true
377- else (num == 25))
378- then true
379- else (num == 27))
380- then true
381- else (num == 30))
382- then true
383- else (num == 32))
384- then true
385- else (num == 34))
386- then true
387- else (num == 36))
388- then true
389- else throw("Invalid color, expected red color, try again. Game aborted!")
390-
391-
392-func isBlack (num) = if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((num == 2))
393- then true
394- else (num == 4))
395- then true
396- else (num == 6))
397- then true
398- else (num == 8))
399- then true
400- else (num == 10))
401- then true
402- else (num == 11))
403- then true
404- else (num == 13))
405- then true
406- else (num == 15))
407- then true
408- else (num == 17))
409- then true
410- else (num == 20))
411- then true
412- else (num == 22))
413- then true
414- else (num == 24))
415- then true
416- else (num == 26))
417- then true
418- else (num == 28))
419- then true
420- else (num == 29))
421- then true
422- else (num == 31))
423- then true
424- else (num == 33))
425- then true
426- else (num == 35))
427- then true
428- else throw("Invalid color, expected black color, try again. Game aborted!")
429-
430-
431-func isOdd (num) = if (((num % 2) != 0))
432- then true
433- else throw("Invalid move, number is not odd. Game aborted!")
434-
435-
436-func isEven (num) = if (((num % 2) == 0))
437- then true
438- else throw("Invalid move, number is not even. Game aborted!")
439-
440-
441-func is1to18 (num) = if (if ((num > 0))
442- then (19 > num)
443- else false)
444- then true
445- else throw("Invalid range for 1to18, try between 1 and 18. Game aborted!")
446-
447-
448-func is19to36 (num) = if (if ((num > 18))
449- then (37 > num)
450- else false)
451- then true
452- else throw("Invalid range for 19to36, try between 1 and 18. Game aborted!")
453-
454-
455-func validateBet (bet) = {
456- let betContents = split(bet, "_")
457- if ((size(betContents) == 5))
458- then {
459- let betType = parseIntValue(betContents[0])
460- let betAmount = parseIntValue(betContents[1])
461- let betNum1 = parseIntValue(betContents[2])
462- let betNum2 = parseIntValue(betContents[3])
463- let betNum3 = parseIntValue(betContents[4])
464- if (is0to36(betNum1))
465- then if ((betType == TSPLIT))
466- then if (isSplit(betNum1, betNum2, betNum3))
269+func validateBetAndGetAmt (bet) = if ((size(bet) != 0))
270+ then {
271+ let betContents = split(bet, "_")
272+ if ((size(betContents) == 5))
273+ then {
274+ let betType = parseIntValue(betContents[0])
275+ let betAmount = parseIntValue(betContents[1])
276+ let betNum1 = parseIntValue(betContents[2])
277+ let betNum2 = parseIntValue(betContents[3])
278+ let betNum3 = parseIntValue(betContents[4])
279+ if (is0to36(betNum1))
280+ then if ((betType == TSTRAIGHT))
467281 then betAmount
468- else 0
469- else if ((betType == TSTREET))
470- then if (isStreet(betNum1, betNum2))
471- then betAmount
472- else 0
473- else if ((betType == TCOLUMN))
474- then if (isCorner(betNum1, betNum2))
282+ else if ((betType == TSPLIT))
283+ then if (isSplit(betNum1, betNum2, betNum3))
475284 then betAmount
476285 else 0
477- else if ((betType == TLINE))
478- then if (isLine(betNum1))
286+ else if ((betType == TSTREET))
287+ then if (isStreet(betNum1, betNum2))
479288 then betAmount
480289 else 0
481290 else if ((betType == TCOLUMN))
482- then if (isColumn(betNum1, betNum2))
291+ then if (isCorner(betNum1, betNum2))
483292 then betAmount
484293 else 0
485- else if ((betType == TDOZEN))
486- then if (isDozen(betNum1, betNum2))
294+ else if ((betType == TLINE))
295+ then if (isLine(betNum1))
487296 then betAmount
488297 else 0
489- else if ((betType == TRED))
490- then if (isRed(betNum1))
298+ else if ((betType == TCOLUMN))
299+ then if (isColumn(betNum1))
491300 then betAmount
492301 else 0
493- else if ((betType == TBLACK))
494- then if (isBlack(betNum1))
302+ else if ((betType == TDOZEN))
303+ then if (isDozen(betNum1))
495304 then betAmount
496305 else 0
497- else if ((betType == TODD))
498- then if (isOdd(betNum1))
306+ else if ((betType == TRED))
307+ then betAmount
308+ else if ((betType == TBLACK))
499309 then betAmount
500- else 0
501- else if ((betType == TEVEN))
502- then if (isEven(betNum1))
310+ else if ((betType == TODD))
503311 then betAmount
504- else 0
505- else if ((betType == T1TO18))
506- then if (is1to18(betNum1))
312+ else if ((betType == TEVEN))
507313 then betAmount
508- else 0
509- else if ((betType == T19TO36))
510- then if (is19to36(betNum1))
314+ else if ((betType == T1TO18))
511315 then betAmount
512- else 0
513- else throw("Invalid bet type, Game aborted!")
514- else throw("Invalid bet, Game aborted!")
515- }
516- else 0
517- }
316+ else if ((betType == T19TO36))
317+ then betAmount
318+ else throw("Invalid bet type, Game aborted!")
319+ else throw("Invalid bet range, Game aborted!")
320+ }
321+ else throw("Invalid bet structure, Game aborted!")
322+ }
323+ else 0
518324
519325
520-func validateBetsAndGetAmt (bets) = (validateBet(bets[0]) + validateBet(bets[1]))
326+func getBetsAmt (bets) = (validateBetAndGetAmt(bets[0]) + validateBetAndGetAmt(bets[1]))
521327
522328
523329 func IncrementGameNum () = {
524330 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
525331 case num: Int =>
526332 num
527333 case _ =>
528334 0
529335 }
530336 (gameNum + 1)
531337 }
532338
533339
534340 @Callable(i)
535341 func playRoulette (bets) = {
536342 let s = split(bets, "_")
537343 let a = s[0]
344+ let b = s[1]
538345 throw(("a: " + toString(size(a))))
539346 }
540347
541348

github/deemru/w8io/169f3d6 
56.43 ms