tx · FsJKegPnYX4DUpCj2ndpVkrWbUNU2BDodsJdonkJmBze

3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa:  -0.05000000 Waves

2019.10.25 16:33 [735703] smart account 3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa > SELF 0.00000000 Waves

{ "type": 13, "id": "FsJKegPnYX4DUpCj2ndpVkrWbUNU2BDodsJdonkJmBze", "fee": 5000000, "feeAssetId": null, "timestamp": 1572010439275, "version": 1, "sender": "3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa", "senderPublicKey": "DdkgRd7YzZtSU3hXJc7sHsU7sM8nUSEwkzqZCaCTXKRe", "proofs": [ "4W9E5APuVoAD8KjwwJcqWiRndJgHYhPih5cHMAuCaXhJLpzpd6W6kW8RJF4BL8HBDktnLYwj1HLEPsqKW39J8M7r" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIIARIECgIICAAAACgAAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAY5NSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQW1PbFJCVFlFTzNIN1k5ckJtb0ZRCkZuNDM5MlB4MFF3MTNEc2RFaG56TUgyY2o2WTV5bVB1Q09MTU5lNXFyVXpRbDhvUkx6SUJ6RlZNWmx3VVlsMmIKb3NyT0l4UWJZRjdXVlFXdm9WeEVUMVlJZ0RtM056ek9MQTV1SDdDS08wc25zaG1NRkNET1pFZXc0MUdqS2gzUApneCtuYkFndVA5WlFQZnFTYWZFbUMzQ04vNHlEc0pyS3JpUm5pWkpvOWpTLzRMTHNSS3dCN0hBWkh6b0Y5TEw3CnRTWkgzaHRhTkd0YmRUa3haMVR6U1QzTWIyVlBTenNadlFEb2NYVVZPbUpPdTBvMjlhT1krR2tHL0c0UkNLMEYKQldRSEVVdkM1MVRSRFM1azhqYWQwTzFNb2JqUWM2YjE4ZCtmdW9WRmROZlp3R0grdUZ1ZHRQRzNVSlRmMm1regpaUUlEQVFBQgAAAAAPR0FNRVNDT1VOVEVSS0VZAgAAAAkkR0FNRV9OVU0AAAAADlJFU0VSVkFUSU9OS0VZAgAAABAkUkVTRVJWRURfQU1PVU5UAAAAAARXQkVUAQAAACAPm4usWm9oJzkfUm34jIDsYkCqzXWTh/iOfmCNOKLgyQAAAAAOV0FMTEVUV0FWRVNCRVQJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVSOYPTrezGQEItKKKyLA659dyqm5xzgOLgAAAAADFdBTExFVE1DQUZGRQkBAAAAB0FkZHJlc3MAAAABAQAAAAAAAAAAB1dBVkVMRVQJAABoAAAAAgkAAGgAAAACAAAAAAAAAABkAAAAAAAAAAPoAAAAAAAAAAPoAAAAAAtGRUVXQVZFU0JFVAAAAAAAAAAABAAAAAAJRkVFTUNBRkVFAAAAAAAAAAACAAAAAA5TVEFURVNVQk1JVFRFRAIAAAAJU1VCTUlUVEVEAAAAAAhTVEFURVdPTgIAAAADV09OAAAAAAlTVEFURUxPU1QCAAAABExPU1QAAAAACVJPTExVTkRFUgIAAAAFVU5ERVIAAAAACFJPTExPVkVSAgAA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IGJlIGluIFdhdmVzLiBHYW1lIGFib3J0ZWQuAwUAAAAKZ2FtZUlkVXNlZAkAAAIAAAABAgAAADFQYXNzZWQgZ2FtZUlkIGhhZCBiZWVuIHVzZWQgYmVmb3JlLiBHYW1lIGFib3J0ZWQuBAAAAApuZXdHYW1lTnVtCQEAAAAQSW5jcmVtZW50R2FtZU51bQAAAAAEAAAADnBsYXllclB1YktleTU4CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAALZ2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAADlNUQVRFU1VCTUlUVEVEBQAAAApwcmVkaWN0aW9uBQAAAAhyb2xsVHlwZQUAAAAOcGxheWVyUHViS2V5NTgFAAAABndpbkFtdAIAAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAPR0FNRVNDT1VOVEVSS0VZBQAAAApuZXdHYW1lTnVtCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZnYW1lSWQFAAAAC2dhbWVEYXRhU3RyBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAOV0FMTEVUV0FWRVNCRVQJAABpAAAAAgkAAGgAAAACCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAAC0ZFRVdBVkVTQkVUAAAAAAAAAABkBQAAAARXQkVUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAABHRoaXMAAAAAAAAHoSAFAAAABHVuaXQFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAGZ2FtZUlkAAAAB3JzYVNpZ24EAAAADGdhbWVEYXRhTGlzdAkBAAAAE0V4dHJhY3RHYW1lRGF0YUxpc3QAAAABBQAAAAZnYW1lSWQEAAAACWdhbWVTdGF0ZQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAADElkeEdhbWVTdGF0ZQQAAAAJcHJlZGN0aW9uCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAA1JZHhQcmVkaWN0aW9uBAAAAAhyb2xsVHlwZQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAC0lkeFJvbGxUeXBlBAAAAA5wbGF5ZXJQdWJLZXk1OAkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAAEUlkeFBsYXllclB1YktleTU4BAAAAAZ3aW5BbXQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAACUlkeFdpbkFtdAQAAAANcGxheWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABBQAAAA5wbGF5ZXJQdWJLZXk1OAMJAQAAAAIhPQAAAAIFAAAACWdhbWVTdGF0ZQUAAAAOU1RBVEVTVUJNSVRURUQJAAACAAAAAQIAAAAzSW52YWxpZCBnYW1lIHN0YXRlIGZvciBwYXNzZWQgZ2FtZUlkLiBHYW1lIGFib3J0ZWQuBAAAAARyYW5kCQEAAAAPR2VuZXJhdGVSYW5kSW50AAAAAgUAAAAGZ2FtZUlkBQAAAAdyc2FTaWduBAAAAAdyYW5kU3RyCQEAAAAJUmFuZFRvU3RyAAAAAQUAAAAEcmFuZAMJAQAAAAdkaWNlV2luAAAAAwUAAAAIcm9sbFR5cGUFAAAACXByZWRjdGlvbgUAAAAEcmFuZAQAAAAObmV3R2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAACFNUQVRFV09OBQAAAAlwcmVkY3Rpb24FAAAACHJvbGxUeXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAMV2luU2NyaXB0U2V0AAAABAUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAADm5ld0dhbWVEYXRhU3RyBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAJU1RBVEVMT1NUBQAAAAlwcmVkY3Rpb24FAAAACHJvbGxUeXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZnYW1lSWQFAAAADm5ld0dhbWVEYXRhU3RyBQAAAANuaWwAAAAAcK20YA==", "chainId": 84, "height": 735703, "spentComplexity": 0 } View: original | compacted Prev: 5veuSq4qjwS4yjCGZSh91DpUkhYqPNUJAAjCuZ7MPT9 Next: FMm8bJB4r9G25XsJvpZZaaCXLjwHvZ8wUap7qtfZkWUt Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let RSAPUBLIC = fromBase64String("-----BEGIN PUBLIC KEY-----
5-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmOlRBTYEO3H7Y9rBmoFQ
4+let RSAPUBLIC = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmOlRBTYEO3H7Y9rBmoFQ
65 Fn4392Px0Qw13DsdEhnzMH2cj6Y5ymPuCOLMNe5qrUzQl8oRLzIBzFVMZlwUYl2b
76 osrOIxQbYF7WVQWvoVxET1YIgDm3NzzOLA5uH7CKO0snshmMFCDOZEew41GjKh3P
87 gx+nbAguP9ZQPfqSafEmC3CN/4yDsJrKriRniZJo9jS/4LLsRKwB7HAZHzoF9LL7
98 tSZH3htaNGtbdTkxZ1TzST3Mb2VPSzsZvQDocXUVOmJOu0o29aOY+GkG/G4RCK0F
109 BWQHEUvC51TRDS5k8jad0O1MobjQc6b18d+fuoVFdNfZwGH+uFudtPG3UJTf2mkz
11-ZQIDAQAB
12------END PUBLIC KEY-----")
10+ZQIDAQAB")
1311
1412 let GAMESCOUNTERKEY = "$GAME_NUM"
1513
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let RSAPUBLIC = fromBase64String("-----BEGIN PUBLIC KEY-----
5-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmOlRBTYEO3H7Y9rBmoFQ
4+let RSAPUBLIC = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmOlRBTYEO3H7Y9rBmoFQ
65 Fn4392Px0Qw13DsdEhnzMH2cj6Y5ymPuCOLMNe5qrUzQl8oRLzIBzFVMZlwUYl2b
76 osrOIxQbYF7WVQWvoVxET1YIgDm3NzzOLA5uH7CKO0snshmMFCDOZEew41GjKh3P
87 gx+nbAguP9ZQPfqSafEmC3CN/4yDsJrKriRniZJo9jS/4LLsRKwB7HAZHzoF9LL7
98 tSZH3htaNGtbdTkxZ1TzST3Mb2VPSzsZvQDocXUVOmJOu0o29aOY+GkG/G4RCK0F
109 BWQHEUvC51TRDS5k8jad0O1MobjQc6b18d+fuoVFdNfZwGH+uFudtPG3UJTf2mkz
11-ZQIDAQAB
12------END PUBLIC KEY-----")
10+ZQIDAQAB")
1311
1412 let GAMESCOUNTERKEY = "$GAME_NUM"
1513
1614 let RESERVATIONKEY = "$RESERVED_AMOUNT"
1715
1816 let WBET = base58'23vgV9p9pD83A7CFbsDEc4zjanep7UeFo4ZRS6oGorhv'
1917
2018 let WALLETWAVESBET = Address(base58'3N2tusqAtDctK8iSTXS6F9rimmftmSuwLUX')
2119
2220 let WALLETMCAFFE = Address(base58'')
2321
2422 let WAVELET = ((100 * 1000) * 1000)
2523
2624 let FEEWAVESBET = 4
2725
2826 let FEEMCAFEE = 2
2927
3028 let STATESUBMITTED = "SUBMITTED"
3129
3230 let STATEWON = "WON"
3331
3432 let STATELOST = "LOST"
3533
3634 let ROLLUNDER = "UNDER"
3735
3836 let ROLLOVER = "OVER"
3937
4038 let BETMIN = (100 * WAVELET)
4139
4240 let BETMAX = ((1000 * 100) * WAVELET)
4341
4442 let PREDICTIONMIN = 4
4543
4644 let PREDICTIONMAX = 100
4745
4846 let IdxGameState = 0
4947
5048 let IdxPrediction = 1
5149
5250 let IdxRollType = 2
5351
5452 let IdxPlayerPubKey58 = 3
5553
5654 let IdxWinAmt = 4
5755
5856 let IdxRand = 5
5957
6058 func IncrementGameNum () = {
6159 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
6260 case num: Int =>
6361 num
6462 case _ =>
6563 0
6664 }
6765 (gameNum + 1)
6866 }
6967
7068
7169 func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
7270 case a: Int =>
7371 a
7472 case _ =>
7573 0
7674 }
7775
7876
7977 func ValidateAndIncreaseReservedAmt (winAmt) = {
8078 let newReservedAmount = (ExtractReservedAmt() + winAmt)
8179 let balance = wavesBalance(this)
8280 if ((newReservedAmount > balance))
8381 then throw("Insufficient funds on Wavesbet account. Transaction was rejected for your safety.")
8482 else newReservedAmount
8583 }
8684
8785
8886 func FormatGameDataParam (p) = {
8987 let s = size(p)
9088 if ((s == 0))
9189 then throw("Parameter size must be greater then 0")
9290 else if ((s > 99))
9391 then throw("Parameter size must be less then 100")
9492 else if ((10 > s))
9593 then (("0" + toString(s)) + p)
9694 else (toString(s) + p)
9795 }
9896
9997
10098 func FormatGameDataStr (gameState,prediction,rollType,playerPubKey58,winAmt,rand) = {
10199 let fullStateStr = ((((((((FormatGameDataParam(gameState) + "_") + FormatGameDataParam(toString(prediction))) + "_") + FormatGameDataParam(rollType)) + "_") + FormatGameDataParam(playerPubKey58)) + "_") + FormatGameDataParam(toString(winAmt)))
102100 if ((rand == ""))
103101 then fullStateStr
104102 else ((fullStateStr + "_") + FormatGameDataParam(rand))
105103 }
106104
107105
108106 func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
109107 then drop(remaining, 1)
110108 else remaining
111109
112110
113111 func ParseNextAttribute (remaining) = {
114112 let s = size(remaining)
115113 if ((s > 0))
116114 then {
117115 let nn = parseIntValue(take(remaining, 2))
118116 let v = take(drop(remaining, 2), nn)
119117 let tmpRemaining = drop(remaining, (nn + 2))
120118 let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
121119 [v, remainingState]
122120 }
123121 else throw("Empty string was passed into parseNextAttribute func")
124122 }
125123
126124
127125 func ParseGameRawDataStr (rawStateStr) = {
128126 let gameState = ParseNextAttribute(rawStateStr)
129127 let prediction = ParseNextAttribute(gameState[1])
130128 let rollType = ParseNextAttribute(prediction[1])
131129 let playerPubKey58 = ParseNextAttribute(rollType[1])
132130 let winAmt = ParseNextAttribute(playerPubKey58[1])
133131 [gameState[0], prediction[0], rollType[0], playerPubKey58[0], winAmt[0]]
134132 }
135133
136134
137135 func ExtractGameDataList (gameId) = {
138136 let rawDataStr = match getString(this, gameId) {
139137 case str: String =>
140138 str
141139 case _ =>
142140 throw(("Couldn't find game by " + gameId))
143141 }
144142 ParseGameRawDataStr(rawDataStr)
145143 }
146144
147145
148146 func DecreaseReservedAmt (gameId,winAmt) = {
149147 let newReservedAmount = (ExtractReservedAmt() - winAmt)
150148 if ((0 > newReservedAmount))
151149 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
152150 else DataEntry(RESERVATIONKEY, newReservedAmount)
153151 }
154152
155153
156154 func GenerateRandInt (gameId,rsaSign) = {
157155 let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), toBytes(rsaSign), RSAPUBLIC)
158156 if (rsaSigValid)
159157 then {
160158 let rand = (toInt(sha256(toBytes(rsaSign))) % 100)
161159 if ((0 > rand))
162160 then ((-1 * rand) + 1)
163161 else (rand + 1)
164162 }
165163 else throw("Invalid RSA signature")
166164 }
167165
168166
169167 func RandToStr (r) = if (if ((r >= 1))
170168 then (100 >= r)
171169 else false)
172170 then toString(r)
173171 else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
174172
175173
176174 func WinScriptSet (gameId,playerAddress,winAmt,newGameDataStr) = {
177175 let tSetCommonData = [ScriptTransfer(playerAddress, winAmt, WBET)]
178176 let writeDicePlay = WriteSet([DataEntry("Game Id", gameId), DataEntry("Player Address", toString(playerAddress))])
179177 ScriptResult(writeDicePlay, TransferSet(tSetCommonData))
180178 }
181179
182180
183181 func Multiplier (prediction,rollType) = if ((rollType == ROLLUNDER))
184182 then if ((prediction == 1))
185183 then 9850000
186184 else if ((prediction == 2))
187185 then 4925000
188186 else if ((prediction == 3))
189187 then 3283330
190188 else if ((prediction == 4))
191189 then 2462500
192190 else if ((prediction == 5))
193191 then 1970000
194192 else if ((prediction == 6))
195193 then 1641660
196194 else if ((prediction == 7))
197195 then 1407140
198196 else if ((prediction == 8))
199197 then 1231250
200198 else if ((prediction == 9))
201199 then 1094440
202200 else if ((prediction == 10))
203201 then 985000
204202 else if ((prediction == 11))
205203 then 895450
206204 else if ((prediction == 12))
207205 then 820830
208206 else if ((prediction == 13))
209207 then 757690
210208 else if ((prediction == 14))
211209 then 703570
212210 else if ((prediction == 15))
213211 then 656660
214212 else if ((prediction == 16))
215213 then 615620
216214 else if ((prediction == 17))
217215 then 579410
218216 else if ((prediction == 18))
219217 then 547220
220218 else if ((prediction == 19))
221219 then 518420
222220 else if ((prediction == 20))
223221 then 492500
224222 else if ((prediction == 21))
225223 then 469040
226224 else if ((prediction == 22))
227225 then 447720
228226 else if ((prediction == 23))
229227 then 428260
230228 else if ((prediction == 24))
231229 then 410410
232230 else if ((prediction == 25))
233231 then 394000
234232 else if ((prediction == 26))
235233 then 378840
236234 else if ((prediction == 27))
237235 then 364810
238236 else if ((prediction == 28))
239237 then 351780
240238 else if ((prediction == 29))
241239 then 339650
242240 else if ((prediction == 30))
243241 then 328330
244242 else if ((prediction == 31))
245243 then 317740
246244 else if ((prediction == 32))
247245 then 307810
248246 else if ((prediction == 33))
249247 then 298480
250248 else if ((prediction == 34))
251249 then 289700
252250 else if ((prediction == 35))
253251 then 281420
254252 else if ((prediction == 36))
255253 then 273610
256254 else if ((prediction == 37))
257255 then 259210
258256 else if ((prediction == 38))
259257 then 259210
260258 else if ((prediction == 39))
261259 then 252560
262260 else if ((prediction == 40))
263261 then 246250
264262 else if ((prediction == 41))
265263 then 240240
266264 else if ((prediction == 42))
267265 then 234520
268266 else if ((prediction == 43))
269267 then 229060
270268 else if ((prediction == 44))
271269 then 223860
272270 else if ((prediction == 45))
273271 then 218880
274272 else if ((prediction == 46))
275273 then 214130
276274 else if ((prediction == 47))
277275 then 209570
278276 else if ((prediction == 48))
279277 then 205200
280278 else if ((prediction == 49))
281279 then 201020
282280 else if ((prediction == 50))
283281 then 197000
284282 else if ((prediction == 51))
285283 then 193130
286284 else if ((prediction == 52))
287285 then 189420
288286 else if ((prediction == 53))
289287 then 185840
290288 else if ((prediction == 54))
291289 then 182400
292290 else if ((prediction == 55))
293291 then 179090
294292 else if ((prediction == 56))
295293 then 175890
296294 else if ((prediction == 57))
297295 then 172800
298296 else if ((prediction == 58))
299297 then 169820
300298 else if ((prediction == 59))
301299 then 166940
302300 else if ((prediction == 60))
303301 then 164160
304302 else if ((prediction == 61))
305303 then 161470
306304 else if ((prediction == 62))
307305 then 158870
308306 else if ((prediction == 63))
309307 then 156340
310308 else if ((prediction == 64))
311309 then 153900
312310 else if ((prediction == 65))
313311 then 151530
314312 else if ((prediction == 66))
315313 then 149240
316314 else if ((prediction == 67))
317315 then 147010
318316 else if ((prediction == 68))
319317 then 144850
320318 else if ((prediction == 69))
321319 then 142750
322320 else if ((prediction == 70))
323321 then 140710
324322 else if ((prediction == 71))
325323 then 138730
326324 else if ((prediction == 72))
327325 then 136800
328326 else if ((prediction == 73))
329327 then 134930
330328 else if ((prediction == 74))
331329 then 133100
332330 else if ((prediction == 75))
333331 then 131330
334332 else if ((prediction == 76))
335333 then 129600
336334 else if ((prediction == 77))
337335 then 127920
338336 else if ((prediction == 78))
339337 then 126280
340338 else if ((prediction == 79))
341339 then 124680
342340 else if ((prediction == 80))
343341 then 123120
344342 else if ((prediction == 81))
345343 then 121600
346344 else if ((prediction == 82))
347345 then 120120
348346 else if ((prediction == 83))
349347 then 118670
350348 else if ((prediction == 84))
351349 then 117260
352350 else if ((prediction == 85))
353351 then 115880
354352 else if ((prediction == 86))
355353 then 114530
356354 else if ((prediction == 87))
357355 then 113210
358356 else if ((prediction == 88))
359357 then 111930
360358 else if ((prediction == 89))
361359 then 110670
362360 else if ((prediction == 90))
363361 then 109440
364362 else if ((prediction == 91))
365363 then 108240
366364 else if ((prediction == 92))
367365 then 107060
368366 else if ((prediction == 93))
369367 then 105910
370368 else if ((prediction == 94))
371369 then 104780
372370 else if ((prediction == 95))
373371 then 103680
374372 else if ((prediction == 96))
375373 then 103680
376374 else 100000
377375 else if ((rollType == ROLLOVER))
378376 then if ((prediction == 4))
379377 then 103680
380378 else if ((prediction == 5))
381379 then 103680
382380 else if ((prediction == 6))
383381 then 104780
384382 else if ((prediction == 7))
385383 then 105910
386384 else if ((prediction == 8))
387385 then 107060
388386 else if ((prediction == 9))
389387 then 108240
390388 else if ((prediction == 10))
391389 then 109440
392390 else if ((prediction == 11))
393391 then 110670
394392 else if ((prediction == 12))
395393 then 111930
396394 else if ((prediction == 13))
397395 then 113210
398396 else if ((prediction == 14))
399397 then 114530
400398 else if ((prediction == 15))
401399 then 115880
402400 else if ((prediction == 16))
403401 then 117260
404402 else if ((prediction == 17))
405403 then 118670
406404 else if ((prediction == 18))
407405 then 120120
408406 else if ((prediction == 19))
409407 then 121600
410408 else if ((prediction == 20))
411409 then 123120
412410 else if ((prediction == 21))
413411 then 124680
414412 else if ((prediction == 22))
415413 then 126280
416414 else if ((prediction == 23))
417415 then 127920
418416 else if ((prediction == 24))
419417 then 129600
420418 else if ((prediction == 25))
421419 then 131330
422420 else if ((prediction == 26))
423421 then 133100
424422 else if ((prediction == 27))
425423 then 134930
426424 else if ((prediction == 28))
427425 then 136800
428426 else if ((prediction == 29))
429427 then 138730
430428 else if ((prediction == 30))
431429 then 140710
432430 else if ((prediction == 31))
433431 then 142750
434432 else if ((prediction == 32))
435433 then 144850
436434 else if ((prediction == 33))
437435 then 147010
438436 else if ((prediction == 34))
439437 then 149240
440438 else if ((prediction == 35))
441439 then 151530
442440 else if ((prediction == 36))
443441 then 153900
444442 else if ((prediction == 37))
445443 then 156340
446444 else if ((prediction == 38))
447445 then 158870
448446 else if ((prediction == 39))
449447 then 161470
450448 else if ((prediction == 40))
451449 then 164160
452450 else if ((prediction == 41))
453451 then 166940
454452 else if ((prediction == 42))
455453 then 169820
456454 else if ((prediction == 43))
457455 then 172800
458456 else if ((prediction == 44))
459457 then 175890
460458 else if ((prediction == 45))
461459 then 179090
462460 else if ((prediction == 46))
463461 then 185840
464462 else if ((prediction == 47))
465463 then 185840
466464 else if ((prediction == 48))
467465 then 189420
468466 else if ((prediction == 49))
469467 then 193130
470468 else if ((prediction == 50))
471469 then 197000
472470 else if ((prediction == 51))
473471 then 201020
474472 else if ((prediction == 52))
475473 then 205200
476474 else if ((prediction == 53))
477475 then 209570
478476 else if ((prediction == 54))
479477 then 214130
480478 else if ((prediction == 55))
481479 then 218880
482480 else if ((prediction == 56))
483481 then 223860
484482 else if ((prediction == 57))
485483 then 229060
486484 else if ((prediction == 58))
487485 then 234520
488486 else if ((prediction == 59))
489487 then 240240
490488 else if ((prediction == 60))
491489 then 246250
492490 else if ((prediction == 61))
493491 then 252560
494492 else if ((prediction == 62))
495493 then 259210
496494 else if ((prediction == 63))
497495 then 259210
498496 else if ((prediction == 64))
499497 then 273610
500498 else if ((prediction == 65))
501499 then 281420
502500 else if ((prediction == 66))
503501 then 289700
504502 else if ((prediction == 67))
505503 then 298480
506504 else if ((prediction == 68))
507505 then 307810
508506 else if ((prediction == 69))
509507 then 317740
510508 else if ((prediction == 70))
511509 then 328330
512510 else if ((prediction == 71))
513511 then 339650
514512 else if ((prediction == 72))
515513 then 351780
516514 else if ((prediction == 73))
517515 then 364810
518516 else if ((prediction == 74))
519517 then 378840
520518 else if ((prediction == 75))
521519 then 394000
522520 else if ((prediction == 76))
523521 then 410410
524522 else if ((prediction == 77))
525523 then 428260
526524 else if ((prediction == 78))
527525 then 447720
528526 else if ((prediction == 79))
529527 then 469040
530528 else if ((prediction == 80))
531529 then 492500
532530 else if ((prediction == 81))
533531 then 518420
534532 else if ((prediction == 82))
535533 then 547220
536534 else if ((prediction == 83))
537535 then 579410
538536 else if ((prediction == 84))
539537 then 615620
540538 else if ((prediction == 85))
541539 then 656660
542540 else if ((prediction == 86))
543541 then 703570
544542 else if ((prediction == 87))
545543 then 757690
546544 else if ((prediction == 88))
547545 then 820830
548546 else if ((prediction == 89))
549547 then 895450
550548 else if ((prediction == 90))
551549 then 985000
552550 else if ((prediction == 91))
553551 then 1094440
554552 else if ((prediction == 92))
555553 then 1231250
556554 else if ((prediction == 93))
557555 then 1407140
558556 else if ((prediction == 94))
559557 then 1641660
560558 else if ((prediction == 95))
561559 then 1970000
562560 else if ((prediction == 96))
563561 then 2462500
564562 else if ((prediction == 97))
565563 then 3283330
566564 else if ((prediction == 98))
567565 then 4925000
568566 else if ((prediction == 99))
569567 then 9850000
570568 else 100000
571569 else 100000
572570
573571
574572 func diceWin (rollType,prediction,rand) = if ((rollType == ROLLUNDER))
575573 then if ((prediction >= rand))
576574 then true
577575 else false
578576 else if ((rollType == ROLLOVER))
579577 then if ((rand >= prediction))
580578 then true
581579 else false
582580 else false
583581
584582
585583 func ValidateBetAndDefineWinAmt (amount,prediction,rollType) = if (if ((BETMIN > amount))
586584 then true
587585 else (amount > BETMAX))
588586 then throw(((("Bet amount is not in range: minBet=" + toString((BETMIN / 100000000))) + " maxBet=") + toString((BETMAX / 100000000))))
589587 else if (if ((rollType != ROLLUNDER))
590588 then (rollType != ROLLOVER)
591589 else false)
592590 then throw("Invalid Roll type, try with OVER or UNDER")
593591 else if (if ((PREDICTIONMIN > prediction))
594592 then true
595593 else (prediction > PREDICTIONMAX))
596594 then throw(((("Prediction is out of the condition: " + toString(PREDICTIONMIN)) + " <= predction <= ") + toString(PREDICTIONMAX)))
597595 else {
598596 let multi = Multiplier(prediction, rollType)
599597 ((((amount * multi) / 100000) * (100 - (FEEWAVESBET + FEEMCAFEE))) / 100)
600598 }
601599
602600
603601 @Callable(i)
604602 func playDice (rollType,prediction) = {
605603 let gameId = toBase58String(i.transactionId)
606604 let gameIdUsed = isDefined(getString(this, gameId))
607605 let payment = extract(i.payment)
608606 let feeAssetId = isDefined(i.feeAssetId)
609607 let winAmt = ValidateBetAndDefineWinAmt(payment.amount, prediction, rollType)
610608 let playerBalance = wavesBalance(i.caller)
611609 if ((100000 > playerBalance))
612610 then throw("There are not enough waves, it takes 0.01 Waves to bet. Game aborted.")
613611 else if ((payment.assetId != WBET))
614612 then throw("Bet amount must be in Wbet. Game aborted.")
615613 else if (feeAssetId)
616614 then throw("Transaction's fee must be in Waves. Game aborted.")
617615 else if (gameIdUsed)
618616 then throw("Passed gameId had been used before. Game aborted.")
619617 else {
620618 let newGameNum = IncrementGameNum()
621619 let playerPubKey58 = toBase58String(i.callerPublicKey)
622620 let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, rollType, playerPubKey58, winAmt, "")
623621 ScriptResult(WriteSet([DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet([ScriptTransfer(WALLETWAVESBET, ((payment.amount * FEEWAVESBET) / 100), WBET), ScriptTransfer(this, 500000, unit)]))
624622 }
625623 }
626624
627625
628626
629627 @Callable(i)
630628 func withdraw (gameId,rsaSign) = {
631629 let gameDataList = ExtractGameDataList(gameId)
632630 let gameState = gameDataList[IdxGameState]
633631 let predction = parseIntValue(gameDataList[IdxPrediction])
634632 let rollType = gameDataList[IdxRollType]
635633 let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
636634 let winAmt = parseIntValue(gameDataList[IdxWinAmt])
637635 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
638636 if ((gameState != STATESUBMITTED))
639637 then throw("Invalid game state for passed gameId. Game aborted.")
640638 else {
641639 let rand = GenerateRandInt(gameId, rsaSign)
642640 let randStr = RandToStr(rand)
643641 if (diceWin(rollType, predction, rand))
644642 then {
645643 let newGameDataStr = FormatGameDataStr(STATEWON, predction, rollType, playerPubKey58, winAmt, randStr)
646644 WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr)
647645 }
648646 else {
649647 let newGameDataStr = FormatGameDataStr(STATELOST, predction, rollType, playerPubKey58, winAmt, randStr)
650648 WriteSet([DataEntry(gameId, newGameDataStr)])
651649 }
652650 }
653651 }
654652
655653

github/deemru/w8io/873ac7e 
114.33 ms