tx · AYHJCtjrkDmKayipE3mpzwyVBJw6SWBu1hmVZx4jpJUH

3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ:  -0.01400000 Waves

2021.05.12 16:54 [1522542] smart account 3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ > SELF 0.00000000 Waves

{ "type": 13, "id": "AYHJCtjrkDmKayipE3mpzwyVBJw6SWBu1hmVZx4jpJUH", "fee": 1400000, "feeAssetId": null, "timestamp": 1620827760853, "version": 1, "sender": "3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ", "senderPublicKey": "ALG9JVGNn9aCL68dbg1AmW6yDQv1b8EDLq99pQS8L1k6", "proofs": [ "59FLyc9giv9HnuCKjX1M5FNHKMgoYMVK7pin7ZsutgJjgBgFxp31qUqiSs1Br4Hcv3TrTfyuQF4xeZnuiiiWqN4y" ], "script": "base64:AAIEAAAAAAAAAAkIAhIAEgMKAQgAAAATAAAAABNnYW1lTWFzdGVyUHVibGljS2V5AQAAACCKqFcQ1VSNQa7ZONz4ZD59H7wLfuowVwcQ1qI/fK6ACwAAAAAKZGljZU51bWJlcgkABEwAAAACAAAAAAAAAAABCQAETAAAAAIAAAAAAAAAAAIJAARMAAAAAgAAAAAAAAAAAwkABEwAAAACAAAAAAAAAAAECQAETAAAAAIAAAAAAAAAAAUJAARMAAAAAgAAAAAAAAAABgkABEwAAAACAAAAAAAAAAAHCQAETAAAAAIAAAAAAAAAAAgFAAAAA25pbAAAAAAJZ2FtZVRva2VuAQAAACCvQNOoGbkt3wVk9kpr+yD9dOUY7LBdGNCbLK5MVkSodQAAAAAJR0FNRVNUQVJUAAAAAAAAAAAAAAAAAA5HQU1FSU5QUk9HUkVTUwAAAAAAAAAAAQAAAAAMR0FNRUZJTklTSEVEAAAAAAAAAAACAAAAABBnYW1lQ291bnRlckxhYmVsAgAAAA1HX0dBTUVDT1VOVEVSAAAAABBnYW1lUGFzc0JldExhYmVsAgAAAAtCX1BBU1NCRVRTXwAAAAAVZ2FtZUN1cnJlbnRQb2ludExhYmFsAgAAAA9HX0N1cnJlbnRQb2ludF8AAAAAEGxhc3RSb2xsZWROdW1iZXIAAAAAAAAAAAABAAAAE2F1dGhvcml6ZVBlcm1pc3Npb24AAAABAAAAD2NhbGxlclB1YmxpY0tleQkBAAAAAiE9AAAAAgUAAAAPY2FsbGVyUHVibGljS2V5BQAAABNnYW1lTWFzdGVyUHVibGljS2V5AQAAAA5nYW1lU3RhdGVMYWJlbAAAAAEAAAALZ2FtZUNvdW50ZXIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAtnYW1lQ291bnRlcgIAAAAGX1NUQVRFAQAAAA9nYW1lU3VtU2hhTGFiZWwAAAABAAAAC2dhbWVDb3VudGVyCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAALZ2FtZUNvdW50ZXICAAAAB19TVU1TSEEBAAAAFGdhbWVTdGFydEhlaWdodExhYmVsAAAAAQAAAAtnYW1lQ291bnRlcgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAAC2dhbWVDb3VudGVyAgAAAAxfU1RBUlRIRUlHSFQBAAAADGdldEdhbWVTdGF0ZQAAAAEAAAALZ2FtZUNvdW50ZXIJAAQaAAAAAgUAAAAEdGhpcwkBAAAADmdhbWVTdGF0ZUxhYmVsAAAAAQUAAAALZ2FtZUNvdW50ZXIBAAAADWdldEdhbWVTdW1TaGEAAAABAAAAC2dhbWVDb3VudGVyCQAEHQAAAAIFAAAABHRoaXMJAQAAAA9nYW1lU3VtU2hhTGFiZWwAAAABBQAAAAtnYW1lQ291bnRlcgEAAAAOZ2V0U3RhcnRIZWlnaHQAAAABAAAAC2dhbWVDb3VudGVyCQAEGgAAAAIFAAAABHRoaXMJAQAAABRnYW1lU3RhcnRIZWlnaHRMYWJlbAAAAAEFAAAAC2dhbWVDb3VudGVyAQAAABJnZXRDcmFwR2FtZUNvdW50ZXIAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAEGdhbWVDb3VudGVyTGFiZWwBAAAAFWdldFJhbmRvbUluZGV4Rm9yRGljZQAAAAEAAAAKcmFuZG9tSGFzaAkAAZEAAAACBQAAAApkaWNlTnVtYmVyCQAAagAAAAIJAASxAAAAAQUAAAAKcmFuZG9tSGFzaAAAAAAAAAAACAAAAAIAAAABaQEAAAAIaW5pdEdhbWUAAAAAAwkBAAAAE2F1dGhvcml6ZVBlcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAASaW5pdEdhbWVfRk9SQklEREVOBAAAAAckbWF0Y2gwCQEAAAASZ2V0Q3JhcEdhbWVDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAdjb3VudGVyBQAAAAckbWF0Y2gwCQAAAgAAAAECAAAAEUlOSVRfQUxSRUFEWV9ET05FCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBnYW1lQ291bnRlckxhYmVsAAAAAAAAAAAABQAAAANuaWwAAAABaQEAAAAJc3RhcnRHYW1lAAAAAQAAAApyYW5kb21IYXNoAwkBAAAAE2F1dGhvcml6ZVBlcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAATc3RhcnRHYW1lX0ZPUkJJRERFTgQAAAAHJG1hdGNoMAkBAAAAEmdldENyYXBHYW1lQ291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAGbnVtYmVyBQAAAAckbWF0Y2gwBAAAAAluZXdOdW1iZXIJAABkAAAAAgUAAAAGbnVtYmVyAAAAAAAAAAABCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABBnYW1lQ291bnRlckxhYmVsBQAAAAluZXdOdW1iZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA5nYW1lU3RhdGVMYWJlbAAAAAEFAAAACW5ld051bWJlcgAAAAAAAAAAAAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAAFGdhbWVTdGFydEhlaWdodExhYmVsAAAAAQUAAAAJbmV3TnVtYmVyCAUAAAAJbGFzdEJsb2NrAAAABmhlaWdodAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQEAAAAPZ2FtZVN1bVNoYUxhYmVsAAAAAQUAAAAGbnVtYmVyCQACWAAAAAEJAAH3AAAAAQkAAlsAAAABBQAAAApyYW5kb21IYXNoBQAAAANuaWwJAAACAAAAAQIAAAAJSU5JVF9ORUVEAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5gre/Vg==", "chainId": 84, "height": 1522542, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: GVw6cUKwdLsumiooAo9Mw1wpWB1G8dKTfymStxhKcNyP Next: HgxkfKtAPQR5ptLw4nDuSadFnPqEiEs1Vm2BrY8d2ys9 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let gameMasterPublicKey = base58'ALG9JVGNn9aCL68dbg1AmW6yDQv1b8EDLq99pQS8L1k6'
55
66 let diceNumber = [1, 2, 3, 4, 5, 6, 7, 8]
77
88 let gameToken = base58'Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8'
99
1010 let GAMESTART = 0
1111
1212 let GAMEINPROGRESS = 1
1313
1414 let GAMEFINISHED = 2
1515
1616 let gameCounterLabel = "G_GAMECOUNTER"
1717
1818 let gamePassBetLabel = "B_PASSBETS_"
1919
2020 let gameCurrentPointLabal = "G_CurrentPoint_"
2121
2222 let lastRolledNumber = 0
2323
2424 func authorizePermission (callerPublicKey) = (callerPublicKey != gameMasterPublicKey)
2525
2626
2727 func gameStateLabel (gameCounter) = (("G_" + toString(gameCounter)) + "_STATE")
2828
2929
3030 func gameSumShaLabel (gameCounter) = (("G_" + toString(gameCounter)) + "_SUMSHA")
3131
3232
3333 func gameStartHeightLabel (gameCounter) = (("G_" + toString(gameCounter)) + "_STARTHEIGHT")
3434
3535
3636 func getGameState (gameCounter) = getInteger(this, gameStateLabel(gameCounter))
3737
3838
3939 func getGameSumSha (gameCounter) = getString(this, gameSumShaLabel(gameCounter))
4040
4141
4242 func getStartHeight (gameCounter) = getInteger(this, gameStartHeightLabel(gameCounter))
4343
4444
4545 func getCrapGameCounter () = getInteger(this, gameCounterLabel)
4646
4747
4848 func getRandomIndexForDice (randomHash) = diceNumber[(toInt(randomHash) % 8)]
4949
5050
5151 @Callable(i)
5252 func initGame () = if (authorizePermission(i.callerPublicKey))
5353 then throw("initGame_FORBIDDEN")
5454 else match getCrapGameCounter() {
5555 case counter: Int =>
5656 throw("INIT_ALREADY_DONE")
5757 case _ =>
5858 [IntegerEntry(gameCounterLabel, 0)]
5959 }
6060
6161
6262
6363 @Callable(i)
6464 func startGame (randomHash) = if (authorizePermission(i.callerPublicKey))
6565 then throw("startGame_FORBIDDEN")
6666 else match getCrapGameCounter() {
6767 case number: Int =>
6868 let newNumber = (number + 1)
6969 [IntegerEntry(gameCounterLabel, newNumber), IntegerEntry(gameStateLabel(newNumber), 0), IntegerEntry(gameStartHeightLabel(newNumber), lastBlock.height), StringEntry(gameSumShaLabel(number), toBase58String(sha256(fromBase64String(randomHash))))]
7070 case _ =>
7171 throw("INIT_NEED")
7272 }
7373
7474
7575 @Verifier(tx)
7676 func verify () = match tx {
7777 case _ =>
7878 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
7979 }
8080

github/deemru/w8io/169f3d6 
24.72 ms