tx · Hx5EVnXh28RJXtYWKCS9UtXR1THkPdkNXeAa8gEbA5RT

3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa:  -0.05000000 Waves

2019.10.25 01:37 [734784] smart account 3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa > SELF 0.00000000 Waves

{ "type": 13, "id": "Hx5EVnXh28RJXtYWKCS9UtXR1THkPdkNXeAa8gEbA5RT", "fee": 5000000, "feeAssetId": null, "timestamp": 1571956630591, "version": 1, "sender": "3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa", "senderPublicKey": "DdkgRd7YzZtSU3hXJc7sHsU7sM8nUSEwkzqZCaCTXKRe", "proofs": [ "4d9FcoBHGrr5WsQbVNDNntxxAMYHmEMqwRPsuZh8urCSjMKxwmcQQVxMX8t4QTJxKmoajfVJgMG8BKTT8mNQWZwm" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIIARIECgIICAAAACgAAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAmRMUzB0TFMxQ1JVZEpUaUJRVlVKTVNVTWdTMFZaTFMwdExTMWNiazFKU1VKSmFrRk9RbWRyY1docmFVYzVkekJDUVZGRlJrRkJUME5CVVRoQlRVbEpRa05uUzBOQlVVVkJiVTlzVWtKVVdVVlBNMGczV1RseVFtMXZSbEZjYmtadU5ETTVNbEI0TUZGM01UTkVjMlJGYUc1NlRVZ3lZMm8yV1RWNWJWQjFRMDlNVFU1bE5YRnlWWHBSYkRodlVreDZTVUo2UmxaTldteDNWVmxzTW1KY2JtOXpjazlKZUZGaVdVWTNWMVpSVjNadlZuaEZWREZaU1dkRWJUTk9lbnBQVEVFMWRVZzNRMHRQTUhOdWMyaHRUVVpEUkU5YVJXVjNOREZIYWt0b00xQmNibWQ0SzI1aVFXZDFVRGxhVVZCbWNWTmhaa1Z0UXpORFRpODBlVVJ6U25KTGNtbFNibWxhU204NWFsTXZORXhNYzFKTGQwSTNTRUZhU0hwdlJqbE1URGRjYm5SVFdrZ3phSFJoVGtkMFltUlVhM2hhTVZSNlUxUXpUV0l5VmxCVGVuTmFkbEZFYjJOWVZWWlBiVXBQZFRCdk1qbGhUMWtyUjJ0SEwwYzBVa05MTUVaY2JrSlhVVWhGVlhaRE5URlVVa1JUTldzNGFtRmtNRTh4VFc5aWFsRmpObUl4T0dRclpuVnZWa1prVG1aYWQwZElLM1ZHZFdSMFVFY3pWVXBVWmpKdGEzcGNibHBSU1VSQlVVRkNYRzR0TFMwdExVVk9SQ0JRVlVKTVNVTWdTMFZaTFMwdExTMD0AAAAAD0dBTUVTQ09VTlRFUktFWQIAAAAJJEdBTUVfTlVNAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAEV0JFVAEAAAAgD5uLrFpvaCc5H1Jt+IyA7GJAqs11k4f4jn5gjTii4MkAAAAADldBTExFVFdBVkVTQkVUCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU+7jPDEX8wd6gmrM5ihdUy4TQWFubfU6VAAAAAAxXQUxMRVRNQ0FGRkUJAQAAAAdBZGRyZXNzAAAAAQEAAAAAAAAAAAdX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c2VkIGJlZm9yZS4gR2FtZSBhYm9ydGVkLgQAAAAKbmV3R2FtZU51bQkBAAAAEEluY3JlbWVudEdhbWVOdW0AAAAABAAAAA5wbGF5ZXJQdWJLZXk1OAkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAC2dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAGBQAAAA5TVEFURVNVQk1JVFRFRAUAAAAKcHJlZGljdGlvbgUAAAAIcm9sbFR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZ3aW5BbXQCAAAAAAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAD0dBTUVTQ09VTlRFUktFWQUAAAAKbmV3R2FtZU51bQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAAAtnYW1lRGF0YVN0cgUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABBQAAAANuaWwAAAABaQEAAAAId2l0aGRyYXcAAAACAAAABmdhbWVJZAAAAAdyc2FTaWduBAAAAAxnYW1lRGF0YUxpc3QJAQAAABNFeHRyYWN0R2FtZURhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAxJZHhHYW1lU3RhdGUEAAAACXByZWRjdGlvbgkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAANSWR4UHJlZGljdGlvbgQAAAAIcm9sbFR5cGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAtJZHhSb2xsVHlwZQQAAAAOcGxheWVyUHViS2V5NTgJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAABFJZHhQbGF5ZXJQdWJLZXk1OAQAAAAGd2luQW10CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAlJZHhXaW5BbXQEAAAADXBsYXllckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAOcGxheWVyUHViS2V5NTgEAAAAEWRlY3JlYXNlZFJlc2VydmVzCQEAAAATRGVjcmVhc2VSZXNlcnZlZEFtdAAAAAIFAAAABmdhbWVJZAUAAAAGd2luQW10AwkBAAAAAiE9AAAAAgUAAAAJZ2FtZVN0YXRlBQAAAA5TVEFURVNVQk1JVFRFRAkAAAIAAAABAgAAACRJbnZhbGlkIGdhbWUgc3RhdGUgZm9yIHBhc3NlZCBnYW1lSWQEAAAABHJhbmQJAQAAAA9HZW5lcmF0ZVJhbmRJbnQAAAACBQAAAAZnYW1lSWQFAAAAB3JzYVNpZ24EAAAAB3JhbmRTdHIJAQAAAAlSYW5kVG9TdHIAAAABBQAAAARyYW5kAwkBAAAAB2RpY2VXaW4AAAADBQAAAAhyb2xsVHlwZQUAAAAJcHJlZGN0aW9uBQAAAARyYW5kBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAIU1RBVEVXT04FAAAACXByZWRjdGlvbgUAAAAIcm9sbFR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAxXaW5TY3JpcHRTZXQAAAAEBQAAAAZnYW1lSWQFAAAADXBsYXllckFkZHJlc3MFAAAABndpbkFtdAUAAAAObmV3R2FtZURhdGFTdHIEAAAADm5ld0dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAGBQAAAAlTVEFURUxPU1QFAAAACXByZWRjdGlvbgUAAAAIcm9sbFR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAAObmV3R2FtZURhdGFTdHIFAAAAA25pbAAAAAB3Xk65", "chainId": 84, "height": 734784, "spentComplexity": 0 } View: original | compacted Prev: H4bGRJEiPbEBz63CQWotngPLdPc5A4KW4RGkoVvPne2j Next: GAC5iFZDkcmeyoyDy676UJkDMt7zBMV7oVGqGYPKMzsV Diff:
OldNewDifferences
1313
1414 let WALLETMCAFFE = Address(base58'')
1515
16+let WAVELET = ((100 * 1000) * 1000)
17+
1618 let FEEMCAFEE = 2
1719
1820 let FEEWAVESBET = 5
2729
2830 let ROLLOVER = "OVER"
2931
30-let BETMIN = 10
32+let BETMIN = (100 * WAVELET)
3133
32-let BETMAX = 1000
34+let BETMAX = ((1000 * 100) * WAVELET)
3335
3436 let PREDICTIONMIN = 4
3537
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let RSAPUBLIC = fromBase64String("LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbU9sUkJUWUVPM0g3WTlyQm1vRlFcbkZuNDM5MlB4MFF3MTNEc2RFaG56TUgyY2o2WTV5bVB1Q09MTU5lNXFyVXpRbDhvUkx6SUJ6RlZNWmx3VVlsMmJcbm9zck9JeFFiWUY3V1ZRV3ZvVnhFVDFZSWdEbTNOenpPTEE1dUg3Q0tPMHNuc2htTUZDRE9aRWV3NDFHaktoM1Bcbmd4K25iQWd1UDlaUVBmcVNhZkVtQzNDTi80eURzSnJLcmlSbmlaSm85alMvNExMc1JLd0I3SEFaSHpvRjlMTDdcbnRTWkgzaHRhTkd0YmRUa3haMVR6U1QzTWIyVlBTenNadlFEb2NYVVZPbUpPdTBvMjlhT1krR2tHL0c0UkNLMEZcbkJXUUhFVXZDNTFUUkRTNWs4amFkME8xTW9ialFjNmIxOGQrZnVvVkZkTmZad0dIK3VGdWR0UEczVUpUZjJta3pcblpRSURBUUFCXG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0=")
55
66 let GAMESCOUNTERKEY = "$GAME_NUM"
77
88 let RESERVATIONKEY = "$RESERVED_AMOUNT"
99
1010 let WBET = base58'23vgV9p9pD83A7CFbsDEc4zjanep7UeFo4ZRS6oGorhv'
1111
1212 let WALLETWAVESBET = Address(base58'3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa')
1313
1414 let WALLETMCAFFE = Address(base58'')
1515
16+let WAVELET = ((100 * 1000) * 1000)
17+
1618 let FEEMCAFEE = 2
1719
1820 let FEEWAVESBET = 5
1921
2022 let STATESUBMITTED = "SUBMITTED"
2123
2224 let STATEWON = "WON"
2325
2426 let STATELOST = "LOST"
2527
2628 let ROLLUNDER = "UNDER"
2729
2830 let ROLLOVER = "OVER"
2931
30-let BETMIN = 10
32+let BETMIN = (100 * WAVELET)
3133
32-let BETMAX = 1000
34+let BETMAX = ((1000 * 100) * WAVELET)
3335
3436 let PREDICTIONMIN = 4
3537
3638 let PREDICTIONMAX = 100
3739
3840 let IdxGameState = 0
3941
4042 let IdxPrediction = 1
4143
4244 let IdxRollType = 2
4345
4446 let IdxPlayerPubKey58 = 3
4547
4648 let IdxWinAmt = 4
4749
4850 let IdxRand = 5
4951
5052 func IncrementGameNum () = {
5153 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
5254 case num: Int =>
5355 num
5456 case _ =>
5557 0
5658 }
5759 (gameNum + 1)
5860 }
5961
6062
6163 func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
6264 case a: Int =>
6365 a
6466 case _ =>
6567 0
6668 }
6769
6870
6971 func ValidateAndIncreaseReservedAmt (winAmt) = {
7072 let newReservedAmount = (ExtractReservedAmt() + winAmt)
7173 let balance = wavesBalance(this)
7274 if ((newReservedAmount > balance))
7375 then throw("Insufficient funds on Wavesbet account. Transaction was rejected for your safety.")
7476 else newReservedAmount
7577 }
7678
7779
7880 func FormatGameDataParam (p) = {
7981 let s = size(p)
8082 if ((s == 0))
8183 then throw("Parameter size must be greater then 0")
8284 else if ((s > 99))
8385 then throw("Parameter size must be less then 100")
8486 else if ((10 > s))
8587 then (("0" + toString(s)) + p)
8688 else (toString(s) + p)
8789 }
8890
8991
9092 func FormatGameDataStr (gameState,prediction,rollType,playerPubKey58,winAmt,rand) = {
9193 let fullStateStr = ((((((((FormatGameDataParam(gameState) + "_") + FormatGameDataParam(toString(prediction))) + "_") + FormatGameDataParam(rollType)) + "_") + FormatGameDataParam(playerPubKey58)) + "_") + FormatGameDataParam(toString(winAmt)))
9294 if ((rand == ""))
9395 then fullStateStr
9496 else ((fullStateStr + "_") + FormatGameDataParam(rand))
9597 }
9698
9799
98100 func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
99101 then drop(remaining, 1)
100102 else remaining
101103
102104
103105 func ParseNextAttribute (remaining) = {
104106 let s = size(remaining)
105107 if ((s > 0))
106108 then {
107109 let nn = parseIntValue(take(remaining, 2))
108110 let v = take(drop(remaining, 2), nn)
109111 let tmpRemaining = drop(remaining, (nn + 2))
110112 let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
111113 [v, remainingState]
112114 }
113115 else throw("Empty string was passed into parseNextAttribute func")
114116 }
115117
116118
117119 func ParseGameRawDataStr (rawStateStr) = {
118120 let gameState = ParseNextAttribute(rawStateStr)
119121 let prediction = ParseNextAttribute(gameState[1])
120122 let rollType = ParseNextAttribute(prediction[1])
121123 let playerPubKey58 = ParseNextAttribute(rollType[1])
122124 let winAmt = ParseNextAttribute(playerPubKey58[1])
123125 [gameState[0], prediction[0], rollType[0], playerPubKey58[0], winAmt[0]]
124126 }
125127
126128
127129 func ExtractGameDataList (gameId) = {
128130 let rawDataStr = gameId
129131 ParseGameRawDataStr(rawDataStr)
130132 }
131133
132134
133135 func DecreaseReservedAmt (gameId,winAmt) = {
134136 let newReservedAmount = (ExtractReservedAmt() - winAmt)
135137 if ((0 > newReservedAmount))
136138 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
137139 else DataEntry(RESERVATIONKEY, newReservedAmount)
138140 }
139141
140142
141143 func GenerateRandInt (gameId,rsaSign) = {
142144 let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), toBytes(rsaSign), RSAPUBLIC)
143145 if (rsaSigValid)
144146 then {
145147 let rand = (toInt(sha256(toBytes(rsaSign))) % 100)
146148 if ((0 > rand))
147149 then ((-1 * rand) + 1)
148150 else (rand + 1)
149151 }
150152 else throw("Invalid RSA signature")
151153 }
152154
153155
154156 func RandToStr (r) = if (if ((r >= 1))
155157 then (100 >= r)
156158 else false)
157159 then toString(r)
158160 else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
159161
160162
161163 func WinScriptSet (gameId,playerAddress,winAmt,newGameDataStr) = {
162164 let tSetCommonData = [ScriptTransfer(playerAddress, winAmt, WBET)]
163165 let writeDicePlay = WriteSet([DataEntry("Game Id", gameId), DataEntry("Player Address", toString(playerAddress))])
164166 ScriptResult(writeDicePlay, TransferSet(tSetCommonData))
165167 }
166168
167169
168170 func Multiplier (prediction,rollType) = if ((rollType == ROLLUNDER))
169171 then if ((prediction == 1))
170172 then 9850000
171173 else if ((prediction == 2))
172174 then 4925000
173175 else if ((prediction == 3))
174176 then 3283330
175177 else if ((prediction == 4))
176178 then 2462500
177179 else if ((prediction == 5))
178180 then 1970000
179181 else if ((prediction == 6))
180182 then 1641660
181183 else if ((prediction == 7))
182184 then 1407140
183185 else if ((prediction == 8))
184186 then 1231250
185187 else if ((prediction == 9))
186188 then 1094440
187189 else if ((prediction == 10))
188190 then 985000
189191 else if ((prediction == 11))
190192 then 895450
191193 else if ((prediction == 12))
192194 then 820830
193195 else if ((prediction == 13))
194196 then 757690
195197 else if ((prediction == 14))
196198 then 703570
197199 else if ((prediction == 15))
198200 then 656660
199201 else if ((prediction == 16))
200202 then 615620
201203 else if ((prediction == 17))
202204 then 579410
203205 else if ((prediction == 18))
204206 then 547220
205207 else if ((prediction == 19))
206208 then 518420
207209 else if ((prediction == 20))
208210 then 492500
209211 else if ((prediction == 21))
210212 then 469040
211213 else if ((prediction == 22))
212214 then 447720
213215 else if ((prediction == 23))
214216 then 428260
215217 else if ((prediction == 24))
216218 then 410410
217219 else if ((prediction == 25))
218220 then 394000
219221 else if ((prediction == 26))
220222 then 378840
221223 else if ((prediction == 27))
222224 then 364810
223225 else if ((prediction == 28))
224226 then 351780
225227 else if ((prediction == 29))
226228 then 339650
227229 else if ((prediction == 30))
228230 then 328330
229231 else if ((prediction == 31))
230232 then 317740
231233 else if ((prediction == 32))
232234 then 307810
233235 else if ((prediction == 33))
234236 then 298480
235237 else if ((prediction == 34))
236238 then 289700
237239 else if ((prediction == 35))
238240 then 281420
239241 else if ((prediction == 36))
240242 then 273610
241243 else if ((prediction == 37))
242244 then 259210
243245 else if ((prediction == 38))
244246 then 259210
245247 else if ((prediction == 39))
246248 then 252560
247249 else if ((prediction == 40))
248250 then 246250
249251 else if ((prediction == 41))
250252 then 240240
251253 else if ((prediction == 42))
252254 then 234520
253255 else if ((prediction == 43))
254256 then 229060
255257 else if ((prediction == 44))
256258 then 223860
257259 else if ((prediction == 45))
258260 then 218880
259261 else if ((prediction == 46))
260262 then 214130
261263 else if ((prediction == 47))
262264 then 209570
263265 else if ((prediction == 48))
264266 then 205200
265267 else if ((prediction == 49))
266268 then 201020
267269 else if ((prediction == 50))
268270 then 197000
269271 else if ((prediction == 51))
270272 then 193130
271273 else if ((prediction == 52))
272274 then 189420
273275 else if ((prediction == 53))
274276 then 185840
275277 else if ((prediction == 54))
276278 then 182400
277279 else if ((prediction == 55))
278280 then 179090
279281 else if ((prediction == 56))
280282 then 175890
281283 else if ((prediction == 57))
282284 then 172800
283285 else if ((prediction == 58))
284286 then 169820
285287 else if ((prediction == 59))
286288 then 166940
287289 else if ((prediction == 60))
288290 then 164160
289291 else if ((prediction == 61))
290292 then 161470
291293 else if ((prediction == 62))
292294 then 158870
293295 else if ((prediction == 63))
294296 then 156340
295297 else if ((prediction == 64))
296298 then 153900
297299 else if ((prediction == 65))
298300 then 151530
299301 else if ((prediction == 66))
300302 then 149240
301303 else if ((prediction == 67))
302304 then 147010
303305 else if ((prediction == 68))
304306 then 144850
305307 else if ((prediction == 69))
306308 then 142750
307309 else if ((prediction == 70))
308310 then 140710
309311 else if ((prediction == 71))
310312 then 138730
311313 else if ((prediction == 72))
312314 then 136800
313315 else if ((prediction == 73))
314316 then 134930
315317 else if ((prediction == 74))
316318 then 133100
317319 else if ((prediction == 75))
318320 then 131330
319321 else if ((prediction == 76))
320322 then 129600
321323 else if ((prediction == 77))
322324 then 127920
323325 else if ((prediction == 78))
324326 then 126280
325327 else if ((prediction == 79))
326328 then 124680
327329 else if ((prediction == 80))
328330 then 123120
329331 else if ((prediction == 81))
330332 then 121600
331333 else if ((prediction == 82))
332334 then 120120
333335 else if ((prediction == 83))
334336 then 118670
335337 else if ((prediction == 84))
336338 then 117260
337339 else if ((prediction == 85))
338340 then 115880
339341 else if ((prediction == 86))
340342 then 114530
341343 else if ((prediction == 87))
342344 then 113210
343345 else if ((prediction == 88))
344346 then 111930
345347 else if ((prediction == 89))
346348 then 110670
347349 else if ((prediction == 90))
348350 then 109440
349351 else if ((prediction == 91))
350352 then 108240
351353 else if ((prediction == 92))
352354 then 107060
353355 else if ((prediction == 93))
354356 then 105910
355357 else if ((prediction == 94))
356358 then 104780
357359 else if ((prediction == 95))
358360 then 103680
359361 else if ((prediction == 96))
360362 then 103680
361363 else 100000
362364 else if ((rollType == ROLLOVER))
363365 then if ((prediction == 4))
364366 then 103680
365367 else if ((prediction == 5))
366368 then 103680
367369 else if ((prediction == 6))
368370 then 104780
369371 else if ((prediction == 7))
370372 then 105910
371373 else if ((prediction == 8))
372374 then 107060
373375 else if ((prediction == 9))
374376 then 108240
375377 else if ((prediction == 10))
376378 then 109440
377379 else if ((prediction == 11))
378380 then 110670
379381 else if ((prediction == 12))
380382 then 111930
381383 else if ((prediction == 13))
382384 then 113210
383385 else if ((prediction == 14))
384386 then 114530
385387 else if ((prediction == 15))
386388 then 115880
387389 else if ((prediction == 16))
388390 then 117260
389391 else if ((prediction == 17))
390392 then 118670
391393 else if ((prediction == 18))
392394 then 120120
393395 else if ((prediction == 19))
394396 then 121600
395397 else if ((prediction == 20))
396398 then 123120
397399 else if ((prediction == 21))
398400 then 124680
399401 else if ((prediction == 22))
400402 then 126280
401403 else if ((prediction == 23))
402404 then 127920
403405 else if ((prediction == 24))
404406 then 129600
405407 else if ((prediction == 25))
406408 then 131330
407409 else if ((prediction == 26))
408410 then 133100
409411 else if ((prediction == 27))
410412 then 134930
411413 else if ((prediction == 28))
412414 then 136800
413415 else if ((prediction == 29))
414416 then 138730
415417 else if ((prediction == 30))
416418 then 140710
417419 else if ((prediction == 31))
418420 then 142750
419421 else if ((prediction == 32))
420422 then 144850
421423 else if ((prediction == 33))
422424 then 147010
423425 else if ((prediction == 34))
424426 then 149240
425427 else if ((prediction == 35))
426428 then 151530
427429 else if ((prediction == 36))
428430 then 153900
429431 else if ((prediction == 37))
430432 then 156340
431433 else if ((prediction == 38))
432434 then 158870
433435 else if ((prediction == 39))
434436 then 161470
435437 else if ((prediction == 40))
436438 then 164160
437439 else if ((prediction == 41))
438440 then 166940
439441 else if ((prediction == 42))
440442 then 169820
441443 else if ((prediction == 43))
442444 then 172800
443445 else if ((prediction == 44))
444446 then 175890
445447 else if ((prediction == 45))
446448 then 179090
447449 else if ((prediction == 46))
448450 then 185840
449451 else if ((prediction == 47))
450452 then 185840
451453 else if ((prediction == 48))
452454 then 189420
453455 else if ((prediction == 49))
454456 then 193130
455457 else if ((prediction == 50))
456458 then 197000
457459 else if ((prediction == 51))
458460 then 201020
459461 else if ((prediction == 52))
460462 then 205200
461463 else if ((prediction == 53))
462464 then 209570
463465 else if ((prediction == 54))
464466 then 214130
465467 else if ((prediction == 55))
466468 then 218880
467469 else if ((prediction == 56))
468470 then 223860
469471 else if ((prediction == 57))
470472 then 229060
471473 else if ((prediction == 58))
472474 then 234520
473475 else if ((prediction == 59))
474476 then 240240
475477 else if ((prediction == 60))
476478 then 246250
477479 else if ((prediction == 61))
478480 then 252560
479481 else if ((prediction == 62))
480482 then 259210
481483 else if ((prediction == 63))
482484 then 259210
483485 else if ((prediction == 64))
484486 then 273610
485487 else if ((prediction == 65))
486488 then 281420
487489 else if ((prediction == 66))
488490 then 289700
489491 else if ((prediction == 67))
490492 then 298480
491493 else if ((prediction == 68))
492494 then 307810
493495 else if ((prediction == 69))
494496 then 317740
495497 else if ((prediction == 70))
496498 then 328330
497499 else if ((prediction == 71))
498500 then 339650
499501 else if ((prediction == 72))
500502 then 351780
501503 else if ((prediction == 73))
502504 then 364810
503505 else if ((prediction == 74))
504506 then 378840
505507 else if ((prediction == 75))
506508 then 394000
507509 else if ((prediction == 76))
508510 then 410410
509511 else if ((prediction == 77))
510512 then 428260
511513 else if ((prediction == 78))
512514 then 447720
513515 else if ((prediction == 79))
514516 then 469040
515517 else if ((prediction == 80))
516518 then 492500
517519 else if ((prediction == 81))
518520 then 518420
519521 else if ((prediction == 82))
520522 then 547220
521523 else if ((prediction == 83))
522524 then 579410
523525 else if ((prediction == 84))
524526 then 615620
525527 else if ((prediction == 85))
526528 then 656660
527529 else if ((prediction == 86))
528530 then 703570
529531 else if ((prediction == 87))
530532 then 757690
531533 else if ((prediction == 88))
532534 then 820830
533535 else if ((prediction == 89))
534536 then 895450
535537 else if ((prediction == 90))
536538 then 985000
537539 else if ((prediction == 91))
538540 then 1094440
539541 else if ((prediction == 92))
540542 then 1231250
541543 else if ((prediction == 93))
542544 then 1407140
543545 else if ((prediction == 94))
544546 then 1641660
545547 else if ((prediction == 95))
546548 then 1970000
547549 else if ((prediction == 96))
548550 then 2462500
549551 else if ((prediction == 97))
550552 then 3283330
551553 else if ((prediction == 98))
552554 then 4925000
553555 else if ((prediction == 99))
554556 then 9850000
555557 else 100000
556558 else 100000
557559
558560
559561 func diceWin (rollType,prediction,rand) = if ((rollType == ROLLUNDER))
560562 then if ((prediction >= rand))
561563 then true
562564 else false
563565 else if ((rollType == ROLLOVER))
564566 then if ((rand >= prediction))
565567 then true
566568 else false
567569 else false
568570
569571
570572 func ValidateBetAndDefineWinAmt (amount,prediction,rollType) = if (if ((BETMIN > amount))
571573 then true
572574 else (amount > BETMAX))
573575 then throw(((("Bet amount is not in range: minBet=" + toString(BETMIN)) + " maxBet=") + toString(BETMAX)))
574576 else if (if ((rollType != ROLLUNDER))
575577 then true
576578 else (rollType != ROLLUNDER))
577579 then throw("Invalid Roll type, try with Roll Over or Roll Under")
578580 else if (if ((PREDICTIONMIN > prediction))
579581 then true
580582 else (prediction > PREDICTIONMAX))
581583 then throw("Prediction is out of the condition: 1 <= predction <= 98")
582584 else {
583585 let multi = Multiplier(prediction, rollType)
584586 (((amount * multi) / 100000) * (95 / 100))
585587 }
586588
587589
588590 @Callable(i)
589591 func play (rollType,prediction) = {
590592 let gameId = toBase58String(i.transactionId)
591593 let gameIdUsed = isDefined(getString(this, gameId))
592594 let payment = extract(i.payment)
593595 let feeAssetId = isDefined(i.feeAssetId)
594596 let winAmt = ValidateBetAndDefineWinAmt(payment.amount, prediction, rollType)
595597 let playerBalance = wavesBalance(i.caller)
596598 if ((100000 > playerBalance))
597599 then throw("There are not enough waves, it takes 0.01 Waves to bet. Game aborted.")
598600 else if ((payment.assetId != WBET))
599601 then throw("Bet amount must be in Wbet. Game aborted.")
600602 else if (feeAssetId)
601603 then throw("Transaction's fee must be in Waves. Game aborted.")
602604 else if (gameIdUsed)
603605 then throw("Passed gameId had been used before. Game aborted.")
604606 else {
605607 let newGameNum = IncrementGameNum()
606608 let playerPubKey58 = toBase58String(i.callerPublicKey)
607609 let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, rollType, playerPubKey58, winAmt, "")
608610 ScriptResult(WriteSet([DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet(nil))
609611 }
610612 }
611613
612614
613615
614616 @Callable(i)
615617 func withdraw (gameId,rsaSign) = {
616618 let gameDataList = ExtractGameDataList(gameId)
617619 let gameState = gameDataList[IdxGameState]
618620 let predction = parseIntValue(gameDataList[IdxPrediction])
619621 let rollType = gameDataList[IdxRollType]
620622 let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
621623 let winAmt = parseIntValue(gameDataList[IdxWinAmt])
622624 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
623625 let decreasedReserves = DecreaseReservedAmt(gameId, winAmt)
624626 if ((gameState != STATESUBMITTED))
625627 then throw("Invalid game state for passed gameId")
626628 else {
627629 let rand = GenerateRandInt(gameId, rsaSign)
628630 let randStr = RandToStr(rand)
629631 if (diceWin(rollType, predction, rand))
630632 then {
631633 let newGameDataStr = FormatGameDataStr(STATEWON, predction, rollType, playerPubKey58, winAmt, randStr)
632634 WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr)
633635 }
634636 else {
635637 let newGameDataStr = FormatGameDataStr(STATELOST, predction, rollType, playerPubKey58, winAmt, randStr)
636638 WriteSet([DataEntry(gameId, newGameDataStr)])
637639 }
638640 }
639641 }
640642
641643

github/deemru/w8io/873ac7e 
120.23 ms