tx · E1xPWZMT62FyGdL5jkxPpgstYbqivbsLYmo9Ttpec3R1

3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ:  -0.01400000 Waves

2021.05.12 16:29 [1522517] smart account 3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ > SELF 0.00000000 Waves

{ "type": 13, "id": "E1xPWZMT62FyGdL5jkxPpgstYbqivbsLYmo9Ttpec3R1", "fee": 1400000, "feeAssetId": null, "timestamp": 1620826208516, "version": 1, "sender": "3MpdJJV3WyZufiGHRtb7xbY2Vsc2pBFcJYZ", "senderPublicKey": "ALG9JVGNn9aCL68dbg1AmW6yDQv1b8EDLq99pQS8L1k6", "proofs": [ "5pcbNaCQMESv9B8z8Qb6pDanegSn6qwEDq9qWyd9mWqFPqsdWEZc3BYUTTzEtGtvTpv6BKLXYFV2tNqbWeeQXpz3" ], "script": "base64:AAIEAAAAAAAAAAkIAhIAEgMKAQgAAAATAAAAABNnYW1lTWFzdGVyUHVibGljS2V5AQAAACCKqFcQ1VSNQa7ZONz4ZD59H7wLfuowVwcQ1qI/fK6ACwAAAAAKZGljZU51bWJlcgkABEwAAAACAAAAAAAAAAABCQAETAAAAAIAAAAAAAAAAAIJAARMAAAAAgAAAAAAAAAAAwkABEwAAAACAAAAAAAAAAAECQAETAAAAAIAAAAAAAAAAAUJAARMAAAAAgAAAAAAAAAABgkABEwAAAACAAAAAAAAAAAHCQAETAAAAAIAAAAAAAAAAAgFAAAAA25pbAAAAAAJZ2FtZVRva2VuAQAAACCvQNOoGbkt3wVk9kpr+yD9dOUY7LBdGNCbLK5MVkSodQAAAAAJR0FNRVNUQVJUAAAAAAAAAAAAAAAAAA5HQU1FSU5QUk9HUkVTUwAAAAAAAAAAAQAAAAAMR0FNRUZJTklTSEVEAAAAAAAAAAACAAAAABBnYW1lQ291bnRlckxhYmVsAgAAAA1HX0dBTUVDT1VOVEVSAAAAABBnYW1lUGFzc0JldExhYmVsAgAAAAtCX1BBU1NCRVRTXwAAAAAVZ2FtZUN1cnJlbnRQb2ludExhYmFsAgAAAA9HX0N1cnJlbnRQb2ludF8AAAAAEGxhc3RSb2xsZWROdW1iZXIAAAAAAAAAAAABAAAAE2F1dGhvcml6ZVBlcm1pc3Npb24AAAABAAAAD2NhbGxlclB1YmxpY0tleQkBAAAAAiE9AAAAAgUAAAAPY2FsbGVyUHVibGljS2V5BQAAABNnYW1lTWFzdGVyUHVibGljS2V5AQAAAA5nYW1lU3RhdGVMYWJlbAAAAAEAAAALZ2FtZUNvdW50ZXIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAtnYW1lQ291bnRlcgIAAAAGX1NUQVRFAQAAAA9nYW1lU3VtU2hhTGFiZWwAAAABAAAAC2dhbWVDb3VudGVyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAtnYW1lQ291bnRlcgIAAAABXwIAAAAHX1NVTVNIQQEAAAAUZ2FtZVN0YXJ0SGVpZ2h0TGFiZWwAAAABAAAAC2dhbWVDb3VudGVyCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAtnYW1lQ291bnRlcgIAAAABXwIAAAAMX1NUQVJUSEVJR0hUAQAAAAxnZXRHYW1lU3RhdGUAAAABAAAAC2dhbWVDb3VudGVyCQAEGgAAAAIFAAAABHRoaXMJAQAAAA5nYW1lU3RhdGVMYWJlbAAAAAEFAAAAC2dhbWVDb3VudGVyAQAAAA1nZXRHYW1lU3VtU2hhAAAAAQAAAAtnYW1lQ291bnRlcgkABB0AAAACBQAAAAR0aGlzCQEAAAAPZ2FtZVN1bVNoYUxhYmVsAAAAAQUAAAALZ2FtZUNvdW50ZXIBAAAADmdldFN0YXJ0SGVpZ2h0AAAAAQAAAAtnYW1lQ291bnRlcgkABBoAAAACBQAAAAR0aGlzCQEAAAAUZ2FtZVN0YXJ0SGVpZ2h0TGFiZWwAAAABBQAAAAtnYW1lQ291bnRlcgEAAAASZ2V0Q3JhcEdhbWVDb3VudGVyAAAAAAkABBoAAAACBQAAAAR0aGlzBQAAABBnYW1lQ291bnRlckxhYmVsAQAAABVnZXRSYW5kb21JbmRleEZvckRpY2UAAAABAAAACnJhbmRvbUhhc2gJAAGRAAAAAgUAAAAKZGljZU51bWJlcgkAAGoAAAACCQAEsQAAAAEFAAAACnJhbmRvbUhhc2gAAAAAAAAAAAgAAAACAAAAAWkBAAAACGluaXRHYW1lAAAAAAMJAQAAABNhdXRob3JpemVQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAEmluaXRHYW1lX0ZPUkJJRERFTgQAAAAHJG1hdGNoMAkBAAAAEmdldENyYXBHYW1lQ291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAHY291bnRlcgUAAAAHJG1hdGNoMAkAAAIAAAABAgAAABFJTklUX0FMUkVBRFlfRE9ORQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQZ2FtZUNvdW50ZXJMYWJlbAAAAAAAAAAAAAUAAAADbmlsAAAAAWkBAAAACXN0YXJ0R2FtZQAAAAEAAAAKcmFuZG9tSGFzaAMJAQAAABNhdXRob3JpemVQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAE3N0YXJ0R2FtZV9GT1JCSURERU4EAAAAByRtYXRjaDAJAQAAABJnZXRDcmFwR2FtZUNvdW50ZXIAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAABm51bWJlcgUAAAAHJG1hdGNoMAQAAAAJbmV3TnVtYmVyCQAAZAAAAAIFAAAABm51bWJlcgAAAAAAAAAAAQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAQZ2FtZUNvdW50ZXJMYWJlbAUAAAAJbmV3TnVtYmVyCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOZ2FtZVN0YXRlTGFiZWwAAAABBQAAAAluZXdOdW1iZXIAAAAAAAAAAAAJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAABRnYW1lU3RhcnRIZWlnaHRMYWJlbAAAAAEFAAAACW5ld051bWJlcggFAAAACWxhc3RCbG9jawAAAAZoZWlnaHQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkBAAAAD2dhbWVTdW1TaGFMYWJlbAAAAAEFAAAABm51bWJlcgkAAlgAAAABCQAB9wAAAAEJAAJbAAAAAQUAAAAKcmFuZG9tSGFzaAUAAAADbmlsCQAAAgAAAAECAAAACUlOSVRfTkVFRAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAEAAAAByRtYXRjaDAFAAAAAnR4CQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleUbBY7I=", "chainId": 84, "height": 1522517, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3xoaxH8BrrwrnMmb1geJUsZ7eDLzfPRoN6VaqvpyT3v8 Next: GVw6cUKwdLsumiooAo9Mw1wpWB1G8dKTfymStxhKcNyP 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/873ac7e 
41.82 ms