tx · 6GPk8LdzNUi3aFhmJXk5AzP8MrTLW3rC85r3EdSCfwLf

3NCCNgEjGtWKLt78jWc9DiA3Jd2jmfg7BZX:  -0.10000000 Waves

2022.01.11 02:08 [1873482] smart account 3NCCNgEjGtWKLt78jWc9DiA3Jd2jmfg7BZX > SELF 0.00000000 Waves

{ "type": 13, "id": "6GPk8LdzNUi3aFhmJXk5AzP8MrTLW3rC85r3EdSCfwLf", "fee": 10000000, "feeAssetId": null, "timestamp": 1641856125789, "version": 2, "chainId": 84, "sender": "3NCCNgEjGtWKLt78jWc9DiA3Jd2jmfg7BZX", "senderPublicKey": "AcdhXSF5aWK6Lmdtv3cyCZ7vehbxsNNGagWCd2FpZo1M", "proofs": [ "dddT5z1PmxVMyujM852hhyKBbKQm9xwUjxErnJsHyt7emgEaX6ifZuU7BmjxeuNRDWaMUE3rhf7AiTbZNeNr6Vb" ], "script": "base64:AAIFAAAAAAAAAAsIAhIHCgUBCAgICAAAAA0AAAAAE2dhbWVNYXN0ZXJQdWJsaWNLZXkBAAAAII7aAYnfMD7gZVerMaAkYKcwRu1eD/5qVOlJG6BHgKd8AAAAABZzZXR1cEdhbWVzQ291bnRlckxhYmVsAgAAABNHX1NFVFVQR0FNRVNDT1VOVEVSAAAAABV1c2VkR2FtZXNDb3VudGVyTGFiZWwCAAAAEkdfVVNFREdBTUVTQ09VTlRFUgAAAAAQZGVhbGVyUXVldWVMYWJlbAIAAAANR19ERUFMRVJRVUVVRQAAAAAPZ2FtZU1heEJldExhYmVsAgAAAAhHX01BWEJFVAEAAAAUZ2FtZXNTZXR1cEdldENvdW50ZXIAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAFnNldHVwR2FtZXNDb3VudGVyTGFiZWwBAAAAE2dhbWVzVXNlZEdldENvdW50ZXIAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAFXVzZWRHYW1lc0NvdW50ZXJMYWJlbAEAAAAPY2hlY2tQZXJtaXNzaW9uAAAAAQAAAA9jYWxsZXJQdWJsaWNLZXkJAQAAAAIhPQAAAAIFAAAAD2NhbGxlclB1YmxpY0tleQUAAAATZ2FtZU1hc3RlclB1YmxpY0tleQEAAAAaZ2V0R2FtZUNhcmRzU2lnbmF0dXJlTGFiZWwAAAACAAAACmdhbWVOdW1iZXIAAAAEY2FyZAkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAKZ2FtZU51bWJlcgIAAAAPX0NBUkRTSUdOQVRVUkVfCQABpAAAAAEFAAAABGNhcmQBAAAAEWdldEdhbWVDYXJkc0xhYmVsAAAAAgAAAApnYW1lTnVtYmVyAAAABGNhcmQJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAACmdhbWVOdW1iZXICAAAABl9DQVJEXwkAAaQAAAABBQAAAARjYXJkAQAAABFnZXRHYW1lU3RhdGVMYWJlbAAAAAEAAAAKZ2FtZU51bWJlcgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAACmdhbWVOdW1iZXICAAAABl9TVEFURQEAAAAaZ2V0R2FtZVNodWZmZWxPZmZlc2V0TGFiZWwAAAABAAAACmdhbWVOdW1iZXIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAApnYW1lTnVtYmVyAgAAAAdfT0ZGU0VUAQAAAAxnZXRHYW1lU2V0dXAAAAADAAAACmdhbWVOdW1iZXIAAAAKcmFuZG9taXplcgAAAAZjYXJkczAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFnNldHVwR2FtZXNDb3VudGVyTGFiZWwFAAAACmdhbWVOdW1iZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABFnZXRHYW1lU3RhdGVMYWJlbAAAAAEFAAAACmdhbWVOdW1iZXIAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABpnZXRHYW1lU2h1ZmZlbE9mZmVzZXRMYWJlbAAAAAEFAAAACmdhbWVOdW1iZXIFAAAACnJhbmRvbWl6ZXIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAGmdldEdhbWVDYXJkc1NpZ25hdHVyZUxhYmVsAAAAAgUAAAAKZ2FtZU51bWJlcgAAAAAAAAAAAAUAAAAGY2FyZHMwBQAAAANuaWwAAAABAAAAAWkBAAAACXNldHVwR2FtZQAAAAUAAAAKZ2FtZU51bWJlcgAAAAZjYXJkczAAAAAGY2FyZHMxAAAABmNhcmRzMgAAAAZjYXJkczMDCQEAAAAPY2hlY2tQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAEnNldHVwR2FtZV9GT1JCSURFTgQAAAAHJG1hdGNoMAkBAAAAFGdhbWVzU2V0dXBHZXRDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAABFTRVRVUEdBTUVTQ09VTlRFUgUAAAAHJG1hdGNoMAQAAAAKcmFuZG9taXplcgkAAGoAAAACCQAEsQAAAAEJAAH3AAAAAQkAAMsAAAACCQAAyQAAAAIIBQAAAAlsYXN0QmxvY2sAAAATZ2VuZXJhdGlvblNpZ25hdHVyZQAAAAAAAAAAEAkAAMkAAAACCAUAAAABaQAAAA10cmFuc2FjdGlvbklkAAAAAAAAAAAQAAAAAAAAAAACBAAAAAtjdXJyZW50R2FtZQkAAGQAAAACBQAAABFTRVRVUEdBTUVTQ09VTlRFUgAAAAAAAAAAAQMJAQAAAAIhPQAAAAIFAAAACmdhbWVOdW1iZXIFAAAAC2N1cnJlbnRHYW1lCQAAAgAAAAECAAAAEldyb25nIGdhbWUgbnVtYmVyLgkBAAAADGdldEdhbWVTZXR1cAAAAAMFAAAAC2N1cnJlbnRHYW1lBQAAAApyYW5kb21pemVyBQAAAAZjYXJkczAJAAACAAAAAQIAAAARSW5pdEdhbWUgUmVxdWlyZWQAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleSP4HTE=", "height": 1873482, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: J1zL9F7o8eLimpCUN1sdKo79YSYeqtVWTcE5S7V4w4t6 Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 5 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let gameMasterPublicKey = base58'AcdhXSF5aWK6Lmdtv3cyCZ7vehbxsNNGagWCd2FpZo1M'
5+
6+let setupGamesCounterLabel = "G_SETUPGAMESCOUNTER"
7+
8+let usedGamesCounterLabel = "G_USEDGAMESCOUNTER"
9+
10+let dealerQueueLabel = "G_DEALERQUEUE"
11+
12+let gameMaxBetLabel = "G_MAXBET"
13+
14+func gamesSetupGetCounter () = getInteger(this, setupGamesCounterLabel)
15+
16+
17+func gamesUsedGetCounter () = getInteger(this, usedGamesCounterLabel)
18+
19+
20+func checkPermission (callerPublicKey) = (callerPublicKey != gameMasterPublicKey)
21+
22+
23+func getGameCardsSignatureLabel (gameNumber,card) = ((("G_" + toString(gameNumber)) + "_CARDSIGNATURE_") + toString(card))
24+
25+
26+func getGameCardsLabel (gameNumber,card) = ((("G_" + toString(gameNumber)) + "_CARD_") + toString(card))
27+
28+
29+func getGameStateLabel (gameNumber) = (("G_" + toString(gameNumber)) + "_STATE")
30+
31+
32+func getGameShuffelOffesetLabel (gameNumber) = (("G_" + toString(gameNumber)) + "_OFFSET")
33+
34+
35+func getGameSetup (gameNumber,randomizer,cards0) = [IntegerEntry(setupGamesCounterLabel, gameNumber), IntegerEntry(getGameStateLabel(gameNumber), 0), IntegerEntry(getGameShuffelOffesetLabel(gameNumber), randomizer), StringEntry(getGameCardsSignatureLabel(gameNumber, 0), cards0)]
36+
37+
38+@Callable(i)
39+func setupGame (gameNumber,cards0,cards1,cards2,cards3) = if (checkPermission(i.callerPublicKey))
40+ then throw("setupGame_FORBIDEN")
41+ else match gamesSetupGetCounter() {
42+ case SETUPGAMESCOUNTER: Int =>
43+ let randomizer = (toInt(sha256((take(lastBlock.generationSignature, 16) + take(i.transactionId, 16)))) % 2)
44+ let currentGame = (SETUPGAMESCOUNTER + 1)
45+ if ((gameNumber != currentGame))
46+ then throw("Wrong game number.")
47+ else getGameSetup(currentGame, randomizer, cards0)
48+ case _ =>
49+ throw("InitGame Required")
50+ }
51+
52+
53+@Verifier(tx)
54+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
55+

github/deemru/w8io/169f3d6 
14.45 ms