tx · EwUDTJtnLuduKjBpm4DU2ToSokuVBbKzYJpH27en8B2W

3NB8cwvE1ePgYLm3bKyEjmaQZgt3FCTXDsa:  -0.01000000 Waves

2021.12.24 00:30 [1847450] smart account 3NB8cwvE1ePgYLm3bKyEjmaQZgt3FCTXDsa > SELF 0.00000000 Waves

{ "type": 13, "id": "EwUDTJtnLuduKjBpm4DU2ToSokuVBbKzYJpH27en8B2W", "fee": 1000000, "feeAssetId": null, "timestamp": 1640295014613, "version": 2, "chainId": 84, "sender": "3NB8cwvE1ePgYLm3bKyEjmaQZgt3FCTXDsa", "senderPublicKey": "6reaHbERY6emiCmamxU4cz66Paa6JwEn27GZ6rvmhnY8", "proofs": [ "4z9SLGhf3pihiR3wqsc9BwCCQ8nQAtTpR1FxP8LXTYyjW6VGAcRo6FqhuqFHnPB4Qp4m1Wpc688EmMuuYfjj7gHc" ], "script": "base64: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S3ExUGhiWXJObXVTNmpQRFlvYnhzc1h5Yy90eHNpcFNHd3pNZ1ZIY3F0OU9TaUdReVNaOC85bXR2NDJFZWZ6RkU5NXd1dXk0MktKS0c3aDBEVE1mRlNMVHBxaFMvTWJwOEVLUHVWYjFodVdzTUtWTDlRdE9QWUVYYTlRUFphMldCUFg1WTlCSTFNY1JRL1dmOFd3cVF0QVJwQmZTVnBrS1BTMUFtaHQyZkVPeFNTWVJxRzZJVXNmSzh4TzloeHQrMysvT3AvK0lGSlRHY0dGOEJyeldRSUdDUHc5L3UyNwAAAAARZ2FtZXNMYWJlbENvdW50ZXICAAAADlhfR0FNRVNDT1VOVEVSAAAAABVnYW1lc0xhYmVsQmV0c0NvdW50ZXICAAAADVhfQkVUU0NPVU5URVIAAAAAFmdhbWVzTGFiZWxCZXRzRmVlTW92ZWQCAAAADlhfQkVUU0ZFRU1PVkVEAAAAABhnYW1lc0xhYmVsVG90YWxBbW91bnRXaW4CAAAAEFhfVE9UQUxBTU9VTlRXSU4AAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudEJldAIAAAAQWF9UT1RBTEFNT1VOVEJFVAAAAAAZZ2FtZXNMYWJlbFRvdGFsQWRkcmVzc0JldAIAAAARWF9UT1RBTEFERFJFU1NCRVQBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAARZ2FtZXNMYWJlbENvdW50ZXIBAAAAE2dhbWVzR2V0QmV0c0NvdW50ZXIAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAFWdhbWVzTGFiZWxCZXRzQ291bnRlcgEAAAAUZ2FtZXNHZXRCZXRzRmVlTW92ZWQAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAFmdhbWVzTGFiZWxCZXRzRmVlTW92ZWQBAAAAFmdhbWVzR2V0VG90YWxBbW91bnRXaW4AAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudFdpbgEAAAAWZ2FtZXNHZXRUb3RhbEFtb3VudEJldAAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAYZ2FtZXNMYWJlbFRvdGFsQW1vdW50QmV0AQAAABdnYW1lc0dldFRvdGFsQWRkcmVzc0JldAAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAZZ2FtZXNMYWJlbFRvdGFsQWRkcmVzc0JldAEAAAAQbnVtYmVyTGFiZWxDb3VudAAAAAEAAAAGbnVtYmVyCQABLAAAAAICAAAAAk5fBQAAAAZudW1iZXIBAAAADm51bWJlckdldENvdW50AAAAAQAAAAZudW1iZXIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEG51bWJlckxhYmVsQ291bnQAAAABBQAAAAZudW1iZXIBAAAAD2dhbWVMYWJlbFN0YXR1cwAAAAEAAAAMR0FNRVNDT1VOVEVSCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAdfU1RBVFVTAQAAAA9nYW1lTGFiZWxOdW1iZXIAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAHX05VTUJFUgEAAAAMZ2FtZUxhYmVsTWF4AAAAAQAAAAxHQU1FU0NPVU5URVIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAxHQU1FU0NPVU5URVICAAAABF9NQVgBAAAADWdhbWVMYWJlbEJldHMAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAFX0JFVFMBAAAAD2dhbWVMYWJlbFBhc3NlZAAAAAEAAAAMR0FNRVNDT1VOVEVSCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAdfUEFTU0VEAQAAAA9nYW1lTGFiZWxIZWlnaHQAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAHX0hFSUdIVAEAAAAPZ2FtZUxhYmVsU3VtU2hhAAAAAQAAAAxHQU1FU0NPVU5URVIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAxHQU1FU0NPVU5URVICAAAAB19TVU1TSEEBAAAAD2dhbWVMYWJlbENtYk1heAAAAAIAAAAMR0FNRVNDT1VOVEVSAAAAA0NNQgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAJfQwUAAAADQ01CAQAAAA1nYW1lR2V0U3RhdHVzAAAAAQAAAAxHQU1FU0NPVU5URVIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAD2dhbWVMYWJlbFN0YXR1cwAAAAEFAAAADEdBTUVTQ09VTlRFUgEAAAANZ2FtZUdldE51bWJlcgAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxOdW1iZXIAAAABBQAAAAxHQU1FU0NPVU5URVIBAAAACmdhbWVHZXRNYXgAAAABAAAADEdBTUVTQ09VTlRFUgkABBoAAAACBQAAAAR0aGlzCQEAAAAMZ2FtZUxhYmVsTWF4AAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAAtnYW1lR2V0QmV0cwAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA1nYW1lTGFiZWxCZXRzAAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAA1nYW1lR2V0UGFzc2VkAAAAAQAAAAxHQU1FU0NPVU5URVIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAD2dhbWVMYWJlbFBhc3NlZAAAAAEFAAAADEdBTUVTQ09VTlRFUgEAAAANZ2FtZUdldEhlaWdodAAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxIZWlnaHQAAAABBQAAAAxHQU1FU0NPVU5URVIBAAAADWdhbWVHZXRTdW1TaGEAAAABAAAADEdBTUVTQ09VTlRFUgkABB0AAAACBQAAAAR0aGlzCQEAAAAPZ2FtZUxhYmVsU3VtU2hhAAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAA1nYW1lR2V0Q21iTWF4AAAAAgAAAAxHQU1FU0NPVU5URVIAAAADQ01CCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxDbWJNYXgAAAACBQAAAAxHQU1FU0NPVU5URVIFAAAAA0NNQgEAAAAOYmV0TGFiZWxTdGF0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dW50CQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQYWRkcmVzc0xhYmVsQmV0cwAAAAEFAAAAB2FkZHJlc3MJAABkAAAAAgUAAAALQUREUkVTU0JFVFMAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFWdhbWVzTGFiZWxCZXRzQ291bnRlcgkAAGQAAAACCQEAAAAFdmFsdWUAAAABCQEAAAATZ2FtZXNHZXRCZXRzQ291bnRlcgAAAAAAAAAAAAAAAAEJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudEJldAkAAGQAAAACCQEAAAAFdmFsdWUAAAABCQEAAAAWZ2FtZXNHZXRUb3RhbEFtb3VudEJldAAAAAAFAAAABmFtb3VudAUAAAADbmlsBAAAAA9UT1RBTEFERFJFU1NCRVQJAABkAAAAAgkBAAAABXZhbHVlAAAAAQkBAAAAF2dhbWVzR2V0VG90YWxBZGRyZXNzQmV0AAAAAAAAAAAAAAAAAQQAAAAJZGF0YUZpbmFsAwkAAAAAAAACBQAAAA1BRERSRVNTQU1PVU5UAAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAATcG9pbnRlckFkZHJlc3NMYWJlbAAAAAEJAAGkAAAAAQUAAAAPVE9UQUxBRERSRVNTQkVUBQAAAAdhZGRyZXNzCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABlnYW1lc0xhYmVsVG90YWxBZGRyZXNzQmV0BQAAAA9UT1RBTEFERFJFU1NCRVQFAAAABGRhdGEFAAAABGRhdGEJAQAAAAxTY3JpcHRSZXN1bHQAAAACCQEAAAAIV3JpdGVTZXQAAAABBQAAAAlkYXRhRmluYWwJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAPc2VydmVyUHVibGljS2V5BQAAAANmZWUFAAAACW15QXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAAFldBVkVTX0ZFRV9OT1RfQUNDRVBURUQJAAACAAAAAQIAAAASV0FWRVNfTk9UX0FDQ0VQVEVECQAAAgAAAAECAAAADkdBTUVfTk9UX0ZPVU5ECQAAAgAAAAECAAAADkdBTUVfTk9UX0ZPVU5ECQAAAgAAAAECAAAADkdBTUVfTk9UX0ZPVU5ECQAAAgAAAAECAAAAC0lOSVRfTkVFREVEAAAAAWkBAAAABmdldFdpbgAAAAEAAAADQkVUAwkBAAAAD2NoZWNrUGVybWlzc2lvbgAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAABBnZXRXaW5fRk9SQkJJREVOBAAAAAckbWF0Y2gwCQEAAAAPZ2FtZXNHZXRDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAxHQU1FU0NPVU5URVIFAAAAByRtYXRjaDAEAAAAByRtYXRjaDEJAQAAAA1nYW1lR2V0U3RhdHVzAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkAAAEAAAACBQAAAAckbWF0Y2gxAgAAAAZTdHJpbmcEAAAACkNVUlJTVEFUVVMFAAAAByRtYXRjaDEDCQEAAAACIT0AAAACBQAAAApDVVJSU1RBVFVTAgAAAARTSE9XCQAAAgAAAAECAAAAF0NVUlJfU1RBVFVTX0lTX05PVF9TSE9XBAAAAAckbWF0Y2gyCQEAAAANZ2FtZUdldE51bWJlcgAAAAEFAAAADEdBTUVTQ09VTlRFUgMJAAABAAAAAgUAAAAHJG1hdGNoMgIAAAADSW50BAAAAAZOVU1CRVIFAAAAByRtYXRjaDIEAAAABWlkQmV0CQABLAAAAAIJAAEsAAAAAgkAAaQAAAABBQAAAAxHQU1FU0NPVU5URVICAAAAAV8JAAGkAAAAAQUAAAADQkVUBAAAAAxudW1iZXJTdHJpbmcJAAEsAAAAAgkAASwAAAACAgAAAAFfCQABpAAAAAEFAAAABk5VTUJFUgIAAAABXwQAAAADcmVkAgAAADR8XzFfM181XzdfOV8xMl8xNF8xNl8xOF8xOV8yMV8yM18yNV8yN18zMF8zMl8zNF8zNl98BAAAAAVibGFjawIAAAA1fF8yXzRfNl84XzEwXzExXzEzXzE1XzE3XzIwXzIyXzI0XzI2XzI4XzI5XzMxXzMzXzM1X3wEAAAACGluZGV4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eQAAAAIJAQAAABBudW1iZXJMYWJlbENvdW50AAAAAQUAAAAMbnVtYmVyU3RyaW5nCQAAZAAAAAIFAAAAC251bWJlckNvdW50AAAAAAAAAAABBQAAAANuaWwJAAACAAAAAQIAAAAOR0FNRV9OT1RfRk9VTkQJAAACAAAAAQIAAAALSU5JVF9ORUVERUQAAAABaQEAAAAOYW1vdW50VG9TZXJ2ZXIAAAABAAAABmFtb3VudAMJAQAAAA9jaGVja1Blcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAYYW1vdW50VG9XYWxsZXRfRk9SQkJJREVOBAAAAAckbWF0Y2gwCQEAAAAPZ2FtZXNHZXRDb3VudGVyAAAAAAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAADSW50BAAAAAxHQU1FU0NPVU5URVIFAAAAByRtYXRjaDADCQAAAAAAAAIFAAAADEdBTUVTQ09VTlRFUgAAAAAAAAAAAAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAA9zZXJ2ZXJQdWJsaWNLZXkFAAAABmFtb3VudAUAAAAJbXlBc3NldElkBQAAAANuaWwEAAAACkNVUlJTVEFUVVMJAQAAAAV2YWx1ZQAAAAEJAQAAAA1nYW1lR2V0U3RhdHVzAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkBAAAAAiE9AAAAAgUAAAAKQ1VSUlNUQVRVUwIAAAAEU0hPVwkAAAIAAAABAgAAABdDVVJSX1NUQVRVU19JU19OT1RfU0hPVwQAAAAEQkVUUwkBAAAABXZhbHVlAAAAAQkBAAAAC2dhbWVHZXRCZXRzAAAAAQUAAAAMR0FNRVNDT1VOVEVSBAAAAAZQQVNTRUQJAQAAAAV2YWx1ZQAAAAEJAQAAAA1nYW1lR2V0UGFzc2VkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAwkBAAAAAiE9AAAAAgUAAAAEQkVUUwUAAAAGUEFTU0VECQAAAgAAAAECAAAAD1dBSVRfQUxMX1BBU1NFRAkBAAAAC1RyYW5zZmVyU2V0AAAAAQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABBQAAAA9zZXJ2ZXJQdWJsaWNLZXkFAAAABmFtb3VudAUAAAAJbXlBc3NldElkBQAAAANuaWwJAAACAAAAAQIAAAALSU5JVF9ORUVERUQAAAABaQEAAAATYW1vdW50V2F2ZXNUb1NlcnZlcgAAAAEAAAAGYW1vdW50AwkBAAAAD2NoZWNrUGVybWlzc2lvbgAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAABhhbW91bnRUb1dhbGxldF9GT1JCQklERU4JAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAPc2VydmVyUHVibGljS2V5BQAAAAZhbW91bnQFAAAABHVuaXQFAAAAA25pbAAAAAEAAAACdHgBAAAABnZlcmlmeQAAAAAJAAH0AAAAAwgFAAAAAnR4AAAACWJvZHlCeXRlcwkAAZEAAAACCAUAAAACdHgAAAAGcHJvb2ZzAAAAAAAAAAAACAUAAAACdHgAAAAPc2VuZGVyUHVibGljS2V5Y4vdpQ==", "height": 1847450, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: none Next: mVYhUf4djEXesPyxz4njidZwgQBi1jfNKCm2ThZj92j Full:
OldNewDifferences
1-# no script
1+{-# STDLIB_VERSION 3 #-}
2+{-# SCRIPT_TYPE ACCOUNT #-}
3+{-# CONTENT_TYPE DAPP #-}
4+let copyright = "Copyright (c) 2021 MaDaMa Labs"
5+
6+let creator = "@daidalos - twitter.com/tw_daidalos"
7+
8+let team = "MaDaMa Labs https://gitlab.com/madamalabs/"
9+
10+let license = "MIT License"
11+
12+let licenseLink = "tldrlegal.com/license/mit-license , opensource.org/licenses/MIT"
13+
14+let serverPublicKey = base58'8mhKq6anPiMfYiWogTbKgVmFquQQam2H6SLs8XieX2CN'
15+
16+let myAssetId = base58'Ac7AwywpLnExZXmp7JnyqLoeyEaSWgrnisch3KKyoEUe'
17+
18+let feeTmp = getInteger(this, "V_FEE")
19+
20+let fee = if (isDefined(feeTmp))
21+ then value(feeTmp)
22+ else 500000
23+
24+let periodGamePlayTmp = getInteger(this, "V_PERIOD")
25+
26+let periodGamePlay = if (isDefined(periodGamePlayTmp))
27+ then value(periodGamePlayTmp)
28+ else 2
29+
30+let cmbMaxTmp = getInteger(this, "V_CMBMAX")
31+
32+let cmbMax = if (isDefined(cmbMaxTmp))
33+ then value(cmbMaxTmp)
34+ else (200 * 100000000)
35+
36+let minBalTmp = getInteger(this, "V_MINBL")
37+
38+let minBal = if (isDefined(minBalTmp))
39+ then value(minBalTmp)
40+ else (1 * 100000000)
41+
42+let chip1Tmp = getInteger(this, "V_CHIP1")
43+
44+let chip1 = if (isDefined(chip1Tmp))
45+ then value(chip1Tmp)
46+ else ((1 * 100000000) / 10)
47+
48+let chip2Tmp = getInteger(this, "V_CHIP2")
49+
50+let chip2 = if (isDefined(chip2Tmp))
51+ then value(chip2Tmp)
52+ else ((1 * 100000000) / 5)
53+
54+let chip3Tmp = getInteger(this, "V_CHIP3")
55+
56+let chip3 = if (isDefined(chip3Tmp))
57+ then value(chip3Tmp)
58+ else ((1 * 100000000) / 2)
59+
60+let chip4Tmp = getInteger(this, "V_CHIP4")
61+
62+let chip4 = if (isDefined(chip4Tmp))
63+ then value(chip4Tmp)
64+ else ((1 * 100000000) * 1)
65+
66+let chip5Tmp = getInteger(this, "V_CHIP5")
67+
68+let chip5 = if (isDefined(chip5Tmp))
69+ then value(chip5Tmp)
70+ else ((1 * 100000000) * 2)
71+
72+let chip6Tmp = getInteger(this, "V_CHIP6")
73+
74+let chip6 = if (isDefined(chip6Tmp))
75+ then value(chip6Tmp)
76+ else ((1 * 100000000) * 5)
77+
78+let wheel = ["5", "24", "16", "33", "1", "20", "14", "31", "9", "22", "18", "29", "7", "28", "12", "35", "3", "26", "0", "32", "15", "19", "4", "21", "2", "25", "17", "34", "6", "27", "13", "36", "11", "30", "8", "23", "10"]
79+
80+let RSAPUBLIC = fromBase64String("base64:MIIBJTANBgkqhkiG9w0BAQEFAAOCARIAMIIBDQKCAQEAtObfiwWyBFpSNJZmkxlwHy5vT+Jb+Vv6f7LlhKE9wNcC0Qp0rdyMwxLpdwfuLsKbRdBEbDhpb3dz1JPJiatlhKVKUsoQ25UQu9hv2oXyyEzJx86CGQq5HOr3YGGSdJR0LKq1PhbYrNmuS6jPDYobxssXyc/txsipSGwzMgVHcqt9OSiGQySZ8/9mtv42EefzFE95wuuy42KJKG7h0DTMfFSLTpqhS/Mbp8EKPuVb1huWsMKVL9QtOPYEXa9QPZa2WBPX5Y9BI1McRQ/Wf8WwqQtARpBfSVpkKPS1Amht2fEOxSSYRqG6IUsfK8xO9hxt+3+/Op/+IFJTGcGF8BrzWQIGCPw9/u27")
81+
82+let gamesLabelCounter = "X_GAMESCOUNTER"
83+
84+let gamesLabelBetsCounter = "X_BETSCOUNTER"
85+
86+let gamesLabelBetsFeeMoved = "X_BETSFEEMOVED"
87+
88+let gamesLabelTotalAmountWin = "X_TOTALAMOUNTWIN"
89+
90+let gamesLabelTotalAmountBet = "X_TOTALAMOUNTBET"
91+
92+let gamesLabelTotalAddressBet = "X_TOTALADDRESSBET"
93+
94+func gamesGetCounter () = getInteger(this, gamesLabelCounter)
95+
96+
97+func gamesGetBetsCounter () = getInteger(this, gamesLabelBetsCounter)
98+
99+
100+func gamesGetBetsFeeMoved () = getInteger(this, gamesLabelBetsFeeMoved)
101+
102+
103+func gamesGetTotalAmountWin () = getInteger(this, gamesLabelTotalAmountWin)
104+
105+
106+func gamesGetTotalAmountBet () = getInteger(this, gamesLabelTotalAmountBet)
107+
108+
109+func gamesGetTotalAddressBet () = getInteger(this, gamesLabelTotalAddressBet)
110+
111+
112+func numberLabelCount (number) = ("N_" + number)
113+
114+
115+func numberGetCount (number) = getInteger(this, numberLabelCount(number))
116+
117+
118+func gameLabelStatus (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_STATUS")
119+
120+
121+func gameLabelNumber (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_NUMBER")
122+
123+
124+func gameLabelMax (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_MAX")
125+
126+
127+func gameLabelBets (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_BETS")
128+
129+
130+func gameLabelPassed (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_PASSED")
131+
132+
133+func gameLabelHeight (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_HEIGHT")
134+
135+
136+func gameLabelSumSha (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_SUMSHA")
137+
138+
139+func gameLabelCmbMax (GAMESCOUNTER,CMB) = ((("G_" + toString(GAMESCOUNTER)) + "_C") + CMB)
140+
141+
142+func gameGetStatus (GAMESCOUNTER) = getString(this, gameLabelStatus(GAMESCOUNTER))
143+
144+
145+func gameGetNumber (GAMESCOUNTER) = getInteger(this, gameLabelNumber(GAMESCOUNTER))
146+
147+
148+func gameGetMax (GAMESCOUNTER) = getInteger(this, gameLabelMax(GAMESCOUNTER))
149+
150+
151+func gameGetBets (GAMESCOUNTER) = getInteger(this, gameLabelBets(GAMESCOUNTER))
152+
153+
154+func gameGetPassed (GAMESCOUNTER) = getInteger(this, gameLabelPassed(GAMESCOUNTER))
155+
156+
157+func gameGetHeight (GAMESCOUNTER) = getInteger(this, gameLabelHeight(GAMESCOUNTER))
158+
159+
160+func gameGetSumSha (GAMESCOUNTER) = getString(this, gameLabelSumSha(GAMESCOUNTER))
161+
162+
163+func gameGetCmbMax (GAMESCOUNTER,CMB) = getInteger(this, gameLabelCmbMax(GAMESCOUNTER, CMB))
164+
165+
166+func betLabelStatus (idBet) = (("B_" + idBet) + "_STATUS")
167+
168+
169+func betLabelInfo (idBet) = (("B_" + idBet) + "_INFO")
170+
171+
172+func betGetStatus (idBet) = getString(this, betLabelStatus(idBet))
173+
174+
175+func betGetInfo (idBet) = getString(this, betLabelInfo(idBet))
176+
177+
178+func addressLabelWon (addr) = (("A_" + addr) + "_WON")
179+
180+
181+func addressLabelAmount (addr) = (("A_" + addr) + "_AMOUNT")
182+
183+
184+func addressLabelBets (addr) = (("A_" + addr) + "_BETS")
185+
186+
187+func addressLabelHit (addr) = (("A_" + addr) + "_HIT")
188+
189+
190+func addressGetWon (addr) = getInteger(this, addressLabelWon(addr))
191+
192+
193+func addressGetAmount (addr) = getInteger(this, addressLabelAmount(addr))
194+
195+
196+func addressGetBets (addr) = getInteger(this, addressLabelBets(addr))
197+
198+
199+func addressGetHit (addr) = getInteger(this, addressLabelHit(addr))
200+
201+
202+func pointerAddressLabel (id) = ("P_" + id)
203+
204+
205+func checkPermission (callerPublicKey) = (callerPublicKey != serverPublicKey)
206+
207+
208+func gameNewMax (win) = match gamesGetCounter() {
209+ case GAMESCOUNTER: Int =>
210+ match gameGetMax(GAMESCOUNTER) {
211+ case CURRMAX: Int =>
212+ let temp = (CURRMAX - win)
213+ if ((0 > temp))
214+ then throw("BET_IS_BLOCK")
215+ else temp
216+ case _ =>
217+ throw("GAME_NOT_FOUND")
218+ }
219+ case _ =>
220+ throw("INIT_NEEDED")
221+}
222+
223+
224+func gameNewSumSha (txId) = match gamesGetCounter() {
225+ case GAMESCOUNTER: Int =>
226+ match gameGetSumSha(GAMESCOUNTER) {
227+ case SUMSHA: String =>
228+ toBase58String(sha256((fromBase58String(SUMSHA) + txId)))
229+ case _ =>
230+ throw("GAME_NOT_FOUND")
231+ }
232+ case _ =>
233+ throw("INIT_NEEDED")
234+}
235+
236+
237+func checkIdBet (idBet) = match betGetInfo(idBet) {
238+ case temp: String =>
239+ throw("PLAYER_ALREADY_DEFINED")
240+ case _ =>
241+ 1
242+}
243+
244+
245+func checkBet (bet) = if (if (if (if (if (if ((bet == chip1))
246+ then true
247+ else (bet == chip2))
248+ then true
249+ else (bet == chip3))
250+ then true
251+ else (bet == chip4))
252+ then true
253+ else (bet == chip5))
254+ then true
255+ else (bet == chip6))
256+ then 1
257+ else throw("BET_NOT_FOUND")
258+
259+
260+func getCmb (cmb) = match getInteger(this, ("C" + cmb)) {
261+ case temp: Int =>
262+ temp
263+ case _ =>
264+ throw("CMB_NOT_FOUND")
265+}
266+
267+
268+func allowCmbMax (gamecounter,cmb,win) = match gameGetCmbMax(gamecounter, cmb) {
269+ case temp: Int =>
270+ if (((temp + win) > cmbMax))
271+ then throw("CMB_MAX_WIN")
272+ else 1
273+ case _ =>
274+ 1
275+}
276+
277+
278+@Callable(i)
279+func bet (id,cmb) = match gamesGetCounter() {
280+ case GAMESCOUNTER: Int =>
281+ if ((id != GAMESCOUNTER))
282+ then throw("GAME_ID_WRONG")
283+ else match gameGetStatus(GAMESCOUNTER) {
284+ case CURRSTATUS: String =>
285+ if ((CURRSTATUS != "PLAY"))
286+ then throw("CURR_STATUS_IS_NOT_PLAY")
287+ else match gameGetHeight(GAMESCOUNTER) {
288+ case GAMEHEIGHT: Int =>
289+ if (if ((GAMEHEIGHT != 0))
290+ then (height > (GAMEHEIGHT + periodGamePlay))
291+ else false)
292+ then throw("GAME_IS_END")
293+ else match gameGetBets(GAMESCOUNTER) {
294+ case BETS: Int =>
295+ let idBet = ((toString(GAMESCOUNTER) + "_") + toString((BETS + 1)))
296+ let payment = value(i.payment)
297+ match payment.assetId {
298+ case assetId: ByteVector =>
299+ if ((assetId != myAssetId))
300+ then throw("ONLY_TOKEN_ACCEPTED")
301+ else match i.feeAssetId {
302+ case feeAssetId: ByteVector =>
303+ if ((feeAssetId != myAssetId))
304+ then throw("ONLY_TOKEN_FEE_ACCEPTED")
305+ else {
306+ let amount = (payment.amount - fee)
307+ let win = (((checkIdBet(idBet) * checkBet(amount)) * getCmb(cmb)) * amount)
308+ let winmax = (win * allowCmbMax(GAMESCOUNTER, cmb, win))
309+ let address = toBase58String(i.caller.bytes)
310+ let info = ((((((address + "||") + cmb) + "||") + toString(amount)) + "||") + toString(winmax))
311+ let ADDRESSAMOUNT = match addressGetAmount(address) {
312+ case temp: Int =>
313+ temp
314+ case _ =>
315+ 0
316+ }
317+ let ADDRESSBETS = match addressGetBets(address) {
318+ case temp: Int =>
319+ temp
320+ case _ =>
321+ 0
322+ }
323+ let CMBMAX = match gameGetCmbMax(GAMESCOUNTER, cmb) {
324+ case temp: Int =>
325+ temp
326+ case _ =>
327+ 0
328+ }
329+ let data = [DataEntry(betLabelInfo(idBet), info), DataEntry(betLabelStatus(idBet), "ACCEPT"), DataEntry(gameLabelBets(GAMESCOUNTER), (BETS + 1)), DataEntry(gameLabelHeight(GAMESCOUNTER), if ((GAMEHEIGHT == 0))
330+ then height
331+ else GAMEHEIGHT), DataEntry(gameLabelMax(GAMESCOUNTER), gameNewMax(winmax)), DataEntry(gameLabelSumSha(GAMESCOUNTER), gameNewSumSha(i.transactionId)), DataEntry(gameLabelCmbMax(GAMESCOUNTER, cmb), (CMBMAX + winmax)), DataEntry(addressLabelAmount(address), (ADDRESSAMOUNT + amount)), DataEntry(addressLabelBets(address), (ADDRESSBETS + 1)), DataEntry(gamesLabelBetsCounter, (value(gamesGetBetsCounter()) + 1)), DataEntry(gamesLabelTotalAmountBet, (value(gamesGetTotalAmountBet()) + amount))]
332+ let TOTALADDRESSBET = (value(gamesGetTotalAddressBet()) + 1)
333+ let dataFinal = if ((ADDRESSAMOUNT == 0))
334+ then [DataEntry(pointerAddressLabel(toString(TOTALADDRESSBET)), address), DataEntry(gamesLabelTotalAddressBet, TOTALADDRESSBET)] :: data
335+ else data
336+ ScriptResult(WriteSet(dataFinal), TransferSet([ScriptTransfer(addressFromPublicKey(serverPublicKey), fee, myAssetId)]))
337+ }
338+ case _ =>
339+ throw("WAVES_FEE_NOT_ACCEPTED")
340+ }
341+ case _ =>
342+ throw("WAVES_NOT_ACCEPTED")
343+ }
344+ case _ =>
345+ throw("GAME_NOT_FOUND")
346+ }
347+ case _ =>
348+ throw("GAME_NOT_FOUND")
349+ }
350+ case _ =>
351+ throw("GAME_NOT_FOUND")
352+ }
353+ case _ =>
354+ throw("INIT_NEEDED")
355+}
356+
357+
358+
359+@Callable(i)
360+func getWin (BET) = if (checkPermission(i.callerPublicKey))
361+ then throw("getWin_FORBBIDEN")
362+ else match gamesGetCounter() {
363+ case GAMESCOUNTER: Int =>
364+ match gameGetStatus(GAMESCOUNTER) {
365+ case CURRSTATUS: String =>
366+ if ((CURRSTATUS != "SHOW"))
367+ then throw("CURR_STATUS_IS_NOT_SHOW")
368+ else match gameGetNumber(GAMESCOUNTER) {
369+ case NUMBER: Int =>
370+ let idBet = ((toString(GAMESCOUNTER) + "_") + toString(BET))
371+ let numberString = (("_" + toString(NUMBER)) + "_")
372+ let red = "|_1_3_5_7_9_12_14_16_18_19_21_23_25_27_30_32_34_36_|"
373+ let black = "|_2_4_6_8_10_11_13_15_17_20_22_24_26_28_29_31_33_35_|"
374+ let indexRed = match indexOf(red, numberString) {
375+ case temp: Int =>
376+ (temp > 0)
377+ case _ =>
378+ false
379+ }
380+ let indexBlack = match indexOf(black, numberString) {
381+ case temp: Int =>
382+ (temp > 0)
383+ case _ =>
384+ false
385+ }
386+ let cmbRB = ("_" + (if (indexRed)
387+ then "RED"
388+ else if (indexBlack)
389+ then "BLACK"
390+ else "NDF"))
391+ let cmbEO = ("_" + (if (if ((0 >= NUMBER))
392+ then true
393+ else (NUMBER > 36))
394+ then "NDF"
395+ else if (((NUMBER % 2) == 0))
396+ then "EVEN"
397+ else "ODD"))
398+ let cmbLH = ("_" + (if (if ((NUMBER >= 1))
399+ then (18 >= NUMBER)
400+ else false)
401+ then "LOW"
402+ else if (if ((NUMBER >= 19))
403+ then (36 >= NUMBER)
404+ else false)
405+ then "HIGH"
406+ else "NDF"))
407+ let cmbDZ = ("_" + (if (if ((NUMBER >= 1))
408+ then (12 >= NUMBER)
409+ else false)
410+ then "DOZER1"
411+ else if (if ((NUMBER >= 13))
412+ then (24 >= NUMBER)
413+ else false)
414+ then "DOZER2"
415+ else if (if ((NUMBER >= 25))
416+ then (36 >= NUMBER)
417+ else false)
418+ then "DOZER3"
419+ else "NDF"))
420+ let cmbCL = ("_" + (if (if ((0 >= NUMBER))
421+ then true
422+ else (NUMBER > 36))
423+ then "NDF"
424+ else if (((NUMBER % 3) == 1))
425+ then "COLUMN1"
426+ else if (((NUMBER % 3) == 2))
427+ then "COLUMN2"
428+ else "COLUMN3"))
429+ let STATUS = match betGetStatus(idBet) {
430+ case temp: String =>
431+ temp
432+ case _ =>
433+ throw("BET_STATUS_NOT_FOUND")
434+ }
435+ let INFO = match betGetInfo(idBet) {
436+ case temp: String =>
437+ temp
438+ case _ =>
439+ throw("BET_INFO_NOT_FOUND")
440+ }
441+ let INFOS = split(INFO, "||")
442+ let ADDRESSSTRING = INFOS[0]
443+ let ADDRESS = value(addressFromString(ADDRESSSTRING))
444+ let CMB = INFOS[1]
445+ let AMOUNT = value(parseInt(INFOS[2]))
446+ let WIN = value(parseInt(INFOS[3]))
447+ let ADDRESSWON = match addressGetWon(ADDRESSSTRING) {
448+ case temp: Int =>
449+ temp
450+ case _ =>
451+ 0
452+ }
453+ let ADDRESSHIT = match addressGetHit(ADDRESSSTRING) {
454+ case temp: Int =>
455+ temp
456+ case _ =>
457+ 0
458+ }
459+ let DATAPASSED = DataEntry(gameLabelPassed(GAMESCOUNTER), (value(gameGetPassed(GAMESCOUNTER)) + 1))
460+ if (if (if (if (if ((STATUS == "ACCEPT"))
461+ then (CMB != "")
462+ else false)
463+ then (WIN > 0)
464+ else false)
465+ then (AMOUNT > 0)
466+ else false)
467+ then isDefined(ADDRESS)
468+ else false)
469+ then {
470+ let cmbIN = match indexOf((("|" + CMB) + "|"), numberString) {
471+ case temp: Int =>
472+ (temp > 0)
473+ case _ =>
474+ false
475+ }
476+ if (if (if (if (if (if (cmbIN)
477+ then true
478+ else (CMB == cmbRB))
479+ then true
480+ else (CMB == cmbEO))
481+ then true
482+ else (CMB == cmbLH))
483+ then true
484+ else (CMB == cmbDZ))
485+ then true
486+ else (CMB == cmbCL))
487+ then ScriptResult(WriteSet([DATAPASSED, DataEntry(betLabelStatus(idBet), "WON"), DataEntry(addressLabelWon(ADDRESSSTRING), ((ADDRESSWON + WIN) + AMOUNT)), DataEntry(addressLabelHit(ADDRESSSTRING), (ADDRESSHIT + 1)), DataEntry(gamesLabelTotalAmountWin, ((value(gamesGetTotalAmountWin()) + WIN) + AMOUNT))]), TransferSet([ScriptTransfer(ADDRESS, (WIN + AMOUNT), myAssetId)]))
488+ else WriteSet([DATAPASSED, DataEntry(betLabelStatus(idBet), "LOST"), DataEntry(addressLabelWon(ADDRESSSTRING), ADDRESSWON), DataEntry(addressLabelHit(ADDRESSSTRING), ADDRESSHIT)])
489+ }
490+ else throw("GET_WIN_ALREADY_CALLED")
491+ case _ =>
492+ throw("GAME_NOT_FOUND")
493+ }
494+ case _ =>
495+ throw("GAME_NOT_FOUND")
496+ }
497+ case _ =>
498+ throw("INIT_NEEDED")
499+ }
500+
501+
502+
503+@Callable(i)
504+func addCmb (cmb,val) = if (checkPermission(i.callerPublicKey))
505+ then throw("addCmb_FORBBIDEN")
506+ else match gamesGetCounter() {
507+ case GAMESCOUNTER: Int =>
508+ if ((GAMESCOUNTER != 0))
509+ then throw("INIT_ALREADY_DONE")
510+ else if (if (if (if (if (if (if ((val == 1))
511+ then true
512+ else (val == 2))
513+ then true
514+ else (val == 5))
515+ then true
516+ else (val == 8))
517+ then true
518+ else (val == 11))
519+ then true
520+ else (val == 17))
521+ then true
522+ else (val == 35))
523+ then WriteSet([DataEntry(("C" + cmb), val)])
524+ else throw("AMOUNT_NOT_FOUND")
525+ case _ =>
526+ throw("INIT_NEEDED")
527+ }
528+
529+
530+
531+@Callable(i)
532+func setVariables (val,variable) = if (checkPermission(i.callerPublicKey))
533+ then throw("setVariables_FORBBIDEN")
534+ else if (if (if (if (if (if (if (if (if (if ((variable == "V_FEE"))
535+ then true
536+ else (variable == "V_PERIOD"))
537+ then true
538+ else (variable == "V_CMBMAX"))
539+ then true
540+ else (variable == "V_MINBL"))
541+ then true
542+ else (variable == "V_CHIP1"))
543+ then true
544+ else (variable == "V_CHIP2"))
545+ then true
546+ else (variable == "V_CHIP3"))
547+ then true
548+ else (variable == "V_CHIP4"))
549+ then true
550+ else (variable == "V_CHIP5"))
551+ then true
552+ else (variable == "V_CHIP6"))
553+ then match gamesGetCounter() {
554+ case GAMESCOUNTER: Int =>
555+ if ((GAMESCOUNTER == 0))
556+ then WriteSet([DataEntry(variable, val)])
557+ else {
558+ let CURRSTATUS = value(gameGetStatus(GAMESCOUNTER))
559+ if ((CURRSTATUS != "SHOW"))
560+ then throw("CURR_STATUS_IS_NOT_SHOW")
561+ else {
562+ let BETS = value(gameGetBets(GAMESCOUNTER))
563+ let PASSED = value(gameGetPassed(GAMESCOUNTER))
564+ if ((BETS != PASSED))
565+ then throw("WAIT_ALL_PASSED")
566+ else WriteSet([DataEntry(variable, val)])
567+ }
568+ }
569+ case _ =>
570+ throw("INIT_NEEDED")
571+ }
572+ else throw("NO_VARIABLE_NAME_PASSED")
573+
574+
575+
576+@Callable(i)
577+func initGame () = if (checkPermission(i.callerPublicKey))
578+ then throw("initGame_FORBBIDEN")
579+ else match gamesGetCounter() {
580+ case GAMESCOUNTER: Int =>
581+ throw("INIT_ALREADY_DONE")
582+ case _ =>
583+ WriteSet([DataEntry(gamesLabelCounter, 0), DataEntry(gamesLabelBetsCounter, 0), DataEntry(gamesLabelBetsFeeMoved, 0), DataEntry(gamesLabelTotalAmountWin, 0), DataEntry(gamesLabelTotalAmountBet, 0), DataEntry(gamesLabelTotalAddressBet, 0)])
584+ }
585+
586+
587+
588+@Callable(i)
589+func newGame () = if (checkPermission(i.callerPublicKey))
590+ then throw("newGame_FORBBIDEN")
591+ else match gamesGetCounter() {
592+ case GAMESCOUNTER: Int =>
593+ let newGameCounter = (GAMESCOUNTER + 1)
594+ let BETSCOUNTER = value(gamesGetBetsCounter())
595+ let BETSMOVED = value(gamesGetBetsFeeMoved())
596+ let gameMax = (assetBalance(this, myAssetId) - ((BETSCOUNTER - BETSMOVED) * fee))
597+ let halfGameMax = if (((gameMax % 2) == 1))
598+ then ((gameMax - 1) / 2)
599+ else (gameMax / 2)
600+ let sendData = WriteSet([DataEntry(gamesLabelCounter, newGameCounter), DataEntry(gameLabelStatus(newGameCounter), "PLAY"), DataEntry(gameLabelMax(newGameCounter), halfGameMax), DataEntry(gameLabelBets(newGameCounter), 0), DataEntry(gameLabelPassed(newGameCounter), 0), DataEntry(gameLabelHeight(newGameCounter), 0), DataEntry(gameLabelSumSha(newGameCounter), toBase58String(sha256(i.transactionId)))])
601+ if ((minBal > halfGameMax))
602+ then throw("BALANCE_IS_LOW")
603+ else if ((GAMESCOUNTER == 0))
604+ then sendData
605+ else {
606+ let CURRSTATUS = value(gameGetStatus(GAMESCOUNTER))
607+ if ((CURRSTATUS != "SHOW"))
608+ then throw("CURR_STATUS_IS_NOT_SHOW")
609+ else {
610+ let BETS = value(gameGetBets(GAMESCOUNTER))
611+ let PASSED = value(gameGetPassed(GAMESCOUNTER))
612+ if ((BETS != PASSED))
613+ then throw("WAIT_ALL_PASSED")
614+ else sendData
615+ }
616+ }
617+ case _ =>
618+ throw("INIT_NEEDED")
619+ }
620+
621+
622+
623+@Callable(i)
624+func showGame (rsaSign) = if (checkPermission(i.callerPublicKey))
625+ then throw("showGame_FORBBIDEN")
626+ else match gamesGetCounter() {
627+ case GAMESCOUNTER: Int =>
628+ match gameGetSumSha(GAMESCOUNTER) {
629+ case SUMSHA: String =>
630+ let rsaSigValid = rsaVerify(SHA256, fromBase58String(SUMSHA), rsaSign, RSAPUBLIC)
631+ if (!(rsaSigValid))
632+ then throw("INVALID_RSA_SIGN")
633+ else {
634+ let index = (toInt(sha256(rsaSign)) % 37)
635+ let numberString = wheel[index]
636+ let number = value(parseInt(numberString))
637+ let numberCount = match numberGetCount(numberString) {
638+ case temp: Int =>
639+ temp
640+ case _ =>
641+ 0
642+ }
643+ let CURRSTATUS = value(gameGetStatus(GAMESCOUNTER))
644+ if ((CURRSTATUS != "PLAY"))
645+ then throw("CURR_STATUS_IS_NOT_PLAY")
646+ else {
647+ let GAMEHEIGHT = value(gameGetHeight(GAMESCOUNTER))
648+ if (if ((GAMEHEIGHT == 0))
649+ then true
650+ else ((GAMEHEIGHT + periodGamePlay) >= height))
651+ then throw("GAME_IS_NOT_END")
652+ else WriteSet([DataEntry(gameLabelStatus(GAMESCOUNTER), "SHOW"), DataEntry(gameLabelNumber(GAMESCOUNTER), number), DataEntry(numberLabelCount(numberString), (numberCount + 1))])
653+ }
654+ }
655+ case _ =>
656+ throw("GAME_NOT_FOUND")
657+ }
658+ case _ =>
659+ throw("INIT_NEEDED")
660+ }
661+
662+
663+
664+@Callable(i)
665+func amountToServer (amount) = if (checkPermission(i.callerPublicKey))
666+ then throw("amountToWallet_FORBBIDEN")
667+ else match gamesGetCounter() {
668+ case GAMESCOUNTER: Int =>
669+ if ((GAMESCOUNTER == 0))
670+ then TransferSet([ScriptTransfer(addressFromPublicKey(serverPublicKey), amount, myAssetId)])
671+ else {
672+ let CURRSTATUS = value(gameGetStatus(GAMESCOUNTER))
673+ if ((CURRSTATUS != "SHOW"))
674+ then throw("CURR_STATUS_IS_NOT_SHOW")
675+ else {
676+ let BETS = value(gameGetBets(GAMESCOUNTER))
677+ let PASSED = value(gameGetPassed(GAMESCOUNTER))
678+ if ((BETS != PASSED))
679+ then throw("WAIT_ALL_PASSED")
680+ else TransferSet([ScriptTransfer(addressFromPublicKey(serverPublicKey), amount, myAssetId)])
681+ }
682+ }
683+ case _ =>
684+ throw("INIT_NEEDED")
685+ }
686+
687+
688+
689+@Callable(i)
690+func amountWavesToServer (amount) = if (checkPermission(i.callerPublicKey))
691+ then throw("amountToWallet_FORBBIDEN")
692+ else TransferSet([ScriptTransfer(addressFromPublicKey(serverPublicKey), amount, unit)])
693+
694+
695+@Verifier(tx)
696+func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
697+

github/deemru/w8io/169f3d6 
36.57 ms