tx · Et7nCm8GYcWdW5iYiM5tjyASpxBPkMNK4wiaraz6NSqa

3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa:  -0.09000000 Waves

2019.10.25 01:04 [734752] smart account 3NCs4motPXw3h6vyT7o6PAKmbo3e2jk8kHa > SELF 0.00000000 Waves

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

github/deemru/w8io/873ac7e 
182.71 ms