tx · 2KsPPpbJX6Xk76665gbYUcHWf7pVEKXrMr1NrbaoBrH3

3MpwcwacJAfY3Wt5no8Vayek5Y2wLHCoqKa:  -0.01400000 Waves

2021.02.21 01:39 [1407048] smart account 3MpwcwacJAfY3Wt5no8Vayek5Y2wLHCoqKa > SELF 0.00000000 Waves

{ "type": 13, "id": "2KsPPpbJX6Xk76665gbYUcHWf7pVEKXrMr1NrbaoBrH3", "fee": 1400000, "feeAssetId": null, "timestamp": 1613860752767, "version": 2, "chainId": 84, "sender": "3MpwcwacJAfY3Wt5no8Vayek5Y2wLHCoqKa", "senderPublicKey": "22LwkZvhBgiz8QycnmX7skuLXNvp4gKCEBD4r474vKgp", "proofs": [ "4f3a5CmpHKdA6ryNPed8oDoDykFHrENxWTMNn1sGhzMWjLCqgcuMJ3XDaQwLEcq52wqiNBcsJhWg6JPswhm2HA8U" ], "script": "base64:AAIDAAAAAAAAAA4IARIAEgASBgoECAgICAAAACwAAAAADXJzYVB1YmxpY0tleTEJAAJbAAAAAQIAAAGITUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFsNm91VVp5VXJ5VUcyTGxGMnVZUVhkYi9FNlVobFpBYnFsT0pVQ1hrZTRYM29zYXlhNjNiTlFlVU5QSzdtLzlRTjloRGl1bTRLa2lvOUYycitSOTJ2TWdXYWx1dll2aUZHSnc4VjhYTDh5aGNwa0tnWUpVUTB2ME1DYnBJOWM3aFNLUk54dmFJOWppa1lHeUdOU3NGZElUd2NYM2EweEptRGZ3Q3NzUDc2bUlBQzZ2WEROdVNjZXkrdjNualErNm8vN0FvdjhZRmlzWkxLbXhnWm52dVhESW45enBOaGlndGxJT1RLZVkxSTROWlE3ektEbEp6U2J6QlJTV1dhTlpBV0R2bHdGci9aUU9NTlEyNHBoS1ZtbmVQVEVWRkFTc3VtVWlJQkxYYlR3NzhiL1NZM2Jnejc5ZGh3OEExUHU1Tlc0WDloaWNybU5yMUV5WDM5VXNURFFJREFRQUIAAAAADXJzYVB1YmxpY0tleTIJAAJbAAAAAQIAAAGITUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFsNm91VVp5VXJ5VUcyTGxGMnVZUVhkYi9FNlVobFpBYnFsT0pVQ1hrZTRYM29zYXlhNjNiTlFlVU5QSzdtLzlRTjloRGl1bTRLa2lvOUYycitSOTJ2TWdXYWx1dll2aUZHSnc4VjhYTDh5aGNwa0tnWUpVUTB2ME1DYnBJOWM3aFNLUk54dmFJOWppa1lHeUdOU3NGZElUd2NYM2EweEptRGZ3Q3NzUDc2bUlBQzZ2WEROdVNjZXkrdjNualErNm8vN0FvdjhZRmlzWkxLbXhnWm52dVhESW45enBOaGlndGxJT1RLZVkxSTROWlE3ektEbEp6U2J6QlJTV1dhTlpBV0R2bHdGci9aUU9NTlEyNHBoS1ZtbmVQVEVWRkFTc3VtVWlJQkxYYlR3NzhiL1NZM2Jnejc5ZGh3OEExUHU1Tlc0WDloaWNybU5yMUV5WDM5VXNURFFJREFRQUIAAAAADXJzYVB1YmxpY0tleTMJAAJbAAAAAQIAAAGITUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFsNm91VVp5VXJ5VUcyTGxGMnVZUVhkYi9FNlVobFpBYnFsT0pVQ1hrZTRYM29zYXlhNjNiTlFlVU5QSzdtLzlRTjloRGl1bTRLa2lvOUYycitSOTJ2TWdXYWx1dll2aUZHSnc4VjhYTDh5aGNwa0tnWUpVUTB2ME1DYnBJOWM3aFNLUk54dmFJOWppa1lHeUdOU3NGZElUd2NYM2EweEptRGZ3Q3NzUDc2bUlBQzZ2WEROdVNjZXkrdjNualErNm8vN0FvdjhZRmlzWkxLbXhnWm52dVhESW45enBOaGlndGxJT1RLZVkxSTROWlE3ektEbEp6U2J6QlJTV1dhTlpBV0R2bHdGci9aUU9NTlEyNHBoS1ZtbmVQVEVWRkFTc3VtVWlJQkxYYlR3NzhiL1NZM2Jnejc5ZGh3OEExUHU1Tlc0WDloaWNybU5yMUV5WDM5VXNURFFJREFRQUIAAAAADWdhbWVQdWJsaWNLZXkJAAJZAAAAAQIAAAAsMjJMd2tadmhCZ2l6OFF5Y25tWDdza3VMWE52cDRnS0NFQkQ0cjQ3NHZLZ3AAAAAAC2dhbWVBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAA1nYW1lUHVibGljS2V5AAAAAA5hZG1pblB1YmxpY0tleQEAAAAgo48gw3sh+zm7Ti9Qukc32bYx6mSAxesLg4xaN7sn3DIAAAAADGFkbWluQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAOYWRtaW5QdWJsaWNLZXkAAAAABWRydW0xCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNAkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATcJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0BQAAAANuaWwAAAAABWRydW0yCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATYJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE3CQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEzBQAAAANuaWwAAAAABWRydW0zCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNwkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAE2CQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE1CQAE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", "height": 1407048, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 2doLte3ywMb2qMduGHZQC4h9ZjzohPunsNnYXcYNt54W Next: 6Bf4tFpNUtTNwocdoNMwnUFM1QyxLTp5ATDN1nLPA1Tb Diff:
OldNewDifferences
272272 case LOSES: Int =>
273273 let newLose = (LOSES + 1)
274274 if ((LOSES >= 5))
275- then WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((betLose + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + betDataList[5]) + "_") + betDataList[6]) + "_0_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelLoses(toString(i.caller)), 0), DataEntry(gameLabelRow, ((toString(0) + "_") + playerAddr))])
276- else WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((((betLose + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + betDataList[5]) + "_") + betDataList[6]) + "_") + toString(newLose)) + "_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelLoses(toString(i.caller)), newLose), DataEntry(gameLabelRow, ((toString(newLose) + "_") + playerAddr))])
275+ then WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((toString(drum1Int) + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + betDataList[5]) + "_") + betDataList[6]) + "_0_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelLoses(toString(i.caller)), 0), DataEntry(gameLabelRow, ((toString(0) + "_") + playerAddr))])
276+ else WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((((toString(drum1Int) + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + betDataList[5]) + "_") + betDataList[6]) + "_") + toString(newLose)) + "_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelLoses(toString(i.caller)), newLose), DataEntry(gameLabelRow, ((toString(newLose) + "_") + playerAddr))])
277277 case _ =>
278278 throw("INIT_LOSES")
279279 }
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let rsaPublicKey1 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
55
66 let rsaPublicKey2 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
77
88 let rsaPublicKey3 = fromBase64String("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl6ouUZyUryUG2LlF2uYQXdb/E6UhlZAbqlOJUCXke4X3osaya63bNQeUNPK7m/9QN9hDium4Kkio9F2r+R92vMgWaluvYviFGJw8V8XL8yhcpkKgYJUQ0v0MCbpI9c7hSKRNxvaI9jikYGyGNSsFdITwcX3a0xJmDfwCssP76mIAC6vXDNuScey+v3njQ+6o/7Aov8YFisZLKmxgZnvuXDIn9zpNhigtlIOTKeY1I4NZQ7zKDlJzSbzBRSWWaNZAWDvlwFr/ZQOMNQ24phKVmnePTEVFASsumUiIBLXbTw78b/SY3bgz79dhw8A1Pu5NW4X9hicrmNr1EyX39UsTDQIDAQAB")
99
1010 let gamePublicKey = fromBase58String("22LwkZvhBgiz8QycnmX7skuLXNvp4gKCEBD4r474vKgp")
1111
1212 let gameAddress = addressFromPublicKey(gamePublicKey)
1313
1414 let adminPublicKey = base58'C1U3CKj36gYHoZC119pyKKqgkUK1xigC3yQg5XrLSZsf'
1515
1616 let adminAddress = addressFromPublicKey(adminPublicKey)
1717
1818 let drum1 = ["6", "1", "5", "4", "3", "2", "1", "3", "5", "2", "4", "1", "7", "3", "2", "3", "1", "4", "1", "3", "5", "2", "1", "4", "2", "6", "5", "2", "1", "4"]
1919
2020 let drum2 = ["1", "3", "4", "2", "3", "5", "1", "6", "4", "2", "1", "1", "4", "2", "1", "6", "3", "4", "1", "2", "5", "4", "1", "5", "3", "2", "7", "5", "1", "3"]
2121
2222 let drum3 = ["3", "2", "5", "2", "7", "4", "1", "3", "6", "4", "2", "3", "1", "6", "4", "2", "1", "5", "2", "5", "1", "3", "7", "1", "2", "6", "4", "1", "3", "1"]
2323
2424 let stateAcc = "ACCEPTED"
2525
2626 let betPlaced = "PENDING"
2727
2828 let betWin = "WON"
2929
3030 let betLose = "LOST"
3131
3232 let gameTimeFrame = 3
3333
3434 let wavesId = unit
3535
3636 let wavesMinAmt = 20000000
3737
3838 let wavesMaxAmt = (wavesMinAmt * 10)
3939
4040 let gameLabelCounter = "GAMESCOUNTER"
4141
4242 func gameGetCounter () = getInteger(this, gameLabelCounter)
4343
4444
4545 let gameLabel = (toString(gameAddress) + "_GAME_ADDRESS")
4646
4747 func gameGet () = getString(this, gameLabel)
4848
4949
5050 let gameLabelStatus = (("G_" + toString(gameAddress)) + "_STATUS")
5151
5252 func gameGetStatus () = getString(this, gameLabelStatus)
5353
5454
5555 let gameLabelRow = (("R_" + toString(gameAddress)) + "_ROW_WIN/LOSE")
5656
5757 func gameGetRow () = getString(this, gameLabelRow)
5858
5959
6060 func gameLabelBetStatus (playerAddr) = (playerAddr + "_BET_STATUS")
6161
6262
6363 func gameGetBetStatus (playerAddr) = getString(this, gameLabelBetStatus(playerAddr))
6464
6565
6666 func gameLabelBet (playerAddr) = (playerAddr + "_BETDATA")
6767
6868
6969 func gameGetBet (playerAddr) = getString(this, gameLabelBet(playerAddr))
7070
7171
7272 func addressLabelAmount (addr) = (("B_" + addr) + "_AMOUNT")
7373
7474
7575 func addressGetAmount (addr) = getInteger(this, addressLabelAmount(addr))
7676
7777
7878 func addressLabelWins (addr) = (("B_" + addr) + "_WINS")
7979
8080
8181 func addressGetWins (addr) = getInteger(this, addressLabelWins(addr))
8282
8383
8484 func addressLabelLoses (addr) = (("B_" + addr) + "_LOSES")
8585
8686
8787 func addressGetLoses (addr) = getInteger(this, addressLabelLoses(addr))
8888
8989
9090 func gameGetData () = {
9191 let gameData = gameGet()
9292 let a = match gameData {
9393 case a: String =>
9494 a
9595 case _ =>
9696 throw("GAME_DATA_ERROR")
9797 }
9898 split(a, "_")
9999 }
100100
101101
102102 func gameGetRowData () = {
103103 let gameRowData = gameGetRow()
104104 let a = match gameRowData {
105105 case a: String =>
106106 a
107107 case _ =>
108108 throw("GAME_DATA_ERROR")
109109 }
110110 split(a, "_")
111111 }
112112
113113
114114 func gameGetBetData (playerAddr) = {
115115 let gameBetData = gameGetBet(playerAddr)
116116 let a = match gameBetData {
117117 case a: String =>
118118 a
119119 case _ =>
120120 throw("BET_DATA_ERROR")
121121 }
122122 split(a, "_")
123123 }
124124
125125
126126 func pmtAmtCheck (betAmount) = if (if ((betAmount >= wavesMinAmt))
127127 then (wavesMaxAmt >= betAmount)
128128 else false)
129129 then true
130130 else throw("Bet amount is not in range")
131131
132132
133133 func rsaToInt (message,rsaSign,rsaPublicKey) = {
134134 let rsaCheck = rsaVerify(SHA256, toBytes(message), fromBase64String(rsaSign), rsaPublicKey)
135135 if (rsaCheck)
136136 then (toInt(sha256(fromBase64String(rsaSign))) % 29)
137137 else throw("Invalid RSA Signature")
138138 }
139139
140140
141141 func drumIntToString (drumInt) = if ((10 > drumInt))
142142 then ("0" + toString(drumInt))
143143 else toString(drumInt)
144144
145145
146146 func defineMultiplier (threeInARow) = if ((threeInARow == "777"))
147147 then 100
148148 else if ((threeInARow == "666"))
149149 then 20
150150 else if ((threeInARow == "555"))
151151 then 14
152152 else if ((threeInARow == "444"))
153153 then 10
154154 else if ((threeInARow == "333"))
155155 then 7
156156 else if ((threeInARow == "222"))
157157 then 5
158158 else if ((threeInARow == "111"))
159159 then 2
160160 else 0
161161
162162
163163 func randomizer (inv) = {
164164 let rand = ((((inv.transactionId + inv.callerPublicKey) + lastBlock.generationSignature) + toBytes(lastBlock.timestamp)) + toBytes(lastBlock.height))
165165 (toInt(sha256(rand)) % 29)
166166 }
167167
168168
169169 @Callable(i)
170170 func initSlotGame () = if ((i.callerPublicKey != adminPublicKey))
171171 then throw("initGame_FORBBIDEN")
172172 else match gameGetCounter() {
173173 case GAMESCOUNTER: Int =>
174174 throw("INIT_ALREADY_DONE")
175175 case _ =>
176176 WriteSet([DataEntry(gameLabelCounter, 0), DataEntry(gameLabelStatus, "ACTIVE"), DataEntry(gameLabel, ((stateAcc + "_WAVES_") + toString(height))), DataEntry(gameLabelRow, ("0_" + toString(gameAddress)))])
177177 }
178178
179179
180180
181181 @Callable(i)
182182 func placeBet () = {
183183 let playerAddress = extract(i.caller)
184184 let pmt = extract(i.payment)
185185 let betAmount = pmt.amount
186186 let pmtAmtCorrect = pmtAmtCheck(betAmount)
187187 match gameGetStatus() {
188188 case state: String =>
189189 if ((state != "ACTIVE"))
190190 then throw("SLOT_GAME_NOT_INITIALIZED")
191191 else match gameGetCounter() {
192192 case GAMESCOUNTER: Int =>
193193 if (!(pmtAmtCorrect))
194194 then throw("PLACEBET:_WRONG_BET_AMOUNT")
195195 else {
196196 let newGameCounter = (GAMESCOUNTER + 1)
197197 match addressGetWins(toString(playerAddress)) {
198198 case WINS: Int =>
199199 if ((WINS >= 0))
200200 then match gameGetBetStatus(toString(playerAddress)) {
201201 case betStatus: String =>
202202 if ((betStatus != "PLAYED"))
203203 then throw("COMPLETE_ PREVIOUS_GAME_1")
204204 else WriteSet([DataEntry(gameLabelCounter, newGameCounter), DataEntry(gameLabel, ((stateAcc + "_WAVES_") + toString(height))), DataEntry(gameLabelBetStatus(toString(playerAddress)), "BET"), DataEntry(addressLabelAmount(toString(playerAddress)), betAmount), DataEntry(gameLabelBet(toString(playerAddress)), (((((((betPlaced + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
205205 case _ =>
206206 WriteSet([DataEntry(gameLabelCounter, newGameCounter), DataEntry(gameLabel, ((stateAcc + "_WAVES_") + toString(height))), DataEntry(gameLabelBetStatus(toString(playerAddress)), "BET"), DataEntry(addressLabelAmount(toString(playerAddress)), betAmount), DataEntry(gameLabelBet(toString(playerAddress)), (((((((betPlaced + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0"))])
207207 }
208208 else throw("BAD_WIN_INIT")
209209 case _ =>
210210 match gameGetBetStatus(toString(playerAddress)) {
211211 case betStatus: String =>
212212 if ((betStatus != "PLAYED"))
213213 then throw("COMPLETE_ PREVIOUS_GAME_2")
214214 else WriteSet([DataEntry(gameLabelCounter, newGameCounter), DataEntry(gameLabel, ((stateAcc + "_WAVES_") + toString(height))), DataEntry(gameLabelBetStatus(toString(playerAddress)), "BET"), DataEntry(addressLabelAmount(toString(playerAddress)), betAmount), DataEntry(gameLabelBet(toString(playerAddress)), (((((((betPlaced + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(addressLabelWins(toString(playerAddress)), 0), DataEntry(addressLabelLoses(toString(playerAddress)), 0)])
215215 case _ =>
216216 WriteSet([DataEntry(gameLabelCounter, newGameCounter), DataEntry(gameLabel, ((stateAcc + "_WAVES_") + toString(height))), DataEntry(gameLabelBetStatus(toString(playerAddress)), "BET"), DataEntry(addressLabelAmount(toString(playerAddress)), betAmount), DataEntry(gameLabelBet(toString(playerAddress)), (((((((betPlaced + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_0_0_0_0_0")), DataEntry(addressLabelWins(toString(playerAddress)), 0), DataEntry(addressLabelLoses(toString(playerAddress)), 0)])
217217 }
218218 }
219219 }
220220 case _ =>
221221 throw("INIT_NEEDED_FOR_COUNT")
222222 }
223223 case _ =>
224224 throw("INIT_ERROR")
225225 }
226226 }
227227
228228
229229
230230 @Callable(i)
231231 func playGame (signMsg,rsaSign1,rsaSign2,rsaSign3) = {
232232 let rowDatatList = gameGetRowData()
233233 let row = parseIntValue(rowDatatList[0])
234234 let rowPlayer = rowDatatList[1]
235235 let betDataList = gameGetBetData(toString(i.caller))
236236 let betStatus = betDataList[0]
237237 let playerAddr = betDataList[1]
238238 let betAmount = parseIntValue(betDataList[2])
239239 let drum1Int = randomizer(i)
240240 let drum2Int = randomizer(i)
241241 let drum3Int = randomizer(i)
242242 let threeInARow = ((drum1[drum1Int] + drum2[drum2Int]) + drum3[drum3Int])
243243 let elementToString = ((drumIntToString(drum1Int) + drumIntToString(drum1Int)) + drumIntToString(drum1Int))
244244 let amountWon = ((defineMultiplier(threeInARow) * wavesBalance(this)) / 100)
245245 match gameGetStatus() {
246246 case state: String =>
247247 if ((state != "ACTIVE"))
248248 then throw("SLOT_GAME_NOT_ACTIVE")
249249 else match gameGetBetStatus(playerAddr) {
250250 case gameBetStatus: String =>
251251 if ((gameBetStatus != "BET"))
252252 then throw("PLACE_BET_BEFORE_YOU_PLAY")
253253 else if ((i.caller != addressFromStringValue(playerAddr)))
254254 then throw("NOT_CURRENT_PLAYER")
255255 else if ((amountWon != 0))
256256 then match addressGetWins(playerAddr) {
257257 case WINS: Int =>
258258 let newWin = (WINS + 1)
259259 if ((threeInARow == "444"))
260260 then ScriptResult(WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((("TRIPLE_BAR_" + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + toString(newWin)) + "_") + betDataList[6]) + "_") + betDataList[7]) + "_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelWins(toString(i.caller)), newWin), DataEntry(gameLabelRow, ((toString(0) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
261261 else if ((WINS >= 200))
262262 then ScriptResult(WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((((betWin + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + toString(0)) + "_") + betDataList[6]) + "_") + betDataList[7]) + "_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelWins(toString(i.caller)), 0), DataEntry(gameLabelRow, ((toString(0) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
263263 else if (if ((playerAddr == rowPlayer))
264264 then (row == 5)
265265 else false)
266266 then ScriptResult(WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((((betWin + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + toString(newWin)) + "_") + toString(0)) + "_") + betDataList[7]) + "_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelWins(toString(i.caller)), newWin), DataEntry(gameLabelRow, ((toString(0) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
267267 else ScriptResult(WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(playerAddr), ((((((((((((((((((betWin + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + toString(newWin)) + "_") + toString(newWin)) + "_") + betDataList[7]) + "_") + threeInARow) + "_") + elementToString) + "_") + toString(amountWon))), DataEntry(addressLabelWins(toString(i.caller)), newWin), DataEntry(gameLabelRow, ((toString(newWin) + "_") + playerAddr))]), TransferSet([ScriptTransfer(addressFromStringValue(playerAddr), amountWon, unit)]))
268268 case _ =>
269269 throw("INIT_WIN:addressGetWins")
270270 }
271271 else match addressGetLoses(playerAddr) {
272272 case LOSES: Int =>
273273 let newLose = (LOSES + 1)
274274 if ((LOSES >= 5))
275- then WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((betLose + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + betDataList[5]) + "_") + betDataList[6]) + "_0_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelLoses(toString(i.caller)), 0), DataEntry(gameLabelRow, ((toString(0) + "_") + playerAddr))])
276- else WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((((betLose + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + betDataList[5]) + "_") + betDataList[6]) + "_") + toString(newLose)) + "_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelLoses(toString(i.caller)), newLose), DataEntry(gameLabelRow, ((toString(newLose) + "_") + playerAddr))])
275+ then WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((toString(drum1Int) + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + betDataList[5]) + "_") + betDataList[6]) + "_0_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelLoses(toString(i.caller)), 0), DataEntry(gameLabelRow, ((toString(0) + "_") + playerAddr))])
276+ else WriteSet([DataEntry(gameLabelBetStatus(playerAddr), "PLAYED"), DataEntry(gameLabelBet(toString(i.caller)), ((((((((((((((((toString(drum1Int) + "_") + playerAddr) + "_") + toString(betAmount)) + "_WAVES_") + toString(height)) + "_") + betDataList[5]) + "_") + betDataList[6]) + "_") + toString(newLose)) + "_") + threeInARow) + "_") + elementToString)), DataEntry(addressLabelLoses(toString(i.caller)), newLose), DataEntry(gameLabelRow, ((toString(newLose) + "_") + playerAddr))])
277277 case _ =>
278278 throw("INIT_LOSES")
279279 }
280280 case _ =>
281281 throw("BET_PLACED")
282282 }
283283 case _ =>
284284 throw("INIT_ERROR")
285285 }
286286 }
287287
288288
289289 @Verifier(tx)
290290 func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], gamePublicKey))
291291 then match tx {
292292 case tx: SetScriptTransaction =>
293293 true
294294 case _ =>
295295 false
296296 }
297297 else false
298298

github/deemru/w8io/873ac7e 
52.81 ms