tx · D9NM2Q233Km9VD1WJu8vhLPkf4EEJf2FkSgoobF6QevQ

3Mu8FKNn2fEuxsE5mVhCwDQ275Ygi3ejweU:  -0.01400000 Waves

2019.10.24 21:07 [734527] smart account 3Mu8FKNn2fEuxsE5mVhCwDQ275Ygi3ejweU > SELF 0.00000000 Waves

{ "type": 13, "id": "D9NM2Q233Km9VD1WJu8vhLPkf4EEJf2FkSgoobF6QevQ", "fee": 1400000, "feeAssetId": null, "timestamp": 1571940436259, "version": 1, "sender": "3Mu8FKNn2fEuxsE5mVhCwDQ275Ygi3ejweU", "senderPublicKey": "6EzysHLfsAMmtxy8XtuFoQrCNTEkUdPSEzHYEwqpqSs3", "proofs": [ "3vcR6RMvZe7Z8auA7d5d9tNhej6dR68xR8XejGqxECi2f4qLg3oh3FjebEuoYxqZqLCZ9YRPsZANMLZHyHTT4m5R" ], "script": "base64:AAIDAAAAAAAAAA4IARIECgIICBIECgIIAgAAAB0AAAAACVJTQVBVQkxJQwkAAlsAAAABAgAAAcliYXNlNjQ6LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFtT2xSQlRZRU8zSDdZOXJCbW9GUQpGbjQzOTJQeDBRdzEzRHNkRWhuek1IMmNqNlk1eW1QdUNPTE1OZTVxclV6UWw4b1JMeklCekZWTVpsd1VZbDJiCm9zck9JeFFiWUY3V1ZRV3ZvVnhFVDFZSWdEbTNOenpPTEE1dUg3Q0tPMHNuc2htTUZDRE9aRWV3NDFHaktoM1AKZ3grbmJBZ3VQOVpRUGZxU2FmRW1DM0NOLzR5RHNKcktyaVJuaVpKbzlqUy80TExzUkt3QjdIQVpIem9GOUxMNwp0U1pIM2h0YU5HdGJkVGt4WjFUelNUM01iMlZQU3pzWnZRRG9jWFVWT21KT3UwbzI5YU9ZK0drRy9HNFJDSzBGCkJXUUhFVXZDNTFUUkRTNWs4amFkME8xTW9ialFjNmIxOGQrZnVvVkZkTmZad0dIK3VGdWR0UEczVUpUZjJta3oKWlFJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tAAAAAAdyYXNUZXN0CQACWwAAAAECAAABYGJhc2U2NDpHampJSVh2UTI2NmZvUEZaNjZtYUFjV20rTngrOTB1ajdrOWN4ZW0ySzFSYVo1a3pGdkljc1FzOVJSUC9JVENnaitHMUd5WkxmVXd3bDFnYllxRXBkQkxWUDZKdEgxQjRWeUM0cGNwcEZ4TExmTytWNWJkcjFRa3NrUTFHOExqQkhxeEQydE9zUnJ5MVVxN2xZZk90b045MmRaWDF0OFU3aFdxRnF5a2lMK0NrVUxrZVFyZnRQdExETnFvYWRQc21tNzREdFFiQlRGc3lBdGsvcGJRWUxNNDNBMTdhQnhkR0c4REE2cGExRTdVQmp5R29rZitoYkNMajZ3RnZiWHF0Ny9wK2t2bEJZRzlYMHl1S1JJMFdMRHVrbXorVEdLaGlZRVh2MG5pckNJWHpReEUzKzFyanRBbytyRVlyMVFPZlBRcDlMRWNMNmVjbmRwRithVE1lQmc9PQoAAAAAD0dBTUVTQ09VTlRFUktFWQIAAAAJJEdBTUVfTlVNAAAAAA5SRVNFUlZBVElPTktFWQIAAAAQJFJFU0VSVkVEX0FNT1VOVAAAAAAOU1RBVEVTVUJNSVRURUQCAAAACVNVQk1JVFRFRAAAAAAIU1RBVEVXT04CAAAAA1dPTgAAAAAJU1RBVEVMT1NUAgAAAARMT1NUAAAAAAxJZHhHYW1lU3RhdGUAAAAAAAAAAAAAAAAAD0lkeFBsYXllckNob2ljZQAAAAAAAAAAAQAAAAAHSWR4VHlwZQAAAAAAAAAAAgAAAAARSWR4UGxheWVyUHViS2V5NTgAAAAAAAAAAAMAAAAAEElkeFN0YXJ0ZWRIZWlnaHQAAAAAAAAAAAQAAAAACUlkeFdpbkFtdAAAAAAAAAAABQAAAAAOSWR4UmFuZE9yRW1wdHkAAAAAAAAAAAYBAAAAEEluY3JlbWVudEdhbWVOdW0AAAAABAAAAAdnYW1lTnVtBAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAAD0dBTUVTQ09VTlRFUktFWQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAANudW0FAAAAByRtYXRjaDAFAAAAA251bQAAAAAAAAAAAAkAAGQAAAACBQAAAAdnYW1lTnVtAAAAAAAAAAABAQAAABJFeHRyYWN0UmVzZXJ2ZWRBbXQAAAAABAAAAAckbWF0Y2gwCQAEGgAAAAIFAAAABHRoaXMFAAAADlJFU0VSVkFUSU9OS0VZAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAFAAAAAWEAAAAAAAAAAAABAAAAHlZhbGlkYXRlQW5kSW5jcmVhc2VSZXNlcnZlZEFtdAAAAAEAAAAGd2luQW10BAAAABFuZXdSZXNlcnZlZEFtb3VudAkAAGQAAAACCQEAAAASRXh0cmFjdFJlc2VydmVkQW10AAAAAAUAAAAGd2luQW10BAAAAAdiYWxhbmNlCQEAAAAMd2F2ZXNCYWxhbmNlAAAAAQUAAAAEdGhpcwMJAABmAAAAAgUAAAARbmV3UmVzZXJ2ZWRBbW91bnQFAAAAB2JhbGFuY2UJAAACAAAAAQIAAABUSW5zdWZmaWNpZW50IGZ1bmRzIG9uIFdhdmVzIFJpZGVyIGFj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AAEJAAQdAAAAAgUAAAAEdGhpcwUAAAAGZ2FtZUlkAwcJAAACAAAAAQIAAAAdUGF5bWVudCBzaG91bGQgYmUgaW4gV2F2ZXNiZXQDBQAAAAh0eElkVXNlZAkAAAIAAAABAgAAAC9QYXNzZWQgdHhJZCBoYWQgYmVlbiB1c2VkIGJlZm9yZS4gR2FtZSBhYm9ydGVkLgQAAAAOcGxheWVyUHViS2V5NTgJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAtnYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABwUAAAAOU1RBVEVTVUJNSVRURUQFAAAACnByZWRpY3Rpb24FAAAABHR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAAZoZWlnaHQFAAAABndpbkFtdAIAAAAACQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAPR0FNRVNDT1VOVEVSS0VZBQAAAApuZXdHYW1lTnVtCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAAAZnYW1lSWQFAAAAC2dhbWVEYXRhU3RyBQAAAANuaWwJAQAAAAtUcmFuc2ZlclNldAAAAAEFAAAAA25pbAAAAAFpAQAAAAh3aXRoZHJhdwAAAAIAAAAGZ2FtZUlkAAAABnJzYVNpZwQAAAAMZ2FtZURhdGFMaXN0CQEAAAATRXh0cmFjdEdhbWVEYXRhTGlzdAAAAAEFAAAABmdhbWVJZAQAAAAJZ2FtZVN0YXRlCQABkQAAAAIFAAAADGdhbWVEYXRhTGlzdAUAAAAMSWR4R2FtZVN0YXRlBAAAAAxwbGF5ZXJDaG9pY2UJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAA9JZHhQbGF5ZXJDaG9pY2UEAAAABHR5cGUJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAAAdJZHhUeXBlBAAAAA1zdGFydGVkSGVpZ2h0CQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAABBJZHhTdGFydGVkSGVpZ2h0BAAAAAZ3aW5BbXQJAQAAAA1wYXJzZUludFZhbHVlAAAAAQkAAZEAAAACBQAAAAxnYW1lRGF0YUxpc3QFAAAACUlkeFdpbkFtdAQAAAAOcGxheWVyUHViS2V5NTgJAAGRAAAAAgUAAAAMZ2FtZURhdGFMaXN0BQAAABFJZHhQbGF5ZXJQdWJLZXk1OAQAAAANcGxheWVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQkAAlkAAAABBQAAAA5wbGF5ZXJQdWJLZXk1OAMJAQAAAAIhPQAAAAIFAAAACWdhbWVTdGF0ZQUAAAAOU1RBVEVTVUJNSVRURUQJAAACAAAAAQIAAAAkSW52YWxpZCBnYW1lIHN0YXRlIGZvciBwYXNzZWQgZ2FtZUlkBAAAAARyYW5kCQEAAAAPR2VuZXJhdGVSYW5kSW50AAAAAQUAAAAGZ2FtZUlkBAAAAAdyYW5kU3RyCQEAAAAJUmFuZFRvU3RyAAAAAQUAAAAEcmFuZAMJAQAAAAdkaWNlV2luAAAAAwUAAAAEdHlwZQkBAAAADXBhcnNlSW50VmFsdWUAAAABBQAAAAxwbGF5ZXJDaG9pY2UFAAAABHJhbmQEAAAADm5ld0dhbWVEYXRhU3RyCQEAAAARRm9ybWF0R2FtZURhdGFTdHIAAAAHBQAAAAhTVEFURVdPTgUAAAAMcGxheWVyQ2hvaWNlBQAAAAR0eXBlBQAAAA5wbGF5ZXJQdWJLZXk1OAUAAAANc3RhcnRlZEhlaWdodAUAAAAGd2luQW10BQAAAAdyYW5kU3RyCQEAAAAMV2luU2NyaXB0U2V0AAAABAUAAAAGZ2FtZUlkBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZ3aW5BbXQFAAAADm5ld0dhbWVEYXRhU3RyBAAAAA5uZXdHYW1lRGF0YVN0cgkBAAAAEUZvcm1hdEdhbWVEYXRhU3RyAAAABwUAAAAJU1RBVEVMT1NUBQAAAAxwbGF5ZXJDaG9pY2UFAAAABHR5cGUFAAAADnBsYXllclB1YktleTU4BQAAAA1zdGFydGVkSGVpZ2h0BQAAAAZ3aW5BbXQFAAAAB3JhbmRTdHIJAQAAAAhXcml0ZVNldAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAABmdhbWVJZAUAAAAObmV3R2FtZURhdGFTdHIFAAAAA25pbAAAAAChUhGY", "chainId": 84, "height": 734527, "spentComplexity": 0 } View: original | compacted Prev: DSPd16QD4qnEUjyKGQDqQGiH8KVGUnjYuAFYektS2KeL Next: D9dRAP6JwW2g2Z1cJJm1rmComFDXmLXcYrNXuPTtLfQu Diff:
OldNewDifferences
1111 ZQIDAQAB
1212 -----END PUBLIC KEY-----")
1313
14-let rasTest = fromBase64String("Ww0VvjXnWc71ypTbOSR8EwXkwSaF")
14+let rasTest = fromBase64String("base64:GjjIIXvQ266foPFZ66maAcWm+Nx+90uj7k9cxem2K1RaZ5kzFvIcsQs9RRP/ITCgj+G1GyZLfUwwl1gbYqEpdBLVP6JtH1B4VyC4pcppFxLLfO+V5bdr1QkskQ1G8LjBHqxD2tOsRry1Uq7lYfOtoN92dZX1t8U7hWqFqykiL+CkULkeQrftPtLDNqoadPsmm74DtQbBTFsyAtk/pbQYLM43A17aBxdGG8DA6pa1E7UBjyGokf+hbCLj6wFvbXqt7/p+kvlBYG9X0yuKRI0WLDukmz+TGKhiYEXv0nirCIXzQxE3+1rjtAo+rEYr1QOfPQp9LEcL6ecndpF+aTMeBg==
15+")
1516
1617 let GAMESCOUNTERKEY = "$GAME_NUM"
1718
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let RSAPUBLIC = fromBase64String("base64:-----BEGIN PUBLIC KEY-----
55 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmOlRBTYEO3H7Y9rBmoFQ
66 Fn4392Px0Qw13DsdEhnzMH2cj6Y5ymPuCOLMNe5qrUzQl8oRLzIBzFVMZlwUYl2b
77 osrOIxQbYF7WVQWvoVxET1YIgDm3NzzOLA5uH7CKO0snshmMFCDOZEew41GjKh3P
88 gx+nbAguP9ZQPfqSafEmC3CN/4yDsJrKriRniZJo9jS/4LLsRKwB7HAZHzoF9LL7
99 tSZH3htaNGtbdTkxZ1TzST3Mb2VPSzsZvQDocXUVOmJOu0o29aOY+GkG/G4RCK0F
1010 BWQHEUvC51TRDS5k8jad0O1MobjQc6b18d+fuoVFdNfZwGH+uFudtPG3UJTf2mkz
1111 ZQIDAQAB
1212 -----END PUBLIC KEY-----")
1313
14-let rasTest = fromBase64String("Ww0VvjXnWc71ypTbOSR8EwXkwSaF")
14+let rasTest = fromBase64String("base64:GjjIIXvQ266foPFZ66maAcWm+Nx+90uj7k9cxem2K1RaZ5kzFvIcsQs9RRP/ITCgj+G1GyZLfUwwl1gbYqEpdBLVP6JtH1B4VyC4pcppFxLLfO+V5bdr1QkskQ1G8LjBHqxD2tOsRry1Uq7lYfOtoN92dZX1t8U7hWqFqykiL+CkULkeQrftPtLDNqoadPsmm74DtQbBTFsyAtk/pbQYLM43A17aBxdGG8DA6pa1E7UBjyGokf+hbCLj6wFvbXqt7/p+kvlBYG9X0yuKRI0WLDukmz+TGKhiYEXv0nirCIXzQxE3+1rjtAo+rEYr1QOfPQp9LEcL6ecndpF+aTMeBg==
15+")
1516
1617 let GAMESCOUNTERKEY = "$GAME_NUM"
1718
1819 let RESERVATIONKEY = "$RESERVED_AMOUNT"
1920
2021 let STATESUBMITTED = "SUBMITTED"
2122
2223 let STATEWON = "WON"
2324
2425 let STATELOST = "LOST"
2526
2627 let IdxGameState = 0
2728
2829 let IdxPlayerChoice = 1
2930
3031 let IdxType = 2
3132
3233 let IdxPlayerPubKey58 = 3
3334
3435 let IdxStartedHeight = 4
3536
3637 let IdxWinAmt = 5
3738
3839 let IdxRandOrEmpty = 6
3940
4041 func IncrementGameNum () = {
4142 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
4243 case num: Int =>
4344 num
4445 case _ =>
4546 0
4647 }
4748 (gameNum + 1)
4849 }
4950
5051
5152 func ExtractReservedAmt () = match getInteger(this, RESERVATIONKEY) {
5253 case a: Int =>
5354 a
5455 case _ =>
5556 0
5657 }
5758
5859
5960 func ValidateAndIncreaseReservedAmt (winAmt) = {
6061 let newReservedAmount = (ExtractReservedAmt() + winAmt)
6162 let balance = wavesBalance(this)
6263 if ((newReservedAmount > balance))
6364 then throw("Insufficient funds on Waves Rider account. Transaction was rejected for your safety.")
6465 else newReservedAmount
6566 }
6667
6768
6869 func FormatGameDataParam (p) = {
6970 let s = size(p)
7071 if ((s == 0))
7172 then throw("Parameter size must be greater then 0")
7273 else if ((s > 99))
7374 then throw("Parameter size must be less then 100")
7475 else if ((10 > s))
7576 then (("0" + toString(s)) + p)
7677 else (toString(s) + p)
7778 }
7879
7980
8081 func FormatGameDataStr (gameState,playerChoice,playerType,playerPubKey58,startedHeight,winAmt,randOrEmpty) = {
8182 let fullStateStr = ((((((((((FormatGameDataParam(gameState) + "_") + FormatGameDataParam(playerChoice)) + "_") + FormatGameDataParam(playerType)) + "_") + FormatGameDataParam(playerPubKey58)) + "_") + FormatGameDataParam(toString(startedHeight))) + "_") + FormatGameDataParam(toString(winAmt)))
8283 if ((randOrEmpty == ""))
8384 then fullStateStr
8485 else ((fullStateStr + "_") + FormatGameDataParam(randOrEmpty))
8586 }
8687
8788
8889 func RemoveUnderscoreIfPresent (remaining) = if ((size(remaining) > 0))
8990 then drop(remaining, 1)
9091 else remaining
9192
9293
9394 func ParseNextAttribute (remaining) = {
9495 let s = size(remaining)
9596 if ((s > 0))
9697 then {
9798 let nn = parseIntValue(take(remaining, 2))
9899 let v = take(drop(remaining, 2), nn)
99100 let tmpRemaining = drop(remaining, (nn + 2))
100101 let remainingState = RemoveUnderscoreIfPresent(tmpRemaining)
101102 [v, remainingState]
102103 }
103104 else throw("Empty string was passed into parseNextAttribute func")
104105 }
105106
106107
107108 func ParseGameRawDataStr (rawStateStr) = {
108109 let gameState = ParseNextAttribute(rawStateStr)
109110 let playerChoice = ParseNextAttribute(gameState[1])
110111 let type = ParseNextAttribute(playerChoice[1])
111112 let playerPubKey58 = ParseNextAttribute(type[1])
112113 let startedHeight = ParseNextAttribute(playerPubKey58[1])
113114 let winAmt = ParseNextAttribute(startedHeight[1])
114115 [gameState[0], playerChoice[0], type[0], playerPubKey58[0], startedHeight[0], winAmt[0]]
115116 }
116117
117118
118119 func ExtractGameDataList (gameId) = {
119120 let rawDataStr = match getString(this, gameId) {
120121 case str: String =>
121122 str
122123 case _ =>
123124 throw(("Couldn't find game by " + gameId))
124125 }
125126 ParseGameRawDataStr(rawDataStr)
126127 }
127128
128129
129130 func DecreaseReservedAmt (gameId,winAmt) = {
130131 let newReservedAmount = (ExtractReservedAmt() - winAmt)
131132 if ((0 > newReservedAmount))
132133 then throw("Invalid Dice Roller account state - reserved amount is less than 0")
133134 else DataEntry(RESERVATIONKEY, newReservedAmount)
134135 }
135136
136137
137138 func GenerateRandInt (gameId) = {
138139 let rsaSigValid = rsaVerify(SHA256, toBytes(gameId), rasTest, RSAPUBLIC)
139140 if (rsaSigValid)
140141 then {
141142 let rand = (toInt(sha256(rasTest)) % 100)
142143 if ((0 > rand))
143144 then ((-1 * rand) + 1)
144145 else (rand + 1)
145146 }
146147 else throw("Invalid RSA signature")
147148 }
148149
149150
150151 func RandToStr (r) = if (if ((r >= 1))
151152 then (100 >= r)
152153 else false)
153154 then toString(r)
154155 else throw(("Unsupported r parameter passed: expected=[1,...,100] actual=" + toString(r)))
155156
156157
157158 func WinScriptSet (gameId,playerAddress,winAmt,newGameDataStr) = {
158159 let tSetCommonData = [ScriptTransfer(playerAddress, winAmt, base58'4vPcbA5yiwpWBVPALPGXus6fNdGEuYTpe4hAeSxM9Kj4')]
159160 let writeDicePlay = WriteSet([DataEntry("Game Id", gameId), DataEntry("Player Address", toString(playerAddress))])
160161 ScriptResult(writeDicePlay, TransferSet(tSetCommonData))
161162 }
162163
163164
164165 func getMultiplier (type,playerPrediction) = {
165166 let prediction = 50
166167 if ((type == "Under"))
167168 then if ((prediction == 1))
168169 then 9850000
169170 else if ((prediction == 2))
170171 then 4925000
171172 else if ((prediction == 3))
172173 then 3283330
173174 else if ((prediction == 4))
174175 then 2462500
175176 else if ((prediction == 5))
176177 then 1970000
177178 else if ((prediction == 6))
178179 then 1641660
179180 else if ((prediction == 7))
180181 then 1407140
181182 else if ((prediction == 8))
182183 then 1231250
183184 else if ((prediction == 9))
184185 then 1094440
185186 else if ((prediction == 10))
186187 then 985000
187188 else if ((prediction == 11))
188189 then 895450
189190 else if ((prediction == 12))
190191 then 820830
191192 else if ((prediction == 13))
192193 then 757690
193194 else if ((prediction == 14))
194195 then 703570
195196 else if ((prediction == 15))
196197 then 656660
197198 else if ((prediction == 16))
198199 then 615620
199200 else if ((prediction == 17))
200201 then 579410
201202 else if ((prediction == 18))
202203 then 547220
203204 else if ((prediction == 19))
204205 then 518420
205206 else if ((prediction == 20))
206207 then 492500
207208 else if ((prediction == 21))
208209 then 469040
209210 else if ((prediction == 22))
210211 then 447720
211212 else if ((prediction == 23))
212213 then 428260
213214 else if ((prediction == 24))
214215 then 410410
215216 else if ((prediction == 25))
216217 then 394000
217218 else if ((prediction == 26))
218219 then 378840
219220 else if ((prediction == 27))
220221 then 364810
221222 else if ((prediction == 28))
222223 then 351780
223224 else if ((prediction == 29))
224225 then 339650
225226 else if ((prediction == 30))
226227 then 328330
227228 else if ((prediction == 31))
228229 then 317740
229230 else if ((prediction == 32))
230231 then 307810
231232 else if ((prediction == 33))
232233 then 298480
233234 else if ((prediction == 34))
234235 then 289700
235236 else if ((prediction == 35))
236237 then 281420
237238 else if ((prediction == 36))
238239 then 273610
239240 else if ((prediction == 37))
240241 then 259210
241242 else if ((prediction == 38))
242243 then 259210
243244 else if ((prediction == 39))
244245 then 252560
245246 else if ((prediction == 40))
246247 then 246250
247248 else if ((prediction == 41))
248249 then 240240
249250 else if ((prediction == 42))
250251 then 234520
251252 else if ((prediction == 43))
252253 then 229060
253254 else if ((prediction == 44))
254255 then 223860
255256 else if ((prediction == 45))
256257 then 218880
257258 else if ((prediction == 46))
258259 then 214130
259260 else if ((prediction == 47))
260261 then 209570
261262 else if ((prediction == 48))
262263 then 205200
263264 else if ((prediction == 49))
264265 then 201020
265266 else if ((prediction == 50))
266267 then 197000
267268 else if ((prediction == 51))
268269 then 193130
269270 else if ((prediction == 52))
270271 then 189420
271272 else if ((prediction == 53))
272273 then 185840
273274 else if ((prediction == 54))
274275 then 182400
275276 else if ((prediction == 55))
276277 then 179090
277278 else if ((prediction == 56))
278279 then 175890
279280 else if ((prediction == 57))
280281 then 172800
281282 else if ((prediction == 58))
282283 then 169820
283284 else if ((prediction == 59))
284285 then 166940
285286 else if ((prediction == 60))
286287 then 164160
287288 else if ((prediction == 61))
288289 then 161470
289290 else if ((prediction == 62))
290291 then 158870
291292 else if ((prediction == 63))
292293 then 156340
293294 else if ((prediction == 64))
294295 then 153900
295296 else if ((prediction == 65))
296297 then 151530
297298 else if ((prediction == 66))
298299 then 149240
299300 else if ((prediction == 67))
300301 then 147010
301302 else if ((prediction == 68))
302303 then 144850
303304 else if ((prediction == 69))
304305 then 142750
305306 else if ((prediction == 70))
306307 then 140710
307308 else if ((prediction == 71))
308309 then 138730
309310 else if ((prediction == 72))
310311 then 136800
311312 else if ((prediction == 73))
312313 then 134930
313314 else if ((prediction == 74))
314315 then 133100
315316 else if ((prediction == 75))
316317 then 131330
317318 else if ((prediction == 76))
318319 then 129600
319320 else if ((prediction == 77))
320321 then 127920
321322 else if ((prediction == 78))
322323 then 126280
323324 else if ((prediction == 79))
324325 then 124680
325326 else if ((prediction == 80))
326327 then 123120
327328 else if ((prediction == 81))
328329 then 121600
329330 else if ((prediction == 82))
330331 then 120120
331332 else if ((prediction == 83))
332333 then 118670
333334 else if ((prediction == 84))
334335 then 117260
335336 else if ((prediction == 85))
336337 then 115880
337338 else if ((prediction == 86))
338339 then 114530
339340 else if ((prediction == 87))
340341 then 113210
341342 else if ((prediction == 88))
342343 then 111930
343344 else if ((prediction == 89))
344345 then 110670
345346 else if ((prediction == 90))
346347 then 109440
347348 else if ((prediction == 91))
348349 then 108240
349350 else if ((prediction == 92))
350351 then 107060
351352 else if ((prediction == 93))
352353 then 105910
353354 else if ((prediction == 94))
354355 then 104780
355356 else if ((prediction == 95))
356357 then 103680
357358 else if ((prediction == 96))
358359 then 103680
359360 else 100000
360361 else if ((type == "Over"))
361362 then if ((prediction == 4))
362363 then 103680
363364 else if ((prediction == 5))
364365 then 103680
365366 else if ((prediction == 6))
366367 then 104780
367368 else if ((prediction == 7))
368369 then 105910
369370 else if ((prediction == 8))
370371 then 107060
371372 else if ((prediction == 9))
372373 then 108240
373374 else if ((prediction == 10))
374375 then 109440
375376 else if ((prediction == 11))
376377 then 110670
377378 else if ((prediction == 12))
378379 then 111930
379380 else if ((prediction == 13))
380381 then 113210
381382 else if ((prediction == 14))
382383 then 114530
383384 else if ((prediction == 15))
384385 then 115880
385386 else if ((prediction == 16))
386387 then 117260
387388 else if ((prediction == 17))
388389 then 118670
389390 else if ((prediction == 18))
390391 then 120120
391392 else if ((prediction == 19))
392393 then 121600
393394 else if ((prediction == 20))
394395 then 123120
395396 else if ((prediction == 21))
396397 then 124680
397398 else if ((prediction == 22))
398399 then 126280
399400 else if ((prediction == 23))
400401 then 127920
401402 else if ((prediction == 24))
402403 then 129600
403404 else if ((prediction == 25))
404405 then 131330
405406 else if ((prediction == 26))
406407 then 133100
407408 else if ((prediction == 27))
408409 then 134930
409410 else if ((prediction == 28))
410411 then 136800
411412 else if ((prediction == 29))
412413 then 138730
413414 else if ((prediction == 30))
414415 then 140710
415416 else if ((prediction == 31))
416417 then 142750
417418 else if ((prediction == 32))
418419 then 144850
419420 else if ((prediction == 33))
420421 then 147010
421422 else if ((prediction == 34))
422423 then 149240
423424 else if ((prediction == 35))
424425 then 151530
425426 else if ((prediction == 36))
426427 then 153900
427428 else if ((prediction == 37))
428429 then 156340
429430 else if ((prediction == 38))
430431 then 158870
431432 else if ((prediction == 39))
432433 then 161470
433434 else if ((prediction == 40))
434435 then 164160
435436 else if ((prediction == 41))
436437 then 166940
437438 else if ((prediction == 42))
438439 then 169820
439440 else if ((prediction == 43))
440441 then 172800
441442 else if ((prediction == 44))
442443 then 175890
443444 else if ((prediction == 45))
444445 then 179090
445446 else if ((prediction == 46))
446447 then 185840
447448 else if ((prediction == 47))
448449 then 185840
449450 else if ((prediction == 48))
450451 then 189420
451452 else if ((prediction == 49))
452453 then 193130
453454 else if ((prediction == 50))
454455 then 197000
455456 else if ((prediction == 51))
456457 then 201020
457458 else if ((prediction == 52))
458459 then 205200
459460 else if ((prediction == 53))
460461 then 209570
461462 else if ((prediction == 54))
462463 then 214130
463464 else if ((prediction == 55))
464465 then 218880
465466 else if ((prediction == 56))
466467 then 223860
467468 else if ((prediction == 57))
468469 then 229060
469470 else if ((prediction == 58))
470471 then 234520
471472 else if ((prediction == 59))
472473 then 240240
473474 else if ((prediction == 60))
474475 then 246250
475476 else if ((prediction == 61))
476477 then 252560
477478 else if ((prediction == 62))
478479 then 259210
479480 else if ((prediction == 63))
480481 then 259210
481482 else if ((prediction == 64))
482483 then 273610
483484 else if ((prediction == 65))
484485 then 281420
485486 else if ((prediction == 66))
486487 then 289700
487488 else if ((prediction == 67))
488489 then 298480
489490 else if ((prediction == 68))
490491 then 307810
491492 else if ((prediction == 69))
492493 then 317740
493494 else if ((prediction == 70))
494495 then 328330
495496 else if ((prediction == 71))
496497 then 339650
497498 else if ((prediction == 72))
498499 then 351780
499500 else if ((prediction == 73))
500501 then 364810
501502 else if ((prediction == 74))
502503 then 378840
503504 else if ((prediction == 75))
504505 then 394000
505506 else if ((prediction == 76))
506507 then 410410
507508 else if ((prediction == 77))
508509 then 428260
509510 else if ((prediction == 78))
510511 then 447720
511512 else if ((prediction == 79))
512513 then 469040
513514 else if ((prediction == 80))
514515 then 492500
515516 else if ((prediction == 81))
516517 then 518420
517518 else if ((prediction == 82))
518519 then 547220
519520 else if ((prediction == 83))
520521 then 579410
521522 else if ((prediction == 84))
522523 then 615620
523524 else if ((prediction == 85))
524525 then 656660
525526 else if ((prediction == 86))
526527 then 703570
527528 else if ((prediction == 87))
528529 then 757690
529530 else if ((prediction == 88))
530531 then 820830
531532 else if ((prediction == 89))
532533 then 895450
533534 else if ((prediction == 90))
534535 then 985000
535536 else if ((prediction == 91))
536537 then 1094440
537538 else if ((prediction == 92))
538539 then 1231250
539540 else if ((prediction == 93))
540541 then 1407140
541542 else if ((prediction == 94))
542543 then 1641660
543544 else if ((prediction == 95))
544545 then 1970000
545546 else if ((prediction == 96))
546547 then 2462500
547548 else if ((prediction == 97))
548549 then 3283330
549550 else if ((prediction == 98))
550551 then 4925000
551552 else if ((prediction == 99))
552553 then 9850000
553554 else 100000
554555 else 100000
555556 }
556557
557558
558559 func diceWin (type,prediction,number) = if ((type == "Under"))
559560 then if ((prediction >= number))
560561 then true
561562 else false
562563 else if ((type == "Over"))
563564 then if ((number >= prediction))
564565 then true
565566 else false
566567 else false
567568
568569
569570 @Callable(i)
570571 func playDice (type,prediction) = {
571572 let newGameNum = IncrementGameNum()
572573 let gameId = toBase58String(i.transactionId)
573574 let payment = extract(i.payment)
574575 let multi = getMultiplier(type, prediction)
575576 let winAmt = (((payment.amount * multi) / 100000) * (95 / 100))
576577 let txIdUsed = isDefined(getString(this, gameId))
577578 if (false)
578579 then throw("Payment should be in Wavesbet")
579580 else if (txIdUsed)
580581 then throw("Passed txId had been used before. Game aborted.")
581582 else {
582583 let playerPubKey58 = toBase58String(i.callerPublicKey)
583584 let gameDataStr = FormatGameDataStr(STATESUBMITTED, prediction, type, playerPubKey58, height, winAmt, "")
584585 ScriptResult(WriteSet([DataEntry(GAMESCOUNTERKEY, newGameNum), DataEntry(gameId, gameDataStr)]), TransferSet(nil))
585586 }
586587 }
587588
588589
589590
590591 @Callable(i)
591592 func withdraw (gameId,rsaSig) = {
592593 let gameDataList = ExtractGameDataList(gameId)
593594 let gameState = gameDataList[IdxGameState]
594595 let playerChoice = gameDataList[IdxPlayerChoice]
595596 let type = gameDataList[IdxType]
596597 let startedHeight = parseIntValue(gameDataList[IdxStartedHeight])
597598 let winAmt = parseIntValue(gameDataList[IdxWinAmt])
598599 let playerPubKey58 = gameDataList[IdxPlayerPubKey58]
599600 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
600601 if ((gameState != STATESUBMITTED))
601602 then throw("Invalid game state for passed gameId")
602603 else {
603604 let rand = GenerateRandInt(gameId)
604605 let randStr = RandToStr(rand)
605606 if (diceWin(type, parseIntValue(playerChoice), rand))
606607 then {
607608 let newGameDataStr = FormatGameDataStr(STATEWON, playerChoice, type, playerPubKey58, startedHeight, winAmt, randStr)
608609 WinScriptSet(gameId, playerAddress, winAmt, newGameDataStr)
609610 }
610611 else {
611612 let newGameDataStr = FormatGameDataStr(STATELOST, playerChoice, type, playerPubKey58, startedHeight, winAmt, randStr)
612613 WriteSet([DataEntry(gameId, newGameDataStr)])
613614 }
614615 }
615616 }
616617
617618

github/deemru/w8io/169f3d6 
98.21 ms