tx · 4DGF2ai8JT6PzMuunEA9zYVBmpmQa8WvoCUxvzcFJGSB

3N3UmzKXACreLX3MxuUSf1zKdxC6GjE8wHD:  -0.01401000 Waves

2021.06.04 02:55 [1554872] smart account 3N3UmzKXACreLX3MxuUSf1zKdxC6GjE8wHD > SELF 0.00000000 Waves

{ "type": 13, "id": "4DGF2ai8JT6PzMuunEA9zYVBmpmQa8WvoCUxvzcFJGSB", "fee": 1401000, "feeAssetId": null, "timestamp": 1622764585548, "version": 2, "chainId": 84, "sender": "3N3UmzKXACreLX3MxuUSf1zKdxC6GjE8wHD", "senderPublicKey": "Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8", "proofs": [ "5J1XPEXcMFmx2VzffkPCyrto13bDQewygUTXpdsnedMUzxJNTWJzonU4GNjX9KYgMEPT9kqeEtJTiBzauFSmZkMM" ], "script": "base64:AAIEAAAAAAAAABAIAhIFCgMIAQESBQoDAQEIAAAADwAAAAAJR0FNRVNUQVJUAAAAAAAAAAAAAAAAAA5HQU1FSU5QUk9HUkVTUwAAAAAAAAAAAQAAAAAMR0FNRUZJTklTSEVEAAAAAAAAAAACAAAAABZCTE9DS1RPUFJPQ0VTU0ZPUlRIUk9XAAAAAAAAAAABAAAAAAtQQVNTTElORUJFVAIAAAALUEFTU0xJTkVCRVQAAAAAD0RPTlRQQVNTTElORUJFVAIAAAAPRE9OVFBBU1NMSU5FQkVUAAAAAAdDT01FQkVUAgAAAAdDT01FQkVUAAAAAAtET05UQ09NRUJFVAIAAAALRE9OVENPTUVCRVQAAAAACEZJRUxEQkVUAgAAAAhGSUVMREJFVAAAAAAHT0REU0JFVAIAAAAHT0REU0JFVAAAAAAKQklHNk9SOEJFVAIAAAAKQklHNk9SOEJFVAAAAAALUExBQ0VCRVRCVVkCAAAAC1BMQUNFQkVUQlVZAAAAAAxQTEFDRUJFVExPU0UCAAAADFBMQUNFQkVUTE9TRQAAAAALUExBQ0VCRVRMQVkCAAAAC1BMQUNFQkVUTEFZAAAAAAtQTEFDRUJFVFdJTgIAAAALUExBQ0VCRVRXSU4AAAACAAAAAWkBAAAAEGdldFdpbm5pbmdBbW91bnQAAAADAAAACmJldERldGFpbHMAAAANcmVzdWx0T2ZSb3VuZAAAAAVyb3VuZAQAAAAHYmV0VHlwZQkAAZEAAAACCQAEtQAAAAIFAAAACmJldERldGFpbHMCAAAAAV8AAAAAAAAAAAIEAAAAA29kZAkBAAAABXZhbHVlAAAAAQkABLYAAAABCQABkQAAAAIJAAS1AAAAAgUAAAAKYmV0RGV0YWlscwIAAAABXwAAAAAAAAAABQQAAAAGYW1vdW50CQEAAAAFdmFsdWUAAAABCQAEtgAAAAEJAAGRAAAAAgkABLUAAAACBQAAAApiZXREZXRhaWxzAgAAAAFfAAAAAAAAAAABAwkAAAAAAAACBQAAAAdiZXRUeXBlBQAAAAhGSUVMREJFVAMJAAAAAAAAAgUAAAANcmVzdWx0T2ZSb3VuZAAAAAAAAAAADAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAAEBQAAAANuaWwDCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAwUAAAADbmlsAwMDAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAFBgkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAGBgkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAHBgkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAICQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQAAAAAAAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAIFAAAAA25pbAMJAAAAAAAAAgUAAAAHYmV0VHlwZQUAAAAHT0REU0JFVAMDCQAAAAAAAAIFAAAAA29kZAAAAAAAAAAABAYJAAAAAAAAAgUAAAADb2RkAAAAAAAAAAAKCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAcFAAAAA25pbAMDCQAAAAAAAAIFAAAAA29kZAAAAAAAAAAABQYJAAAAAAAAAgUAAAADb2RkAAAAAAAAAAAICQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAkFAAAAA25pbAMDCQAAAAAAAAIFAAAAA29kZAAAAAAAAAAAAwYJAAAAAAAAAgUAAAADb2RkAAAAAAAAAAALCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAA8FAAAAA25pbAMDCQAAAAAAAAIFAAAAA29kZAAAAAAAAAAAAgYJAAAAAAAAAgUAAAADb2RkAAAAAAAAAAAMCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAB4FAAAAA25pbAMDCQAAAAAAAAIFAAAAA29kZAAAAAAAAAAACgYJAAAAAAAAAgUAAAADb2RkAAAAAAAAAAAECQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAB4FAAAAA25pbAMJAAAAAAAAAgUAAAADb2RkAAAAAAAAAAAHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAQFAAAAA25pbAMDCQAAAAAAAAIFAAAAA29kZAAAAAAAAAAAZAMDCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAMGCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAwGCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAIHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAcFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UAAAAAAAAAAAAFAAAAA25pbAMJAAAAAAAAAgUAAAAHYmV0VHlwZQUAAAAKQklHNk9SOEJFVAMDCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAYGCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAgJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAgUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQAAAAAAAAAAAAUAAAADbmlsAwMJAAAAAAAAAgUAAAAHYmV0VHlwZQUAAAALUExBQ0VCRVRMQVkGCQAAAAAAAAIFAAAAB2JldFR5cGUFAAAADFBMQUNFQkVUTE9TRQMJAAAAAAAAAgUAAAANcmVzdWx0T2ZSb3VuZAAAAAAAAAAABwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAACBQAAAANuaWwDCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQFAAAAA29kZAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UA//////////8FAAAAA25pbAMDCQAAAAAAAAIFAAAAB2JldFR5cGUFAAAAC1BMQUNFQkVUQlVZBgkAAAAAAAACBQAAAAdiZXRUeXBlBQAAAAtQTEFDRUJFVFdJTgMJAAAAAAAAAgUAAAANcmVzdWx0T2ZSb3VuZAAAAAAAAAAABwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UAAAAAAAAAAAAFAAAAA25pbAMJAAAAAAAAAgUAAAANcmVzdWx0T2ZSb3VuZAUAAAADb2RkCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQAAAAAAAAAAAgUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQD//////////wUAAAADbmlsAwkAAAAAAAACBQAAAAdiZXRUeXBlBQAAAAdDT01FQkVUBAAAAAtwbGF5ZXJQb2ludAkBAAAABXZhbHVlAAAAAQkABLYAAAABCQABkQAAAAIJAAS1AAAAAgUAAAAKYmV0RGV0YWlscwIAAAABXwAAAAAAAAAABgMJAAAAAAAAAgUAAAAFcm91bmQAAAAAAAAAAAIDAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAHBgkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAALCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAIFAAAAA25pbAMDAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAACBgkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAMBgkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAADCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQAAAAAAAAAAAAUAAAADbmlsAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kBQAAAAtwbGF5ZXJQb2ludAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAACBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlAP//////////BQAAAANuaWwDCQAAZgAAAAIFAAAABXJvdW5kAAAAAAAAAAACAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQAAAAAAAAAAAAUAAAADbmlsAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kBQAAAAtwbGF5ZXJQb2ludAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAACBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlAP//////////BQAAAANuaWwJAAACAAAAAQIAAAAaTm90IEFsbG93IGluIFRoZSBCZWdpbm5pbmcDCQAAAAAAAAIFAAAAB2JldFR5cGUFAAAAC0RPTlRDT01FQkVUBAAAAAtwbGF5ZXJQb2ludAkBAAAABXZhbHVlAAAAAQkABLYAAAABCQABkQAAAAIJAAS1AAAAAgUAAAAKYmV0RGV0YWlscwIAAAABXwAAAAAAAAAABgMJAAAAAAAAAgUAAAAFcm91bmQAAAAAAAAAAAIDAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAHBgkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAALCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQAAAAAAAAAAAAUAAAADbmlsAwMDCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAIGCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAwGCQAAAAAAAAIFAAAADXJlc3VsdE9mUm91bmQAAAAAAAAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAgUAAAADbmlsAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kBQAAAAtwbGF5ZXJQb2ludAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAACBQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlAP//////////BQAAAANuaWwDCQAAZgAAAAIFAAAABXJvdW5kAAAAAAAAAAABAwkAAAAAAAACBQAAAA1yZXN1bHRPZlJvdW5kAAAAAAAAAAAHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAIFAAAAA25pbAMJAAAAAAAAAgUAAAANcmVzdWx0T2ZSb3VuZAUAAAALcGxheWVyUG9pbnQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlAAAAAAAAAAAABQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlAP//////////BQAAAANuaWwJAAACAAAAAQIAAAAaTm90IEFsbG93IGluIFRoZSBCZWdpbm5pbmcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlAAAAAAAAAAAABQAAAANuaWwAAAABaQEAAAAcZ2V0V2lubmluZ0Ftb3VudFBhc3NMaW5lQmV0cwAAAAMAAAAKZmlyc3RQb2ludAAAAAlsYXN0UG9pbnQAAAAKYmV0RGV0YWlscwQAAAAHYmV0VHlwZQkAAZEAAAACCQAEtQAAAAIFAAAACmJldERldGFpbHMCAAAAAV8AAAAAAAAAAAIEAAAACWJldFBsYWNlcgkAAZEAAAACCQAEtQAAAAIFAAAACmJldERldGFpbHMCAAAAAV8AAAAAAAAAAAAEAAAABmFtb3VudAkBAAAABXZhbHVlAAAAAQkABLYAAAABCQABkQAAAAIJAAS1AAAAAgUAAAAKYmV0RGV0YWlscwIAAAABXwAAAAAAAAAAAQMJAAAAAAAAAgUAAAAHYmV0VHlwZQUAAAALUEFTU0xJTkVCRVQDCQAAAAAAAAIFAAAACWxhc3RQb2ludAAAAAAAAAAAAAMDCQAAAAAAAAIFAAAACmZpcnN0UG9pbnQAAAAAAAAAAAcGCQAAAAAAAAIFAAAACmZpcnN0UG9pbnQAAAAAAAAAAAsJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAgUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAAFAAAAA25pbAMJAAAAAAAAAgUAAAAKZmlyc3RQb2ludAUAAAAJbGFzdFBvaW50CQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAIFAAAAA25pbAMJAAAAAAAAAgUAAAAJbGFzdFBvaW50AAAAAAAAAAAHCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAAABQAAAANuaWwDCQAAAAAAAAIFAAAAB2JldFR5cGUFAAAAD0RPTlRQQVNTTElORUJFVAMJAAAAAAAAAgUAAAAJbGFzdFBvaW50AAAAAAAAAAAAAwMJAAAAAAAAAgUAAAAKZmlyc3RQb2ludAAAAAAAAAAAAgYJAAAAAAAAAgUAAAAKZmlyc3RQb2ludAAAAAAAAAAAAwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAACBQAAAANuaWwDAwkAAAAAAAACBQAAAAlsYXN0UG9pbnQAAAAAAAAAAAcGCQAAAAAAAAIFAAAACWxhc3RQb2ludAAAAAAAAAAACwkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAAABQAAAANuaWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAAUAAAADbmlsAwMJAAAAAAAAAgUAAAAJbGFzdFBvaW50AAAAAAAAAAACBgkAAAAAAAACBQAAAAlsYXN0UG9pbnQAAAAAAAAAAAMJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAgUAAAADbmlsAwkAAAAAAAACBQAAAAlsYXN0UG9pbnQAAAAAAAAAAAcJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAICAAAABXByaWNlCQAAaAAAAAIFAAAABmFtb3VudAAAAAAAAAAAAAUAAAADbmlsCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACAgAAAAVwcmljZQkAAGgAAAACBQAAAAZhbW91bnQAAAAAAAAAAAAFAAAAA25pbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAFcHJpY2UJAABoAAAAAgUAAAAGYW1vdW50AAAAAAAAAAAABQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAABAAAAAckbWF0Y2gwBQAAAAJ0eAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAIBQAAAAJ0eAAAAA9zZW5kZXJQdWJsaWNLZXna39BH", "height": 1554872, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 3xNVxagvKVGJG1Y5yAfmDw4tDxaAMN6enoRoLGcX19Hp Next: none Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let gameMasterPublicKey = base58'Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8'
5-
6-func authorizePermission (callerPublicKey) = (callerPublicKey != gameMasterPublicKey)
7-
8-
9-let diceNumbers = [1, 2, 3, 4, 5, 6, 7, 8]
4+let GAMESTART = 0
105
116 let GAMEINPROGRESS = 1
127
13-let GAMEFINISHED = 0
8+let GAMEFINISHED = 2
149
15-let gameCounterLabel = "G_GAMECOUNTER"
10+let BLOCKTOPROCESSFORTHROW = 1
1611
17-let gameStateLabel = "G_STATE"
12+let PASSLINEBET = "PASSLINEBET"
1813
19-let gameCurrentPointLabal = "G_CurrentPoint "
14+let DONTPASSLINEBET = "DONTPASSLINEBET"
2015
21-let gameToken = base58'Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8'
16+let COMEBET = "COMEBET"
2217
23-let lastRolledNumber = 0
18+let DONTCOMEBET = "DONTCOMEBET"
2419
25-func getGameStateLabel (gameCounter) = ((("G_" + toString(gameCounter)) + "_") + gameStateLabel)
20+let FIELDBET = "FIELDBET"
2621
22+let ODDSBET = "ODDSBET"
2723
28-func getGameState (gameCounter) = getInteger(this, getGameStateLabel(gameCounter))
24+let BIG6OR8BET = "BIG6OR8BET"
2925
26+let PLACEBETBUY = "PLACEBETBUY"
3027
31-func getCrapGameCounter () = getInteger(this, gameCounterLabel)
28+let PLACEBETLOSE = "PLACEBETLOSE"
29+
30+let PLACEBETLAY = "PLACEBETLAY"
31+
32+let PLACEBETWIN = "PLACEBETWIN"
33+
34+@Callable(i)
35+func getWinningAmount (betDetails,resultOfRound,round) = {
36+ let betType = split(betDetails, "_")[2]
37+ let odd = value(parseInt(split(betDetails, "_")[5]))
38+ let amount = value(parseInt(split(betDetails, "_")[1]))
39+ if ((betType == FIELDBET))
40+ then if ((resultOfRound == 12))
41+ then [IntegerEntry("price", (amount * 4))]
42+ else if ((resultOfRound == 2))
43+ then [IntegerEntry("price", (amount * 3))]
44+ else if (if (if (if ((resultOfRound == 5))
45+ then true
46+ else (resultOfRound == 6))
47+ then true
48+ else (resultOfRound == 7))
49+ then true
50+ else (resultOfRound == 8))
51+ then [IntegerEntry("price", 0)]
52+ else [IntegerEntry("price", (amount * 2))]
53+ else if ((betType == ODDSBET))
54+ then if (if ((odd == 4))
55+ then true
56+ else (odd == 10))
57+ then [IntegerEntry("price", (amount * 7))]
58+ else if (if ((odd == 5))
59+ then true
60+ else (odd == 8))
61+ then [IntegerEntry("price", (amount * 9))]
62+ else if (if ((odd == 3))
63+ then true
64+ else (odd == 11))
65+ then [IntegerEntry("price", (amount * 15))]
66+ else if (if ((odd == 2))
67+ then true
68+ else (odd == 12))
69+ then [IntegerEntry("price", (amount * 30))]
70+ else if (if ((odd == 10))
71+ then true
72+ else (odd == 4))
73+ then [IntegerEntry("price", (amount * 30))]
74+ else if ((odd == 7))
75+ then [IntegerEntry("price", (amount * 4))]
76+ else if (if ((odd == 100))
77+ then if (if ((resultOfRound == 3))
78+ then true
79+ else (resultOfRound == 12))
80+ then true
81+ else (resultOfRound == 2)
82+ else false)
83+ then [IntegerEntry("price", (amount * 7))]
84+ else [IntegerEntry("price", 0)]
85+ else if ((betType == BIG6OR8BET))
86+ then if (if ((resultOfRound == 6))
87+ then true
88+ else (resultOfRound == 8))
89+ then [IntegerEntry("price", (amount * 2))]
90+ else [IntegerEntry("price", 0)]
91+ else if (if ((betType == PLACEBETLAY))
92+ then true
93+ else (betType == PLACEBETLOSE))
94+ then if ((resultOfRound == 7))
95+ then [IntegerEntry("price", (amount * 2))]
96+ else if ((resultOfRound == odd))
97+ then [IntegerEntry("price", 0)]
98+ else [IntegerEntry("price", -1)]
99+ else if (if ((betType == PLACEBETBUY))
100+ then true
101+ else (betType == PLACEBETWIN))
102+ then if ((resultOfRound == 7))
103+ then [IntegerEntry("price", 0)]
104+ else if ((resultOfRound == odd))
105+ then [IntegerEntry("price", 2)]
106+ else [IntegerEntry("price", -1)]
107+ else if ((betType == COMEBET))
108+ then {
109+ let playerPoint = value(parseInt(split(betDetails, "_")[6]))
110+ if ((round == 2))
111+ then if (if ((resultOfRound == 7))
112+ then true
113+ else (resultOfRound == 11))
114+ then [IntegerEntry("price", (amount * 2))]
115+ else if (if (if ((resultOfRound == 2))
116+ then true
117+ else (resultOfRound == 12))
118+ then true
119+ else (resultOfRound == 3))
120+ then [IntegerEntry("price", 0)]
121+ else if ((resultOfRound == playerPoint))
122+ then [IntegerEntry("price", (amount * 2))]
123+ else [IntegerEntry("price", -1)]
124+ else if ((round > 2))
125+ then if ((resultOfRound == 7))
126+ then [IntegerEntry("price", 0)]
127+ else if ((resultOfRound == playerPoint))
128+ then [IntegerEntry("price", (amount * 2))]
129+ else [IntegerEntry("price", -1)]
130+ else throw("Not Allow in The Beginning")
131+ }
132+ else if ((betType == DONTCOMEBET))
133+ then {
134+ let playerPoint = value(parseInt(split(betDetails, "_")[6]))
135+ if ((round == 2))
136+ then if (if ((resultOfRound == 7))
137+ then true
138+ else (resultOfRound == 11))
139+ then [IntegerEntry("price", 0)]
140+ else if (if (if ((resultOfRound == 2))
141+ then true
142+ else (resultOfRound == 12))
143+ then true
144+ else (resultOfRound == 3))
145+ then [IntegerEntry("price", (amount * 2))]
146+ else if ((resultOfRound == playerPoint))
147+ then [IntegerEntry("price", (amount * 2))]
148+ else [IntegerEntry("price", -1)]
149+ else if ((round > 1))
150+ then if ((resultOfRound == 7))
151+ then [IntegerEntry("price", (amount * 2))]
152+ else if ((resultOfRound == playerPoint))
153+ then [IntegerEntry("price", 0)]
154+ else [IntegerEntry("price", -1)]
155+ else throw("Not Allow in The Beginning")
156+ }
157+ else [IntegerEntry("price", 0)]
158+ }
159+
32160
33161
34162 @Callable(i)
35-func initGame () = if (authorizePermission(i.callerPublicKey))
36- then throw("initGame_FORBIDDEN")
37- else match getCrapGameCounter() {
38- case counter: Int =>
39- throw("INIT_ALREADY_DONE")
40- case _ =>
41-[IntegerEntry(gameCounterLabel, 0)]
163+func getWinningAmountPassLineBets (firstPoint,lastPoint,betDetails) = {
164+ let betType = split(betDetails, "_")[2]
165+ let betPlacer = split(betDetails, "_")[0]
166+ let amount = value(parseInt(split(betDetails, "_")[1]))
167+ if ((betType == PASSLINEBET))
168+ then if ((lastPoint == 0))
169+ then if (if ((firstPoint == 7))
170+ then true
171+ else (firstPoint == 11))
172+ then [IntegerEntry("price", (amount * 2))]
173+ else [IntegerEntry("price", (amount * 0))]
174+ else if ((firstPoint == lastPoint))
175+ then [IntegerEntry("price", (amount * 2))]
176+ else if ((lastPoint == 7))
177+ then [IntegerEntry("price", (amount * 0))]
178+ else [IntegerEntry("price", (amount * 0))]
179+ else if ((betType == DONTPASSLINEBET))
180+ then if ((lastPoint == 0))
181+ then if (if ((firstPoint == 2))
182+ then true
183+ else (firstPoint == 3))
184+ then [IntegerEntry("price", (amount * 2))]
185+ else if (if ((lastPoint == 7))
186+ then true
187+ else (lastPoint == 11))
188+ then [IntegerEntry("price", (amount * 0))]
189+ else [IntegerEntry("price", (amount * 0))]
190+ else if (if ((lastPoint == 2))
191+ then true
192+ else (lastPoint == 3))
193+ then [IntegerEntry("price", (amount * 2))]
194+ else if ((lastPoint == 7))
195+ then [IntegerEntry("price", (amount * 0))]
196+ else [IntegerEntry("price", (amount * 0))]
197+ else [IntegerEntry("price", (amount * 0))]
42198 }
43199
44200
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 4 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let gameMasterPublicKey = base58'Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8'
5-
6-func authorizePermission (callerPublicKey) = (callerPublicKey != gameMasterPublicKey)
7-
8-
9-let diceNumbers = [1, 2, 3, 4, 5, 6, 7, 8]
4+let GAMESTART = 0
105
116 let GAMEINPROGRESS = 1
127
13-let GAMEFINISHED = 0
8+let GAMEFINISHED = 2
149
15-let gameCounterLabel = "G_GAMECOUNTER"
10+let BLOCKTOPROCESSFORTHROW = 1
1611
17-let gameStateLabel = "G_STATE"
12+let PASSLINEBET = "PASSLINEBET"
1813
19-let gameCurrentPointLabal = "G_CurrentPoint "
14+let DONTPASSLINEBET = "DONTPASSLINEBET"
2015
21-let gameToken = base58'Co7gTLr7ZJvVKwToLpuZJqmkVecy5uwupYH6qCkKuhc8'
16+let COMEBET = "COMEBET"
2217
23-let lastRolledNumber = 0
18+let DONTCOMEBET = "DONTCOMEBET"
2419
25-func getGameStateLabel (gameCounter) = ((("G_" + toString(gameCounter)) + "_") + gameStateLabel)
20+let FIELDBET = "FIELDBET"
2621
22+let ODDSBET = "ODDSBET"
2723
28-func getGameState (gameCounter) = getInteger(this, getGameStateLabel(gameCounter))
24+let BIG6OR8BET = "BIG6OR8BET"
2925
26+let PLACEBETBUY = "PLACEBETBUY"
3027
31-func getCrapGameCounter () = getInteger(this, gameCounterLabel)
28+let PLACEBETLOSE = "PLACEBETLOSE"
29+
30+let PLACEBETLAY = "PLACEBETLAY"
31+
32+let PLACEBETWIN = "PLACEBETWIN"
33+
34+@Callable(i)
35+func getWinningAmount (betDetails,resultOfRound,round) = {
36+ let betType = split(betDetails, "_")[2]
37+ let odd = value(parseInt(split(betDetails, "_")[5]))
38+ let amount = value(parseInt(split(betDetails, "_")[1]))
39+ if ((betType == FIELDBET))
40+ then if ((resultOfRound == 12))
41+ then [IntegerEntry("price", (amount * 4))]
42+ else if ((resultOfRound == 2))
43+ then [IntegerEntry("price", (amount * 3))]
44+ else if (if (if (if ((resultOfRound == 5))
45+ then true
46+ else (resultOfRound == 6))
47+ then true
48+ else (resultOfRound == 7))
49+ then true
50+ else (resultOfRound == 8))
51+ then [IntegerEntry("price", 0)]
52+ else [IntegerEntry("price", (amount * 2))]
53+ else if ((betType == ODDSBET))
54+ then if (if ((odd == 4))
55+ then true
56+ else (odd == 10))
57+ then [IntegerEntry("price", (amount * 7))]
58+ else if (if ((odd == 5))
59+ then true
60+ else (odd == 8))
61+ then [IntegerEntry("price", (amount * 9))]
62+ else if (if ((odd == 3))
63+ then true
64+ else (odd == 11))
65+ then [IntegerEntry("price", (amount * 15))]
66+ else if (if ((odd == 2))
67+ then true
68+ else (odd == 12))
69+ then [IntegerEntry("price", (amount * 30))]
70+ else if (if ((odd == 10))
71+ then true
72+ else (odd == 4))
73+ then [IntegerEntry("price", (amount * 30))]
74+ else if ((odd == 7))
75+ then [IntegerEntry("price", (amount * 4))]
76+ else if (if ((odd == 100))
77+ then if (if ((resultOfRound == 3))
78+ then true
79+ else (resultOfRound == 12))
80+ then true
81+ else (resultOfRound == 2)
82+ else false)
83+ then [IntegerEntry("price", (amount * 7))]
84+ else [IntegerEntry("price", 0)]
85+ else if ((betType == BIG6OR8BET))
86+ then if (if ((resultOfRound == 6))
87+ then true
88+ else (resultOfRound == 8))
89+ then [IntegerEntry("price", (amount * 2))]
90+ else [IntegerEntry("price", 0)]
91+ else if (if ((betType == PLACEBETLAY))
92+ then true
93+ else (betType == PLACEBETLOSE))
94+ then if ((resultOfRound == 7))
95+ then [IntegerEntry("price", (amount * 2))]
96+ else if ((resultOfRound == odd))
97+ then [IntegerEntry("price", 0)]
98+ else [IntegerEntry("price", -1)]
99+ else if (if ((betType == PLACEBETBUY))
100+ then true
101+ else (betType == PLACEBETWIN))
102+ then if ((resultOfRound == 7))
103+ then [IntegerEntry("price", 0)]
104+ else if ((resultOfRound == odd))
105+ then [IntegerEntry("price", 2)]
106+ else [IntegerEntry("price", -1)]
107+ else if ((betType == COMEBET))
108+ then {
109+ let playerPoint = value(parseInt(split(betDetails, "_")[6]))
110+ if ((round == 2))
111+ then if (if ((resultOfRound == 7))
112+ then true
113+ else (resultOfRound == 11))
114+ then [IntegerEntry("price", (amount * 2))]
115+ else if (if (if ((resultOfRound == 2))
116+ then true
117+ else (resultOfRound == 12))
118+ then true
119+ else (resultOfRound == 3))
120+ then [IntegerEntry("price", 0)]
121+ else if ((resultOfRound == playerPoint))
122+ then [IntegerEntry("price", (amount * 2))]
123+ else [IntegerEntry("price", -1)]
124+ else if ((round > 2))
125+ then if ((resultOfRound == 7))
126+ then [IntegerEntry("price", 0)]
127+ else if ((resultOfRound == playerPoint))
128+ then [IntegerEntry("price", (amount * 2))]
129+ else [IntegerEntry("price", -1)]
130+ else throw("Not Allow in The Beginning")
131+ }
132+ else if ((betType == DONTCOMEBET))
133+ then {
134+ let playerPoint = value(parseInt(split(betDetails, "_")[6]))
135+ if ((round == 2))
136+ then if (if ((resultOfRound == 7))
137+ then true
138+ else (resultOfRound == 11))
139+ then [IntegerEntry("price", 0)]
140+ else if (if (if ((resultOfRound == 2))
141+ then true
142+ else (resultOfRound == 12))
143+ then true
144+ else (resultOfRound == 3))
145+ then [IntegerEntry("price", (amount * 2))]
146+ else if ((resultOfRound == playerPoint))
147+ then [IntegerEntry("price", (amount * 2))]
148+ else [IntegerEntry("price", -1)]
149+ else if ((round > 1))
150+ then if ((resultOfRound == 7))
151+ then [IntegerEntry("price", (amount * 2))]
152+ else if ((resultOfRound == playerPoint))
153+ then [IntegerEntry("price", 0)]
154+ else [IntegerEntry("price", -1)]
155+ else throw("Not Allow in The Beginning")
156+ }
157+ else [IntegerEntry("price", 0)]
158+ }
159+
32160
33161
34162 @Callable(i)
35-func initGame () = if (authorizePermission(i.callerPublicKey))
36- then throw("initGame_FORBIDDEN")
37- else match getCrapGameCounter() {
38- case counter: Int =>
39- throw("INIT_ALREADY_DONE")
40- case _ =>
41-[IntegerEntry(gameCounterLabel, 0)]
163+func getWinningAmountPassLineBets (firstPoint,lastPoint,betDetails) = {
164+ let betType = split(betDetails, "_")[2]
165+ let betPlacer = split(betDetails, "_")[0]
166+ let amount = value(parseInt(split(betDetails, "_")[1]))
167+ if ((betType == PASSLINEBET))
168+ then if ((lastPoint == 0))
169+ then if (if ((firstPoint == 7))
170+ then true
171+ else (firstPoint == 11))
172+ then [IntegerEntry("price", (amount * 2))]
173+ else [IntegerEntry("price", (amount * 0))]
174+ else if ((firstPoint == lastPoint))
175+ then [IntegerEntry("price", (amount * 2))]
176+ else if ((lastPoint == 7))
177+ then [IntegerEntry("price", (amount * 0))]
178+ else [IntegerEntry("price", (amount * 0))]
179+ else if ((betType == DONTPASSLINEBET))
180+ then if ((lastPoint == 0))
181+ then if (if ((firstPoint == 2))
182+ then true
183+ else (firstPoint == 3))
184+ then [IntegerEntry("price", (amount * 2))]
185+ else if (if ((lastPoint == 7))
186+ then true
187+ else (lastPoint == 11))
188+ then [IntegerEntry("price", (amount * 0))]
189+ else [IntegerEntry("price", (amount * 0))]
190+ else if (if ((lastPoint == 2))
191+ then true
192+ else (lastPoint == 3))
193+ then [IntegerEntry("price", (amount * 2))]
194+ else if ((lastPoint == 7))
195+ then [IntegerEntry("price", (amount * 0))]
196+ else [IntegerEntry("price", (amount * 0))]
197+ else [IntegerEntry("price", (amount * 0))]
42198 }
43199
44200
45201 @Verifier(tx)
46202 func verify () = match tx {
47203 case _ =>
48204 sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
49205 }
50206

github/deemru/w8io/873ac7e 
41.95 ms