tx · 5cDM98BrAFUFZroRT2mnHC91hXEj88SW7CJd3QccVGKU

3PCLAHw9zhuyiqmt1WR2xZfKLX9ZrpYfhH4:  -0.05000000 Waves

2020.04.15 23:15 [2019266] smart account 3PCLAHw9zhuyiqmt1WR2xZfKLX9ZrpYfhH4 > SELF 0.00000000 Waves

{ "type": 13, "id": "5cDM98BrAFUFZroRT2mnHC91hXEj88SW7CJd3QccVGKU", "fee": 5000000, "feeAssetId": null, "timestamp": 1586981681214, "version": 1, "sender": "3PCLAHw9zhuyiqmt1WR2xZfKLX9ZrpYfhH4", "senderPublicKey": "xYHLNvqUGrz6tcXUMhkfPtDPBke99RxoEiCCUVguDho", "proofs": [ "qURJMkjbAQXttsot4evyQoe4rRYM1pQbze2i2iag7re6pY9kpF5feEA2qPS6w9D4rD3DQQX4CYBrK35JeFXy7zn" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIIARIECgIIAgAAACoAAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAY9iYXNlNjQ6TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFuZEdHaTNtSzNlTmF6M1Vad0o2REF6ck1aSjJvd0hXT1kwbkdWbUIyL09aTHRMSXRtejI5T0hMTDFpQ1dKVTl6SkJWdEFYNHhjL3dNV3pTeWFxTlVlQVA3Z2duaUc4UTNDN0NrN3JBTC85ckFEZ0FHbjVVRmpuVFA1QXBZY1ErUkh6bFg4Mi9xQ1ZMLzdVU3JpNHJuSy9mbXAvZVRVczlrYk4rTEU2U3RuMWlEaWpKQ0FmclMvOXpUK1JRREgzVDZ5c1lDSEwwSTZ3a0hIR3gydzNxTjNiZW9ZNCtsb1MrWG5BZy8vMGdIdGtMOTNBVVBFUGVBTGo1MDhYcHZVSDdmRG5hVWJyUGNVeTVhMHQ1VlJJREY2ZllDRWFpa2NmbFdNOVdnM2hkbjhZeTVPU2Q4eEtvMkFyTGVvb1ZZZEpjTVZubXNkeG1mZ0lHZzFkRGM0Vmw3eHdJREFRQUIAAAAAD0dBTUVTQ09VTlRFUktFWQIAAAAJJEdBTUVfTlVNAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAEV0JFVAEAAAAgOkBptoM8ze1CVUAoYBmqau186uSZP0x2SswaAYBAj68AAAAAD1dBTExFVENPTU1VTklUWQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVz4t4sT1X1PRYace/qzQTI5V/jE/zCZdBQAAAAAOV0FMTEVUV0FWRVNCRVQJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVftr5lxwKzSvTcNZT7DrEC7Wz/kEc8iyNwAAAAADFdBTExFVE1DQUZFRQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVzQlhmEU7YnBI2h4F1iHIV6lbenwbWZ0dgAAAAAHV0FWRUxFVAAAAAAABfXhAAAAAAAMRkVFQ09NTVVOSVRZAAAAAAAAAAABAAAAAAtGRUVXQVZFU0JFVAAAAAAAAAAAAwAAAAAJRkVFTUNBRkVFAAAAAAAAAAACAAAAAA5TVEFURVNVQk1JVFRFRAIAAAAJU1VCTUlU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aXMFAAAABmdhbWVJZAMJAQAAAAIhPQAAAAIIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQFAAAABFdCRVQJAAACAAAAAQIAAAAdUGF5bWVudCBzaG91bGQgYmUgaW4gV2F2ZXNiZXQDCQAAZgAAAAIAAAAAAAAPQkAFAAAADXBsYXllckJhbGFuY2UJAAACAAAAAQIAAABFVGhlcmUgYXJlIG5vdCBlbm91Z2ggd2F2ZXMsIGl0IHRha2VzIDAuMDEgV2F2ZXMgdG8gYmV0LiBHYW1lIGFib3J0ZWQuAwUAAAAKZmVlQXNzZXRJZAkAAAIAAAABAgAAADFUcmFuc2FjdGlvbidzIGZlZSBtdXN0IGJlIGluIFdhdmVzLiBHYW1lIGFib3J0ZWQuAwUAAAAKZ2FtZUlkVXNlZAkAAAIAAAABAgAAADFQYXNzZWQgZ2FtZUlkIGhhZCBiZWVuIHVzZWQgYmVmb3JlLiBHYW1lIGFib3J0ZWQuBAAAAApuZXdHYW1lTnVtCQEAAAAQSW5jcmVtZW50R2FtZU51bQAAAAAEAAAADnBsYXllclB1YktleTU4CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAALZ2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAADlNUQVRFU1VCTUlUVEVEBQAAAApwcmVkaWN0aW9uBQAAAAhyb2xsVHlwZQUAAAAOcGxheWVyUHViS2V5NTgFAAAABndpbkFtdAIAAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAOUkVTRVJWQVRJT05LRVkJAQAAAB5WYWxpZGF0ZUFuZEluY3JlYXNlUmVzZXJ2ZWRBbXQAAAABBQAAAAZ3aW5BbXQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAD0dBTUVTQ09VTlRFUktFWQUAAAAKbmV3R2FtZU51bQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAAAtnYW1lRGF0YVN0cgUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAD1dBTExFVENPTU1VTklUWQkAAGsAAAADCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAADEZFRUNPTU1VTklUWQAAAAAAAAAAZAUAAAAEV0JFVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA5XQUxMRVRXQVZFU0JFVAkAAGsAAAADCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAAC0ZFRVdBVkVTQkVUAAAAAAAAAABkBQAAAARXQkVUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADFdBTExFVE1DQUZFRQkAAGsAAAADCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAACUZFRU1DQUZFRQAAAAAAAAAAZAUAAAAEV0JFVAUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAAZnYW1lSWQAAAAGcnNhU2lnBAAAAAxnYW1lRGF0YUxpc3QJAQAAABNFeHRyYWN0R2FtZURhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAxJZHhHYW1lU3RhdGUEAAAACnByZWRpY3Rpb24JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAADUlkeFByZWRpY3Rpb24EAAAACHJvbGxUeXBlCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAHSWR4VHlwZQQAAAAGd2luQW10CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAlJZHhXaW5BbXQEAAAADnBsYXllclB1YktleTU4CQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAARSWR4UGxheWVyUHViS2V5NTgEAAAADXBsYXllckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAOcGxheWVyUHViS2V5NTgEAAAAEWRlY3JlYXNlZFJlc2VydmVzCQEAAAATRGVjcmVhc2VSZXNlcnZlZEFtdAAAAAIFAAAABmdhbWVJZAUAAAAGd2luQW10AwkBAAAAAiE9AAAAAgUAAAAJZ2FtZVN0YXRlBQAAAA5TVEFURVNVQk1JVFRFRAkAAAIAAAABAgAAADNJbnZhbGlkIGdhbWUgc3RhdGUgZm9yIHBhc3NlZCBnYW1lSWQuIEdhbWUgYWJvcnRlZC4EAAAABHJhbmQJAQAAAA9HZW5lcmF0ZVJhbmRJbnQAAAACBQAAAAZnYW1lSWQFAAAABnJzYVNpZwQAAAAHcmFuZFN0cgkBAAAACVJhbmRUb1N0cgAAAAEFAAAABHJhbmQDCQEAAAAHZGljZVdpbgAAAAMFAAAACHJvbGxUeXBlBQAAAApwcmVkaWN0aW9uBQAAAARyYW5kBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAIU1RBVEVXT04FAAAACnByZWRpY3Rpb24FAAAACHJvbGxUeXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAMV2luU2NyaXB0U2V0AAAABQUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAADm5ld0dhbWVEYXRhU3RyBQAAABFkZWNyZWFzZWRSZXNlcnZlcwQAAAAObmV3R2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAACVNUQVRFTE9TVAUAAAAKcHJlZGljdGlvbgUAAAAIcm9sbFR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAAObmV3R2FtZURhdGFTdHIJAARMAAAAAgUAAAARZGVjcmVhc2VkUmVzZXJ2ZXMFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAA3R0eAUAAAAHJG1hdGNoMAkAAGcAAAACCQAAZQAAAAIJAAPrAAAAAgUAAAAEdGhpcwUAAAAEV0JFVAgFAAAAA3R0eAAAAAZhbW91bnQJAQAAABJFeHRyYWN0UmVzZXJ2ZWRBbXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAADc3R4BQAAAAckbWF0Y2gwBgcHNZPlMA==", "chainId": 87, "height": 2019266, "spentComplexity": 0 } View: original | compacted Prev: BnKhGTt47CthJw37omDFDZ3UQKuEuJqoUZuuTcz5jiLo Next: EV2gPS5qQLj6hZhKaejEG3eb3UnhLSkcWV2eJG2Y26DL Diff:
OldNewDifferences
179179
180180 func Multiplier (prediction,rollType) = if ((rollType == ROLLUNDER))
181181 then if ((prediction == 1))
182- then 9850000
182+ then 1000000
183183 else if ((prediction == 2))
184- then 4925000
184+ then 975000
185185 else if ((prediction == 3))
186- then 3283330
186+ then 923330
187187 else if ((prediction == 4))
188- then 2462500
188+ then 882500
189189 else if ((prediction == 5))
190- then 1970000
190+ then 852500
191191 else if ((prediction == 6))
192- then 1641660
192+ then 829510
193193 else if ((prediction == 7))
194- then 1407140
194+ then 787140
195195 else if ((prediction == 8))
196- then 1231250
196+ then 761250
197197 else if ((prediction == 9))
198- then 1094440
198+ then 724440
199199 else if ((prediction == 10))
200- then 985000
200+ then 695000
201201 else if ((prediction == 11))
202- then 895450
202+ then 675450
203203 else if ((prediction == 12))
204- then 820830
204+ then 640830
205205 else if ((prediction == 13))
206- then 757690
206+ then 627690
207207 else if ((prediction == 14))
208- then 703570
208+ then 603570
209209 else if ((prediction == 15))
210- then 656660
210+ then 596660
211211 else if ((prediction == 16))
212- then 615620
212+ then 575620
213213 else if ((prediction == 17))
214- then 579410
214+ then 549410
215215 else if ((prediction == 18))
216- then 547220
216+ then 522200
217217 else if ((prediction == 19))
218- then 518420
218+ then 508420
219219 else if ((prediction == 20))
220220 then 492500
221221 else if ((prediction == 21))
527527 else if ((prediction == 80))
528528 then 492500
529529 else if ((prediction == 81))
530- then 518420
530+ then 508420
531531 else if ((prediction == 82))
532- then 547220
532+ then 522200
533533 else if ((prediction == 83))
534- then 579410
534+ then 549410
535535 else if ((prediction == 84))
536- then 615620
536+ then 575620
537537 else if ((prediction == 85))
538- then 656660
538+ then 596660
539539 else if ((prediction == 86))
540- then 703570
540+ then 603570
541541 else if ((prediction == 87))
542- then 757690
542+ then 627690
543543 else if ((prediction == 88))
544- then 820830
544+ then 640830
545545 else if ((prediction == 89))
546- then 895450
546+ then 675450
547547 else if ((prediction == 90))
548- then 985000
548+ then 695000
549549 else if ((prediction == 91))
550- then 1094440
550+ then 724440
551551 else if ((prediction == 92))
552- then 1231250
552+ then 761250
553553 else if ((prediction == 93))
554- then 1407140
554+ then 787140
555555 else if ((prediction == 94))
556- then 1641660
556+ then 829510
557557 else if ((prediction == 95))
558- then 1970000
558+ then 852500
559559 else if ((prediction == 96))
560- then 2462500
560+ then 882500
561561 else if ((prediction == 97))
562- then 3283330
562+ then 923330
563563 else if ((prediction == 98))
564- then 4925000
564+ then 975000
565565 else if ((prediction == 99))
566- then 9850000
566+ then 1000000
567567 else 100000
568568 else 100000
569569
605605 then throw("Prediction is out of the range for ROLL OVER: 4 <= PREDICTION <= 99")
606606 else {
607607 let multi = Multiplier(prediction, rollType)
608- fraction(((amount / 100000) * multi), (((100 - FEEWAVESBET) - FEEMCAFEE) - FEECOMMUNITY), 100)
608+ let fee = fraction(amount, 6, 100)
609+ (((amount / 100000) * multi) - fee)
609610 }
610611
611612
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAndGGi3mK3eNaz3UZwJ6DAzrMZJ2owHWOY0nGVmB2/OZLtLItmz29OHLL1iCWJU9zJBVtAX4xc/wMWzSyaqNUeAP7ggniG8Q3C7Ck7rAL/9rADgAGn5UFjnTP5ApYcQ+RHzlX82/qCVL/7USri4rnK/fmp/eTUs9kbN+LE6Stn1iDijJCAfrS/9zT+RQDH3T6ysYCHL0I6wkHHGx2w3qN3beoY4+loS+XnAg//0gHtkL93AUPEPeALj508XpvUH7fDnaUbrPcUy5a0t5VRIDF6fYCEaikcflWM9Wg3hdn8Yy5OSd8xKo2ArLeooVYdJcMVnmsdxmfgIGg1dDc4Vl7xwIDAQAB")
55
66 let GAMESCOUNTERKEY = "$GAME_NUM"
77
88 let RESERVATIONKEY = "$RESERVED_AMOUNT"
99
1010 let WBET = base58'4vPcbA5yiwpWBVPALPGXus6fNdGEuYTpe4hAeSxM9Kj4'
1111
1212 let WALLETCOMMUNITY = Address(base58'3P7bfbLomsuFA955TnhpNUQHMcvc4DTk38G')
1313
1414 let WALLETWAVESBET = Address(base58'3PPbfEZzwMswooP4nDkavpxhJfisgQGgfnj')
1515
1616 let WALLETMCAFEE = Address(base58'3P6gcpVsPxMJ9HHM1SoCM6RP68FHYKovCk5')
1717
1818 let WAVELET = 100000000
1919
2020 let FEECOMMUNITY = 1
2121
2222 let FEEWAVESBET = 3
2323
2424 let FEEMCAFEE = 2
2525
2626 let STATESUBMITTED = "SUBMITTED"
2727
2828 let STATEWON = "WON"
2929
3030 let STATELOST = "LOST"
3131
3232 let ROLLUNDER = "UNDER"
3333
3434 let ROLLOVER = "OVER"
3535
3636 let BETMIN = (1000 * WAVELET)
3737
3838 let BETMAX = (20000000 * WAVELET)
3939
4040 let PREDICTIONMIN = 1
4141
4242 let PREDICTIONMAX = 99
4343
4444 let IdxGameState = 0
4545
4646 let IdxPrediction = 1
4747
4848 let IdxType = 2
4949
5050 let IdxPlayerPubKey58 = 3
5151
5252 let IdxWinAmt = 4
5353
5454 let IdxRandOrEmpty = 5
5555
5656 func IncrementGameNum () = {
5757 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
5858 case num: Int =>
5959 num
6060 case _ =>
6161 0
6262 }
6363 (gameNum + 1)
6464 }
6565
6666
6767 func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
6868 case a: Int =>
6969 a
7070 case _ =>
7171 0
7272 }
7373
7474
7575 func ValidateAndIncreaseReservedAmt (winAmt) = {
7676 let newReservedAmount = (ExtractReservedAmt() + winAmt)
7777 let balance = assetBalance(this, WBET)
7878 if ((newReservedAmount > balance))
7979 then throw("Insufficient funds on Wavesbet Dice account. Transaction was rejected for your safety.")
8080 else newReservedAmount
8181 }
8282
8383
8484 func FormatGameDataParam (p) = {
8585 let s = size(p)
8686 if ((s == 0))
8787 then throw("Parameter size must be greater then 0")
8888 else if ((s > 99))
8989 then throw("Parameter size must be less then 100")
9090 else if ((10 > s))
9191 then (("0" + toString(s)) + p)
9292 else (toString(s) + p)
9393 }
9494
9595
9696 func FormatGameDataStr (gameState,prediction,typeRoll,playerPubKey58,winAmt,randOrEmpty) = {
9797 let fullStateStr = ((((((((FormatGameDataParam(gameState) + "_") + FormatGameDataParam(toString(prediction))) + "_") + FormatGameDataParam(typeRoll)) + "_") + FormatGameDataParam(playerPubKey58)) + "_") + FormatGameDataParam(toString(winAmt)))
9898 if ((randOrEmpty == ""))
9999 then fullStateStr
100100 else ((fullStateStr + "_") + FormatGameDataParam(randOrEmpty))
101101 }
102102
103103
104104 func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
105105 then drop(remaining, 1)
106106 else remaining
107107
108108
109109 func ParseNextAttribute (remaining) = {
110110 let s = size(remaining)
111111 if ((s > 0))
112112 then {
113113 let nn = parseIntValue(take(remaining, 2))
114114 let v = take(drop(remaining, 2), nn)
115115 let tmpRemaining = drop(remaining, (nn + 2))
116116 let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
117117 [v, remainingState]
118118 }
119119 else throw("Empty string was passed into parseNextAttribute func")
120120 }
121121
122122
123123 func ParseGameRawDataStr (rawStateStr) = {
124124 let gameState = ParseNextAttribute(rawStateStr)
125125 let prediction = ParseNextAttribute(gameState[1])
126126 let rollType = ParseNextAttribute(prediction[1])
127127 let playerPubKey58 = ParseNextAttribute(rollType[1])
128128 let winAmt = ParseNextAttribute(playerPubKey58[1])
129129 [gameState[0], prediction[0], rollType[0], playerPubKey58[0], winAmt[0]]
130130 }
131131
132132
133133 func ExtractGameDataList (gameId) = {
134134 let rawDataStr = match getString(this, gameId) {
135135 case str: String =>
136136 str
137137 case _ =>
138138 throw(("Couldn't find game by " + gameId))
139139 }
140140 ParseGameRawDataStr(rawDataStr)
141141 }
142142
143143
144144 func DecreaseReservedAmt (gameId,winAmt) = {
145145 let newReservedAmount = (ExtractReservedAmt() - winAmt)
146146 if ((0 > newReservedAmount))
147147 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
148148 else DataEntry(RESERVATIONKEY, newReservedAmount)
149149 }
150150
151151
152152 func GenerateRandInt (gameId,rsaSign) = {
153153 let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), rsaSign, RSAPUBLIC)
154154 if (rsaSigValid)
155155 then {
156156 let rand = (toInt(sha256(rsaSign)) % 100)
157157 if ((0 > rand))
158158 then ((-1 * rand) + 1)
159159 else (rand + 1)
160160 }
161161 else throw("Invalid RSA signature")
162162 }
163163
164164
165165 func RandToStr (r) = if (if ((r >= 1))
166166 then (100 >= r)
167167 else false)
168168 then toString(r)
169169 else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
170170
171171
172172 func WinScriptSet (gameId,playerAddress,winAmt,newGameDataStr,decreasedReserves) = {
173173 let wSetCommonData = [decreasedReserves]
174174 let tSetCommonData = [ScriptTransfer(playerAddress, winAmt, WBET)]
175175 let gameData = DataEntry(gameId, newGameDataStr)
176176 ScriptResult(WriteSet(gameData :: wSetCommonData), TransferSet(tSetCommonData))
177177 }
178178
179179
180180 func Multiplier (prediction,rollType) = if ((rollType == ROLLUNDER))
181181 then if ((prediction == 1))
182- then 9850000
182+ then 1000000
183183 else if ((prediction == 2))
184- then 4925000
184+ then 975000
185185 else if ((prediction == 3))
186- then 3283330
186+ then 923330
187187 else if ((prediction == 4))
188- then 2462500
188+ then 882500
189189 else if ((prediction == 5))
190- then 1970000
190+ then 852500
191191 else if ((prediction == 6))
192- then 1641660
192+ then 829510
193193 else if ((prediction == 7))
194- then 1407140
194+ then 787140
195195 else if ((prediction == 8))
196- then 1231250
196+ then 761250
197197 else if ((prediction == 9))
198- then 1094440
198+ then 724440
199199 else if ((prediction == 10))
200- then 985000
200+ then 695000
201201 else if ((prediction == 11))
202- then 895450
202+ then 675450
203203 else if ((prediction == 12))
204- then 820830
204+ then 640830
205205 else if ((prediction == 13))
206- then 757690
206+ then 627690
207207 else if ((prediction == 14))
208- then 703570
208+ then 603570
209209 else if ((prediction == 15))
210- then 656660
210+ then 596660
211211 else if ((prediction == 16))
212- then 615620
212+ then 575620
213213 else if ((prediction == 17))
214- then 579410
214+ then 549410
215215 else if ((prediction == 18))
216- then 547220
216+ then 522200
217217 else if ((prediction == 19))
218- then 518420
218+ then 508420
219219 else if ((prediction == 20))
220220 then 492500
221221 else if ((prediction == 21))
222222 then 469040
223223 else if ((prediction == 22))
224224 then 447720
225225 else if ((prediction == 23))
226226 then 428260
227227 else if ((prediction == 24))
228228 then 410410
229229 else if ((prediction == 25))
230230 then 394000
231231 else if ((prediction == 26))
232232 then 378840
233233 else if ((prediction == 27))
234234 then 364810
235235 else if ((prediction == 28))
236236 then 351780
237237 else if ((prediction == 29))
238238 then 339650
239239 else if ((prediction == 30))
240240 then 328330
241241 else if ((prediction == 31))
242242 then 317740
243243 else if ((prediction == 32))
244244 then 307810
245245 else if ((prediction == 33))
246246 then 298480
247247 else if ((prediction == 34))
248248 then 289700
249249 else if ((prediction == 35))
250250 then 281420
251251 else if ((prediction == 36))
252252 then 273610
253253 else if ((prediction == 37))
254254 then 259210
255255 else if ((prediction == 38))
256256 then 259210
257257 else if ((prediction == 39))
258258 then 252560
259259 else if ((prediction == 40))
260260 then 246250
261261 else if ((prediction == 41))
262262 then 240240
263263 else if ((prediction == 42))
264264 then 234520
265265 else if ((prediction == 43))
266266 then 229060
267267 else if ((prediction == 44))
268268 then 223860
269269 else if ((prediction == 45))
270270 then 218880
271271 else if ((prediction == 46))
272272 then 214130
273273 else if ((prediction == 47))
274274 then 209570
275275 else if ((prediction == 48))
276276 then 205200
277277 else if ((prediction == 49))
278278 then 201020
279279 else if ((prediction == 50))
280280 then 197000
281281 else if ((prediction == 51))
282282 then 193130
283283 else if ((prediction == 52))
284284 then 189420
285285 else if ((prediction == 53))
286286 then 185840
287287 else if ((prediction == 54))
288288 then 182400
289289 else if ((prediction == 55))
290290 then 179090
291291 else if ((prediction == 56))
292292 then 175890
293293 else if ((prediction == 57))
294294 then 172800
295295 else if ((prediction == 58))
296296 then 169820
297297 else if ((prediction == 59))
298298 then 166940
299299 else if ((prediction == 60))
300300 then 164160
301301 else if ((prediction == 61))
302302 then 161470
303303 else if ((prediction == 62))
304304 then 158870
305305 else if ((prediction == 63))
306306 then 156340
307307 else if ((prediction == 64))
308308 then 153900
309309 else if ((prediction == 65))
310310 then 151530
311311 else if ((prediction == 66))
312312 then 149240
313313 else if ((prediction == 67))
314314 then 147010
315315 else if ((prediction == 68))
316316 then 144850
317317 else if ((prediction == 69))
318318 then 142750
319319 else if ((prediction == 70))
320320 then 140710
321321 else if ((prediction == 71))
322322 then 138730
323323 else if ((prediction == 72))
324324 then 136800
325325 else if ((prediction == 73))
326326 then 134930
327327 else if ((prediction == 74))
328328 then 133100
329329 else if ((prediction == 75))
330330 then 131330
331331 else if ((prediction == 76))
332332 then 129600
333333 else if ((prediction == 77))
334334 then 127920
335335 else if ((prediction == 78))
336336 then 126280
337337 else if ((prediction == 79))
338338 then 124680
339339 else if ((prediction == 80))
340340 then 123120
341341 else if ((prediction == 81))
342342 then 121600
343343 else if ((prediction == 82))
344344 then 120120
345345 else if ((prediction == 83))
346346 then 118670
347347 else if ((prediction == 84))
348348 then 117260
349349 else if ((prediction == 85))
350350 then 115880
351351 else if ((prediction == 86))
352352 then 114530
353353 else if ((prediction == 87))
354354 then 113210
355355 else if ((prediction == 88))
356356 then 111930
357357 else if ((prediction == 89))
358358 then 110670
359359 else if ((prediction == 90))
360360 then 109440
361361 else if ((prediction == 91))
362362 then 108240
363363 else if ((prediction == 92))
364364 then 107060
365365 else if ((prediction == 93))
366366 then 105910
367367 else if ((prediction == 94))
368368 then 104780
369369 else if ((prediction == 95))
370370 then 103680
371371 else if ((prediction == 96))
372372 then 103680
373373 else 100000
374374 else if ((rollType == ROLLOVER))
375375 then if ((prediction == 4))
376376 then 103680
377377 else if ((prediction == 5))
378378 then 103680
379379 else if ((prediction == 6))
380380 then 104780
381381 else if ((prediction == 7))
382382 then 105910
383383 else if ((prediction == 8))
384384 then 107060
385385 else if ((prediction == 9))
386386 then 108240
387387 else if ((prediction == 10))
388388 then 109440
389389 else if ((prediction == 11))
390390 then 110670
391391 else if ((prediction == 12))
392392 then 111930
393393 else if ((prediction == 13))
394394 then 113210
395395 else if ((prediction == 14))
396396 then 114530
397397 else if ((prediction == 15))
398398 then 115880
399399 else if ((prediction == 16))
400400 then 117260
401401 else if ((prediction == 17))
402402 then 118670
403403 else if ((prediction == 18))
404404 then 120120
405405 else if ((prediction == 19))
406406 then 121600
407407 else if ((prediction == 20))
408408 then 123120
409409 else if ((prediction == 21))
410410 then 124680
411411 else if ((prediction == 22))
412412 then 126280
413413 else if ((prediction == 23))
414414 then 127920
415415 else if ((prediction == 24))
416416 then 129600
417417 else if ((prediction == 25))
418418 then 131330
419419 else if ((prediction == 26))
420420 then 133100
421421 else if ((prediction == 27))
422422 then 134930
423423 else if ((prediction == 28))
424424 then 136800
425425 else if ((prediction == 29))
426426 then 138730
427427 else if ((prediction == 30))
428428 then 140710
429429 else if ((prediction == 31))
430430 then 142750
431431 else if ((prediction == 32))
432432 then 144850
433433 else if ((prediction == 33))
434434 then 147010
435435 else if ((prediction == 34))
436436 then 149240
437437 else if ((prediction == 35))
438438 then 151530
439439 else if ((prediction == 36))
440440 then 153900
441441 else if ((prediction == 37))
442442 then 156340
443443 else if ((prediction == 38))
444444 then 158870
445445 else if ((prediction == 39))
446446 then 161470
447447 else if ((prediction == 40))
448448 then 164160
449449 else if ((prediction == 41))
450450 then 166940
451451 else if ((prediction == 42))
452452 then 169820
453453 else if ((prediction == 43))
454454 then 172800
455455 else if ((prediction == 44))
456456 then 175890
457457 else if ((prediction == 45))
458458 then 179090
459459 else if ((prediction == 46))
460460 then 185840
461461 else if ((prediction == 47))
462462 then 185840
463463 else if ((prediction == 48))
464464 then 189420
465465 else if ((prediction == 49))
466466 then 193130
467467 else if ((prediction == 50))
468468 then 197000
469469 else if ((prediction == 51))
470470 then 201020
471471 else if ((prediction == 52))
472472 then 205200
473473 else if ((prediction == 53))
474474 then 209570
475475 else if ((prediction == 54))
476476 then 214130
477477 else if ((prediction == 55))
478478 then 218880
479479 else if ((prediction == 56))
480480 then 223860
481481 else if ((prediction == 57))
482482 then 229060
483483 else if ((prediction == 58))
484484 then 234520
485485 else if ((prediction == 59))
486486 then 240240
487487 else if ((prediction == 60))
488488 then 246250
489489 else if ((prediction == 61))
490490 then 252560
491491 else if ((prediction == 62))
492492 then 259210
493493 else if ((prediction == 63))
494494 then 259210
495495 else if ((prediction == 64))
496496 then 273610
497497 else if ((prediction == 65))
498498 then 281420
499499 else if ((prediction == 66))
500500 then 289700
501501 else if ((prediction == 67))
502502 then 298480
503503 else if ((prediction == 68))
504504 then 307810
505505 else if ((prediction == 69))
506506 then 317740
507507 else if ((prediction == 70))
508508 then 328330
509509 else if ((prediction == 71))
510510 then 339650
511511 else if ((prediction == 72))
512512 then 351780
513513 else if ((prediction == 73))
514514 then 364810
515515 else if ((prediction == 74))
516516 then 378840
517517 else if ((prediction == 75))
518518 then 394000
519519 else if ((prediction == 76))
520520 then 410410
521521 else if ((prediction == 77))
522522 then 428260
523523 else if ((prediction == 78))
524524 then 447720
525525 else if ((prediction == 79))
526526 then 469040
527527 else if ((prediction == 80))
528528 then 492500
529529 else if ((prediction == 81))
530- then 518420
530+ then 508420
531531 else if ((prediction == 82))
532- then 547220
532+ then 522200
533533 else if ((prediction == 83))
534- then 579410
534+ then 549410
535535 else if ((prediction == 84))
536- then 615620
536+ then 575620
537537 else if ((prediction == 85))
538- then 656660
538+ then 596660
539539 else if ((prediction == 86))
540- then 703570
540+ then 603570
541541 else if ((prediction == 87))
542- then 757690
542+ then 627690
543543 else if ((prediction == 88))
544- then 820830
544+ then 640830
545545 else if ((prediction == 89))
546- then 895450
546+ then 675450
547547 else if ((prediction == 90))
548- then 985000
548+ then 695000
549549 else if ((prediction == 91))
550- then 1094440
550+ then 724440
551551 else if ((prediction == 92))
552- then 1231250
552+ then 761250
553553 else if ((prediction == 93))
554- then 1407140
554+ then 787140
555555 else if ((prediction == 94))
556- then 1641660
556+ then 829510
557557 else if ((prediction == 95))
558- then 1970000
558+ then 852500
559559 else if ((prediction == 96))
560- then 2462500
560+ then 882500
561561 else if ((prediction == 97))
562- then 3283330
562+ then 923330
563563 else if ((prediction == 98))
564- then 4925000
564+ then 975000
565565 else if ((prediction == 99))
566- then 9850000
566+ then 1000000
567567 else 100000
568568 else 100000
569569
570570
571571 func diceWin (type,prediction,number) = if ((type == ROLLUNDER))
572572 then if ((prediction >= number))
573573 then true
574574 else false
575575 else if ((type == ROLLOVER))
576576 then if ((number >= prediction))
577577 then true
578578 else false
579579 else false
580580
581581
582582 func ValidateBetAndDefineWinAmt (amount,prediction,rollType) = if (if ((BETMIN > amount))
583583 then true
584584 else (amount > BETMAX))
585585 then throw(((("Bet amount is not in range: minBet=" + toString((BETMIN / WAVELET))) + " maxBet=") + toString((BETMAX / WAVELET))))
586586 else if (if ((rollType != ROLLUNDER))
587587 then (rollType != ROLLOVER)
588588 else false)
589589 then throw("Invalid Roll type, try with OVER or UNDER")
590590 else if (if (if ((rollType == ROLLUNDER))
591591 then (1 > prediction)
592592 else false)
593593 then true
594594 else if ((rollType == ROLLUNDER))
595595 then (prediction > 96)
596596 else false)
597597 then throw("Prediction is out of the range for ROLL UNDER: 1 <= PREDICTION <= 96")
598598 else if (if (if ((rollType == ROLLOVER))
599599 then (4 > prediction)
600600 else false)
601601 then true
602602 else if ((rollType == ROLLOVER))
603603 then (prediction > 99)
604604 else false)
605605 then throw("Prediction is out of the range for ROLL OVER: 4 <= PREDICTION <= 99")
606606 else {
607607 let multi = Multiplier(prediction, rollType)
608- fraction(((amount / 100000) * multi), (((100 - FEEWAVESBET) - FEEMCAFEE) - FEECOMMUNITY), 100)
608+ let fee = fraction(amount, 6, 100)
609+ (((amount / 100000) * multi) - fee)
609610 }
610611
611612
612613 @Callable(i)
613614 func playDice (rollType,prediction) = {
614615 let gameId = toBase58String(i.transactionId)
615616 let payment = extract(i.payment)
616617 let feeAssetId = isDefined(i.feeAssetId)
617618 let winAmt = ValidateBetAndDefineWinAmt(payment.amount, prediction, rollType)
618619 let playerBalance = wavesBalance(i.caller)
619620 let gameIdUsed = isDefined(getString(this, gameId))
620621 if ((payment.assetId != WBET))
621622 then throw("Payment should be in Wavesbet")
622623 else if ((1000000 > playerBalance))
623624 then throw("There are not enough waves, it takes 0.01 Waves to bet. Game aborted.")
624625 else if (feeAssetId)
625626 then throw("Transaction's fee must be in Waves. Game aborted.")
626627 else if (gameIdUsed)
627628 then throw("Passed gameId had been used before. Game aborted.")
628629 else {
629630 let newGameNum = IncrementGameNum()
630631 let playerPubKey58 = toBase58String(i.callerPublicKey)
631632 let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, rollType, playerPubKey58, winAmt, "")
632633 ScriptResult(WriteSet([DataEntry(RESERVATIONKEY, ValidateAndIncreaseReservedAmt(winAmt)), DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet([ScriptTransfer(WALLETCOMMUNITY, fraction(payment.amount, FEECOMMUNITY, 100), WBET), ScriptTransfer(WALLETWAVESBET, fraction(payment.amount, FEEWAVESBET, 100), WBET), ScriptTransfer(WALLETMCAFEE, fraction(payment.amount, FEEMCAFEE, 100), WBET)]))
633634 }
634635 }
635636
636637
637638
638639 @Callable(i)
639640 func withdraw (gameId,rsaSig) = {
640641 let gameDataList = ExtractGameDataList(gameId)
641642 let gameState = gameDataList[IdxGameState]
642643 let prediction = parseIntValue(gameDataList[IdxPrediction])
643644 let rollType = gameDataList[IdxType]
644645 let winAmt = parseIntValue(gameDataList[IdxWinAmt])
645646 let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
646647 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
647648 let decreasedReserves = DecreaseReservedAmt(gameId, winAmt)
648649 if ((gameState != STATESUBMITTED))
649650 then throw("Invalid game state for passed gameId. Game aborted.")
650651 else {
651652 let rand = GenerateRandInt(gameId, rsaSig)
652653 let randStr = RandToStr(rand)
653654 if (diceWin(rollType, prediction, rand))
654655 then {
655656 let newGameDataStr = FormatGameDataStr(STATEWON, prediction, rollType, playerPubKey58, winAmt, randStr)
656657 WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr, decreasedReserves)
657658 }
658659 else {
659660 let newGameDataStr = FormatGameDataStr(STATELOST, prediction, rollType, playerPubKey58, winAmt, randStr)
660661 WriteSet([DataEntry(gameId, newGameDataStr), decreasedReserves])
661662 }
662663 }
663664 }
664665
665666
666667 @Verifier(tx)
667668 func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
668669 then match tx {
669670 case ttx: TransferTransaction =>
670671 ((assetBalance(this, WBET) - ttx.amount) >= ExtractReservedAmt())
671672 case stx: SetScriptTransaction =>
672673 true
673674 case _ =>
674675 false
675676 }
676677 else false
677678

github/deemru/w8io/3ef1775 
602.74 ms