tx · C7EQg9tj4hfg6oFD8Mq9dHsXwKjLT3QhMCGPV3R94GkG

3PMXJ1EhpYFvBFQ2mHjrTCqd28Zem1YuSeN:  -0.01500000 Waves

2019.10.29 20:15 [1771971] smart account 3PMXJ1EhpYFvBFQ2mHjrTCqd28Zem1YuSeN > SELF 0.00000000 Waves

{ "type": 13, "id": "C7EQg9tj4hfg6oFD8Mq9dHsXwKjLT3QhMCGPV3R94GkG", "fee": 1500000, "feeAssetId": null, "timestamp": 1572369365057, "version": 1, "sender": "3PMXJ1EhpYFvBFQ2mHjrTCqd28Zem1YuSeN", "senderPublicKey": "2o1waDCX67ArC4iV4WWHa41MHbCKS4na7KWDJmcKNAQ3", "proofs": [ "2htoy4eCqYngSvDY7TuSMdzWGfFq3jeSW9ogdQP4tZg6rsRy36vi2cNnh2QsrNiE3Zr26ZsKreuYhKR5vWQDk2rs" ], "script": "base64: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BQAAAAZTSEEyNTYJAAGbAAAAAQUAAAAGZ2FtZUlkBQAAAAdyc2FTaWduBQAAAAxyc2FQdWJsaWNLZXkDBQAAAAhyc2FDaGVjawkAAGoAAAACCQAEsQAAAAEJAAH3AAAAAQUAAAAHcnNhU2lnbgAAAAAAAAAAEwkAAAIAAAABAgAAABhSc2EgU2lnbmF0dXJlIGlzIGludmFsaWQBAAAAF2luY3JlYXNlUmVzZXJ2ZWRCYWxhbmNlAAAAAwAAAAZwbXRBbXQAAAAMcG10QXNzZXROYW1lAAAACWFzc2V0SWQ1OAQAAAAWY3VycmVudFJlc2VydmVkQmFsYW5jZQQAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACBQAAAAxwbXRBc3NldE5hbWUCAAAACV9SZXNlcnZlZAQAAAAHJG1hdGNoMAUAAAAUdmFsdWVSZXNlcnZlZEJhbGFuY2UDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQAAAAAAAAAAAAQAAAASbmV3UmVzZXJ2ZWRCYWxhbmNlCQAAZAAAAAIFAAAAFmN1cnJlbnRSZXNlcnZlZEJhbGFuY2UFAAAABnBtdEFtdAMJAABnAAAAAgkAA+sAAAACBQAAAAR0aGlzBQAAAAlhc3NldElkNTgFAAAAEm5ld1Jlc2VydmVkQmFsYW5jZQUAAAASbmV3UmVzZXJ2ZWRCYWxhbmNlCQAAAgAAAAECAAAANUJldCB3YXMgcmVqZWN0ZWQuIEluc3VmZmljaWVudCBmdW5kcyBvbiBnYW1lIGFjY291bnQuAQAAABdkZWNyZWFzZVJlc2VydmVkQmFsYW5jZQAAAAIAAAAGYmV0QW10AAAAB2Fzc2V0SWQEAAAAFHZhbHVlUmVzZXJ2ZWRCYWxhbmNlCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAHYXNzZXRJZAIAAAAJX1Jlc2VydmVkBAAAABZleHRyYWN0UmVzZXJ2ZWRCYWxhbmNlBAAAAAckbWF0Y2gwBQAAABR2YWx1ZVJlc2VydmVkQmFsYW5jZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFh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CQEAAAAcQGV4dHJVc2VyKGFkZHJlc3NGcm9tU3RyaW5nKQAAAAEJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAEEAAAABmJldEFtdAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAACBAAAAAlhc3NldE5hbWUJAAGRAAAAAgUAAAAIZGF0YUxpc3QAAAAAAAAAAAMEAAAACWdhbWVTdGFydAkBAAAADXBhcnNlSW50VmFsdWUAAAABCQABkQAAAAIFAAAACGRhdGFMaXN0AAAAAAAAAAAEBAAAAAlhc3NldElkNTgJAQAAABFBc3NldE5hbWVUb0Jhc2U1OAAAAAEFAAAACWFzc2V0TmFtZQQAAAASc2V0UmVzZXJ2ZWRCYWxhbmNlCQEAAAAXZGVjcmVhc2VSZXNlcnZlZEJhbGFuY2UAAAACBQAAAAZiZXRBbXQFAAAACWFzc2V0TmFtZQQAAAAIZHJ1bTFJbnQJAQAAAAhyc2FUb0ludAAAAAMFAAAABmdhbWVJZAUAAAAIcnNhU2lnbjEFAAAADXJzYVB1YmxpY0tleTEEAAAACGRydW0ySW50CQEAAAAIcnNhVG9JbnQAAAADBQAAAAZnYW1lSWQFAAAACHJzYVNpZ24yBQAAAA1yc2FQdWJsaWNLZXkyBAAAAAhkcnVtM0ludAkBAAAACHJzYVRvSW50AAAAAwUAAAAGZ2FtZUlkBQAAAAhyc2FTaWduMwUAAAANcnNhUHVibGljS2V5MwQAAAAJdHdvSW5BUm93CQABLAAAAAIJAAGRAAAAAgUAAAAFZHJ1bTEFAAAACGRydW0xSW50CQABkQAAAAIFAAAABWRydW0yBQAAAAhkcnVtMkludAQAAAALdGhyZWVJbkFSb3cJAAEsAAAAAgUAAAAJdHdvSW5BUm93CQABkQAAAAIFAAAABWRydW0zBQAAAAhkcnVtM0ludAQAAAAVZHJvcHBlZEVsZW1lbnRzU3RyaW5nCQABLAAAAAIJAAEsAAAAAgkBAAAAD2RydW1JbnRUb1N0cmluZwAAAAEFAAAACGRydW0xSW50CQEAAAAPZHJ1bUludFRvU3RyaW5nAAAAAQUAAAAIZHJ1bTJJbnQJAQAAAA9kcnVtSW50VG9TdHJpbmcAAAABBQAAAAhk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ZW91dAIAAAABXwkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAAAQIAAAABXwkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAAAgIAAAABXwkAAZEAAAACBQAAAAhkYXRhTGlzdAAAAAAAAAAAAwIAAAABXwkAAaQAAAABBQAAAAZoZWlnaHQCAAAAAV8JAAGkAAAAAQkAAGgAAAACBQAAAAZiZXRBbXQAAAAAAAAAAAICAAAAAV8CAAAAAzAwMAIAAAABXwIAAAAGMDAwMDAwCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAACWFzc2V0TmFtZQIAAAAJX1Jlc2VydmVkBQAAABJzZXRSZXNlcnZlZEJhbGFuY2UFAAAAA25pbAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAA1wbGF5ZXJBZGRyZXNzBQAAAAZiZXRBbXQFAAAACWFzc2V0SWQ1OAUAAAADbmlsCQAAAgAAAAECAAAAF0dhbWUgc3RhdGUgaXMgaW5jb3JyZWN0AAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAMJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5BAAAAAckbWF0Y2gwBQAAAAJ0eAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAATVHJhbnNmZXJUcmFuc2FjdGlvbgQAAAADdHR4BQAAAAckbWF0Y2gwBAAAABR2YWx1ZVJlc2VydmVkQmFsYW5jZQkABBoAAAACBQAAAAR0aGlzAgAAAA5XQVZFU19SZXNlcnZlZAQAAAAPcmVzZXJ2ZWRCYWxhbmNlBAAAAAckbWF0Y2gxBQAAABR2YWx1ZVJlc2VydmVkQmFsYW5jZQMJAAABAAAAAgUAAAAHJG1hdGNoMQIAAAADSW50BAAAAAFhBQAAAAckbWF0Y2gxBQAAAAFhAAAAAAAAAAAABAAAABBhdmFpbGFibGVCYWxhbmNlCQAAZQAAAAIJAQAAAAx3YXZlc0JhbGFuY2UAAAABBQAAAAR0aGlzBQAAAA9yZXNlcnZlZEJhbGFuY2UEAAAAD2F2YWlsaWJsZUFtb3VudAkAAGcAAAACBQAAABBhdmFpbGFibGVCYWxhbmNlCAUAAAADdHR4AAAABmFtb3VudAUAAAAPYXZhaWxpYmxlQW1vdW50AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAABRTZXRTY3JpcHRUcmFuc2FjdGlvbgQAAAAEc3N0eAUAAAAHJG1hdGNoMAYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAF0ludm9rZVNjcmlwdFRyYW5zYWN0aW9uBAAAAARpc3R4BQAAAAckbWF0Y2gwBgMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAPRGF0YVRyYW5zYWN0aW9uBAAAAANkdHgFAAAAByRtYXRjaDAGBwc6K7Zc", "chainId": 87, "height": 1771971, "spentComplexity": 0 } View: original | compacted Prev: EqpLCNB5G7XeEkQiAZbhig1d4cT3ET5zu9WcQ8vuDTic Next: 7rDU1YAPsmdNaRdEd2bLeaSq1gnBqi95MQRZsJEvBYVo Diff:
OldNewDifferences
113113
114114
115115 func rsaToInt (gameId,rsaSign,rsaPublicKey) = {
116- let rsaCheck = rsaVerify(SHA256, toBytes(gameId), fromBase64String(rsaSign), rsaPublicKey)
116+ let rsaCheck = rsaVerify(SHA256, toBytes(gameId), rsaSign, rsaPublicKey)
117117 if (rsaCheck)
118- then (toInt(sha256(fromBase64String(rsaSign))) % 19)
118+ then (toInt(sha256(rsaSign)) % 19)
119119 else throw("Rsa Signature is invalid")
120120 }
121121
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let rsaPublicKey1 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkiuz/BV4EjoxGhTmNCbt2TgkbSPH/w69b3F1rKmD61JiPXvvF8L2pI9xOYcW4FmoEZVHlRQtAlaJykl3+rsrECAwEAAQ==")
55
66 let rsaPublicKey2 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnXzbM/V2sDV1ULbPSOlHkldOTWRrHi5fxIkBmuevrClMPVH7rqccwirDNcMdIdwXHI9Adhj9FWjwGIwfU/K6MCAwEAAQ==")
77
88 let rsaPublicKey3 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAORDevy0r4kzLqOySloB63Huv2e4zeHKHjCsy5vtFKmWZbXJa8gZYt4+EklFIo1K9oqu5BAPVfJ3FOzs2U1A+g0CAwEAAQ==")
99
1010 let drum1 = ["2", "1", "3", "5", "7", "3", "3", "1", "4", "1", "3", "5", "2", "4", "2", "6", "5", "2", "1", "4"]
1111
1212 let drum2 = ["4", "2", "3", "1", "6", "4", "2", "1", "4", "2", "1", "6", "3", "1", "2", "5", "1", "5", "3", "7"]
1313
1414 let drum3 = ["3", "2", "7", "4", "1", "6", "4", "2", "3", "1", "4", "1", "5", "5", "1", "3", "7", "1", "2", "6"]
1515
1616 let gameTimeFrame = (1440 * 2)
1717
1818 let commission = 500000
1919
2020 let stateAcc = "Accepted"
2121
2222 let stateWin = "Win"
2323
2424 let stateTimeout = "WinByTimeout"
2525
2626 let stateLose = "Lose"
2727
2828 let wavesId = unit
2929
3030 let btcId = base58'Gt4HLkHunts7bWbtYP5UCsAPW7TUA4gmQEnjgjbZ2NqB'
3131
3232 let ethId = base58'6A79GDQj8bdHqUaoJQ3qE1TCPnBc3wFirNCSsAY5RKry'
3333
3434 let ltcId = base58'7oRhs4zoufHM4KiBDuJwRXUWb9JQaFt98N8ubpmytMmw'
3535
3636 let vstId = base58'5UyDjBMx1Q8UWhJj1r7JuA6h4aCkKrHE1J19HvMXRpRd'
3737
3838 let wctId = base58'Ae5W927iuKSLLT6Sdt3bqWze6ZUbYHDWzPY6dLKQusZv'
3939
4040 let divider = 1000
4141
4242 let WavesMinAmt = (100000000 / divider)
4343
4444 let WavesMaxAmt = (WavesMinAmt * 10)
4545
4646 let BtcMinAmt = (10000 / divider)
4747
4848 let BtcMaxAmt = (BtcMinAmt * 10)
4949
5050 let EthMinAmt = (1000000 / divider)
5151
5252 let EthMaxAmt = (EthMinAmt * 10)
5353
5454 let LtcMinAmt = (2000000 / divider)
5555
5656 let LtcMaxAmt = (LtcMinAmt * 10)
5757
5858 let WctMinAmt = (500000000 / divider)
5959
6060 let WctMaxAmt = (WctMinAmt * 10)
6161
6262 let VstMinAmt = (500000000 / divider)
6363
6464 let VstMaxAmt = (VstMinAmt * 10)
6565
6666 func pmtAmtCheck (pmtAssetId,betAmount) = if ((pmtAssetId == "WAVES"))
6767 then if (if ((betAmount >= WavesMinAmt))
6868 then (WavesMaxAmt >= betAmount)
6969 else false)
7070 then true
7171 else throw("Bet amount is not in range")
7272 else if ((pmtAssetId == "BTC"))
7373 then if (if ((betAmount >= BtcMinAmt))
7474 then (BtcMaxAmt >= betAmount)
7575 else false)
7676 then true
7777 else throw("Bet amount is not in range")
7878 else if ((pmtAssetId == "ETH"))
7979 then if (if ((betAmount >= EthMinAmt))
8080 then (EthMaxAmt >= betAmount)
8181 else false)
8282 then true
8383 else throw("Bet amount is not in range")
8484 else if ((pmtAssetId == "LTC"))
8585 then if (if ((betAmount >= LtcMinAmt))
8686 then (LtcMaxAmt >= betAmount)
8787 else false)
8888 then true
8989 else throw("Bet amount is not in range")
9090 else if ((pmtAssetId == "WCT"))
9191 then if (if ((betAmount >= WctMinAmt))
9292 then (WctMaxAmt >= betAmount)
9393 else false)
9494 then true
9595 else throw("Bet amount is not in range")
9696 else if (if ((betAmount >= VstMinAmt))
9797 then (VstMaxAmt >= betAmount)
9898 else false)
9999 then true
100100 else throw("Bet amount is not in range")
101101
102102
103103 func getDataList (gameId) = {
104104 let getDataString = getString(this, (gameId + "_GameId"))
105105 let a = match getDataString {
106106 case a: String =>
107107 a
108108 case _ =>
109109 throw("GameId was not found")
110110 }
111111 split(a, "_")
112112 }
113113
114114
115115 func rsaToInt (gameId,rsaSign,rsaPublicKey) = {
116- let rsaCheck = rsaVerify(SHA256, toBytes(gameId), fromBase64String(rsaSign), rsaPublicKey)
116+ let rsaCheck = rsaVerify(SHA256, toBytes(gameId), rsaSign, rsaPublicKey)
117117 if (rsaCheck)
118- then (toInt(sha256(fromBase64String(rsaSign))) % 19)
118+ then (toInt(sha256(rsaSign)) % 19)
119119 else throw("Rsa Signature is invalid")
120120 }
121121
122122
123123 func increaseReservedBalance (pmtAmt,pmtAssetName,assetId58) = {
124124 let currentReservedBalance = {
125125 let valueReservedBalance = getInteger(this, (pmtAssetName + "_Reserved"))
126126 match valueReservedBalance {
127127 case a: Int =>
128128 a
129129 case _ =>
130130 0
131131 }
132132 }
133133 let newReservedBalance = (currentReservedBalance + pmtAmt)
134134 if ((assetBalance(this, assetId58) >= newReservedBalance))
135135 then newReservedBalance
136136 else throw("Bet was rejected. Insufficient funds on game account.")
137137 }
138138
139139
140140 func decreaseReservedBalance (betAmt,assetId) = {
141141 let valueReservedBalance = getInteger(this, (assetId + "_Reserved"))
142142 let extractReservedBalance = match valueReservedBalance {
143143 case a: Int =>
144144 a
145145 case _ =>
146146 0
147147 }
148148 let decreaseReservedBalance = (extractReservedBalance - betAmt)
149149 if ((decreaseReservedBalance >= 0))
150150 then decreaseReservedBalance
151151 else throw("Reserved balance couldn't be less than 0")
152152 }
153153
154154
155155 func drumIntToString (drumInt) = if ((10 > drumInt))
156156 then ("0" + toString(drumInt))
157157 else toString(drumInt)
158158
159159
160160 func defineMultiplier (threeInARow,twoInARow) = if ((threeInARow == "777"))
161161 then 2600
162162 else if ((threeInARow == "666"))
163163 then 1300
164164 else if ((threeInARow == "555"))
165165 then 450
166166 else if ((threeInARow == "444"))
167167 then 200
168168 else if ((threeInARow == "333"))
169169 then 150
170170 else if ((threeInARow == "222"))
171171 then 110
172172 else if ((threeInARow == "111"))
173173 then 50
174174 else if ((twoInARow == "77"))
175175 then 270
176176 else if ((twoInARow == "66"))
177177 then 130
178178 else if ((twoInARow == "55"))
179179 then 45
180180 else if ((twoInARow == "44"))
181181 then 30
182182 else if ((twoInARow == "33"))
183183 then 20
184184 else if ((twoInARow == "22"))
185185 then 17
186186 else if ((twoInARow == "11"))
187187 then 13
188188 else 0
189189
190190
191191 func AssetNameToBase58 (assetName) = if ((assetName == "WAVES"))
192192 then wavesId
193193 else if ((assetName == "BTC"))
194194 then btcId
195195 else if ((assetName == "ETH"))
196196 then ethId
197197 else if ((assetName == "LTC"))
198198 then ltcId
199199 else if ((assetName == "VST"))
200200 then vstId
201201 else if ((assetName == "WCT"))
202202 then wctId
203203 else throw("Asset name is incorrect")
204204
205205
206206 func assetBase58ToName (assetId) = if (!(isDefined(assetId)))
207207 then "WAVES"
208208 else if ((assetId == btcId))
209209 then "BTC"
210210 else if ((assetId == ethId))
211211 then "ETH"
212212 else if ((assetId == ltcId))
213213 then "LTC"
214214 else if ((assetId == wctId))
215215 then "WCT"
216216 else if ((assetId == vstId))
217217 then "VST"
218218 else throw("AssetId is incorrect")
219219
220220
221221 @Callable(i)
222222 func makeBet () = {
223223 let pmt = extract(i.payment)
224224 let betAmount = (pmt.amount - commission)
225225 let assetId = pmt.assetId
226226 let gameId = toBase58String(i.transactionId)
227227 let playerAddress = extract(i.caller)
228228 let pmtAssetName = assetBase58ToName(assetId)
229229 let setReservedBalance = increaseReservedBalance(betAmount, pmtAssetName, pmt.assetId)
230230 let pmtAmtCorrect = pmtAmtCheck(pmtAssetName, betAmount)
231231 if (pmtAmtCorrect)
232232 then {
233233 let dataString = ((((((((stateAcc + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_") + pmtAssetName) + "_") + toString(height))
234234 WriteSet([DataEntry((gameId + "_GameId"), dataString), DataEntry((pmtAssetName + "_Reserved"), setReservedBalance)])
235235 }
236236 else throw("assetId is incorrect")
237237 }
238238
239239
240240
241241 @Callable(i)
242242 func playGame (gameId,rsaSign1,rsaSign2,rsaSign3) = {
243243 let dataList = getDataList(gameId)
244244 let gameState = dataList[0]
245245 let playerAddress = addressFromStringValue(dataList[1])
246246 let betAmt = parseIntValue(dataList[2])
247247 let assetName = dataList[3]
248248 let gameStart = parseIntValue(dataList[4])
249249 let assetId58 = AssetNameToBase58(assetName)
250250 let setReservedBalance = decreaseReservedBalance(betAmt, assetName)
251251 let drum1Int = rsaToInt(gameId, rsaSign1, rsaPublicKey1)
252252 let drum2Int = rsaToInt(gameId, rsaSign2, rsaPublicKey2)
253253 let drum3Int = rsaToInt(gameId, rsaSign3, rsaPublicKey3)
254254 let twoInARow = (drum1[drum1Int] + drum2[drum2Int])
255255 let threeInARow = (twoInARow + drum3[drum3Int])
256256 let droppedElementsString = ((drumIntToString(drum1Int) + drumIntToString(drum2Int)) + drumIntToString(drum3Int))
257257 let winAmt = ((betAmt * defineMultiplier(threeInARow, twoInARow)) / 10)
258258 let winPmtAmt = {
259259 let balance = assetBalance(this, assetId58)
260260 if ((winAmt > balance))
261261 then (betAmt * 2)
262262 else winAmt
263263 }
264264 let gameTimeCheck = (gameTimeFrame > (height - gameStart))
265265 let stateCorrect = (gameState == stateAcc)
266266 if (stateCorrect)
267267 then if (gameTimeCheck)
268268 then if ((winAmt == 0))
269269 then WriteSet([DataEntry((gameId + "_GameId"), ((((((((((((((stateLose + "_") + dataList[1]) + "_") + dataList[2]) + "_") + dataList[3]) + "_") + toString(height)) + "_") + toString(winAmt)) + "_") + threeInARow) + "_") + droppedElementsString)), DataEntry((assetName + "_Reserved"), setReservedBalance)])
270270 else ScriptResult(WriteSet([DataEntry((gameId + "_GameId"), ((((((((((((((stateWin + "_") + dataList[1]) + "_") + dataList[2]) + "_") + dataList[3]) + "_") + toString(height)) + "_") + toString(winAmt)) + "_") + threeInARow) + "_") + droppedElementsString)), DataEntry((assetName + "_Reserved"), setReservedBalance)]), TransferSet([ScriptTransfer(playerAddress, winPmtAmt, assetId58)]))
271271 else ScriptResult(WriteSet([DataEntry((gameId + "_GameId"), ((((((((((((((stateTimeout + "_") + dataList[1]) + "_") + dataList[2]) + "_") + dataList[3]) + "_") + toString(height)) + "_") + toString((betAmt * 2))) + "_") + "000") + "_") + "000000")), DataEntry((assetName + "_Reserved"), setReservedBalance)]), TransferSet([ScriptTransfer(playerAddress, betAmt, assetId58)]))
272272 else throw("Game state is incorrect")
273273 }
274274
275275
276276 @Verifier(tx)
277277 func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey))
278278 then match tx {
279279 case ttx: TransferTransaction =>
280280 let valueReservedBalance = getInteger(this, "WAVES_Reserved")
281281 let reservedBalance = match valueReservedBalance {
282282 case a: Int =>
283283 a
284284 case _ =>
285285 0
286286 }
287287 let availableBalance = (wavesBalance(this) - reservedBalance)
288288 let availibleAmount = (availableBalance >= ttx.amount)
289289 availibleAmount
290290 case sstx: SetScriptTransaction =>
291291 true
292292 case istx: InvokeScriptTransaction =>
293293 true
294294 case dtx: DataTransaction =>
295295 true
296296 case _ =>
297297 false
298298 }
299299 else false
300300

github/deemru/w8io/3ef1775 
84.22 ms