tx · DtDMobNyFDamZhQstGak6PHq9UA2eV4QuUsFy7HEiM3a

3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd:  -0.10000000 Waves

2021.12.17 01:34 [1837435] smart account 3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd > SELF 0.00000000 Waves

{ "type": 13, "id": "DtDMobNyFDamZhQstGak6PHq9UA2eV4QuUsFy7HEiM3a", "fee": 10000000, "feeAssetId": null, "timestamp": 1639694116755, "version": 2, "chainId": 84, "sender": "3N6hQF6HBBQ5JCKB8Xs17Q61wkG3VrLvbGd", "senderPublicKey": "7Hi4o6vBstRs79NMVMjEove52dmP87RAcvNDAXN8C4Wi", "proofs": [ "3ozjWZh6KyqptjcEQSe2MGYVZGcHzti6CcioMNWC4gwoy9UB4hKdgN9jn4UscM1m1wGAEM1upAoQGhPtx3zMkbH" ], "script": "base64:AAIFAAAAAAAAABIIAhIECgIBARIDCgEBEgMKAQEAAAANAAAAAAlzZXBhcmF0b3ICAAAAASwAAAAABm1heEJldAAAAAAABfXhAAEAAAAGZ2V0RmVlAAAAAQAAAANrZXkEAAAAByRtYXRjaDAJAAQaAAAAAgUAAAAEdGhpcwUAAAADa2V5AwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAW4FAAAAByRtYXRjaDAFAAAAAW4JAAACAAAAAQIAAAAbSW5pdGlhbCBmZWUgY2Fubm90IGJlIGZvdW5kAQAAAApnZXROZXdEZWNrAAAAAAkABEwAAAACAgAAAAMwMUMJAARMAAAAAgIAAAADMDJDCQAETAAAAAICAAAAAzAzQwkABEwAAAACAgAAAAMwNEMJAARMAAAAAgIAAAADMDVDCQAETAAAAAICAAAAAzA2QwkABEwAAAACAgAAAAMwN0MJAARMAAAAAgIAAAADMDhDCQAETAAAAAICAAAAAzA5QwkABEwAAAACAgAAAAMxMEMJAARMAAAAAgIAAAADMTFDCQAETAAAAAICAAAAAzEyQwkABEwAAAACAgAAAAMxM0MJAARMAAAAAgIAAAADMDFECQAETAAAAAICAAAAAzAyRAkABEwAAAACAgAAAAMwM0QJAARMAAAAAgIAAAADMDRECQAETAAAAAICAAAAAzA1RAkABEwAAAACAgAAAAMwNkQJAARMAAAAAgIAAAADMDdECQAETAAAAAICAAAAAzA4RAkABEwAAAACAgAAAAMwOUQJAARMAAAAAgIAAAADMTBECQAETAAAAAICAAAAAzExRAkABEwAAAACAgAAAAMxMkQJAARMAAAAAgIAAAADMTNECQAETAAAAAICAAAAAzAxSAkABEwAAAACAgAAAAMwMkgJAARMAAAAAgIAAAADMDNICQAETAAAAAICAAAAAzA0SAkABEwAAAACAgAAAAMwNUgJAARMAAAAAgIAAAADMDZICQAETAAAAAICAAAAAzA3SAkABEwAAAACAgAAAAMwOEgJAARMAAAAAgIAAAADMDlICQAETAAAAAICAAAAAzEwSAkABEwAAAACAgAAAAMxMUgJAARMAAAAAgIAAAADMTJICQAETAAAAAICAAAAAzEzSAkABEwAAAACAgAAAAMwMVMJAARMAAAAAgIAAAADMDJT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AAALJHQwNDE3OTQyOTkAAAACXzEEAAAAEmNhcmRQb3NpdGlvblBsYXllcggFAAAACyR0MDQxNzk0Mjk5AAAAAl8yBAAAAAdhdkRlY2sxCAUAAAALJHQwNDE3OTQyOTkAAAACXzMEAAAACyR0MDQzMDQ0NDI1CQEAAAAlZ2V0UGxheWVyQ2FyZEFuZFBvc2l0aW9uQW5kVXBkYXRlRGVjawAAAAMFAAAAAWkJAAGkAAAAAQUAAAAMY3VycmVudFJvdW5kBQAAAAdhdkRlY2sxBAAAAApjYXJkQ2FzaW5vCAUAAAALJHQwNDMwNDQ0MjUAAAACXzEEAAAAEmNhcmRQb3NpdGlvbkNhc2lubwgFAAAACyR0MDQzMDQ0NDI1AAAAAl8yBAAAAAdhdkRlY2syCAUAAAALJHQwNDMwNDQ0MjUAAAACXzMDCQAAAAAAAAIJAQAAAAxnZXRDYXJkVmFsdWUAAAABBQAAAApjYXJkUGxheWVyCQEAAAAMZ2V0Q2FyZFZhbHVlAAAAAQUAAAAKY2FyZENhc2lubwQAAAAMY3VycmVudERyYXdzAAAAAAAAAAABAwkBAAAAAiE9AAAAAgUAAAAGdGllQmV0AAAAAAAAAAAACQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWF2YWlsYWJsZVByb3AJAAS5AAAAAgUAAAAHYXZEZWNrMgUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAADWNhbGxlckFkZHJlc3MCAAAABl9yb3VuZAUAAAAMY3VycmVudFJvdW5kCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAVyb3VuZAYJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAEV9MYXN0UmFuZG9uTnVtYmVyBQAAABJjYXJkUG9zaXRpb25DYXNpbm8JAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX3BsYXllckNhcmQFAAAACmNhcmRQbGF5ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAALX2Nh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b3VudAIAAAAkKSBkaWZmZXJlbnQgdG8gdGhlIGN1cnJlbnQgcGF5bWVudCAoCQABpAAAAAEFAAAAAXACAAAAASkEAAAADWF2YWlsYWJsZVByb3AJAAEsAAAAAgUAAAAFcm91bmQCAAAABV9kZWNrBAAAAAZhdkRlY2sJAQAAABBnZXRBdmFpbGFibGVEZWNrAAAAAgUAAAAEdGhpcwUAAAANYXZhaWxhYmxlUHJvcAQAAAALJHQwOTcxNDk4MjUJAQAAACVnZXRQbGF5ZXJDYXJkQW5kUG9zaXRpb25BbmRVcGRhdGVEZWNrAAAAAwUAAAABaQkAAaQAAAABBQAAAApyb3VuZFRvVXNlBQAAAAZhdkRlY2sEAAAAB2J1cm5lZDEIBQAAAAskdDA5NzE0OTgyNQAAAAJfMQQAAAAKYnVybmVkUG9zMQgFAAAACyR0MDk3MTQ5ODI1AAAAAl8yBAAAAAtidXJuZWREZWNrMQgFAAAACyR0MDk3MTQ5ODI1AAAAAl8zBAAAAAskdDA5ODM4OTk2NAkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADBQAAAAFpCQABLAAAAAIJAAGkAAAAAQUAAAAKcm91bmRUb1VzZQUAAAAHYnVybmVkMQUAAAALYnVybmVkRGVjazEEAAAAB2J1cm5lZDIIBQAAAAskdDA5ODM4OTk2NAAAAAJfMQQAAAAKYnVybmVkUG9zMggFAAAACyR0MDk4Mzg5OTY0AAAAAl8yBAAAAAtidXJuZWREZWNrMggFAAAACyR0MDk4Mzg5OTY0AAAAAl8zBAAAAAwkdDA5OTc3MTAxMDMJAQAAACVnZXRQbGF5ZXJDYXJkQW5kUG9zaXRpb25BbmRVcGRhdGVEZWNrAAAAAwUAAAABaQkAASwAAAACCQABpAAAAAEFAAAACnJvdW5kVG9Vc2UFAAAAB2J1cm5lZDIFAAAAC2J1cm5lZERlY2syBAAAAAdidXJuZWQzCAUAAAAMJHQwOTk3NzEwMTAzAAAAAl8xBAAAAApidXJuZWRQb3MzCAUAAAAMJHQwOTk3NzEwMTAzAAAAAl8yBAAAAAtidXJuZWREZWNrMwgFAAAADCR0MDk5NzcxMDEwMwAAAAJfMwQAAAANJHQwMTAxMTYxMDI0OQkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADBQAAAAFpCQABLAAAAAIJAAGkAAAAAQUAAAAKcm91bmRUb1VzZQUAAAAHYnVybmVkMwUAAAALYnVybmVkRGVjazMEAAAACmNhcmRQbGF5ZXIIBQAAAA0kdDAxMDExNjEwMjQ5AAAAAl8xBAAAABJjYXJkUG9zaXRpb25QbGF5ZXIIBQAAAA0kdDAxMDExNjEwMjQ5AAAAAl8yBAAAAAdhdkRlY2sxCAUAAAANJHQwMTAxMTYxMDI0OQAAAAJfMwQAAAANJHQwMTAyNjIxMDM5NAkBAAAAJWdldFBsYXllckNhcmRBbmRQb3NpdGlvbkFuZFVwZGF0ZURlY2sAAAADBQAAAAFpCQABLAAAAAIJAAGkAAAAAQUAAAAKcm91bmRUb1VzZQUAAAAKY2FyZFBsYXllcgUAAAAHYXZEZWNrMQQAAAAKY2FyZENhc2lubwgFAAAADSR0MDEwMjYyMTAzOTQAAAACXzEEAAAAEmNhcmRQb3NpdGlvbkNhc2lubwgFAAAADSR0MDEwMjYyMTAzOTQAAAACXzIEAAAAB2F2RGVjazIIBQAAAA0kdDAxMDI2MjEwMzk0AAAAAl8zAwkAAAAAAAACCQEAAAAMZ2V0Q2FyZFZhbHVlAAAAAQUAAAAKY2FyZFBsYXllcgkBAAAADGdldENhcmRWYWx1ZQAAAAEFAAAACmNhcmRDYXNpbm8EAAAADGN1cnJlbnREcmF3cwQAAAAHJG1hdGNoMAkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIFAAAABXJvdW5kAgAAAA1fZHJhd1NlcXVlbmNlAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAAAWEFAAAAByRtYXRjaDAJAABkAAAAAgUAAAABYQAAAAAAAAAAAQAAAAAAAAAAAAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1hdmFpbGFibGVQcm9wCQAEuQAAAAIFAAAAB2F2RGVjazIFAAAACXNlcGFyYXRvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAARX0xhc3RSYW5kb25OdW1iZXIFAAAAEmNhcmRQb3NpdGlvbkNhc2lubwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfcGxheWVyQ2FyZAUAAAAKY2FyZFBsYXllcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfY2FzaW5vQ2FyZAUAAAAKY2FyZENhc2lubwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAANX2RyYXdTZXF1ZW5jZQUAAAAMY3VycmVudERyYXdzBQAAAANuaWwDCQEAAAAOaXNQbGF5ZXJXaW5uZXIAAAACBQAAAApjYXJkUGxheWVyBQAAAApjYXJkQ2FzaW5vCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIFAAAADWF2YWlsYWJsZVByb3AJAAS5AAAAAgUAAAAHYXZEZWNrMgUAAAAJc2VwYXJhdG9yCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAABFfTGFzdFJhbmRvbk51bWJlcgUAAAASY2FyZFBvc2l0aW9uQ2FzaW5vCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAC19wbGF5ZXJDYXJkBQAAAApjYXJkUGxheWVyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgUAAAAFcm91bmQCAAAAC19jYXNpbm9DYXJkBQAAAApjYXJkQ2FzaW5vCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMIBQAAAAFpAAAABmNhbGxlcgkAAGQAAAACBQAAAAFwBQAAAAFmBQAAAAR1bml0CQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAVfc3RvcAYFAAAAA25pbAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACBQAAAA1hdmFpbGFibGVQcm9wCQAEuQAAAAIFAAAAB2F2RGVjazIFAAAACXNlcGFyYXRvcgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAARX0xhc3RSYW5kb25OdW1iZXIFAAAAEmNhcmRQb3NpdGlvbkNhc2lubwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfcGxheWVyQ2FyZAUAAAAKY2FyZFBsYXllcgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIFAAAABXJvdW5kAgAAAAtfY2FzaW5vQ2FyZAUAAAAKY2FyZENhc2lubwkABEwAAAACCQEAAAAMQm9vbGVhbkVudHJ5AAAAAgkAASwAAAACBQAAAAVyb3VuZAIAAAAFX3N0b3AGBQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleT7508k=", "height": 1837435, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: C4ZjhaLPsYA3FW1p2S1EZZnrTCLRdRy3t9kYJMg2LqAK Next: YCFKSAQy9xJwrcb625v9642tFQqdPnG3P2xQBf5wg8s Diff:
OldNewDifferences
126126 then {
127127 let currentDraws = 1
128128 if ((tieBet != 0))
129- then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), ScriptTransfer(i.caller, (((tieBet * 10) + tieBet) + i.fee), unit)]
129+ then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), ScriptTransfer(i.caller, (((tieBet * 10) + tieBet) + i.fee), unit), IntegerEntry((round + "_initialFee"), i.fee)]
130130 else [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee)]
131131 }
132132 else if (isPlayerWinner(cardPlayer, cardCasino))
187187 else {
188188 let availableProp = (round + "_deck")
189189 let avDeck = getAvailableDeck(this, availableProp)
190- let $t096549765 = getPlayerCardAndPositionAndUpdateDeck(i, toString(roundToUse), avDeck)
191- let burned1 = $t096549765._1
192- let burnedPos1 = $t096549765._2
193- let burnedDeck1 = $t096549765._3
194- let $t097789904 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned1), burnedDeck1)
195- let burned2 = $t097789904._1
196- let burnedPos2 = $t097789904._2
197- let burnedDeck2 = $t097789904._3
198- let $t0991710043 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned2), burnedDeck2)
199- let burned3 = $t0991710043._1
200- let burnedPos3 = $t0991710043._2
201- let burnedDeck3 = $t0991710043._3
202- let $t01005610189 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned3), burnedDeck3)
203- let cardPlayer = $t01005610189._1
204- let cardPositionPlayer = $t01005610189._2
205- let avDeck1 = $t01005610189._3
206- let $t01020210334 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + cardPlayer), avDeck1)
207- let cardCasino = $t01020210334._1
208- let cardPositionCasino = $t01020210334._2
209- let avDeck2 = $t01020210334._3
190+ let $t097149825 = getPlayerCardAndPositionAndUpdateDeck(i, toString(roundToUse), avDeck)
191+ let burned1 = $t097149825._1
192+ let burnedPos1 = $t097149825._2
193+ let burnedDeck1 = $t097149825._3
194+ let $t098389964 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned1), burnedDeck1)
195+ let burned2 = $t098389964._1
196+ let burnedPos2 = $t098389964._2
197+ let burnedDeck2 = $t098389964._3
198+ let $t0997710103 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned2), burnedDeck2)
199+ let burned3 = $t0997710103._1
200+ let burnedPos3 = $t0997710103._2
201+ let burnedDeck3 = $t0997710103._3
202+ let $t01011610249 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned3), burnedDeck3)
203+ let cardPlayer = $t01011610249._1
204+ let cardPositionPlayer = $t01011610249._2
205+ let avDeck1 = $t01011610249._3
206+ let $t01026210394 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + cardPlayer), avDeck1)
207+ let cardCasino = $t01026210394._1
208+ let cardPositionCasino = $t01026210394._2
209+ let avDeck2 = $t01026210394._3
210210 if ((getCardValue(cardPlayer) == getCardValue(cardCasino)))
211211 then {
212212 let currentDraws = match getInteger(this, (round + "_drawSequence")) {
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let separator = ","
55
66 let maxBet = 100000000
77
88 func getFee (key) = match getInteger(this, key) {
99 case n: Int =>
1010 n
1111 case _ =>
1212 throw("Initial fee cannot be found")
1313 }
1414
1515
1616 func getNewDeck () = ["01C", "02C", "03C", "04C", "05C", "06C", "07C", "08C", "09C", "10C", "11C", "12C", "13C", "01D", "02D", "03D", "04D", "05D", "06D", "07D", "08D", "09D", "10D", "11D", "12D", "13D", "01H", "02H", "03H", "04H", "05H", "06H", "07H", "08H", "09H", "10H", "11H", "12H", "13H", "01S", "02S", "03S", "04S", "05S", "06S", "07S", "08S", "09S", "10S", "11S", "12S", "13S"]
1717
1818
1919 func getSixNewDecks () = (((((getNewDeck() ++ getNewDeck()) ++ getNewDeck()) ++ getNewDeck()) ++ getNewDeck()) ++ getNewDeck())
2020
2121
2222 func getDeck (deck) = if ((0 >= size(deck)))
2323 then getSixNewDecks()
2424 else deck
2525
2626
2727 func getRandomNumber (i,salt1,salt2,answersCount) = {
2828 let generator = (toInt(sha256(((take(lastBlock.generationSignature, 16) + take(i.transactionId, 16)) + toBytes(salt1)))) % 17728)
2929 let index = (toInt(toBytes(pow(generator, 0, 2, 0, 0, HALFUP))) + toInt(toBytes(salt2)))
3030 let r = (index % answersCount)
3131 if ((0 > r))
3232 then ((-1 * r) + 1)
3333 else (r + 1)
3434 }
3535
3636
3737 func getPayments (i) = if ((size(i.payments) == 0))
3838 then throw("Payment must be attached")
3939 else if ((size(i.payments) == 1))
4040 then {
4141 let pmt = i.payments[0]
4242 if (isDefined(pmt.assetId))
4343 then throw("This function accepts WAVES tokens only (0)")
4444 else pmt.amount
4545 }
4646 else throw("There should be only one payment")
4747
4848
4949 func getCardValue (stringCard) = {
5050 let p = parseIntValue(take(stringCard, 2))
5151 if ((p == 1))
5252 then 20
5353 else p
5454 }
5555
5656
5757 func isPlayerWinner (cardPlayer,cardCasino) = {
5858 let p = getCardValue(cardPlayer)
5959 let o = getCardValue(cardCasino)
6060 (p > o)
6161 }
6262
6363
6464 func getAvailableDeck (this,availableProp) = if (isDefined(getString(this, availableProp)))
6565 then {
6666 let stringDeck = getStringValue(this, availableProp)
6767 let deck = split(stringDeck, separator)
6868 getDeck(deck)
6969 }
7070 else getSixNewDecks()
7171
7272
7373 func getPlayerCardAndPositionAndUpdateDeck (i,salt1,deck) = {
7474 let avDeck2 = getDeck(deck)
7575 let cardPosition = getRandomNumber(i, salt1, makeString(avDeck2, separator), size(avDeck2))
7676 let card = avDeck2[(cardPosition % size(avDeck2))]
7777 let avDeck3 = removeByIndex(avDeck2, (cardPosition % size(avDeck2)))
7878 $Tuple3(card, cardPosition, avDeck3)
7979 }
8080
8181
8282 func getCurrentRound (customRound,callerAddress) = if ((customRound == 0))
8383 then {
8484 let currentRound = match getInteger(this, (callerAddress + "_round")) {
8585 case a: Int =>
8686 a
8787 case _ =>
8888 throw("Unable to find the round")
8989 }
9090 currentRound
9191 }
9292 else customRound
9393
9494
9595 @Callable(i)
9696 func bet (normalBet,tieBet) = {
9797 let callerAddress = toBase58String(i.caller.bytes)
9898 let p = getPayments(i)
9999 let currentRound = match getInteger(this, (callerAddress + "_round")) {
100100 case a: Int =>
101101 (a + 1)
102102 case _ =>
103103 1
104104 }
105105 let round = ((callerAddress + "_") + toString(currentRound))
106106 if (isDefined(getBoolean(this, (round + "_stop"))))
107107 then throw("This round is already played")
108108 else if (isDefined(getString(this, round)))
109109 then throw("You cannot bet on this game")
110110 else if ((p != (normalBet + tieBet)))
111111 then throw("normal bet + tie bet should be equal to the payment")
112112 else if ((p > maxBet))
113113 then throw(("The bet needs to be lower or equal than " + toString(maxBet)))
114114 else {
115115 let availableProp = (round + "_deck")
116116 let avDeck = getAvailableDeck(this, availableProp)
117117 let $t041794299 = getPlayerCardAndPositionAndUpdateDeck(i, toString(currentRound), avDeck)
118118 let cardPlayer = $t041794299._1
119119 let cardPositionPlayer = $t041794299._2
120120 let avDeck1 = $t041794299._3
121121 let $t043044425 = getPlayerCardAndPositionAndUpdateDeck(i, toString(currentRound), avDeck1)
122122 let cardCasino = $t043044425._1
123123 let cardPositionCasino = $t043044425._2
124124 let avDeck2 = $t043044425._3
125125 if ((getCardValue(cardPlayer) == getCardValue(cardCasino)))
126126 then {
127127 let currentDraws = 1
128128 if ((tieBet != 0))
129- then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), ScriptTransfer(i.caller, (((tieBet * 10) + tieBet) + i.fee), unit)]
129+ then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), ScriptTransfer(i.caller, (((tieBet * 10) + tieBet) + i.fee), unit), IntegerEntry((round + "_initialFee"), i.fee)]
130130 else [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((callerAddress + "_round"), currentRound), BooleanEntry(round, true), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee)]
131131 }
132132 else if (isPlayerWinner(cardPlayer, cardCasino))
133133 then [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee), ScriptTransfer(i.caller, (normalBet + i.fee), unit), BooleanEntry((round + "_stop"), true)]
134134 else [StringEntry(availableProp, makeString(avDeck2, separator)), BooleanEntry(round, true), IntegerEntry((callerAddress + "_round"), currentRound), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_betAmount"), normalBet), IntegerEntry((round + "_initialFee"), i.fee), BooleanEntry((round + "_stop"), true)]
135135 }
136136 }
137137
138138
139139
140140 @Callable(i)
141141 func surrender (customRound) = {
142142 let callerAddress = toBase58String(i.caller.bytes)
143143 let roundToUse = getCurrentRound(customRound, callerAddress)
144144 let round = ((callerAddress + "_") + toString(roundToUse))
145145 if (!(isDefined(getBoolean(this, round))))
146146 then throw("This round is not played")
147147 else if (isDefined(getBoolean(this, (round + "_stop"))))
148148 then throw("This round is already played")
149149 else if (!(isDefined(getInteger(this, (round + "_drawSequence")))))
150150 then throw("This game is not on war")
151151 else {
152152 let betAmount = match getInteger(this, (round + "_betAmount")) {
153153 case a: Int =>
154154 a
155155 case _ =>
156156 throw("Unable to find original bet amount")
157157 }
158158 let f = getFee((round + "_initialFee"))
159159 [ScriptTransfer(i.caller, ((betAmount / 2) + f), unit), BooleanEntry((round + "_stop"), true)]
160160 }
161161 }
162162
163163
164164
165165 @Callable(i)
166166 func goToWar (customRound) = {
167167 let callerAddress = toBase58String(i.caller.bytes)
168168 let roundToUse = getCurrentRound(customRound, callerAddress)
169169 let round = ((callerAddress + "_") + toString(roundToUse))
170170 if (!(isDefined(getBoolean(this, round))))
171171 then throw("This round is not played")
172172 else if (isDefined(getBoolean(this, (round + "_stop"))))
173173 then throw("This round is already played")
174174 else if (!(isDefined(getInteger(this, (round + "_drawSequence")))))
175175 then throw("This game is not on war")
176176 else {
177177 let betAmount = match getInteger(this, (round + "_betAmount")) {
178178 case a: Int =>
179179 a
180180 case _ =>
181181 throw("Unable to find original bet amount")
182182 }
183183 let p = getPayments(i)
184184 let f = getFee((round + "_initialFee"))
185185 if ((p != betAmount))
186186 then throw((((("original bet amount (" + toString(betAmount)) + ") different to the current payment (") + toString(p)) + ")"))
187187 else {
188188 let availableProp = (round + "_deck")
189189 let avDeck = getAvailableDeck(this, availableProp)
190- let $t096549765 = getPlayerCardAndPositionAndUpdateDeck(i, toString(roundToUse), avDeck)
191- let burned1 = $t096549765._1
192- let burnedPos1 = $t096549765._2
193- let burnedDeck1 = $t096549765._3
194- let $t097789904 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned1), burnedDeck1)
195- let burned2 = $t097789904._1
196- let burnedPos2 = $t097789904._2
197- let burnedDeck2 = $t097789904._3
198- let $t0991710043 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned2), burnedDeck2)
199- let burned3 = $t0991710043._1
200- let burnedPos3 = $t0991710043._2
201- let burnedDeck3 = $t0991710043._3
202- let $t01005610189 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned3), burnedDeck3)
203- let cardPlayer = $t01005610189._1
204- let cardPositionPlayer = $t01005610189._2
205- let avDeck1 = $t01005610189._3
206- let $t01020210334 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + cardPlayer), avDeck1)
207- let cardCasino = $t01020210334._1
208- let cardPositionCasino = $t01020210334._2
209- let avDeck2 = $t01020210334._3
190+ let $t097149825 = getPlayerCardAndPositionAndUpdateDeck(i, toString(roundToUse), avDeck)
191+ let burned1 = $t097149825._1
192+ let burnedPos1 = $t097149825._2
193+ let burnedDeck1 = $t097149825._3
194+ let $t098389964 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned1), burnedDeck1)
195+ let burned2 = $t098389964._1
196+ let burnedPos2 = $t098389964._2
197+ let burnedDeck2 = $t098389964._3
198+ let $t0997710103 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned2), burnedDeck2)
199+ let burned3 = $t0997710103._1
200+ let burnedPos3 = $t0997710103._2
201+ let burnedDeck3 = $t0997710103._3
202+ let $t01011610249 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + burned3), burnedDeck3)
203+ let cardPlayer = $t01011610249._1
204+ let cardPositionPlayer = $t01011610249._2
205+ let avDeck1 = $t01011610249._3
206+ let $t01026210394 = getPlayerCardAndPositionAndUpdateDeck(i, (toString(roundToUse) + cardPlayer), avDeck1)
207+ let cardCasino = $t01026210394._1
208+ let cardPositionCasino = $t01026210394._2
209+ let avDeck2 = $t01026210394._3
210210 if ((getCardValue(cardPlayer) == getCardValue(cardCasino)))
211211 then {
212212 let currentDraws = match getInteger(this, (round + "_drawSequence")) {
213213 case a: Int =>
214214 (a + 1)
215215 case _ =>
216216 0
217217 }
218218 [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), IntegerEntry((round + "_drawSequence"), currentDraws)]
219219 }
220220 else if (isPlayerWinner(cardPlayer, cardCasino))
221221 then [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), ScriptTransfer(i.caller, (p + f), unit), BooleanEntry((round + "_stop"), true)]
222222 else [StringEntry(availableProp, makeString(avDeck2, separator)), IntegerEntry((round + "_LastRandonNumber"), cardPositionCasino), StringEntry((round + "_playerCard"), cardPlayer), StringEntry((round + "_casinoCard"), cardCasino), BooleanEntry((round + "_stop"), true)]
223223 }
224224 }
225225 }
226226
227227
228228 @Verifier(tx)
229229 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
230230

github/deemru/w8io/026f985 
57.44 ms