tx · 3n8TD6qGa62bBgUumWS9LGngWPnZBReMBHS7bNnhQkTC

3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE:  -0.05000000 Waves

2020.01.01 19:39 [834987] smart account 3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE > SELF 0.00000000 Waves

{ "type": 13, "id": "3n8TD6qGa62bBgUumWS9LGngWPnZBReMBHS7bNnhQkTC", "fee": 5000000, "feeAssetId": null, "timestamp": 1577896776385, "version": 1, "sender": "3Muyzdmm3UXRnExyAHEtqcWcaUn8VLhT8TE", "senderPublicKey": "4gu3haCbomZgQGdumDcQqrwBjbvC8H8xMwtadJSpjzSj", "proofs": [ "3LBzgB7GvQ6csz9GEgREUBT9kVMjbYdgHnfGfwACRznUtP4GgZNPFy4pDF8CKaRVwNv8d6iWdLbtSgTXGr41ZF7T" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIIARIECgIIAgAAACoAAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAY9iYXNlNjQ6TUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFuZEdHaTNtSzNlTmF6M1Vad0o2REF6ck1aSjJvd0hXT1kwbkdWbUIyL09aTHRMSXRtejI5T0hMTDFpQ1dKVTl6SkJWdEFYNHhjL3dNV3pTeWFxTlVlQVA3Z2duaUc4UTNDN0NrN3JBTC85ckFEZ0FHbjVVRmpuVFA1QXBZY1ErUkh6bFg4Mi9xQ1ZMLzdVU3JpNHJuSy9mbXAvZVRVczlrYk4rTEU2U3RuMWlEaWpKQ0FmclMvOXpUK1JRREgzVDZ5c1lDSEwwSTZ3a0hIR3gydzNxTjNiZW9ZNCtsb1MrWG5BZy8vMGdIdGtMOTNBVVBFUGVBTGo1MDhYcHZVSDdmRG5hVWJyUGNVeTVhMHQ1VlJJREY2ZllDRWFpa2NmbFdNOVdnM2hkbjhZeTVPU2Q4eEtvMkFyTGVvb1ZZZEpjTVZubXNkeG1mZ0lHZzFkRGM0Vmw3eHdJREFRQUIAAAAAD0dBTUVTQ09VTlRFUktFWQIAAAAJJEdBTUVfTlVNAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAEV0JFVAEAAAAghrQ2qHjTDszY8BetSy4sBB8Hn7rKuRapStdvJa2b0HYAAAAAD1dBTExFVENPTU1VTklUWQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVC8R8HhOr9aTn6luIitmtR+yU9d4zzto+wAAAAAOV0FMTEVUV0FWRVNCRVQJAQAAAAdBZGRyZXNzAAAAAQEAAAAaAVRcFp18IEcoG8Po9K1+bJP+/kJJi7RloewAAAAADFdBTExFVE1DQUZFRQkBAAAAB0FkZHJlc3MAAAABAQAAABoBVFwWnXwgRygbw+j0rX5sk/7+QkmLtGWh7AAAAAAHV0FWRUxFVAAAAAAABfXhAAAAAAAMRkVFQ09NTVVOSVRZAAAAAAAAAAABAAAAAAtGRUVXQVZFU0JFVAAAAAAAAAAAAwAAAAAJRkVFTUNBRkVFAAAAAAAAAAACAAAAAA5TVEFURVNVQk1JVFRFRAIAAAAJU1VCTUlU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ZWQJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMFAAAABmdhbWVJZAMJAQAAAAIhPQAAAAIIBQAAAAdwYXltZW50AAAAB2Fzc2V0SWQFAAAABFdCRVQJAAACAAAAAQIAAAAdUGF5bWVudCBzaG91bGQgYmUgaW4gV2F2ZXNiZXQDCQAAZgAAAAIAAAAAAAAPQkAFAAAADXBsYXllckJhbGFuY2UJAAACAAAAAQIAAABFVGhlcmUgYXJlIG5vdCBlbm91Z2ggd2F2ZXMsIGl0IHRha2VzIDAuMDEgV2F2ZXMgdG8gYmV0LiBHYW1lIGFib3J0ZWQuAwUAAAAKZmVlQXNzZXRJZAkAAAIAAAABAgAAADFUcmFuc2FjdGlvbidzIGZlZSBtdXN0IGJlIGluIFdhdmVzLiBHYW1lIGFib3J0ZWQuAwUAAAAKZ2FtZUlkVXNlZAkAAAIAAAABAgAAADFQYXNzZWQgZ2FtZUlkIGhhZCBiZWVuIHVzZWQgYmVmb3JlLiBHYW1lIGFib3J0ZWQuBAAAAApuZXdHYW1lTnVtCQEAAAAQSW5jcmVtZW50R2FtZU51bQAAAAAEAAAADnBsYXllclB1YktleTU4CQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAALZ2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAADlNUQVRFU1VCTUlUVEVEBQAAAApwcmVkaWN0aW9uBQAAAAhyb2xsVHlwZQUAAAAOcGxheWVyUHViS2V5NTgFAAAABndpbkFtdAIAAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAOUkVTRVJWQVRJT05LRVkJAQAAAB5WYWxpZGF0ZUFuZEluY3JlYXNlUmVzZXJ2ZWRBbXQAAAABBQAAAAZ3aW5BbXQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAD0dBTUVTQ09VTlRFUktFWQUAAAAKbmV3R2FtZU51bQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAGZ2FtZUlkBQAAAAtnYW1lRGF0YVN0cgUAAAADbmlsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAAD1dBTExFVENPTU1VTklUWQkAAGsAAAADCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAADEZFRUNPTU1VTklUWQAAAAAAAAAAZAUAAAAEV0JFVAkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA5XQUxMRVRXQVZFU0JFVAkAAGsAAAADCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAAC0ZFRVdBVkVTQkVUAAAAAAAAAABkBQAAAARXQkVUCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMFAAAADFdBTExFVE1DQUZFRQkAAGsAAAADCAUAAAAHcGF5bWVudAAAAAZhbW91bnQFAAAACUZFRU1DQUZFRQAAAAAAAAAAZAUAAAAEV0JFVAUAAAADbmlsAAAAAWkBAAAACHdpdGhkcmF3AAAAAgAAAAZnYW1lSWQAAAAGcnNhU2lnBAAAAAxnYW1lRGF0YUxpc3QJAQAAABNFeHRyYWN0R2FtZURhdGFMaXN0AAAAAQUAAAAGZ2FtZUlkBAAAAAlnYW1lU3RhdGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAxJZHhHYW1lU3RhdGUEAAAACnByZWRpY3Rpb24JAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAADUlkeFByZWRpY3Rpb24EAAAACHJvbGxUeXBlCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAHSWR4VHlwZQQAAAAGd2luQW10CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAlJZHhXaW5BbXQEAAAADnBsYXllclB1YktleTU4CQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAARSWR4UGxheWVyUHViS2V5NTgEAAAADXBsYXllckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEJAAJZAAAAAQUAAAAOcGxheWVyUHViS2V5NTgEAAAAEWRlY3JlYXNlZFJlc2VydmVzCQEAAAATRGVjcmVhc2VSZXNlcnZlZEFtdAAAAAIFAAAABmdhbWVJZAUAAAAGd2luQW10AwkBAAAAAiE9AAAAAgUAAAAJZ2FtZVN0YXRlBQAAAA5TVEFURVNVQk1JVFRFRAkAAAIAAAABAgAAADNJbnZhbGlkIGdhbWUgc3RhdGUgZm9yIHBhc3NlZCBnYW1lSWQuIEdhbWUgYWJvcnRlZC4EAAAABHJhbmQJAQAAAA9HZW5lcmF0ZVJhbmRJbnQAAAACBQAAAAZnYW1lSWQFAAAABnJzYVNpZwQAAAAHcmFuZFN0cgkBAAAACVJhbmRUb1N0cgAAAAEFAAAABHJhbmQDCQEAAAAHZGljZVdpbgAAAAMFAAAACHJvbGxUeXBlBQAAAApwcmVkaWN0aW9uBQAAAARyYW5kBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABgUAAAAIU1RBVEVXT04FAAAACnByZWRpY3Rpb24FAAAACHJvbGxUeXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAMV2luU2NyaXB0U2V0AAAABQUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAADm5ld0dhbWVEYXRhU3RyBQAAABFkZWNyZWFzZWRSZXNlcnZlcwQAAAAObmV3R2FtZURhdGFTdHIJAQAAABFGb3JtYXRHYW1lRGF0YVN0cgAAAAYFAAAACVNUQVRFTE9TVAUAAAAKcHJlZGljdGlvbgUAAAAIcm9sbFR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAAObmV3R2FtZURhdGFTdHIJAARMAAAAAgUAAAARZGVjcmVhc2VkUmVzZXJ2ZXMFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAADCQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleQQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAE1RyYW5zZmVyVHJhbnNhY3Rpb24EAAAAA3R0eAUAAAAHJG1hdGNoMAkAAGcAAAACCQAAZQAAAAIJAAPrAAAAAgUAAAAEdGhpcwUAAAAEV0JFVAgFAAAAA3R0eAAAAAZhbW91bnQJAQAAABJFeHRyYWN0UmVzZXJ2ZWRBbXQAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAADc3R4BQAAAAckbWF0Y2gwBgcHMsCZIw==", "chainId": 84, "height": 834987, "spentComplexity": 0 } View: original | compacted Prev: 8NvQVTGxCCAaFdJe5ND6t6CPwrkRauEz9aYM5d78Zawm Next: FFE1Nr4gRK1Ls1SR2ZWCxLFEdqL2WmFoG6Y944FJEC6C Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg4dAR6XbBDAS9hr/Ej3dJv6Ffc466x/mOGMWU3lrABs3qa8BHmuJGnkfbpEf2vAwYTOWPvvzfM10OBbfloSyq3c9MKvyTe1luBLGqW4vZUXIyvSgz1liyUVefIQy3dyF9jbeTZbC0bbcT/7O3DEL+01z6A+rDCacSZ0lGolSQ6AnhLxzIkVpOQJbrBmC+x+ZuZPCMWzJynd5aeOn7jaj/mkRVyxe6g/0OhWz4NiiZXeuMRB+8mKy0fWD/UlIlZWHsAS2ZmrkXKqjLq0/0wr8ILJkznjSqdnI5Ibjg3uQrj/4AN+i9r28aQ73/ZkPtY5Sbw0AOiABBu7gHmq9ayVxZQIDAQAB")
4+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
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let RSAPUBLIC = fromBase64String("base64:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg4dAR6XbBDAS9hr/Ej3dJv6Ffc466x/mOGMWU3lrABs3qa8BHmuJGnkfbpEf2vAwYTOWPvvzfM10OBbfloSyq3c9MKvyTe1luBLGqW4vZUXIyvSgz1liyUVefIQy3dyF9jbeTZbC0bbcT/7O3DEL+01z6A+rDCacSZ0lGolSQ6AnhLxzIkVpOQJbrBmC+x+ZuZPCMWzJynd5aeOn7jaj/mkRVyxe6g/0OhWz4NiiZXeuMRB+8mKy0fWD/UlIlZWHsAS2ZmrkXKqjLq0/0wr8ILJkznjSqdnI5Ibjg3uQrj/4AN+i9r28aQ73/ZkPtY5Sbw0AOiABBu7gHmq9ayVxZQIDAQAB")
4+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'A4q1mYKo11yuH9gmvDodeJoksagcyQzeFE9JtphMWddw'
1111
1212 let WALLETCOMMUNITY = Address(base58'3MtCy2PCFPyu8A9SRNL4qUo1V17SGLHftD8')
1313
1414 let WALLETWAVESBET = Address(base58'3MxK12u62zsu9xh3hU7p5iJncCLANd3zhTZ')
1515
1616 let WALLETMCAFEE = Address(base58'3MxK12u62zsu9xh3hU7p5iJncCLANd3zhTZ')
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))
182182 then 9850000
183183 else if ((prediction == 2))
184184 then 4925000
185185 else if ((prediction == 3))
186186 then 3283330
187187 else if ((prediction == 4))
188188 then 2462500
189189 else if ((prediction == 5))
190190 then 1970000
191191 else if ((prediction == 6))
192192 then 1641660
193193 else if ((prediction == 7))
194194 then 1407140
195195 else if ((prediction == 8))
196196 then 1231250
197197 else if ((prediction == 9))
198198 then 1094440
199199 else if ((prediction == 10))
200200 then 985000
201201 else if ((prediction == 11))
202202 then 895450
203203 else if ((prediction == 12))
204204 then 820830
205205 else if ((prediction == 13))
206206 then 757690
207207 else if ((prediction == 14))
208208 then 703570
209209 else if ((prediction == 15))
210210 then 656660
211211 else if ((prediction == 16))
212212 then 615620
213213 else if ((prediction == 17))
214214 then 579410
215215 else if ((prediction == 18))
216216 then 547220
217217 else if ((prediction == 19))
218218 then 518420
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))
530530 then 518420
531531 else if ((prediction == 82))
532532 then 547220
533533 else if ((prediction == 83))
534534 then 579410
535535 else if ((prediction == 84))
536536 then 615620
537537 else if ((prediction == 85))
538538 then 656660
539539 else if ((prediction == 86))
540540 then 703570
541541 else if ((prediction == 87))
542542 then 757690
543543 else if ((prediction == 88))
544544 then 820830
545545 else if ((prediction == 89))
546546 then 895450
547547 else if ((prediction == 90))
548548 then 985000
549549 else if ((prediction == 91))
550550 then 1094440
551551 else if ((prediction == 92))
552552 then 1231250
553553 else if ((prediction == 93))
554554 then 1407140
555555 else if ((prediction == 94))
556556 then 1641660
557557 else if ((prediction == 95))
558558 then 1970000
559559 else if ((prediction == 96))
560560 then 2462500
561561 else if ((prediction == 97))
562562 then 3283330
563563 else if ((prediction == 98))
564564 then 4925000
565565 else if ((prediction == 99))
566566 then 9850000
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)
608608 fraction(((amount / 100000) * multi), (((100 - FEEWAVESBET) - FEEMCAFEE) - FEECOMMUNITY), 100)
609609 }
610610
611611
612612 @Callable(i)
613613 func playDice (rollType,prediction) = {
614614 let gameId = toBase58String(i.transactionId)
615615 let payment = extract(i.payment)
616616 let feeAssetId = isDefined(i.feeAssetId)
617617 let winAmt = ValidateBetAndDefineWinAmt(payment.amount, prediction, rollType)
618618 let playerBalance = wavesBalance(i.caller)
619619 let gameIdUsed = isDefined(getString(this, gameId))
620620 if ((payment.assetId != WBET))
621621 then throw("Payment should be in Wavesbet")
622622 else if ((1000000 > playerBalance))
623623 then throw("There are not enough waves, it takes 0.01 Waves to bet. Game aborted.")
624624 else if (feeAssetId)
625625 then throw("Transaction's fee must be in Waves. Game aborted.")
626626 else if (gameIdUsed)
627627 then throw("Passed gameId had been used before. Game aborted.")
628628 else {
629629 let newGameNum = IncrementGameNum()
630630 let playerPubKey58 = toBase58String(i.callerPublicKey)
631631 let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, rollType, playerPubKey58, winAmt, "")
632632 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)]))
633633 }
634634 }
635635
636636
637637
638638 @Callable(i)
639639 func withdraw (gameId,rsaSig) = {
640640 let gameDataList = ExtractGameDataList(gameId)
641641 let gameState = gameDataList[IdxGameState]
642642 let prediction = parseIntValue(gameDataList[IdxPrediction])
643643 let rollType = gameDataList[IdxType]
644644 let winAmt = parseIntValue(gameDataList[IdxWinAmt])
645645 let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
646646 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
647647 let decreasedReserves = DecreaseReservedAmt(gameId, winAmt)
648648 if ((gameState != STATESUBMITTED))
649649 then throw("Invalid game state for passed gameId. Game aborted.")
650650 else {
651651 let rand = GenerateRandInt(gameId, rsaSig)
652652 let randStr = RandToStr(rand)
653653 if (diceWin(rollType, prediction, rand))
654654 then {
655655 let newGameDataStr = FormatGameDataStr(STATEWON, prediction, rollType, playerPubKey58, winAmt, randStr)
656656 WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr, decreasedReserves)
657657 }
658658 else {
659659 let newGameDataStr = FormatGameDataStr(STATELOST, prediction, rollType, playerPubKey58, winAmt, randStr)
660660 WriteSet([DataEntry(gameId, newGameDataStr), decreasedReserves])
661661 }
662662 }
663663 }
664664
665665
666666 @Verifier(tx)
667667 func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
668668 then match tx {
669669 case ttx: TransferTransaction =>
670670 ((assetBalance(this, WBET) - ttx.amount) >= ExtractReservedAmt())
671671 case stx: SetScriptTransaction =>
672672 true
673673 case _ =>
674674 false
675675 }
676676 else false
677677

github/deemru/w8io/3ef1775 
122.49 ms