tx · DY191BsMmSi9zJNs1KLxTbtSdGu7X73AWDod79A1K17C

3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE:  -0.01400000 Waves

2019.11.02 01:24 [746391] smart account 3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE > SELF 0.00000000 Waves

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

github/deemru/w8io/026f985 
87.71 ms