tx · 6hU2jDSEykC4Ea5yAb8TXqW2pg26s8jLW33kWxcKqLbF

3My9Kd9gApw3GCoz2KWSZPiTRNzDsNE2eeh:  -0.01400000 Waves

2021.02.16 17:18 [1400833] smart account 3My9Kd9gApw3GCoz2KWSZPiTRNzDsNE2eeh > SELF 0.00000000 Waves

{ "type": 13, "id": "6hU2jDSEykC4Ea5yAb8TXqW2pg26s8jLW33kWxcKqLbF", "fee": 1400000, "feeAssetId": null, "timestamp": 1613485206852, "version": 2, "chainId": 84, "sender": "3My9Kd9gApw3GCoz2KWSZPiTRNzDsNE2eeh", "senderPublicKey": "BjjwtwUgZ4s8p9HJuFwyRMR3egd3zMAHGDV2HoZ1J7ho", "proofs": [ "5Use6YtybqNKhj9ie8UduCXSQAuA7BS1HvH3byV8xhaqkzYFovPHyL1wpiFW3cMtqJ5SMgzRChxd4JUe31HBzEAc" ], "script": "base64:AAIDAAAAAAAAAAYIARIAEgAAAAAXAAAAAA1nYW1lUHVibGljS2V5CQACWQAAAAECAAAALEJqand0d1VnWjRzOHA5SEp1Rnd5Uk1SM2VnZDN6TUFIR0RWMkhvWjFKN2hvAAAAAA5BZG1pblB1YmxpY0tleQkAAlkAAAABAgAAACw1MkRqVE54b3llc0FkTGtLcDlVSjdyTjFYMk5QNW5uTnZrSHdLTDI5d2JuWgAAAAAMQWRtaW5BZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAA5BZG1pblB1YmxpY0tleQAAAAANcnNhUHVibGljS2V5MQkAAlsAAAABAgAAAIBNRnd3RFFZSktvWklodmNOQVFFQkJRQURTd0F3U0FKQkFPa2l1ei9CVjRFam94R2hUbU5DYnQyVGdrYlNQSC93NjliM0YxckttRDYxSmlQWHZ2RjhMMnBJOXhPWWNXNEZtb0VaVkhsUlF0QWxhSnlrbDMrcnNyRUNBd0VBQVE9PQAAAAANcnNhUHVibGljS2V5MgkAAlsAAAABAgAAAIBNRnd3RFFZSktvWklodmNOQVFFQkJRQURTd0F3U0FKQkFKblh6Yk0vVjJzRFYxVUxiUFNPbEhrbGRPVFdSckhpNWZ4SWtCbXVldnJDbE1QVkg3cnFjY3dpckROY01kSWR3WEhJOUFkaGo5Rldqd0dJd2ZVL0s2TUNBd0VBQVE9PQAAAAANcnNhUHVibGljS2V5MwkAAlsAAAABAgAAAIBNRnd3RFFZSktvWklodmNOQVFFQkJRQURTd0F3U0FKQkFPUkRldnkwcjRrekxxT3lTbG9CNjNIdXYyZTR6ZUhLSGpDc3k1dnRGS21XWmJYSmE4Z1pZdDQrRWtsRklvMUs5b3F1NUJBUFZmSjNGT3pzMlUxQStnMENBd0VBQVE9PQAAAAAFZHJ1bTEJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNQkABEwAAAACAgAAAAE3CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0BQAAAANuaWwAAAAABWRydW0yCQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMgkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE2CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATMJAARMAAAAAgIAAAABNwUAAAADbmlsAAAAAAVkcnVtMwkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABNwkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATEJAARMAAAAAgIAAAABNgkABEwAAAACAgAAAAE0CQAETAAAAAICAAAAATIJAARMAAAAAgIAAAABMwkABEwAAAACAgAAAAExCQAETAAAAAICAAAAATQJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAE1CQAETAAAAAICAAAAATUJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEzCQAETAAAAAICAAAAATcJAARMAAAAAgIAAAABMQkABEwAAAACAgAAAAEyCQAETAAAAAICAAAAATYFAAAAA25pbAAAAAAIc3RhdGVBY2MCAAAACEFDQ0VQVEVEAAAAAAhzdGF0ZVdpbgIAAAADV09OAAAAAAlzdGF0ZUxvc2UCAAAABExPU1QAAAAAB3dhdmVzSWQFAAAABHVuaXQAAAAAC3dhdmVzTWluQW10AAAAAAABMS0AAAAAAAt3YXZlc01heEFtdAkAAGgAAAACBQAAAAt3YXZlc01pbkFtdAAAAAAAAAAACgEAAAAKY29tbWlzc2lvbgAAAAEAAAAJYmV0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", "height": 1400833, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9JcJ9QBjYafoqLReLZUXuVC7MfDrt7E9eQ8KsMsWZnUS Next: 4vUsgeY2jeLEGNs8xgkpFfvrR762re3YnKgjmDztTPQJ Diff:
OldNewDifferences
138138 }
139139 else throw("YOU_HAVE_PLAYED")
140140 case _ =>
141- throw("PLAYER_STATUS_NEEDED")
141+ if (!(pmtAmtCorrect))
142+ then throw("Empty_Amount")
143+ else {
144+ let dataString = ((((((stateAcc + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_WAVES_") + toString(height))
145+ WriteSet([DataEntry((toString(playerAddress) + "_PLAYINGSTATE"), "PLAYED"), DataEntry((gameId + "_GameId"), dataString), DataEntry("WAVES_Reserved", betAmount)])
146+ }
142147 }
143148 }
144149
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let gamePublicKey = fromBase58String("BjjwtwUgZ4s8p9HJuFwyRMR3egd3zMAHGDV2HoZ1J7ho")
55
66 let AdminPublicKey = fromBase58String("52DjTNxoyesAdLkKp9UJ7rN1X2NP5nnNvkHwKL29wbnZ")
77
88 let AdminAddress = addressFromPublicKey(AdminPublicKey)
99
1010 let rsaPublicKey1 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkiuz/BV4EjoxGhTmNCbt2TgkbSPH/w69b3F1rKmD61JiPXvvF8L2pI9xOYcW4FmoEZVHlRQtAlaJykl3+rsrECAwEAAQ==")
1111
1212 let rsaPublicKey2 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJnXzbM/V2sDV1ULbPSOlHkldOTWRrHi5fxIkBmuevrClMPVH7rqccwirDNcMdIdwXHI9Adhj9FWjwGIwfU/K6MCAwEAAQ==")
1313
1414 let rsaPublicKey3 = fromBase64String("MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAORDevy0r4kzLqOySloB63Huv2e4zeHKHjCsy5vtFKmWZbXJa8gZYt4+EklFIo1K9oqu5BAPVfJ3FOzs2U1A+g0CAwEAAQ==")
1515
1616 let drum1 = ["2", "1", "3", "5", "7", "3", "3", "1", "4", "1", "3", "5", "2", "4", "2", "6", "5", "2", "1", "4"]
1717
1818 let drum2 = ["4", "2", "3", "1", "6", "4", "2", "1", "4", "2", "1", "6", "3", "1", "2", "5", "1", "5", "3", "7"]
1919
2020 let drum3 = ["3", "2", "7", "4", "1", "6", "4", "2", "3", "1", "4", "1", "5", "5", "1", "3", "7", "1", "2", "6"]
2121
2222 let stateAcc = "ACCEPTED"
2323
2424 let stateWin = "WON"
2525
2626 let stateLose = "LOST"
2727
2828 let wavesId = unit
2929
3030 let wavesMinAmt = 20000000
3131
3232 let wavesMaxAmt = (wavesMinAmt * 10)
3333
3434 func commission (betAmount) = ((5 * betAmount) / 1000)
3535
3636
3737 func pmtAmtCheck (betAmount) = if (if ((betAmount >= wavesMinAmt))
3838 then (wavesMaxAmt >= betAmount)
3939 else false)
4040 then true
4141 else throw("Bet amount is not in range")
4242
4343
4444 func getDataList (gameId) = {
4545 let getDataString = getString(this, (gameId + "_GameId"))
4646 let a = match getDataString {
4747 case a: String =>
4848 a
4949 case _ =>
5050 throw("GameId was not found")
5151 }
5252 split(a, "_")
5353 }
5454
5555
5656 func rsaToInt (gameId,rsaSign,rsaPublicKey) = {
5757 let rsaCheck = rsaVerify(SHA256, toBytes(gameId), rsaSign, rsaPublicKey)
5858 if (rsaCheck)
5959 then (toInt(sha256(rsaSign)) % 19)
6060 else throw("Invalid RSA Signature")
6161 }
6262
6363
6464 func drumIntToString (drumInt) = if ((10 > drumInt))
6565 then ("0" + toString(drumInt))
6666 else toString(drumInt)
6767
6868
6969 func payout (pay) = {
7070 let reverse = wavesBalance(addressFromPublicKey(gamePublicKey))
7171 if ((reverse > 0))
7272 then ((pay / 100) * reverse)
7373 else throw("Empty Contract Account")
7474 }
7575
7676
7777 func defineMultiplier (threeInARow,twoInARow) = if ((threeInARow == "777"))
7878 then payout(100)
7979 else if ((threeInARow == "666"))
8080 then payout(45)
8181 else if ((threeInARow == "555"))
8282 then payout(40)
8383 else if ((threeInARow == "444"))
8484 then payout(36)
8585 else if ((threeInARow == "333"))
8686 then payout(33)
8787 else if ((threeInARow == "222"))
8888 then payout(28)
8989 else if ((threeInARow == "111"))
9090 then payout(25)
9191 else if ((twoInARow == "77"))
9292 then payout(22)
9393 else if ((twoInARow == "66"))
9494 then payout(18)
9595 else if ((twoInARow == "55"))
9696 then payout(15)
9797 else if ((twoInARow == "44"))
9898 then payout(12)
9999 else if ((twoInARow == "33"))
100100 then payout(9)
101101 else if ((twoInARow == "22"))
102102 then payout(7)
103103 else if ((twoInARow == "11"))
104104 then payout(5)
105105 else 0
106106
107107
108108 func checkCallerIsAdmin (callerPublicKey) = (callerPublicKey == AdminPublicKey)
109109
110110
111111 @Callable(i)
112112 func initGame () = if (checkCallerIsAdmin(i.callerPublicKey))
113113 then match getInteger(this, "GAMESTATUS") {
114114 case STATUS: Int =>
115115 throw("INIT_ALREADY_DONE")
116116 case _ =>
117117 WriteSet([DataEntry("GAMESTATUS", 1), DataEntry("WAVES_Reserved", wavesMinAmt)])
118118 }
119119 else throw("initGame_FORBBIDEN")
120120
121121
122122
123123 @Callable(i)
124124 func makeBet () = {
125125 let gameId = toBase58String(i.transactionId)
126126 let playerAddress = extract(i.caller)
127127 let pmt = extract(i.payment)
128128 let betAmount = (pmt.amount - commission(pmt.amount))
129129 let pmtAmtCorrect = pmtAmtCheck(betAmount)
130130 match getString(this, (toString(playerAddress) + "_PLAYINGSTATE")) {
131131 case state: String =>
132132 if ((state != "PLAYED"))
133133 then if (!(pmtAmtCorrect))
134134 then throw("Empty_Amount")
135135 else {
136136 let dataString = ((((((stateAcc + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_WAVES_") + toString(height))
137137 WriteSet([DataEntry((toString(playerAddress) + "_PLAYINGSTATE"), "PLAYED"), DataEntry((gameId + "_GameId"), dataString), DataEntry("WAVES_Reserved", betAmount)])
138138 }
139139 else throw("YOU_HAVE_PLAYED")
140140 case _ =>
141- throw("PLAYER_STATUS_NEEDED")
141+ if (!(pmtAmtCorrect))
142+ then throw("Empty_Amount")
143+ else {
144+ let dataString = ((((((stateAcc + "_") + toString(playerAddress)) + "_") + toString(betAmount)) + "_WAVES_") + toString(height))
145+ WriteSet([DataEntry((toString(playerAddress) + "_PLAYINGSTATE"), "PLAYED"), DataEntry((gameId + "_GameId"), dataString), DataEntry("WAVES_Reserved", betAmount)])
146+ }
142147 }
143148 }
144149
145150
146151 @Verifier(tx)
147152 func verify () = if (sigVerify(tx.bodyBytes, tx.proofs[0], gamePublicKey))
148153 then match tx {
149154 case tx: SetScriptTransaction =>
150155 true
151156 case _ =>
152157 false
153158 }
154159 else false
155160

github/deemru/w8io/169f3d6 
39.75 ms