tx · FhpTxiu4rxZx2UrMfJbsLToWJPzyPtxHDjA7UUovq1zD

3Mu8FKNn2fEuxsE5mVhCwDQ275Ygi3ejweU:  -0.01400000 Waves

2019.10.24 20:39 [734494] smart account 3Mu8FKNn2fEuxsE5mVhCwDQ275Ygi3ejweU > SELF 0.00000000 Waves

{ "type": 13, "id": "FhpTxiu4rxZx2UrMfJbsLToWJPzyPtxHDjA7UUovq1zD", "fee": 1400000, "feeAssetId": null, "timestamp": 1571938739913, "version": 1, "sender": "3Mu8FKNn2fEuxsE5mVhCwDQ275Ygi3ejweU", "senderPublicKey": "6EzysHLfsAMmtxy8XtuFoQrCNTEkUdPSEzHYEwqpqSs3", "proofs": [ "2uYF2BTwyWHdah25Jo6fdpxRKK78aQTFScqX1TJR9qFuwUv6JSbwFyW3NsJX9cMujLquQV7ZDWi1SbYg7EbrhL1G" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIICBIECgIIAgAAAB0AAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAcliYXNlNjQ6LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFtT2xSQlRZRU8zSDdZOXJCbW9GUQpGbjQzOTJQeDBRdzEzRHNkRWhuek1IMmNqNlk1eW1QdUNPTE1OZTVxclV6UWw4b1JMeklCekZWTVpsd1VZbDJiCm9zck9JeFFiWUY3V1ZRV3ZvVnhFVDFZSWdEbTNOenpPTEE1dUg3Q0tPMHNuc2htTUZDRE9aRWV3NDFHaktoM1AKZ3grbmJBZ3VQOVpRUGZxU2FmRW1DM0NOLzR5RHNKcktyaVJuaVpKbzlqUy80TExzUkt3QjdIQVpIem9GOUxMNwp0U1pIM2h0YU5HdGJkVGt4WjFUelNUM01iMlZQU3pzWnZRRG9jWFVWT21KT3UwbzI5YU9ZK0drRy9HNFJDSzBGCkJXUUhFVXZDNTFUUkRTNWs4amFkME8xTW9ialFjNmIxOGQrZnVvVkZkTmZad0dIK3VGdWR0UEczVUpUZjJta3oKWlFJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tAAAAAAdyYXNUZXN0CQACWwAAAAECAAAAHFd3MFZ2alhuV2M3MXlwVGJPU1I4RXdYa3dTYUYAAAAAD0dBTUVTQ09VTlRFUktFWQIAAAAJJEdBTUVfTlVNAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAOU1RBVEVTVUJNSVRURUQCAAAACVNVQk1JVFRFRAAAAAAIU1RBVEVXT04CAAAAA1dPTgAAAAAJU1RBVEVMT1NUAgAAAARMT1NUAAAAAAxJZHhHYW1lU3RhdGUAAAAAAAAAAAAAAAAAD0lkeFBsYXllckNob2ljZQAAAAAAAAAAAQAAAAAHSWR4VHlwZQAAAAAAAAAAAgAAAAARSWR4UGxheWVyUHViS2V5NTgAAAAAAAAAAAMAAAAAEElkeFN0YXJ0ZWRIZWlnaHQAAAAAAAAAAAQAAAAACUlkeFdpbkFtdAAAAAAAAAAABQAAAAAOSWR4UmFuZE9yRW1wdHkAAAAA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AAAEdHlwZQUAAAAOcGxheWVyUHViS2V5NTgFAAAABmhlaWdodAUAAAAGd2luQW10AgAAAAAJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA9HQU1FU0NPVU5URVJLRVkFAAAACm5ld0dhbWVOdW0JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAALZ2FtZURhdGFTdHIFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAAZnYW1lSWQAAAAGcnNhU2lnBAAAAAxnYW1lRGF0YUxpc3QJAQAAABNFeHRyYWN0R2FtZURhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAxJZHhHYW1lU3RhdGUEAAAADHBsYXllckNob2ljZQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAD0lkeFBsYXllckNob2ljZQQAAAAEdHlwZQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAB0lkeFR5cGUEAAAADXN0YXJ0ZWRIZWlnaHQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAEElkeFN0YXJ0ZWRIZWlnaHQEAAAABndpbkFtdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAJSWR4V2luQW10BAAAAA5wbGF5ZXJQdWJLZXk1OAkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAEUlkeFBsYXllclB1YktleTU4BAAAAA1wbGF5ZXJBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAADnBsYXllclB1YktleTU4AwkBAAAAAiE9AAAAAgUAAAAJZ2FtZVN0YXRlBQAAAA5TVEFURVNVQk1JVFRFRAkAAAIAAAABAgAAACRJbnZhbGlkIGdhbWUgc3RhdGUgZm9yIHBhc3NlZCBnYW1lSWQEAAAABHJhbmQJAQAAAA9HZW5lcmF0ZVJhbmRJbnQAAAABBQAAAAZnYW1lSWQEAAAAB3JhbmRTdHIJAQAAAAlSYW5kVG9TdHIAAAABBQAAAARyYW5kAwkBAAAAB2RpY2VXaW4AAAADBQAAAAR0eXBlCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAADHBsYXllckNob2ljZQUAAAAEcmFuZAQAAAAObmV3R2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAcFAAAACFNUQVRFV09OBQAAAAxwbGF5ZXJDaG9pY2UFAAAABHR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAA1zdGFydGVkSGVpZ2h0BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAxXaW5TY3JpcHRTZXQAAAAEBQAAAAZnYW1lSWQFAAAADXBsYXllckFkZHJlc3MFAAAABndpbkFtdAUAAAAObmV3R2FtZURhdGFTdHIEAAAADm5ld0dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAHBQAAAAlTVEFURUxPU1QFAAAADHBsYXllckNob2ljZQUAAAAEdHlwZQUAAAAOcGxheWVyUHViS2V5NTgFAAAADXN0YXJ0ZWRIZWlnaHQFAAAABndpbkFtdAUAAAAHcmFuZFN0cgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAAA5uZXdHYW1lRGF0YVN0cgUAAAADbmlsAAAAAO6jiQw=", "chainId": 84, "height": 734494, "spentComplexity": 0 } View: original | compacted Prev: ErxQjkTkxiJ7T5oKheEaqTGQPX4LDbScseCpLvaithns Next: GFXRHSq2unbwUnDWe7ZzBgSedUFN8XLgbE6zMpsLRoFV Diff:
OldNewDifferences
574574 let multi = getMultiplier(type, prediction)
575575 let winAmt = (((payment.amount * multi) / 100000) * (95 / 100))
576576 let txIdUsed = isDefined(getString(this, gameId))
577- if ((payment.assetId != base58'waves'))
577+ if ((payment.assetId != base58'WAVES'))
578578 then throw("Payment should be in Wavesbet")
579579 else if (txIdUsed)
580580 then throw("Passed txId had been used before. Game aborted.")
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let RSAPUBLIC = fromBase64String("base64:-----BEGIN PUBLIC KEY-----
55 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmOlRBTYEO3H7Y9rBmoFQ
66 Fn4392Px0Qw13DsdEhnzMH2cj6Y5ymPuCOLMNe5qrUzQl8oRLzIBzFVMZlwUYl2b
77 osrOIxQbYF7WVQWvoVxET1YIgDm3NzzOLA5uH7CKO0snshmMFCDOZEew41GjKh3P
88 gx+nbAguP9ZQPfqSafEmC3CN/4yDsJrKriRniZJo9jS/4LLsRKwB7HAZHzoF9LL7
99 tSZH3htaNGtbdTkxZ1TzST3Mb2VPSzsZvQDocXUVOmJOu0o29aOY+GkG/G4RCK0F
1010 BWQHEUvC51TRDS5k8jad0O1MobjQc6b18d+fuoVFdNfZwGH+uFudtPG3UJTf2mkz
1111 ZQIDAQAB
1212 -----END PUBLIC KEY-----")
1313
1414 let rasTest = fromBase64String("Ww0VvjXnWc71ypTbOSR8EwXkwSaF")
1515
1616 let GAMESCOUNTERKEY = "$GAME_NUM"
1717
1818 let RESERVATIONKEY = "$RESERVED_AMOUNT"
1919
2020 let STATESUBMITTED = "SUBMITTED"
2121
2222 let STATEWON = "WON"
2323
2424 let STATELOST = "LOST"
2525
2626 let IdxGameState = 0
2727
2828 let IdxPlayerChoice = 1
2929
3030 let IdxType = 2
3131
3232 let IdxPlayerPubKey58 = 3
3333
3434 let IdxStartedHeight = 4
3535
3636 let IdxWinAmt = 5
3737
3838 let IdxRandOrEmpty = 6
3939
4040 func IncrementGameNum () = {
4141 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
4242 case num: Int =>
4343 num
4444 case _ =>
4545 0
4646 }
4747 (gameNum + 1)
4848 }
4949
5050
5151 func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
5252 case a: Int =>
5353 a
5454 case _ =>
5555 0
5656 }
5757
5858
5959 func ValidateAndIncreaseReservedAmt (winAmt) = {
6060 let newReservedAmount = (ExtractReservedAmt() + winAmt)
6161 let balance = wavesBalance(this)
6262 if ((newReservedAmount > balance))
6363 then throw("Insufficient funds on Waves Rider account. Transaction was rejected for your safety.")
6464 else newReservedAmount
6565 }
6666
6767
6868 func FormatGameDataParam (p) = {
6969 let s = size(p)
7070 if ((s == 0))
7171 then throw("Parameter size must be greater then 0")
7272 else if ((s > 99))
7373 then throw("Parameter size must be less then 100")
7474 else if ((10 > s))
7575 then (("0" + toString(s)) + p)
7676 else (toString(s) + p)
7777 }
7878
7979
8080 func FormatGameDataStr (gameState,playerChoice,playerType,playerPubKey58,startedHeight,winAmt,randOrEmpty) = {
8181 let fullStateStr = ((((((((((FormatGameDataParam(gameState) + "_") + FormatGameDataParam(playerChoice)) + "_") + FormatGameDataParam(playerType)) + "_") + FormatGameDataParam(playerPubKey58)) + "_") + FormatGameDataParam(toString(startedHeight))) + "_") + FormatGameDataParam(toString(winAmt)))
8282 if ((randOrEmpty == ""))
8383 then fullStateStr
8484 else ((fullStateStr + "_") + FormatGameDataParam(randOrEmpty))
8585 }
8686
8787
8888 func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
8989 then drop(remaining, 1)
9090 else remaining
9191
9292
9393 func ParseNextAttribute (remaining) = {
9494 let s = size(remaining)
9595 if ((s > 0))
9696 then {
9797 let nn = parseIntValue(take(remaining, 2))
9898 let v = take(drop(remaining, 2), nn)
9999 let tmpRemaining = drop(remaining, (nn + 2))
100100 let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
101101 [v, remainingState]
102102 }
103103 else throw("Empty string was passed into parseNextAttribute func")
104104 }
105105
106106
107107 func ParseGameRawDataStr (rawStateStr) = {
108108 let gameState = ParseNextAttribute(rawStateStr)
109109 let playerChoice = ParseNextAttribute(gameState[1])
110110 let type = ParseNextAttribute(playerChoice[1])
111111 let playerPubKey58 = ParseNextAttribute(type[1])
112112 let startedHeight = ParseNextAttribute(playerPubKey58[1])
113113 let winAmt = ParseNextAttribute(startedHeight[1])
114114 [gameState[0], playerChoice[0], type[0], playerPubKey58[0], startedHeight[0], winAmt[0]]
115115 }
116116
117117
118118 func ExtractGameDataList (gameId) = {
119119 let rawDataStr = match getString(this, gameId) {
120120 case str: String =>
121121 str
122122 case _ =>
123123 throw(("Couldn't find game by " + gameId))
124124 }
125125 ParseGameRawDataStr(rawDataStr)
126126 }
127127
128128
129129 func DecreaseReservedAmt (gameId,winAmt) = {
130130 let newReservedAmount = (ExtractReservedAmt() - winAmt)
131131 if ((0 > newReservedAmount))
132132 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
133133 else DataEntry(RESERVATIONKEY, newReservedAmount)
134134 }
135135
136136
137137 func GenerateRandInt (gameId) = {
138138 let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), rasTest, RSAPUBLIC)
139139 if (rsaSigValid)
140140 then {
141141 let rand = (toInt(sha256(rasTest)) % 100)
142142 if ((0 > rand))
143143 then ((-1 * rand) + 1)
144144 else (rand + 1)
145145 }
146146 else throw("Invalid RSA signature")
147147 }
148148
149149
150150 func RandToStr (r) = if (if ((r >= 1))
151151 then (100 >= r)
152152 else false)
153153 then toString(r)
154154 else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
155155
156156
157157 func WinScriptSet (gameId,playerAddress,winAmt,newGameDataStr) = {
158158 let tSetCommonData = [ScriptTransfer(playerAddress, winAmt, base58'4vPcbA5yiwpWBVPALPGXus6fNdGEuYTpe4hAeSxM9Kj4')]
159159 let writeDicePlay = WriteSet([DataEntry("Game Id", gameId), DataEntry("Player Address", toString(playerAddress))])
160160 ScriptResult(writeDicePlay, TransferSet(tSetCommonData))
161161 }
162162
163163
164164 func getMultiplier (type,playerPrediction) = {
165165 let prediction = 50
166166 if ((type == "Under"))
167167 then if ((prediction == 1))
168168 then 9850000
169169 else if ((prediction == 2))
170170 then 4925000
171171 else if ((prediction == 3))
172172 then 3283330
173173 else if ((prediction == 4))
174174 then 2462500
175175 else if ((prediction == 5))
176176 then 1970000
177177 else if ((prediction == 6))
178178 then 1641660
179179 else if ((prediction == 7))
180180 then 1407140
181181 else if ((prediction == 8))
182182 then 1231250
183183 else if ((prediction == 9))
184184 then 1094440
185185 else if ((prediction == 10))
186186 then 985000
187187 else if ((prediction == 11))
188188 then 895450
189189 else if ((prediction == 12))
190190 then 820830
191191 else if ((prediction == 13))
192192 then 757690
193193 else if ((prediction == 14))
194194 then 703570
195195 else if ((prediction == 15))
196196 then 656660
197197 else if ((prediction == 16))
198198 then 615620
199199 else if ((prediction == 17))
200200 then 579410
201201 else if ((prediction == 18))
202202 then 547220
203203 else if ((prediction == 19))
204204 then 518420
205205 else if ((prediction == 20))
206206 then 492500
207207 else if ((prediction == 21))
208208 then 469040
209209 else if ((prediction == 22))
210210 then 447720
211211 else if ((prediction == 23))
212212 then 428260
213213 else if ((prediction == 24))
214214 then 410410
215215 else if ((prediction == 25))
216216 then 394000
217217 else if ((prediction == 26))
218218 then 378840
219219 else if ((prediction == 27))
220220 then 364810
221221 else if ((prediction == 28))
222222 then 351780
223223 else if ((prediction == 29))
224224 then 339650
225225 else if ((prediction == 30))
226226 then 328330
227227 else if ((prediction == 31))
228228 then 317740
229229 else if ((prediction == 32))
230230 then 307810
231231 else if ((prediction == 33))
232232 then 298480
233233 else if ((prediction == 34))
234234 then 289700
235235 else if ((prediction == 35))
236236 then 281420
237237 else if ((prediction == 36))
238238 then 273610
239239 else if ((prediction == 37))
240240 then 259210
241241 else if ((prediction == 38))
242242 then 259210
243243 else if ((prediction == 39))
244244 then 252560
245245 else if ((prediction == 40))
246246 then 246250
247247 else if ((prediction == 41))
248248 then 240240
249249 else if ((prediction == 42))
250250 then 234520
251251 else if ((prediction == 43))
252252 then 229060
253253 else if ((prediction == 44))
254254 then 223860
255255 else if ((prediction == 45))
256256 then 218880
257257 else if ((prediction == 46))
258258 then 214130
259259 else if ((prediction == 47))
260260 then 209570
261261 else if ((prediction == 48))
262262 then 205200
263263 else if ((prediction == 49))
264264 then 201020
265265 else if ((prediction == 50))
266266 then 197000
267267 else if ((prediction == 51))
268268 then 193130
269269 else if ((prediction == 52))
270270 then 189420
271271 else if ((prediction == 53))
272272 then 185840
273273 else if ((prediction == 54))
274274 then 182400
275275 else if ((prediction == 55))
276276 then 179090
277277 else if ((prediction == 56))
278278 then 175890
279279 else if ((prediction == 57))
280280 then 172800
281281 else if ((prediction == 58))
282282 then 169820
283283 else if ((prediction == 59))
284284 then 166940
285285 else if ((prediction == 60))
286286 then 164160
287287 else if ((prediction == 61))
288288 then 161470
289289 else if ((prediction == 62))
290290 then 158870
291291 else if ((prediction == 63))
292292 then 156340
293293 else if ((prediction == 64))
294294 then 153900
295295 else if ((prediction == 65))
296296 then 151530
297297 else if ((prediction == 66))
298298 then 149240
299299 else if ((prediction == 67))
300300 then 147010
301301 else if ((prediction == 68))
302302 then 144850
303303 else if ((prediction == 69))
304304 then 142750
305305 else if ((prediction == 70))
306306 then 140710
307307 else if ((prediction == 71))
308308 then 138730
309309 else if ((prediction == 72))
310310 then 136800
311311 else if ((prediction == 73))
312312 then 134930
313313 else if ((prediction == 74))
314314 then 133100
315315 else if ((prediction == 75))
316316 then 131330
317317 else if ((prediction == 76))
318318 then 129600
319319 else if ((prediction == 77))
320320 then 127920
321321 else if ((prediction == 78))
322322 then 126280
323323 else if ((prediction == 79))
324324 then 124680
325325 else if ((prediction == 80))
326326 then 123120
327327 else if ((prediction == 81))
328328 then 121600
329329 else if ((prediction == 82))
330330 then 120120
331331 else if ((prediction == 83))
332332 then 118670
333333 else if ((prediction == 84))
334334 then 117260
335335 else if ((prediction == 85))
336336 then 115880
337337 else if ((prediction == 86))
338338 then 114530
339339 else if ((prediction == 87))
340340 then 113210
341341 else if ((prediction == 88))
342342 then 111930
343343 else if ((prediction == 89))
344344 then 110670
345345 else if ((prediction == 90))
346346 then 109440
347347 else if ((prediction == 91))
348348 then 108240
349349 else if ((prediction == 92))
350350 then 107060
351351 else if ((prediction == 93))
352352 then 105910
353353 else if ((prediction == 94))
354354 then 104780
355355 else if ((prediction == 95))
356356 then 103680
357357 else if ((prediction == 96))
358358 then 103680
359359 else 100000
360360 else if ((type == "Over"))
361361 then if ((prediction == 4))
362362 then 103680
363363 else if ((prediction == 5))
364364 then 103680
365365 else if ((prediction == 6))
366366 then 104780
367367 else if ((prediction == 7))
368368 then 105910
369369 else if ((prediction == 8))
370370 then 107060
371371 else if ((prediction == 9))
372372 then 108240
373373 else if ((prediction == 10))
374374 then 109440
375375 else if ((prediction == 11))
376376 then 110670
377377 else if ((prediction == 12))
378378 then 111930
379379 else if ((prediction == 13))
380380 then 113210
381381 else if ((prediction == 14))
382382 then 114530
383383 else if ((prediction == 15))
384384 then 115880
385385 else if ((prediction == 16))
386386 then 117260
387387 else if ((prediction == 17))
388388 then 118670
389389 else if ((prediction == 18))
390390 then 120120
391391 else if ((prediction == 19))
392392 then 121600
393393 else if ((prediction == 20))
394394 then 123120
395395 else if ((prediction == 21))
396396 then 124680
397397 else if ((prediction == 22))
398398 then 126280
399399 else if ((prediction == 23))
400400 then 127920
401401 else if ((prediction == 24))
402402 then 129600
403403 else if ((prediction == 25))
404404 then 131330
405405 else if ((prediction == 26))
406406 then 133100
407407 else if ((prediction == 27))
408408 then 134930
409409 else if ((prediction == 28))
410410 then 136800
411411 else if ((prediction == 29))
412412 then 138730
413413 else if ((prediction == 30))
414414 then 140710
415415 else if ((prediction == 31))
416416 then 142750
417417 else if ((prediction == 32))
418418 then 144850
419419 else if ((prediction == 33))
420420 then 147010
421421 else if ((prediction == 34))
422422 then 149240
423423 else if ((prediction == 35))
424424 then 151530
425425 else if ((prediction == 36))
426426 then 153900
427427 else if ((prediction == 37))
428428 then 156340
429429 else if ((prediction == 38))
430430 then 158870
431431 else if ((prediction == 39))
432432 then 161470
433433 else if ((prediction == 40))
434434 then 164160
435435 else if ((prediction == 41))
436436 then 166940
437437 else if ((prediction == 42))
438438 then 169820
439439 else if ((prediction == 43))
440440 then 172800
441441 else if ((prediction == 44))
442442 then 175890
443443 else if ((prediction == 45))
444444 then 179090
445445 else if ((prediction == 46))
446446 then 185840
447447 else if ((prediction == 47))
448448 then 185840
449449 else if ((prediction == 48))
450450 then 189420
451451 else if ((prediction == 49))
452452 then 193130
453453 else if ((prediction == 50))
454454 then 197000
455455 else if ((prediction == 51))
456456 then 201020
457457 else if ((prediction == 52))
458458 then 205200
459459 else if ((prediction == 53))
460460 then 209570
461461 else if ((prediction == 54))
462462 then 214130
463463 else if ((prediction == 55))
464464 then 218880
465465 else if ((prediction == 56))
466466 then 223860
467467 else if ((prediction == 57))
468468 then 229060
469469 else if ((prediction == 58))
470470 then 234520
471471 else if ((prediction == 59))
472472 then 240240
473473 else if ((prediction == 60))
474474 then 246250
475475 else if ((prediction == 61))
476476 then 252560
477477 else if ((prediction == 62))
478478 then 259210
479479 else if ((prediction == 63))
480480 then 259210
481481 else if ((prediction == 64))
482482 then 273610
483483 else if ((prediction == 65))
484484 then 281420
485485 else if ((prediction == 66))
486486 then 289700
487487 else if ((prediction == 67))
488488 then 298480
489489 else if ((prediction == 68))
490490 then 307810
491491 else if ((prediction == 69))
492492 then 317740
493493 else if ((prediction == 70))
494494 then 328330
495495 else if ((prediction == 71))
496496 then 339650
497497 else if ((prediction == 72))
498498 then 351780
499499 else if ((prediction == 73))
500500 then 364810
501501 else if ((prediction == 74))
502502 then 378840
503503 else if ((prediction == 75))
504504 then 394000
505505 else if ((prediction == 76))
506506 then 410410
507507 else if ((prediction == 77))
508508 then 428260
509509 else if ((prediction == 78))
510510 then 447720
511511 else if ((prediction == 79))
512512 then 469040
513513 else if ((prediction == 80))
514514 then 492500
515515 else if ((prediction == 81))
516516 then 518420
517517 else if ((prediction == 82))
518518 then 547220
519519 else if ((prediction == 83))
520520 then 579410
521521 else if ((prediction == 84))
522522 then 615620
523523 else if ((prediction == 85))
524524 then 656660
525525 else if ((prediction == 86))
526526 then 703570
527527 else if ((prediction == 87))
528528 then 757690
529529 else if ((prediction == 88))
530530 then 820830
531531 else if ((prediction == 89))
532532 then 895450
533533 else if ((prediction == 90))
534534 then 985000
535535 else if ((prediction == 91))
536536 then 1094440
537537 else if ((prediction == 92))
538538 then 1231250
539539 else if ((prediction == 93))
540540 then 1407140
541541 else if ((prediction == 94))
542542 then 1641660
543543 else if ((prediction == 95))
544544 then 1970000
545545 else if ((prediction == 96))
546546 then 2462500
547547 else if ((prediction == 97))
548548 then 3283330
549549 else if ((prediction == 98))
550550 then 4925000
551551 else if ((prediction == 99))
552552 then 9850000
553553 else 100000
554554 else 100000
555555 }
556556
557557
558558 func diceWin (type,prediction,number) = if ((type == "Under"))
559559 then if ((prediction >= number))
560560 then true
561561 else false
562562 else if ((type == "Over"))
563563 then if ((number >= prediction))
564564 then true
565565 else false
566566 else false
567567
568568
569569 @Callable(i)
570570 func playDice (type,prediction) = {
571571 let newGameNum = IncrementGameNum()
572572 let gameId = toBase58String(i.transactionId)
573573 let payment = extract(i.payment)
574574 let multi = getMultiplier(type, prediction)
575575 let winAmt = (((payment.amount * multi) / 100000) * (95 / 100))
576576 let txIdUsed = isDefined(getString(this, gameId))
577- if ((payment.assetId != base58'waves'))
577+ if ((payment.assetId != base58'WAVES'))
578578 then throw("Payment should be in Wavesbet")
579579 else if (txIdUsed)
580580 then throw("Passed txId had been used before. Game aborted.")
581581 else {
582582 let playerPubKey58 = toBase58String(i.callerPublicKey)
583583 let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, type, playerPubKey58, height, winAmt, "")
584584 ScriptResult(WriteSet([DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet(nil))
585585 }
586586 }
587587
588588
589589
590590 @Callable(i)
591591 func withdraw (gameId,rsaSig) = {
592592 let gameDataList = ExtractGameDataList(gameId)
593593 let gameState = gameDataList[IdxGameState]
594594 let playerChoice = gameDataList[IdxPlayerChoice]
595595 let type = gameDataList[IdxType]
596596 let startedHeight = parseIntValue(gameDataList[IdxStartedHeight])
597597 let winAmt = parseIntValue(gameDataList[IdxWinAmt])
598598 let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
599599 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
600600 if ((gameState != STATESUBMITTED))
601601 then throw("Invalid game state for passed gameId")
602602 else {
603603 let rand = GenerateRandInt(gameId)
604604 let randStr = RandToStr(rand)
605605 if (diceWin(type, parseIntValue(playerChoice), rand))
606606 then {
607607 let newGameDataStr = FormatGameDataStr(STATEWON, playerChoice, type, playerPubKey58, startedHeight, winAmt, randStr)
608608 WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr)
609609 }
610610 else {
611611 let newGameDataStr = FormatGameDataStr(STATELOST, playerChoice, type, playerPubKey58, startedHeight, winAmt, randStr)
612612 WriteSet([DataEntry(gameId, newGameDataStr)])
613613 }
614614 }
615615 }
616616
617617

github/deemru/w8io/169f3d6 
93.18 ms