tx · 5Art3AvCP9Y6E6JTsguRqCBLVCh1Hem5XJrTdwnvF7g1

3N6yFJ5Z8NUUQvfGGMLp5efmevRRtTgQuun:  -0.01400000 Waves

2019.09.15 01:43 [676487] smart account 3N6yFJ5Z8NUUQvfGGMLp5efmevRRtTgQuun > SELF 0.00000000 Waves

{ "type": 13, "id": "5Art3AvCP9Y6E6JTsguRqCBLVCh1Hem5XJrTdwnvF7g1", "fee": 1400000, "feeAssetId": null, "timestamp": 1568500977163, "version": 1, "sender": "3N6yFJ5Z8NUUQvfGGMLp5efmevRRtTgQuun", "senderPublicKey": "7uRSDXQUkUS7719CDA4wXghhzsWrF22gb18FGDPZyA6P", "proofs": [ "NFB87yspRKtWwZ3J9pi9SS45cgHYkpVwEHL2M9s67cFJ6ppmxMfqEbvFibstaE6BNA54BznkXpQrpcfB8aVwdDr" ], "script": "base64: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AAABBQAAAAdnYW1lTnVtAQAAABZnZXRPckNyZWF0ZUN1cnJlbnRHYW1lAAAAAQAAAAR0eElkBAAAABZpc0N1cnJlbnRHYW1lUHJlc2VudGVkCQEAAAAJaXNEZWZpbmVkAAAAAQkABB0AAAACBQAAAAR0aGlzBQAAAAtDVVJSRU5UR0FNRQMJAQAAAAEhAAAAAQUAAAAWaXNDdXJyZW50R2FtZVByZXNlbnRlZAUAAAAEdHhJZAMJAAAAAAAAAgkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAALQ1VSUkVOVEdBTUUCAAAAAAUAAAAEdHhJZAkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgUAAAAEdGhpcwUAAAALQ1VSUkVOVEdBTUUBAAAADmdldEN1cnJlbnRHYW1lAAAAAQAAAAR0eElkBAAAAAZnYW1lSWQJAQAAABZnZXRPckNyZWF0ZUN1cnJlbnRHYW1lAAAAAQUAAAAEdHhJZAQAAAARZ2FtZUFscmVhZHlQbGF5ZWQJAQAAAAlpc0RlZmluZWQAAAABCQAEHQAAAAIFAAAABHRoaXMJAAEsAAAAAgUAAAAGZ2FtZUlkAgAAAAdfcmVzdWx0AwUAAAARZ2FtZUFscmVhZHlQbGF5ZWQFAAAABHR4SWQFAAAABmdhbWVJZAEAAAAOZ2V0QmFua0JhbGFuY2UAAAACAAAABmdhbWVJZAAAAApwYXltZW50QW10BAAAAAtiYW5rQmFsYW5jZQQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAAGZ2FtZUlkAgAAAAFfBQAAAARCQU5LAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAA251bQUAAAAHJG1hdGNoMAUAAAADbnVtAAAAAAAAAAAACQAAZAAAAAIFAAAAC2JhbmtCYWxhbmNlBQAAAApwYXltZW50QW10AQAAABVnZXRUb3RhbFBsYXllckJldHNBbXQAAAADAAAABmdhbWVJZAAAABBwbGF5ZXJBZGRyZXNzU3RyAAAACnBheW1lbnRBbXQEAAAAD3RvdGFsUGxheWVyQmV0cwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAA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ZUlkBQAAAApwYXltZW50QW10BAAAABVuZXdUb3RhbFBsYXllckJldHNBbXQJAQAAABVnZXRUb3RhbFBsYXllckJldHNBbXQAAAADBQAAAAZnYW1lSWQFAAAAEHBsYXllckFkZHJlc3NTdHIFAAAACnBheW1lbnRBbXQEAAAAB2JldERhdGEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAC0NVUlJFTlRHQU1FBQAAAAZnYW1lSWQJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAD0dBTUVTQ09VTlRFUktFWQUAAAAHZ2FtZU51bQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAKTEFTVFRJQ0tFVAkBAAAADWdldExhc3RUaWNrZXQAAAABBQAAAApwYXltZW50QW10CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAAZnYW1lSWQCAAAAAV8FAAAAEHBsYXllckFkZHJlc3NTdHICAAAACF90aWNrZXRzCQEAAAAKZ2V0VGlja2V0cwAAAAMFAAAABmdhbWVJZAUAAAAQcGxheWVyQWRkcmVzc1N0cgUAAAAKcGF5bWVudEFtdAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgUAAAAGZ2FtZUlkAgAAAAFfBQAAABBwbGF5ZXJBZGRyZXNzU3RyAgAAAApfYmV0c0NvdW50CQAAZAAAAAIJAQAAABJnZXRQbGF5ZXJCZXRzQ291bnQAAAACBQAAAAZnYW1lSWQFAAAAEHBsYXllckFkZHJlc3NTdHIAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAIFAAAABmdhbWVJZAIAAAABXwUAAAAQcGxheWVyQWRkcmVzc1N0cgIAAAANX3RvdGFsQmV0c0FtdAUAAAAVbmV3VG90YWxQbGF5ZXJCZXRzQW10CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQABLAAAAAIFAAAABmdhbWVJZAIAAAAIX3BsYXllcnMJAQAAAA5nZXRQbGF5ZXJzTGlzdAAAAAIFAAAABmdhbWVJZAUAAAAQcGxheWVyQWRkcmVzc1N0cgkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkAASwAAAACCQABLAAAAAIFAAAABmdhbWVJZAIAAAABXwUAAAAEQkFOSwUAAAAObmV3QmFua0JhbGFuY2UFAAAAA25pbAQAAAALdG9XaW5TZXJ2ZXIJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwUAAAAJV2luU2VydmVyBQAAAApwYXltZW50QW10BQAAAAR1bml0BQAAAANuaWwJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABBQAAAAdiZXREYXRhCQEAAAALVHJhbnNmZXJTZXQAAAABBQAAAAt0b1dpblNlcnZlcgAAAADjVlcl", "chainId": 84, "height": 676487, "spentComplexity": 0 } View: original | compacted Prev: D7SkS2NjKTnwPQU7JqG6YLpTLvCFJPx8CyCoftKVGVCH Next: 71bAeZXJKHVw8VATmnqsfXWPbpJ8FsWr6j6swtPXvfHP Diff:
OldNewDifferences
149149 let gameId = getCurrentGame(txId)
150150 let gameNum = IncrementGameNum(gameId, txId)
151151 let pmt = extract(i.payment)
152- let paymentAmt = pmt.amount
152+ let paymentAmt = (pmt.amount - COMMISSION)
153153 let betNotInWaves = isDefined(pmt.assetId)
154154 let feeNotInWaves = isDefined(pmt.assetId)
155155 let playerPubKey58 = toBase58String(i.callerPublicKey)
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let WinServer = addressFromStringValue("3N9XnyPpWxYohKH7z5dEuq8rpnobpyzPrzE")
55
66 let WAVELET = ((100 * 1000) * 1000)
77
88 let COMMISSION = ((5 * WAVELET) / 1000)
99
1010 let TicketsPerWave = 100
1111
1212 let CURRENTGAME = "$CURRENT_GAME"
1313
1414 let GAMESCOUNTERKEY = "$GAME_NUM"
1515
1616 let LASTTICKET = "$LAST_TICKET"
1717
1818 let BANK = "$GAME_BANK"
1919
2020 func getPlayersList (gameId,currentPlayer) = {
2121 let playersPresented = isDefined(getString(this, (gameId + "_players")))
2222 if (!(playersPresented))
2323 then currentPlayer
2424 else if (isDefined(getString(this, (((gameId + "_") + currentPlayer) + "_tickets"))))
2525 then getStringValue(this, (gameId + "_players"))
2626 else ((getStringValue(this, (gameId + "_players")) + "_") + currentPlayer)
2727 }
2828
2929
3030 func getOrCreateLastTicket () = {
3131 let isLastTicketPresented = isDefined(getInteger(this, LASTTICKET))
3232 if (!(isLastTicketPresented))
3333 then 0
3434 else getIntegerValue(this, LASTTICKET)
3535 }
3636
3737
3838 func getPlayerBetsCount (gameId,playerAddressStr) = {
3939 let betsCount = match getInteger(this, (((gameId + "_") + playerAddressStr) + "_betsCount")) {
4040 case num: Int =>
4141 num
4242 case _ =>
4343 0
4444 }
4545 betsCount
4646 }
4747
4848
4949 func getTickets (gameId,playerAddressStr,paymentAmt) = {
5050 let lastTicket = getOrCreateLastTicket()
5151 let wavesPayment = (paymentAmt / WAVELET)
5252 let firstNewTicket = (lastTicket + 1)
5353 let lastNewTicket = ((firstNewTicket + (wavesPayment * TicketsPerWave)) - 1)
5454 let firstNewTicketStr = toString(firstNewTicket)
5555 let lastNewTicketStr = toString(lastNewTicket)
5656 let ticketsStr = isDefined(getString(this, (((gameId + "_") + playerAddressStr) + "_tickets")))
5757 if (ticketsStr)
5858 then {
5959 let currentTickets = getStringValue(this, (((gameId + "_") + playerAddressStr) + "_tickets"))
6060 let currentPlayerBetNum = getPlayerBetsCount(gameId, playerAddressStr)
6161 let CTL = split(currentTickets, "_")
6262 if ((currentPlayerBetNum == 1))
6363 then (((((((CTL[0] + "_") + CTL[1]) + "_") + firstNewTicketStr) + "_") + lastNewTicketStr) + "_0_0_0_0")
6464 else if ((currentPlayerBetNum == 2))
6565 then (((((((((((CTL[0] + "_") + CTL[1]) + "_") + CTL[2]) + "_") + CTL[3]) + "_") + firstNewTicketStr) + "_") + lastNewTicketStr) + "_0_0")
6666 else if ((currentPlayerBetNum == 3))
6767 then ((((((((((((((CTL[0] + "_") + CTL[1]) + "_") + CTL[2]) + "_") + CTL[3]) + "_") + CTL[4]) + "_") + CTL[5]) + "_") + firstNewTicketStr) + "_") + lastNewTicketStr)
6868 else throw("Error, bid limit exceeded")
6969 }
7070 else (((firstNewTicketStr + "_") + lastNewTicketStr) + "_0_0_0_0_0_0")
7171 }
7272
7373
7474 func getLastTicket (paymentAmt) = {
7575 let lastTicket = getOrCreateLastTicket()
7676 let wavesPayment = (paymentAmt / WAVELET)
7777 (lastTicket + (wavesPayment * TicketsPerWave))
7878 }
7979
8080
8181 func IncrementGameNum (gameId,txId) = {
8282 let gameNum = match getInteger(this, GAMESCOUNTERKEY) {
8383 case num: Int =>
8484 num
8585 case _ =>
8686 0
8787 }
8888 if ((gameId == txId))
8989 then (gameNum + 1)
9090 else gameNum
9191 }
9292
9393
9494 func getOrCreateCurrentGame (txId) = {
9595 let isCurrentGamePresented = isDefined(getString(this, CURRENTGAME))
9696 if (!(isCurrentGamePresented))
9797 then txId
9898 else if ((getStringValue(this, CURRENTGAME) == ""))
9999 then txId
100100 else getStringValue(this, CURRENTGAME)
101101 }
102102
103103
104104 func getCurrentGame (txId) = {
105105 let gameId = getOrCreateCurrentGame(txId)
106106 let gameAlreadyPlayed = isDefined(getString(this, (gameId + "_result")))
107107 if (gameAlreadyPlayed)
108108 then txId
109109 else gameId
110110 }
111111
112112
113113 func getBankBalance (gameId,paymentAmt) = {
114114 let bankBalance = match getInteger(this, ((gameId + "_") + BANK)) {
115115 case num: Int =>
116116 num
117117 case _ =>
118118 0
119119 }
120120 (bankBalance + paymentAmt)
121121 }
122122
123123
124124 func getTotalPlayerBetsAmt (gameId,playerAddressStr,paymentAmt) = {
125125 let totalPlayerBets = match getInteger(this, (((gameId + "_") + playerAddressStr) + "_totalBetsAmt")) {
126126 case num: Int =>
127127 num
128128 case _ =>
129129 0
130130 }
131131 (totalPlayerBets + paymentAmt)
132132 }
133133
134134
135135 @Callable(i)
136136 func resetGameData (gameId) = {
137137 let playerPubKey58 = toBase58String(i.callerPublicKey)
138138 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
139139 let playerAddressStr = toString(playerAddress)
140140 let zeroData = [DataEntry(CURRENTGAME, ""), DataEntry(GAMESCOUNTERKEY, 0), DataEntry((((gameId + "_") + playerAddressStr) + "_tickets"), ""), DataEntry((((gameId + "_") + playerAddressStr) + "_betsCount"), 0), DataEntry((((gameId + "_") + playerAddressStr) + "_totalBetsAmt"), 0), DataEntry(((gameId + "_") + BANK), 0), DataEntry((gameId + "_players"), ""), DataEntry(LASTTICKET, 0)]
141141 WriteSet(zeroData)
142142 }
143143
144144
145145
146146 @Callable(i)
147147 func bet () = {
148148 let txId = toBase58String(i.transactionId)
149149 let gameId = getCurrentGame(txId)
150150 let gameNum = IncrementGameNum(gameId, txId)
151151 let pmt = extract(i.payment)
152- let paymentAmt = pmt.amount
152+ let paymentAmt = (pmt.amount - COMMISSION)
153153 let betNotInWaves = isDefined(pmt.assetId)
154154 let feeNotInWaves = isDefined(pmt.assetId)
155155 let playerPubKey58 = toBase58String(i.callerPublicKey)
156156 let playerAddress = addressFromPublicKey(fromBase58String(playerPubKey58))
157157 if (betNotInWaves)
158158 then throw("Bet amount must be in Waves")
159159 else if (feeNotInWaves)
160160 then throw("Transaction's fee must be in Waves")
161161 else {
162162 let playerAddressStr = toString(playerAddress)
163163 let newBankBalance = getBankBalance(gameId, paymentAmt)
164164 let newTotalPlayerBetsAmt = getTotalPlayerBetsAmt(gameId, playerAddressStr, paymentAmt)
165165 let betData = [DataEntry(CURRENTGAME, gameId), DataEntry(GAMESCOUNTERKEY, gameNum), DataEntry(LASTTICKET, getLastTicket(paymentAmt)), DataEntry((((gameId + "_") + playerAddressStr) + "_tickets"), getTickets(gameId, playerAddressStr, paymentAmt)), DataEntry((((gameId + "_") + playerAddressStr) + "_betsCount"), (getPlayerBetsCount(gameId, playerAddressStr) + 1)), DataEntry((((gameId + "_") + playerAddressStr) + "_totalBetsAmt"), newTotalPlayerBetsAmt), DataEntry((gameId + "_players"), getPlayersList(gameId, playerAddressStr)), DataEntry(((gameId + "_") + BANK), newBankBalance)]
166166 let toWinServer = [ScriptTransfer(WinServer, paymentAmt, unit)]
167167 ScriptResult(WriteSet(betData), TransferSet(toWinServer))
168168 }
169169 }
170170
171171

github/deemru/w8io/026f985 
31.33 ms