tx · 3LQjYCC1m9ALXV1qKHLMLFLUFGS3p16FRSQjS8r68pkz

3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa:  -0.01000000 Waves

2019.10.24 22:52 [734621] smart account 3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa > SELF 0.00000000 Waves

{ "type": 13, "id": "3LQjYCC1m9ALXV1qKHLMLFLUFGS3p16FRSQjS8r68pkz", "fee": 1000000, "feeAssetId": null, "timestamp": 1571946786538, "version": 1, "sender": "3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa", "senderPublicKey": "DdkgRd7YzZtSU3hXJc7sHsU7sM8nUSEwkzqZCaCTXKRe", "proofs": [ "5Ks6WmMgHpv2CAoTzF2Xefmj7uCBerqXL7DRgX5jPDBdRf9vqdDWwNGNQzGWDGtMxuWZm2XQ6tR5YWwReyGSBwkp" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIIARIECgIICAAAACcAAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAmRMUzB0TFMxQ1JVZEpUaUJRVlVKTVNVTWdTMFZaTFMwdExTMWNiazFKU1VKSmFrRk9RbWRyY1docmFVYzVkekJDUVZGRlJrRkJUME5CVVRoQlRVbEpRa05uUzBOQlVVVkJiVTlzVWtKVVdVVlBNMGczV1RseVFtMXZSbEZjYmtadU5ETTVNbEI0TUZGM01UTkVjMlJGYUc1NlRVZ3lZMm8yV1RWNWJWQjFRMDlNVFU1bE5YRnlWWHBSYkRodlVreDZTVUo2UmxaTldteDNWVmxzTW1KY2JtOXpjazlKZUZGaVdVWTNWMVpSVjNadlZuaEZWREZaU1dkRWJUTk9lbnBQVEVFMWRVZzNRMHRQTUhOdWMyaHRUVVpEUkU5YVJXVjNOREZIYWt0b00xQmNibWQ0SzI1aVFXZDFVRGxhVVZCbWNWTmhaa1Z0UXpORFRpODBlVVJ6U25KTGNtbFNibWxhU204NWFsTXZORXhNYzFKTGQwSTNTRUZhU0hwdlJqbE1URGRjYm5SVFdrZ3phSFJoVGtkMFltUlVhM2hhTVZSNlUxUXpUV0l5VmxCVGVuTmFkbEZFYjJOWVZWWlBiVXBQZFRCdk1qbGhUMWtyUjJ0SEwwYzBVa05MTUVaY2JrSlhVVWhGVlhaRE5URlVVa1JUTldzNGFtRmtNRTh4VFc5aWFsRmpObUl4T0dRclpuVnZWa1prVG1aYWQwZElLM1ZHZFdSMFVFY3pWVXBVWmpKdGEzcGNibHBSU1VSQlVVRkNYRzR0TFMwdExVVk9SQ0JRVlVKTVNVTWdTMFZaTFMwdExTMD0AAAAAD0dBTUVTQ09VTlRFUktFWQIAAAAJJEdBTUVfTlVNAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAEV0JFVAEAAAAgD5uLrFpvaCc5H1Jt+IyA7GJAqs11k4f4jn5gjTii4MkAAAAADldBTExFVFdBVkVTQkVUCQEAAAAHQWRkcmVzcwAAAAEBAAAAGgFU+7jPDEX8wd6gmrM5ihdUy4TQWFubfU6VAAAAAAxXQUxMRVRNQ0FGRkUJAQAAAAdBZGRyZXNzAAAAAQEAAAAAAAAAAAlG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AAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAIwAAAAAAAAJP6gMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAJAAAAAAAAAJZLAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAJQAAAAAAAAJitAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAJgAAAAAAAAJslgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAJwAAAAAAAAJ2vgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKAAAAAAAAAKBQAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKQAAAAAAAAKMHAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKgAAAAAAAAKXXAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAKwAAAAAAAAKjAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALAAAAAAAAAKvEgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALQAAAAAAAAK7kgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALgAAAAAAAALV8AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAALwAAAAAAAALV8AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMAAAAAAAAALj7AMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMQAAAAAAAALyagMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMgAAAAAAAAMBiAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAAMwAAAAAAAAMRPAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANAAAAAAAAAMhkAMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANQAAAAAAAAMyogMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANgAAAAAAAANEcgMJAAAAAAAAAgUAAAAKcHJlZGljdGlvbgAAAAAAAAAANwAAAAAAAANXAAMJAAAAAAAAAgUAAAAKcHJlZGljdGlv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AYagCQAAaQAAAAIAAAAAAAAAAF8AAAAAAAAAAGQAAAACAAAAAWkBAAAABHBsYXkAAAACAAAACHJvbGxUeXBlAAAACnByZWRpY3Rpb24EAAAABmdhbWVJZAkAAlgAAAABCAUAAAABaQAAAA10cmFuc2FjdGlvbklkBAAAAApnYW1lSWRVc2VkCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzBQAAAAZnYW1lSWQEAAAAB3BheW1lbnQJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAHcGF5bWVudAQAAAAKZmVlQXNzZXRJZAkBAAAACWlzRGVmaW5lZAAAAAEJAQAAAAdleHRyYWN0AAAAAQgFAAAAAWkAAAAKZmVlQXNzZXRJZAQAAAAGd2luQW10CQEAAAAaVmFsaWRhdGVCZXRBbmREZWZpbmVXaW5BbXQAAAADCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAACnByZWRpY3Rpb24FAAAACHJvbGxUeXBlBAAAAA1wbGF5ZXJCYWxhbmNlCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQkBAAAAB2V4dHJhY3QAAAABCAUAAAABaQAAAAZjYWxsZXIDCQAAZgAAAAIAAAAAAAABhqAFAAAADXBsYXllckJhbGFuY2UJAAACAAAAAQIAAABFVGhlcmUgYXJlIG5vdCBlbm91Z2ggd2F2ZXMsIGl0IHRha2VzIDAuMDEgV2F2ZXMgdG8gYmV0LiBHYW1lIGFib3J0ZWQuAwkBAAAAAiE9AAAAAggFAAAAB3BheW1lbnQAAAAHYXNzZXRJZAUAAAAEV0JFVAkAAAIAAAABAgAAAClCZXQgYW1vdW50IG11c3QgYmUgaW4gV2JldC4gR2FtZSBhYm9ydGVkLgMFAAAACmZlZUFzc2V0SWQJAAACAAAAAQIAAAAxVHJhbnNhY3Rpb24ncyBmZWUgbXVzdCBiZSBpbiBXYXZlcy4gR2FtZSBhYm9ydGVkLgMFAAAACmdhbWVJZFVzZWQJAAACAAAAAQIAAAAxUGFzc2VkIGdhbWVJZCBoYWQgYmVlbiB1c2VkIGJlZm9yZS4gR2FtZSBhYm9ydGVkLgQAAAAKbmV3R2FtZU51bQkBAAAAEEluY3JlbWVudEdhbWVOdW0AAAAABAAAAA5wbGF5ZXJQdWJLZXk1OAkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAC2dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAGBQAAAA5TVEFURVNVQk1JVFRFRAUAAAAKcHJlZGljdGlvbgUAAAAIcm9sbFR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZ3aW5BbXQCAAAAAAkBAAAADFNjcmlwdFJlc3VsdAAAAAIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAADlJFU0VSVkFUSU9OS0VZCQEAAAAeVmFsaWRhdGVBbmRJbmNyZWFzZVJlc2VydmVkQW10AAAAAQUAAAAGd2luQW10CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAA9HQU1FU0NPVU5URVJLRVkFAAAACm5ld0dhbWVOdW0JAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAALZ2FtZURhdGFTdHIFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA5XQUxMRVRXQVZFU0JFVAUAAAALRkVFV0FWRVNCRVQFAAAABFdCRVQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAMV0FMTEVUTUNBRkZFBQAAAAlGRUVNQ0FGRUUFAAAABFdCRVQJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAEdGhpcwAAAAAAAAehIAUAAAAEdW5pdAUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAAZnYW1lSWQAAAAHcnNhU2lnbgQAAAAMZ2FtZURhdGFMaXN0CQEAAAATRXh0cmFjdEdhbWVEYXRhTGlzdAAAAAEFAAAABmdhbWVJZAQAAAAJZ2FtZVN0YXRlCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAMSWR4R2FtZVN0YXRlBAAAAAlwcmVkY3Rpb24JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAADUlkeFByZWRpY3Rpb24EAAAACHJvbGxUeXBlCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAALSWR4Um9sbFR5cGUEAAAADnBsYXllclB1YktleTU4CQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAARSWR4UGxheWVyUHViS2V5NTgEAAAABndpbkFtdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAJSWR4V2luQW10BAAAAA1wbGF5ZXJBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCQACWQAAAAEFAAAADnBsYXllclB1YktleTU4BAAAABFkZWNyZWFzZWRSZXNlcnZlcwkBAAAAE0RlY3JlYXNlUmVzZXJ2ZWRBbXQAAAACBQAAAAZnYW1lSWQFAAAABndpbkFtdAMJAQAAAAIhPQAAAAIFAAAACWdhbWVTdGF0ZQUAAAAOU1RBVEVTVUJNSVRURUQJAAACAAAAAQIAAAAkSW52YWxpZCBnYW1lIHN0YXRlIGZvciBwYXNzZWQgZ2FtZUlkBAAAAARyYW5kCQEAAAAPR2VuZXJhdGVSYW5kSW50AAAAAgUAAAAGZ2FtZUlkBQAAAAdyc2FTaWduBAAAAAdyYW5kU3RyCQEAAAAJUmFuZFRvU3RyAAAAAQUAAAAEcmFuZAMJAQAAAAdkaWNlV2luAAAAAwUAAAAIcm9sbFR5cGUFAAAACXByZWRjdGlvbgUAAAAEcmFuZAQAAAAObmV3R2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAACFNUQVRFV09OBQAAAAlwcmVkY3Rpb24FAAAACHJvbGxUeXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAMV2luU2NyaXB0U2V0AAAABAUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAADm5ld0dhbWVEYXRhU3RyBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAJU1RBVEVMT1NUBQAAAAlwcmVkY3Rpb24FAAAACHJvbGxUeXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAIV3JpdGVTZXQAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZnYW1lSWQFAAAADm5ld0dhbWVEYXRhU3RyBQAAAANuaWwAAAAAFuee/Q==", "chainId": 84, "height": 734621, "spentComplexity": 0 } View: original | compacted Prev: none Next: BDDf4hNcXCgvyhHVNMx9XVGGPJrbX2uzV4cEdk2eXU7C Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let RSAPUBLIC = fromBase64String("LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbU9sUkJUWUVPM0g3WTlyQm1vRlFcbkZuNDM5MlB4MFF3MTNEc2RFaG56TUgyY2o2WTV5bVB1Q09MTU5lNXFyVXpRbDhvUkx6SUJ6RlZNWmx3VVlsMmJcbm9zck9JeFFiWUY3V1ZRV3ZvVnhFVDFZSWdEbTNOenpPTEE1dUg3Q0tPMHNuc2htTUZDRE9aRWV3NDFHaktoM1Bcbmd4K25iQWd1UDlaUVBmcVNhZkVtQzNDTi80eURzSnJLcmlSbmlaSm85alMvNExMc1JLd0I3SEFaSHpvRjlMTDdcbnRTWkgzaHRhTkd0YmRUa3haMVR6U1QzTWIyVlBTenNadlFEb2NYVVZPbUpPdTBvMjlhT1krR2tHL0c0UkNLMEZcbkJXUUhFVXZDNTFUUkRTNWs4amFkME8xTW9ialFjNmIxOGQrZnVvVkZkTmZad0dIK3VGdWR0UEczVUpUZjJta3pcblpRSURBUUFCXG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0=")
5+
6+let GAMESCOUNTERKEY = "$GAME_NUM"
7+
8+let RESERVATIONKEY = "$RESERVED_AMOUNT"
9+
10+let WBET = base58'23vgV9p9pD83A7CFbsDEc4zjanep7UeFo4ZRS6oGorhv'
11+
12+let WALLETWAVESBET = Address(base58'3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa')
13+
14+let WALLETMCAFFE = Address(base58'')
15+
16+let FEEMCAFEE = 2
17+
18+let FEEWAVESBET = 5
19+
20+let STATESUBMITTED = "SUBMITTED"
21+
22+let STATEWON = "WON"
23+
24+let STATELOST = "LOST"
25+
26+let ROLLUNDER = "UNDER"
27+
28+let ROLLOVER = "OVER"
29+
30+let BETMIN = 10
31+
32+let BETMAX = 1000
33+
34+let PREDICTIONMIN = 4
35+
36+let PREDICTIONMAX = 100
37+
38+let IdxGameState = 0
39+
40+let IdxPrediction = 1
41+
42+let IdxRollType = 2
43+
44+let IdxPlayerPubKey58 = 3
45+
46+let IdxWinAmt = 4
47+
48+let IdxRand = 5
49+
50+func IncrementGameNum () = {
51+ let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
52+ case num: Int =>
53+ num
54+ case _ =>
55+ 0
56+ }
57+ (gameNum + 1)
58+ }
59+
60+
61+func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
62+ case a: Int =>
63+ a
64+ case _ =>
65+ 0
66+}
67+
68+
69+func ValidateAndIncreaseReservedAmt (winAmt) = {
70+ let newReservedAmount = (ExtractReservedAmt() + winAmt)
71+ let balance = wavesBalance(this)
72+ if ((newReservedAmount > balance))
73+ then throw("Insufficient funds on Wavesbet account. Transaction was rejected for your safety.")
74+ else newReservedAmount
75+ }
76+
77+
78+func FormatGameDataParam (p) = {
79+ let s = size(p)
80+ if ((s == 0))
81+ then throw("Parameter size must be greater then 0")
82+ else if ((s > 99))
83+ then throw("Parameter size must be less then 100")
84+ else if ((10 > s))
85+ then (("0" + toString(s)) + p)
86+ else (toString(s) + p)
87+ }
88+
89+
90+func FormatGameDataStr (gameState,prediction,rollType,playerPubKey58,winAmt,rand) = {
91+ let fullStateStr = ((((((((FormatGameDataParam(gameState) + "_") + FormatGameDataParam(toString(prediction))) + "_") + FormatGameDataParam(rollType)) + "_") + FormatGameDataParam(playerPubKey58)) + "_") + FormatGameDataParam(toString(winAmt)))
92+ if ((rand == ""))
93+ then fullStateStr
94+ else ((fullStateStr + "_") + FormatGameDataParam(rand))
95+ }
96+
97+
98+func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
99+ then drop(remaining, 1)
100+ else remaining
101+
102+
103+func ParseNextAttribute (remaining) = {
104+ let s = size(remaining)
105+ if ((s > 0))
106+ then {
107+ let nn = parseIntValue(take(remaining, 2))
108+ let v = take(drop(remaining, 2), nn)
109+ let tmpRemaining = drop(remaining, (nn + 2))
110+ let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
111+[v, remainingState]
112+ }
113+ else throw("Empty string was passed into parseNextAttribute func")
114+ }
115+
116+
117+func ParseGameRawDataStr (rawStateStr) = {
118+ let gameState = ParseNextAttribute(rawStateStr)
119+ let prediction = ParseNextAttribute(gameState[1])
120+ let rollType = ParseNextAttribute(prediction[1])
121+ let playerPubKey58 = ParseNextAttribute(rollType[1])
122+ let winAmt = ParseNextAttribute(playerPubKey58[1])
123+[gameState[0], prediction[0], rollType[0], playerPubKey58[0], winAmt[0]]
124+ }
125+
126+
127+func ExtractGameDataList (gameId) = {
128+ let rawDataStr = gameId
129+ ParseGameRawDataStr(rawDataStr)
130+ }
131+
132+
133+func DecreaseReservedAmt (gameId,winAmt) = {
134+ let newReservedAmount = (ExtractReservedAmt() - winAmt)
135+ if ((0 > newReservedAmount))
136+ then throw("Invalid Dice Roller account state - reserved amount is less than 0")
137+ else DataEntry(RESERVATIONKEY, newReservedAmount)
138+ }
139+
140+
141+func GenerateRandInt (gameId,rsaSign) = {
142+ let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), toBytes(rsaSign), RSAPUBLIC)
143+ if (rsaSigValid)
144+ then {
145+ let rand = (toInt(sha256(toBytes(rsaSign))) % 100)
146+ if ((0 > rand))
147+ then ((-1 * rand) + 1)
148+ else (rand + 1)
149+ }
150+ else throw("Invalid RSA signature")
151+ }
152+
153+
154+func RandToStr (r) = if (if ((r >= 1))
155+ then (100 >= r)
156+ else false)
157+ then toString(r)
158+ else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
159+
160+
161+func WinScriptSet (gameId,playerAddress,winAmt,newGameDataStr) = {
162+ let tSetCommonData = [ScriptTransfer(playerAddress, winAmt, WBET)]
163+ let writeDicePlay = WriteSet([DataEntry("Game Id", gameId), DataEntry("Player Address", toString(playerAddress))])
164+ ScriptResult(writeDicePlay, TransferSet(tSetCommonData))
165+ }
166+
167+
168+func Multiplier (prediction,rollType) = if ((rollType == ROLLUNDER))
169+ then if ((prediction == 1))
170+ then 9850000
171+ else if ((prediction == 2))
172+ then 4925000
173+ else if ((prediction == 3))
174+ then 3283330
175+ else if ((prediction == 4))
176+ then 2462500
177+ else if ((prediction == 5))
178+ then 1970000
179+ else if ((prediction == 6))
180+ then 1641660
181+ else if ((prediction == 7))
182+ then 1407140
183+ else if ((prediction == 8))
184+ then 1231250
185+ else if ((prediction == 9))
186+ then 1094440
187+ else if ((prediction == 10))
188+ then 985000
189+ else if ((prediction == 11))
190+ then 895450
191+ else if ((prediction == 12))
192+ then 820830
193+ else if ((prediction == 13))
194+ then 757690
195+ else if ((prediction == 14))
196+ then 703570
197+ else if ((prediction == 15))
198+ then 656660
199+ else if ((prediction == 16))
200+ then 615620
201+ else if ((prediction == 17))
202+ then 579410
203+ else if ((prediction == 18))
204+ then 547220
205+ else if ((prediction == 19))
206+ then 518420
207+ else if ((prediction == 20))
208+ then 492500
209+ else if ((prediction == 21))
210+ then 469040
211+ else if ((prediction == 22))
212+ then 447720
213+ else if ((prediction == 23))
214+ then 428260
215+ else if ((prediction == 24))
216+ then 410410
217+ else if ((prediction == 25))
218+ then 394000
219+ else if ((prediction == 26))
220+ then 378840
221+ else if ((prediction == 27))
222+ then 364810
223+ else if ((prediction == 28))
224+ then 351780
225+ else if ((prediction == 29))
226+ then 339650
227+ else if ((prediction == 30))
228+ then 328330
229+ else if ((prediction == 31))
230+ then 317740
231+ else if ((prediction == 32))
232+ then 307810
233+ else if ((prediction == 33))
234+ then 298480
235+ else if ((prediction == 34))
236+ then 289700
237+ else if ((prediction == 35))
238+ then 281420
239+ else if ((prediction == 36))
240+ then 273610
241+ else if ((prediction == 37))
242+ then 259210
243+ else if ((prediction == 38))
244+ then 259210
245+ else if ((prediction == 39))
246+ then 252560
247+ else if ((prediction == 40))
248+ then 246250
249+ else if ((prediction == 41))
250+ then 240240
251+ else if ((prediction == 42))
252+ then 234520
253+ else if ((prediction == 43))
254+ then 229060
255+ else if ((prediction == 44))
256+ then 223860
257+ else if ((prediction == 45))
258+ then 218880
259+ else if ((prediction == 46))
260+ then 214130
261+ else if ((prediction == 47))
262+ then 209570
263+ else if ((prediction == 48))
264+ then 205200
265+ else if ((prediction == 49))
266+ then 201020
267+ else if ((prediction == 50))
268+ then 197000
269+ else if ((prediction == 51))
270+ then 193130
271+ else if ((prediction == 52))
272+ then 189420
273+ else if ((prediction == 53))
274+ then 185840
275+ else if ((prediction == 54))
276+ then 182400
277+ else if ((prediction == 55))
278+ then 179090
279+ else if ((prediction == 56))
280+ then 175890
281+ else if ((prediction == 57))
282+ then 172800
283+ else if ((prediction == 58))
284+ then 169820
285+ else if ((prediction == 59))
286+ then 166940
287+ else if ((prediction == 60))
288+ then 164160
289+ else if ((prediction == 61))
290+ then 161470
291+ else if ((prediction == 62))
292+ then 158870
293+ else if ((prediction == 63))
294+ then 156340
295+ else if ((prediction == 64))
296+ then 153900
297+ else if ((prediction == 65))
298+ then 151530
299+ else if ((prediction == 66))
300+ then 149240
301+ else if ((prediction == 67))
302+ then 147010
303+ else if ((prediction == 68))
304+ then 144850
305+ else if ((prediction == 69))
306+ then 142750
307+ else if ((prediction == 70))
308+ then 140710
309+ else if ((prediction == 71))
310+ then 138730
311+ else if ((prediction == 72))
312+ then 136800
313+ else if ((prediction == 73))
314+ then 134930
315+ else if ((prediction == 74))
316+ then 133100
317+ else if ((prediction == 75))
318+ then 131330
319+ else if ((prediction == 76))
320+ then 129600
321+ else if ((prediction == 77))
322+ then 127920
323+ else if ((prediction == 78))
324+ then 126280
325+ else if ((prediction == 79))
326+ then 124680
327+ else if ((prediction == 80))
328+ then 123120
329+ else if ((prediction == 81))
330+ then 121600
331+ else if ((prediction == 82))
332+ then 120120
333+ else if ((prediction == 83))
334+ then 118670
335+ else if ((prediction == 84))
336+ then 117260
337+ else if ((prediction == 85))
338+ then 115880
339+ else if ((prediction == 86))
340+ then 114530
341+ else if ((prediction == 87))
342+ then 113210
343+ else if ((prediction == 88))
344+ then 111930
345+ else if ((prediction == 89))
346+ then 110670
347+ else if ((prediction == 90))
348+ then 109440
349+ else if ((prediction == 91))
350+ then 108240
351+ else if ((prediction == 92))
352+ then 107060
353+ else if ((prediction == 93))
354+ then 105910
355+ else if ((prediction == 94))
356+ then 104780
357+ else if ((prediction == 95))
358+ then 103680
359+ else if ((prediction == 96))
360+ then 103680
361+ else 100000
362+ else if ((rollType == ROLLOVER))
363+ then if ((prediction == 4))
364+ then 103680
365+ else if ((prediction == 5))
366+ then 103680
367+ else if ((prediction == 6))
368+ then 104780
369+ else if ((prediction == 7))
370+ then 105910
371+ else if ((prediction == 8))
372+ then 107060
373+ else if ((prediction == 9))
374+ then 108240
375+ else if ((prediction == 10))
376+ then 109440
377+ else if ((prediction == 11))
378+ then 110670
379+ else if ((prediction == 12))
380+ then 111930
381+ else if ((prediction == 13))
382+ then 113210
383+ else if ((prediction == 14))
384+ then 114530
385+ else if ((prediction == 15))
386+ then 115880
387+ else if ((prediction == 16))
388+ then 117260
389+ else if ((prediction == 17))
390+ then 118670
391+ else if ((prediction == 18))
392+ then 120120
393+ else if ((prediction == 19))
394+ then 121600
395+ else if ((prediction == 20))
396+ then 123120
397+ else if ((prediction == 21))
398+ then 124680
399+ else if ((prediction == 22))
400+ then 126280
401+ else if ((prediction == 23))
402+ then 127920
403+ else if ((prediction == 24))
404+ then 129600
405+ else if ((prediction == 25))
406+ then 131330
407+ else if ((prediction == 26))
408+ then 133100
409+ else if ((prediction == 27))
410+ then 134930
411+ else if ((prediction == 28))
412+ then 136800
413+ else if ((prediction == 29))
414+ then 138730
415+ else if ((prediction == 30))
416+ then 140710
417+ else if ((prediction == 31))
418+ then 142750
419+ else if ((prediction == 32))
420+ then 144850
421+ else if ((prediction == 33))
422+ then 147010
423+ else if ((prediction == 34))
424+ then 149240
425+ else if ((prediction == 35))
426+ then 151530
427+ else if ((prediction == 36))
428+ then 153900
429+ else if ((prediction == 37))
430+ then 156340
431+ else if ((prediction == 38))
432+ then 158870
433+ else if ((prediction == 39))
434+ then 161470
435+ else if ((prediction == 40))
436+ then 164160
437+ else if ((prediction == 41))
438+ then 166940
439+ else if ((prediction == 42))
440+ then 169820
441+ else if ((prediction == 43))
442+ then 172800
443+ else if ((prediction == 44))
444+ then 175890
445+ else if ((prediction == 45))
446+ then 179090
447+ else if ((prediction == 46))
448+ then 185840
449+ else if ((prediction == 47))
450+ then 185840
451+ else if ((prediction == 48))
452+ then 189420
453+ else if ((prediction == 49))
454+ then 193130
455+ else if ((prediction == 50))
456+ then 197000
457+ else if ((prediction == 51))
458+ then 201020
459+ else if ((prediction == 52))
460+ then 205200
461+ else if ((prediction == 53))
462+ then 209570
463+ else if ((prediction == 54))
464+ then 214130
465+ else if ((prediction == 55))
466+ then 218880
467+ else if ((prediction == 56))
468+ then 223860
469+ else if ((prediction == 57))
470+ then 229060
471+ else if ((prediction == 58))
472+ then 234520
473+ else if ((prediction == 59))
474+ then 240240
475+ else if ((prediction == 60))
476+ then 246250
477+ else if ((prediction == 61))
478+ then 252560
479+ else if ((prediction == 62))
480+ then 259210
481+ else if ((prediction == 63))
482+ then 259210
483+ else if ((prediction == 64))
484+ then 273610
485+ else if ((prediction == 65))
486+ then 281420
487+ else if ((prediction == 66))
488+ then 289700
489+ else if ((prediction == 67))
490+ then 298480
491+ else if ((prediction == 68))
492+ then 307810
493+ else if ((prediction == 69))
494+ then 317740
495+ else if ((prediction == 70))
496+ then 328330
497+ else if ((prediction == 71))
498+ then 339650
499+ else if ((prediction == 72))
500+ then 351780
501+ else if ((prediction == 73))
502+ then 364810
503+ else if ((prediction == 74))
504+ then 378840
505+ else if ((prediction == 75))
506+ then 394000
507+ else if ((prediction == 76))
508+ then 410410
509+ else if ((prediction == 77))
510+ then 428260
511+ else if ((prediction == 78))
512+ then 447720
513+ else if ((prediction == 79))
514+ then 469040
515+ else if ((prediction == 80))
516+ then 492500
517+ else if ((prediction == 81))
518+ then 518420
519+ else if ((prediction == 82))
520+ then 547220
521+ else if ((prediction == 83))
522+ then 579410
523+ else if ((prediction == 84))
524+ then 615620
525+ else if ((prediction == 85))
526+ then 656660
527+ else if ((prediction == 86))
528+ then 703570
529+ else if ((prediction == 87))
530+ then 757690
531+ else if ((prediction == 88))
532+ then 820830
533+ else if ((prediction == 89))
534+ then 895450
535+ else if ((prediction == 90))
536+ then 985000
537+ else if ((prediction == 91))
538+ then 1094440
539+ else if ((prediction == 92))
540+ then 1231250
541+ else if ((prediction == 93))
542+ then 1407140
543+ else if ((prediction == 94))
544+ then 1641660
545+ else if ((prediction == 95))
546+ then 1970000
547+ else if ((prediction == 96))
548+ then 2462500
549+ else if ((prediction == 97))
550+ then 3283330
551+ else if ((prediction == 98))
552+ then 4925000
553+ else if ((prediction == 99))
554+ then 9850000
555+ else 100000
556+ else 100000
557+
558+
559+func diceWin (rollType,prediction,rand) = if ((rollType == ROLLUNDER))
560+ then if ((prediction >= rand))
561+ then true
562+ else false
563+ else if ((rollType == ROLLOVER))
564+ then if ((rand >= prediction))
565+ then true
566+ else false
567+ else false
568+
569+
570+func ValidateBetAndDefineWinAmt (amount,prediction,rollType) = if (if ((BETMIN > amount))
571+ then true
572+ else (amount > BETMAX))
573+ then throw(((("Bet amount is not in range: minBet=" + toString(BETMIN)) + " maxBet=") + toString(BETMAX)))
574+ else if (if ((rollType != ROLLUNDER))
575+ then true
576+ else (rollType != ROLLUNDER))
577+ then throw("Invalid Roll type, try with Roll Over or Roll Under")
578+ else if (if ((PREDICTIONMIN > prediction))
579+ then true
580+ else (prediction > PREDICTIONMAX))
581+ then throw("Prediction is out of the condition: 1 <= predction <= 98")
582+ else {
583+ let multi = Multiplier(prediction, rollType)
584+ (((amount * multi) / 100000) * (95 / 100))
585+ }
586+
587+
588+@Callable(i)
589+func play (rollType,prediction) = {
590+ let gameId = toBase58String(i.transactionId)
591+ let gameIdUsed = isDefined(getString(this, gameId))
592+ let payment = extract(i.payment)
593+ let feeAssetId = isDefined(extract(i.feeAssetId))
594+ let winAmt = ValidateBetAndDefineWinAmt(payment.amount, prediction, rollType)
595+ let playerBalance = wavesBalance(extract(i.caller))
596+ if ((100000 > playerBalance))
597+ then throw("There are not enough waves, it takes 0.01 Waves to bet. Game aborted.")
598+ else if ((payment.assetId != WBET))
599+ then throw("Bet amount must be in Wbet. Game aborted.")
600+ else if (feeAssetId)
601+ then throw("Transaction's fee must be in Waves. Game aborted.")
602+ else if (gameIdUsed)
603+ then throw("Passed gameId had been used before. Game aborted.")
604+ else {
605+ let newGameNum = IncrementGameNum()
606+ let playerPubKey58 = toBase58String(i.callerPublicKey)
607+ let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, rollType, playerPubKey58, winAmt, "")
608+ ScriptResult(WriteSet([DataEntry(RESERVATIONKEY, ValidateAndIncreaseReservedAmt(winAmt)), DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet([ScriptTransfer(WALLETWAVESBET, FEEWAVESBET, WBET), ScriptTransfer(WALLETMCAFFE, FEEMCAFEE, WBET), ScriptTransfer(this, 500000, unit)]))
609+ }
610+ }
611+
612+
613+
614+@Callable(i)
615+func withdraw (gameId,rsaSign) = {
616+ let gameDataList = ExtractGameDataList(gameId)
617+ let gameState = gameDataList[IdxGameState]
618+ let predction = parseIntValue(gameDataList[IdxPrediction])
619+ let rollType = gameDataList[IdxRollType]
620+ let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
621+ let winAmt = parseIntValue(gameDataList[IdxWinAmt])
622+ let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
623+ let decreasedReserves = DecreaseReservedAmt(gameId, winAmt)
624+ if ((gameState != STATESUBMITTED))
625+ then throw("Invalid game state for passed gameId")
626+ else {
627+ let rand = GenerateRandInt(gameId, rsaSign)
628+ let randStr = RandToStr(rand)
629+ if (diceWin(rollType, predction, rand))
630+ then {
631+ let newGameDataStr = FormatGameDataStr(STATEWON, predction, rollType, playerPubKey58, winAmt, randStr)
632+ WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr)
633+ }
634+ else {
635+ let newGameDataStr = FormatGameDataStr(STATELOST, predction, rollType, playerPubKey58, winAmt, randStr)
636+ WriteSet([DataEntry(gameId, newGameDataStr)])
637+ }
638+ }
639+ }
640+
641+

github/deemru/w8io/873ac7e 
68.08 ms