tx · mVYhUf4djEXesPyxz4njidZwgQBi1jfNKCm2ThZj92j

3NB8cwvE1ePgYLm3bKyEjmaQZgt3FCTXDsa:  -0.01000000 Waves

2021.12.24 13:36 [1848236] smart account 3NB8cwvE1ePgYLm3bKyEjmaQZgt3FCTXDsa > SELF 0.00000000 Waves

{ "type": 13, "id": "mVYhUf4djEXesPyxz4njidZwgQBi1jfNKCm2ThZj92j", "fee": 1000000, "feeAssetId": null, "timestamp": 1640342187005, "version": 2, "chainId": 84, "sender": "3NB8cwvE1ePgYLm3bKyEjmaQZgt3FCTXDsa", "senderPublicKey": "6reaHbERY6emiCmamxU4cz66Paa6JwEn27GZ6rvmhnY8", "proofs": [ "4JJiH6dFqz1w5QgqzAKB31X78fa7iPFaX2MVcvChE9PqqsKeHuVsDc4R8XpKJipQN5vibx9VFXfgakyyuzWoKjY3" ], "script": "base64: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S3ExUGhiWXJObXVTNmpQRFlvYnhzc1h5Yy90eHNpcFNHd3pNZ1ZIY3F0OU9TaUdReVNaOC85bXR2NDJFZWZ6RkU5NXd1dXk0MktKS0c3aDBEVE1mRlNMVHBxaFMvTWJwOEVLUHVWYjFodVdzTUtWTDlRdE9QWUVYYTlRUFphMldCUFg1WTlCSTFNY1JRL1dmOFd3cVF0QVJwQmZTVnBrS1BTMUFtaHQyZkVPeFNTWVJxRzZJVXNmSzh4TzloeHQrMysvT3AvK0lGSlRHY0dGOEJyeldRSUdDUHc5L3UyNwAAAAARZ2FtZXNMYWJlbENvdW50ZXICAAAADlhfR0FNRVNDT1VOVEVSAAAAABVnYW1lc0xhYmVsQmV0c0NvdW50ZXICAAAADVhfQkVUU0NPVU5URVIAAAAAFmdhbWVzTGFiZWxCZXRzRmVlTW92ZWQCAAAADlhfQkVUU0ZFRU1PVkVEAAAAABhnYW1lc0xhYmVsVG90YWxBbW91bnRXaW4CAAAAEFhfVE9UQUxBTU9VTlRXSU4AAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudEJldAIAAAAQWF9UT1RBTEFNT1VOVEJFVAAAAAAZZ2FtZXNMYWJlbFRvdGFsQWRkcmVzc0JldAIAAAARWF9UT1RBTEFERFJFU1NCRVQBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAARZ2FtZXNMYWJlbENvdW50ZXIBAAAAE2dhbWVzR2V0QmV0c0NvdW50ZXIAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAFWdhbWVzTGFiZWxCZXRzQ291bnRlcgEAAAAUZ2FtZXNHZXRCZXRzRmVlTW92ZWQAAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAFmdhbWVzTGFiZWxCZXRzRmVlTW92ZWQBAAAAFmdhbWVzR2V0VG90YWxBbW91bnRXaW4AAAAACQAEGgAAAAIFAAAABHRoaXMFAAAAGGdhbWVzTGFiZWxUb3RhbEFtb3VudFdpbgEAAAAWZ2FtZXNHZXRUb3RhbEFtb3VudEJldAAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAYZ2FtZXNMYWJlbFRvdGFsQW1vdW50QmV0AQAAABdnYW1lc0dldFRvdGFsQWRkcmVzc0JldAAAAAAJAAQaAAAAAgUAAAAEdGhpcwUAAAAZZ2FtZXNMYWJlbFRvdGFsQWRkcmVzc0JldAEAAAAQbnVtYmVyTGFiZWxDb3VudAAAAAEAAAAGbnVtYmVyCQABLAAAAAICAAAAAk5fBQAAAAZudW1iZXIBAAAADm51bWJlckdldENvdW50AAAAAQAAAAZudW1iZXIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAEG51bWJlckxhYmVsQ291bnQAAAABBQAAAAZudW1iZXIBAAAAD2dhbWVMYWJlbFN0YXR1cwAAAAEAAAAMR0FNRVNDT1VOVEVSCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAdfU1RBVFVTAQAAAA9nYW1lTGFiZWxOdW1iZXIAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAHX05VTUJFUgEAAAAMZ2FtZUxhYmVsTWF4AAAAAQAAAAxHQU1FU0NPVU5URVIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAxHQU1FU0NPVU5URVICAAAABF9NQVgBAAAADWdhbWVMYWJlbEJldHMAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAFX0JFVFMBAAAAD2dhbWVMYWJlbFBhc3NlZAAAAAEAAAAMR0FNRVNDT1VOVEVSCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAdfUEFTU0VEAQAAAA9nYW1lTGFiZWxIZWlnaHQAAAABAAAADEdBTUVTQ09VTlRFUgkAASwAAAACCQABLAAAAAICAAAAAkdfCQABpAAAAAEFAAAADEdBTUVTQ09VTlRFUgIAAAAHX0hFSUdIVAEAAAAPZ2FtZUxhYmVsU3VtU2hhAAAAAQAAAAxHQU1FU0NPVU5URVIJAAEsAAAAAgkAASwAAAACAgAAAAJHXwkAAaQAAAABBQAAAAxHQU1FU0NPVU5URVICAAAAB19TVU1TSEEBAAAAD2dhbWVMYWJlbENtYk1heAAAAAIAAAAMR0FNRVNDT1VOVEVSAAAAA0NNQgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAACR18JAAGkAAAAAQUAAAAMR0FNRVNDT1VOVEVSAgAAAAJfQwUAAAADQ01CAQAAAA1nYW1lR2V0U3RhdHVzAAAAAQAAAAxHQU1FU0NPVU5URVIJAAQdAAAAAgUAAAAEdGhpcwkBAAAAD2dhbWVMYWJlbFN0YXR1cwAAAAEFAAAADEdBTUVTQ09VTlRFUgEAAAANZ2FtZUdldE51bWJlcgAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxOdW1iZXIAAAABBQAAAAxHQU1FU0NPVU5URVIBAAAACmdhbWVHZXRNYXgAAAABAAAADEdBTUVTQ09VTlRFUgkABBoAAAACBQAAAAR0aGlzCQEAAAAMZ2FtZUxhYmVsTWF4AAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAAtnYW1lR2V0QmV0cwAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA1nYW1lTGFiZWxCZXRzAAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAA1nYW1lR2V0UGFzc2VkAAAAAQAAAAxHQU1FU0NPVU5URVIJAAQaAAAAAgUAAAAEdGhpcwkBAAAAD2dhbWVMYWJlbFBhc3NlZAAAAAEFAAAADEdBTUVTQ09VTlRFUgEAAAANZ2FtZUdldEhlaWdodAAAAAEAAAAMR0FNRVNDT1VOVEVSCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxIZWlnaHQAAAABBQAAAAxHQU1FU0NPVU5URVIBAAAADWdhbWVHZXRTdW1TaGEAAAABAAAADEdBTUVTQ09VTlRFUgkABB0AAAACBQAAAAR0aGlzCQEAAAAPZ2FtZUxhYmVsU3VtU2hhAAAAAQUAAAAMR0FNRVNDT1VOVEVSAQAAAA1nYW1lR2V0Q21iTWF4AAAAAgAAAAxHQU1FU0NPVU5URVIAAAADQ01CCQAEGgAAAAIFAAAABHRoaXMJAQAAAA9nYW1lTGFiZWxDbWJNYXgAAAACBQAAAAxHQU1FU0NPVU5URVIFAAAAA0NNQgEAAAAOYmV0TGFiZWxTdGF0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bnQAAAABBQAAAAdhZGRyZXNzCQAAZAAAAAIFAAAADUFERFJFU1NBTU9VTlQFAAAABmFtb3VudAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAEGFkZHJlc3NMYWJlbEJldHMAAAABBQAAAAdhZGRyZXNzCQAAZAAAAAIFAAAAC0FERFJFU1NCRVRTAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABVnYW1lc0xhYmVsQmV0c0NvdW50ZXIJAABkAAAAAgkBAAAABXZhbHVlAAAAAQkBAAAAE2dhbWVzR2V0QmV0c0NvdW50ZXIAAAAAAAAAAAAAAAABCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABhnYW1lc0xhYmVsVG90YWxBbW91bnRCZXQJAABkAAAAAgkBAAAABXZhbHVlAAAAAQkBAAAAFmdhbWVzR2V0VG90YWxBbW91bnRCZXQAAAAABQAAAAZhbW91bnQFAAAAA25pbAQAAAAPVE9UQUxBRERSRVNTQkVUCQAAZAAAAAIJAQAAAAV2YWx1ZQAAAAEJAQAAABdnYW1lc0dldFRvdGFsQWRkcmVzc0JldAAAAAAAAAAAAAAAAAEEAAAACWRhdGFGaW5hbAMJAAAAAAAAAgUAAAANQUREUkVTU0FNT1VOVAAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgkBAAAAE3BvaW50ZXJBZGRyZXNzTGFiZWwAAAABCQABpAAAAAEFAAAAD1RPVEFMQUREUkVTU0JFVAUAAAAHYWRkcmVzcwkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAZZ2FtZXNMYWJlbFRvdGFsQWRkcmVzc0JldAUAAAAPVE9UQUxBRERSRVNTQkVUBQAAAARkYXRhBQAAAARkYXRhCQEAAAAMU2NyaXB0UmVzdWx0AAAAAgkBAAAACFdyaXRlU2V0AAAAAQUAAAAJZGF0YUZpbmFsCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAD3NlcnZlclB1YmxpY0tleQUAAAADZmVlBQAAAAlteUFzc2V0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AAAXTk9fVkFSSUFCTEVfTkFNRV9QQVNTRUQAAAABaQEAAAAIaW5pdEdhbWUAAAAAAwkBAAAAD2NoZWNrUGVybWlzc2lvbgAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQkAAAIAAAABAgAAABJpbml0R2FtZV9GT1JCQklERU4EAAAAByRtYXRjaDAJAQAAAA9nYW1lc0dldENvdW50ZXIAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAADEdBTUVTQ09VTlRFUgUAAAAHJG1hdGNoMAkAAAIAAAABAgAAABFJTklUX0FMUkVBRFlfRE9ORQkBAAAACFdyaXRlU2V0AAAAAQkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAARZ2FtZXNMYWJlbENvdW50ZXIAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAFWdhbWVzTGFiZWxCZXRzQ291bnRlcgAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAWZ2FtZXNMYWJlbEJldHNGZWVNb3ZlZAAAAAAAAAAAAAkABEwAAAACCQEAAAAJRGF0YUVudHJ5AAAAAgUAAAAYZ2FtZXNMYWJlbFRvdGFsQW1vdW50V2luAAAAAAAAAAAACQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACBQAAABhnYW1lc0xhYmVsVG90YWxBbW91bnRCZXQAAAAAAAAAAAAJAARMAAAAAgkBAAAACURhdGFFbnRyeQAAAAIFAAAAGWdhbWVzTGFiZWxUb3RhbEFkZHJlc3NCZXQAAAAAAAAAAAAFAAAAA25pbAAAAAFpAQAAAAduZXdHYW1lAAAAAAMJAQAAAA9jaGVja1Blcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAARbmV3R2FtZV9GT1JCQklERU4EAAAAByRtYXRjaDAJAQAAAA9nYW1lc0dldENvdW50ZXIAAAAAAwkAAAEAAAACBQAAAAckbWF0Y2gwAgAAAANJbnQEAAAADEdBTUVTQ09VTlRFUgUAAAAHJG1hdGNoMAQAAAAObmV3R2FtZUNvdW50ZXIJAABkAAAAAgUAAAAMR0FNRVNDT1VO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AAEFAAAADEdBTUVTQ09VTlRFUgUAAAAGbnVtYmVyCQAETAAAAAIJAQAAAAlEYXRhRW50cnkAAAACCQEAAAAQbnVtYmVyTGFiZWxDb3VudAAAAAEFAAAADG51bWJlclN0cmluZwkAAGQAAAACBQAAAAtudW1iZXJDb3VudAAAAAAAAAAAAQUAAAADbmlsCQAAAgAAAAECAAAADkdBTUVfTk9UX0ZPVU5ECQAAAgAAAAECAAAAC0lOSVRfTkVFREVEAAAAAWkBAAAADmFtb3VudFRvU2VydmVyAAAAAQAAAAZhbW91bnQDCQEAAAAPY2hlY2tQZXJtaXNzaW9uAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5CQAAAgAAAAECAAAAGGFtb3VudFRvV2FsbGV0X0ZPUkJCSURFTgQAAAAHJG1hdGNoMAkBAAAAD2dhbWVzR2V0Q291bnRlcgAAAAADCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMR0FNRVNDT1VOVEVSBQAAAAckbWF0Y2gwAwkAAAAAAAACBQAAAAxHQU1FU0NPVU5URVIAAAAAAAAAAAAJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAPc2VydmVyUHVibGljS2V5BQAAAAZhbW91bnQFAAAACW15QXNzZXRJZAUAAAADbmlsBAAAAApDVVJSU1RBVFVTCQEAAAAFdmFsdWUAAAABCQEAAAANZ2FtZUdldFN0YXR1cwAAAAEFAAAADEdBTUVTQ09VTlRFUgMJAQAAAAIhPQAAAAIFAAAACkNVUlJTVEFUVVMCAAAABFNIT1cJAAACAAAAAQIAAAAXQ1VSUl9TVEFUVVNfSVNfTk9UX1NIT1cEAAAABEJFVFMJAQAAAAV2YWx1ZQAAAAEJAQAAAAtnYW1lR2V0QmV0cwAAAAEFAAAADEdBTUVTQ09VTlRFUgQAAAAGUEFTU0VECQEAAAAFdmFsdWUAAAABCQEAAAANZ2FtZUdldFBhc3NlZAAAAAEFAAAADEdBTUVTQ09VTlRFUgMJAQAAAAIhPQAAAAIFAAAABEJFVFMFAAAABlBBU1NFRAkAAAIAAAABAgAAAA9XQUlUX0FMTF9QQVNTRUQJAQAAAAtUcmFuc2ZlclNldAAAAAEJAARMAAAAAgkBAAAADlNjcmlwdFRyYW5zZmVyAAAAAwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQUAAAAPc2VydmVyUHVibGljS2V5BQAAAAZhbW91bnQFAAAACW15QXNzZXRJZAUAAAADbmlsCQAAAgAAAAECAAAAC0lOSVRfTkVFREVEAAAAAWkBAAAAE2Ftb3VudFdhdmVzVG9TZXJ2ZXIAAAABAAAABmFtb3VudAMJAQAAAA9jaGVja1Blcm1pc3Npb24AAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkJAAACAAAAAQIAAAAYYW1vdW50VG9XYWxsZXRfRk9SQkJJREVOCQEAAAALVHJhbnNmZXJTZXQAAAABCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEFAAAAD3NlcnZlclB1YmxpY0tleQUAAAAGYW1vdW50BQAAAAR1bml0BQAAAANuaWwAAAABAAAAAnR4AQAAAAZ2ZXJpZnkAAAAACQAB9AAAAAMIBQAAAAJ0eAAAAAlib2R5Qnl0ZXMJAAGRAAAAAggFAAAAAnR4AAAABnByb29mcwAAAAAAAAAAAAgFAAAAAnR4AAAAD3NlbmRlclB1YmxpY0tleWa76RQ=", "height": 1848236, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: EwUDTJtnLuduKjBpm4DU2ToSokuVBbKzYJpH27en8B2W Next: none Diff:
OldNewDifferences
271271 then throw("CMB_MAX_WIN")
272272 else 1
273273 case _ =>
274- 1
274+ if ((win > cmbMax))
275+ then throw("CMB_MAX_WIN")
276+ else 1
275277 }
276278
277279
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 3 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let copyright = "Copyright (c) 2021 MaDaMa Labs"
55
66 let creator = "@daidalos - twitter.com/tw_daidalos"
77
88 let team = "MaDaMa Labs https://gitlab.com/madamalabs/"
99
1010 let license = "MIT License"
1111
1212 let licenseLink = "tldrlegal.com/license/mit-license , opensource.org/licenses/MIT"
1313
1414 let serverPublicKey = base58'8mhKq6anPiMfYiWogTbKgVmFquQQam2H6SLs8XieX2CN'
1515
1616 let myAssetId = base58'Ac7AwywpLnExZXmp7JnyqLoeyEaSWgrnisch3KKyoEUe'
1717
1818 let feeTmp = getInteger(this, "V_FEE")
1919
2020 let fee = if (isDefined(feeTmp))
2121 then value(feeTmp)
2222 else 500000
2323
2424 let periodGamePlayTmp = getInteger(this, "V_PERIOD")
2525
2626 let periodGamePlay = if (isDefined(periodGamePlayTmp))
2727 then value(periodGamePlayTmp)
2828 else 2
2929
3030 let cmbMaxTmp = getInteger(this, "V_CMBMAX")
3131
3232 let cmbMax = if (isDefined(cmbMaxTmp))
3333 then value(cmbMaxTmp)
3434 else (200 * 100000000)
3535
3636 let minBalTmp = getInteger(this, "V_MINBL")
3737
3838 let minBal = if (isDefined(minBalTmp))
3939 then value(minBalTmp)
4040 else (1 * 100000000)
4141
4242 let chip1Tmp = getInteger(this, "V_CHIP1")
4343
4444 let chip1 = if (isDefined(chip1Tmp))
4545 then value(chip1Tmp)
4646 else ((1 * 100000000) / 10)
4747
4848 let chip2Tmp = getInteger(this, "V_CHIP2")
4949
5050 let chip2 = if (isDefined(chip2Tmp))
5151 then value(chip2Tmp)
5252 else ((1 * 100000000) / 5)
5353
5454 let chip3Tmp = getInteger(this, "V_CHIP3")
5555
5656 let chip3 = if (isDefined(chip3Tmp))
5757 then value(chip3Tmp)
5858 else ((1 * 100000000) / 2)
5959
6060 let chip4Tmp = getInteger(this, "V_CHIP4")
6161
6262 let chip4 = if (isDefined(chip4Tmp))
6363 then value(chip4Tmp)
6464 else ((1 * 100000000) * 1)
6565
6666 let chip5Tmp = getInteger(this, "V_CHIP5")
6767
6868 let chip5 = if (isDefined(chip5Tmp))
6969 then value(chip5Tmp)
7070 else ((1 * 100000000) * 2)
7171
7272 let chip6Tmp = getInteger(this, "V_CHIP6")
7373
7474 let chip6 = if (isDefined(chip6Tmp))
7575 then value(chip6Tmp)
7676 else ((1 * 100000000) * 5)
7777
7878 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"]
7979
8080 let RSAPUBLIC = fromBase64String("base64:MIIBJTANBgkqhkiG9w0BAQEFAAOCARIAMIIBDQKCAQEAtObfiwWyBFpSNJZmkxlwHy5vT+Jb+Vv6f7LlhKE9wNcC0Qp0rdyMwxLpdwfuLsKbRdBEbDhpb3dz1JPJiatlhKVKUsoQ25UQu9hv2oXyyEzJx86CGQq5HOr3YGGSdJR0LKq1PhbYrNmuS6jPDYobxssXyc/txsipSGwzMgVHcqt9OSiGQySZ8/9mtv42EefzFE95wuuy42KJKG7h0DTMfFSLTpqhS/Mbp8EKPuVb1huWsMKVL9QtOPYEXa9QPZa2WBPX5Y9BI1McRQ/Wf8WwqQtARpBfSVpkKPS1Amht2fEOxSSYRqG6IUsfK8xO9hxt+3+/Op/+IFJTGcGF8BrzWQIGCPw9/u27")
8181
8282 let gamesLabelCounter = "X_GAMESCOUNTER"
8383
8484 let gamesLabelBetsCounter = "X_BETSCOUNTER"
8585
8686 let gamesLabelBetsFeeMoved = "X_BETSFEEMOVED"
8787
8888 let gamesLabelTotalAmountWin = "X_TOTALAMOUNTWIN"
8989
9090 let gamesLabelTotalAmountBet = "X_TOTALAMOUNTBET"
9191
9292 let gamesLabelTotalAddressBet = "X_TOTALADDRESSBET"
9393
9494 func gamesGetCounter () = getInteger(this, gamesLabelCounter)
9595
9696
9797 func gamesGetBetsCounter () = getInteger(this, gamesLabelBetsCounter)
9898
9999
100100 func gamesGetBetsFeeMoved () = getInteger(this, gamesLabelBetsFeeMoved)
101101
102102
103103 func gamesGetTotalAmountWin () = getInteger(this, gamesLabelTotalAmountWin)
104104
105105
106106 func gamesGetTotalAmountBet () = getInteger(this, gamesLabelTotalAmountBet)
107107
108108
109109 func gamesGetTotalAddressBet () = getInteger(this, gamesLabelTotalAddressBet)
110110
111111
112112 func numberLabelCount (number) = ("N_" + number)
113113
114114
115115 func numberGetCount (number) = getInteger(this, numberLabelCount(number))
116116
117117
118118 func gameLabelStatus (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_STATUS")
119119
120120
121121 func gameLabelNumber (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_NUMBER")
122122
123123
124124 func gameLabelMax (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_MAX")
125125
126126
127127 func gameLabelBets (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_BETS")
128128
129129
130130 func gameLabelPassed (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_PASSED")
131131
132132
133133 func gameLabelHeight (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_HEIGHT")
134134
135135
136136 func gameLabelSumSha (GAMESCOUNTER) = (("G_" + toString(GAMESCOUNTER)) + "_SUMSHA")
137137
138138
139139 func gameLabelCmbMax (GAMESCOUNTER,CMB) = ((("G_" + toString(GAMESCOUNTER)) + "_C") + CMB)
140140
141141
142142 func gameGetStatus (GAMESCOUNTER) = getString(this, gameLabelStatus(GAMESCOUNTER))
143143
144144
145145 func gameGetNumber (GAMESCOUNTER) = getInteger(this, gameLabelNumber(GAMESCOUNTER))
146146
147147
148148 func gameGetMax (GAMESCOUNTER) = getInteger(this, gameLabelMax(GAMESCOUNTER))
149149
150150
151151 func gameGetBets (GAMESCOUNTER) = getInteger(this, gameLabelBets(GAMESCOUNTER))
152152
153153
154154 func gameGetPassed (GAMESCOUNTER) = getInteger(this, gameLabelPassed(GAMESCOUNTER))
155155
156156
157157 func gameGetHeight (GAMESCOUNTER) = getInteger(this, gameLabelHeight(GAMESCOUNTER))
158158
159159
160160 func gameGetSumSha (GAMESCOUNTER) = getString(this, gameLabelSumSha(GAMESCOUNTER))
161161
162162
163163 func gameGetCmbMax (GAMESCOUNTER,CMB) = getInteger(this, gameLabelCmbMax(GAMESCOUNTER, CMB))
164164
165165
166166 func betLabelStatus (idBet) = (("B_" + idBet) + "_STATUS")
167167
168168
169169 func betLabelInfo (idBet) = (("B_" + idBet) + "_INFO")
170170
171171
172172 func betGetStatus (idBet) = getString(this, betLabelStatus(idBet))
173173
174174
175175 func betGetInfo (idBet) = getString(this, betLabelInfo(idBet))
176176
177177
178178 func addressLabelWon (addr) = (("A_" + addr) + "_WON")
179179
180180
181181 func addressLabelAmount (addr) = (("A_" + addr) + "_AMOUNT")
182182
183183
184184 func addressLabelBets (addr) = (("A_" + addr) + "_BETS")
185185
186186
187187 func addressLabelHit (addr) = (("A_" + addr) + "_HIT")
188188
189189
190190 func addressGetWon (addr) = getInteger(this, addressLabelWon(addr))
191191
192192
193193 func addressGetAmount (addr) = getInteger(this, addressLabelAmount(addr))
194194
195195
196196 func addressGetBets (addr) = getInteger(this, addressLabelBets(addr))
197197
198198
199199 func addressGetHit (addr) = getInteger(this, addressLabelHit(addr))
200200
201201
202202 func pointerAddressLabel (id) = ("P_" + id)
203203
204204
205205 func checkPermission (callerPublicKey) = (callerPublicKey != serverPublicKey)
206206
207207
208208 func gameNewMax (win) = match gamesGetCounter() {
209209 case GAMESCOUNTER: Int =>
210210 match gameGetMax(GAMESCOUNTER) {
211211 case CURRMAX: Int =>
212212 let temp = (CURRMAX - win)
213213 if ((0 > temp))
214214 then throw("BET_IS_BLOCK")
215215 else temp
216216 case _ =>
217217 throw("GAME_NOT_FOUND")
218218 }
219219 case _ =>
220220 throw("INIT_NEEDED")
221221 }
222222
223223
224224 func gameNewSumSha (txId) = match gamesGetCounter() {
225225 case GAMESCOUNTER: Int =>
226226 match gameGetSumSha(GAMESCOUNTER) {
227227 case SUMSHA: String =>
228228 toBase58String(sha256((fromBase58String(SUMSHA) + txId)))
229229 case _ =>
230230 throw("GAME_NOT_FOUND")
231231 }
232232 case _ =>
233233 throw("INIT_NEEDED")
234234 }
235235
236236
237237 func checkIdBet (idBet) = match betGetInfo(idBet) {
238238 case temp: String =>
239239 throw("PLAYER_ALREADY_DEFINED")
240240 case _ =>
241241 1
242242 }
243243
244244
245245 func checkBet (bet) = if (if (if (if (if (if ((bet == chip1))
246246 then true
247247 else (bet == chip2))
248248 then true
249249 else (bet == chip3))
250250 then true
251251 else (bet == chip4))
252252 then true
253253 else (bet == chip5))
254254 then true
255255 else (bet == chip6))
256256 then 1
257257 else throw("BET_NOT_FOUND")
258258
259259
260260 func getCmb (cmb) = match getInteger(this, ("C" + cmb)) {
261261 case temp: Int =>
262262 temp
263263 case _ =>
264264 throw("CMB_NOT_FOUND")
265265 }
266266
267267
268268 func allowCmbMax (gamecounter,cmb,win) = match gameGetCmbMax(gamecounter, cmb) {
269269 case temp: Int =>
270270 if (((temp + win) > cmbMax))
271271 then throw("CMB_MAX_WIN")
272272 else 1
273273 case _ =>
274- 1
274+ if ((win > cmbMax))
275+ then throw("CMB_MAX_WIN")
276+ else 1
275277 }
276278
277279
278280 @Callable(i)
279281 func bet (id,cmb) = match gamesGetCounter() {
280282 case GAMESCOUNTER: Int =>
281283 if ((id != GAMESCOUNTER))
282284 then throw("GAME_ID_WRONG")
283285 else match gameGetStatus(GAMESCOUNTER) {
284286 case CURRSTATUS: String =>
285287 if ((CURRSTATUS != "PLAY"))
286288 then throw("CURR_STATUS_IS_NOT_PLAY")
287289 else match gameGetHeight(GAMESCOUNTER) {
288290 case GAMEHEIGHT: Int =>
289291 if (if ((GAMEHEIGHT != 0))
290292 then (height > (GAMEHEIGHT + periodGamePlay))
291293 else false)
292294 then throw("GAME_IS_END")
293295 else match gameGetBets(GAMESCOUNTER) {
294296 case BETS: Int =>
295297 let idBet = ((toString(GAMESCOUNTER) + "_") + toString((BETS + 1)))
296298 let payment = value(i.payment)
297299 match payment.assetId {
298300 case assetId: ByteVector =>
299301 if ((assetId != myAssetId))
300302 then throw("ONLY_TOKEN_ACCEPTED")
301303 else match i.feeAssetId {
302304 case feeAssetId: ByteVector =>
303305 if ((feeAssetId != myAssetId))
304306 then throw("ONLY_TOKEN_FEE_ACCEPTED")
305307 else {
306308 let amount = (payment.amount - fee)
307309 let win = (((checkIdBet(idBet) * checkBet(amount)) * getCmb(cmb)) * amount)
308310 let winmax = (win * allowCmbMax(GAMESCOUNTER, cmb, win))
309311 let address = toBase58String(i.caller.bytes)
310312 let info = ((((((address + "||") + cmb) + "||") + toString(amount)) + "||") + toString(winmax))
311313 let ADDRESSAMOUNT = match addressGetAmount(address) {
312314 case temp: Int =>
313315 temp
314316 case _ =>
315317 0
316318 }
317319 let ADDRESSBETS = match addressGetBets(address) {
318320 case temp: Int =>
319321 temp
320322 case _ =>
321323 0
322324 }
323325 let CMBMAX = match gameGetCmbMax(GAMESCOUNTER, cmb) {
324326 case temp: Int =>
325327 temp
326328 case _ =>
327329 0
328330 }
329331 let data = [DataEntry(betLabelInfo(idBet), info), DataEntry(betLabelStatus(idBet), "ACCEPT"), DataEntry(gameLabelBets(GAMESCOUNTER), (BETS + 1)), DataEntry(gameLabelHeight(GAMESCOUNTER), if ((GAMEHEIGHT == 0))
330332 then height
331333 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))]
332334 let TOTALADDRESSBET = (value(gamesGetTotalAddressBet()) + 1)
333335 let dataFinal = if ((ADDRESSAMOUNT == 0))
334336 then [DataEntry(pointerAddressLabel(toString(TOTALADDRESSBET)), address), DataEntry(gamesLabelTotalAddressBet, TOTALADDRESSBET)] :: data
335337 else data
336338 ScriptResult(WriteSet(dataFinal), TransferSet([ScriptTransfer(addressFromPublicKey(serverPublicKey), fee, myAssetId)]))
337339 }
338340 case _ =>
339341 throw("WAVES_FEE_NOT_ACCEPTED")
340342 }
341343 case _ =>
342344 throw("WAVES_NOT_ACCEPTED")
343345 }
344346 case _ =>
345347 throw("GAME_NOT_FOUND")
346348 }
347349 case _ =>
348350 throw("GAME_NOT_FOUND")
349351 }
350352 case _ =>
351353 throw("GAME_NOT_FOUND")
352354 }
353355 case _ =>
354356 throw("INIT_NEEDED")
355357 }
356358
357359
358360
359361 @Callable(i)
360362 func getWin (BET) = if (checkPermission(i.callerPublicKey))
361363 then throw("getWin_FORBBIDEN")
362364 else match gamesGetCounter() {
363365 case GAMESCOUNTER: Int =>
364366 match gameGetStatus(GAMESCOUNTER) {
365367 case CURRSTATUS: String =>
366368 if ((CURRSTATUS != "SHOW"))
367369 then throw("CURR_STATUS_IS_NOT_SHOW")
368370 else match gameGetNumber(GAMESCOUNTER) {
369371 case NUMBER: Int =>
370372 let idBet = ((toString(GAMESCOUNTER) + "_") + toString(BET))
371373 let numberString = (("_" + toString(NUMBER)) + "_")
372374 let red = "|_1_3_5_7_9_12_14_16_18_19_21_23_25_27_30_32_34_36_|"
373375 let black = "|_2_4_6_8_10_11_13_15_17_20_22_24_26_28_29_31_33_35_|"
374376 let indexRed = match indexOf(red, numberString) {
375377 case temp: Int =>
376378 (temp > 0)
377379 case _ =>
378380 false
379381 }
380382 let indexBlack = match indexOf(black, numberString) {
381383 case temp: Int =>
382384 (temp > 0)
383385 case _ =>
384386 false
385387 }
386388 let cmbRB = ("_" + (if (indexRed)
387389 then "RED"
388390 else if (indexBlack)
389391 then "BLACK"
390392 else "NDF"))
391393 let cmbEO = ("_" + (if (if ((0 >= NUMBER))
392394 then true
393395 else (NUMBER > 36))
394396 then "NDF"
395397 else if (((NUMBER % 2) == 0))
396398 then "EVEN"
397399 else "ODD"))
398400 let cmbLH = ("_" + (if (if ((NUMBER >= 1))
399401 then (18 >= NUMBER)
400402 else false)
401403 then "LOW"
402404 else if (if ((NUMBER >= 19))
403405 then (36 >= NUMBER)
404406 else false)
405407 then "HIGH"
406408 else "NDF"))
407409 let cmbDZ = ("_" + (if (if ((NUMBER >= 1))
408410 then (12 >= NUMBER)
409411 else false)
410412 then "DOZER1"
411413 else if (if ((NUMBER >= 13))
412414 then (24 >= NUMBER)
413415 else false)
414416 then "DOZER2"
415417 else if (if ((NUMBER >= 25))
416418 then (36 >= NUMBER)
417419 else false)
418420 then "DOZER3"
419421 else "NDF"))
420422 let cmbCL = ("_" + (if (if ((0 >= NUMBER))
421423 then true
422424 else (NUMBER > 36))
423425 then "NDF"
424426 else if (((NUMBER % 3) == 1))
425427 then "COLUMN1"
426428 else if (((NUMBER % 3) == 2))
427429 then "COLUMN2"
428430 else "COLUMN3"))
429431 let STATUS = match betGetStatus(idBet) {
430432 case temp: String =>
431433 temp
432434 case _ =>
433435 throw("BET_STATUS_NOT_FOUND")
434436 }
435437 let INFO = match betGetInfo(idBet) {
436438 case temp: String =>
437439 temp
438440 case _ =>
439441 throw("BET_INFO_NOT_FOUND")
440442 }
441443 let INFOS = split(INFO, "||")
442444 let ADDRESSSTRING = INFOS[0]
443445 let ADDRESS = value(addressFromString(ADDRESSSTRING))
444446 let CMB = INFOS[1]
445447 let AMOUNT = value(parseInt(INFOS[2]))
446448 let WIN = value(parseInt(INFOS[3]))
447449 let ADDRESSWON = match addressGetWon(ADDRESSSTRING) {
448450 case temp: Int =>
449451 temp
450452 case _ =>
451453 0
452454 }
453455 let ADDRESSHIT = match addressGetHit(ADDRESSSTRING) {
454456 case temp: Int =>
455457 temp
456458 case _ =>
457459 0
458460 }
459461 let DATAPASSED = DataEntry(gameLabelPassed(GAMESCOUNTER), (value(gameGetPassed(GAMESCOUNTER)) + 1))
460462 if (if (if (if (if ((STATUS == "ACCEPT"))
461463 then (CMB != "")
462464 else false)
463465 then (WIN > 0)
464466 else false)
465467 then (AMOUNT > 0)
466468 else false)
467469 then isDefined(ADDRESS)
468470 else false)
469471 then {
470472 let cmbIN = match indexOf((("|" + CMB) + "|"), numberString) {
471473 case temp: Int =>
472474 (temp > 0)
473475 case _ =>
474476 false
475477 }
476478 if (if (if (if (if (if (cmbIN)
477479 then true
478480 else (CMB == cmbRB))
479481 then true
480482 else (CMB == cmbEO))
481483 then true
482484 else (CMB == cmbLH))
483485 then true
484486 else (CMB == cmbDZ))
485487 then true
486488 else (CMB == cmbCL))
487489 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)]))
488490 else WriteSet([DATAPASSED, DataEntry(betLabelStatus(idBet), "LOST"), DataEntry(addressLabelWon(ADDRESSSTRING), ADDRESSWON), DataEntry(addressLabelHit(ADDRESSSTRING), ADDRESSHIT)])
489491 }
490492 else throw("GET_WIN_ALREADY_CALLED")
491493 case _ =>
492494 throw("GAME_NOT_FOUND")
493495 }
494496 case _ =>
495497 throw("GAME_NOT_FOUND")
496498 }
497499 case _ =>
498500 throw("INIT_NEEDED")
499501 }
500502
501503
502504
503505 @Callable(i)
504506 func addCmb (cmb,val) = if (checkPermission(i.callerPublicKey))
505507 then throw("addCmb_FORBBIDEN")
506508 else match gamesGetCounter() {
507509 case GAMESCOUNTER: Int =>
508510 if ((GAMESCOUNTER != 0))
509511 then throw("INIT_ALREADY_DONE")
510512 else if (if (if (if (if (if (if ((val == 1))
511513 then true
512514 else (val == 2))
513515 then true
514516 else (val == 5))
515517 then true
516518 else (val == 8))
517519 then true
518520 else (val == 11))
519521 then true
520522 else (val == 17))
521523 then true
522524 else (val == 35))
523525 then WriteSet([DataEntry(("C" + cmb), val)])
524526 else throw("AMOUNT_NOT_FOUND")
525527 case _ =>
526528 throw("INIT_NEEDED")
527529 }
528530
529531
530532
531533 @Callable(i)
532534 func setVariables (val,variable) = if (checkPermission(i.callerPublicKey))
533535 then throw("setVariables_FORBBIDEN")
534536 else if (if (if (if (if (if (if (if (if (if ((variable == "V_FEE"))
535537 then true
536538 else (variable == "V_PERIOD"))
537539 then true
538540 else (variable == "V_CMBMAX"))
539541 then true
540542 else (variable == "V_MINBL"))
541543 then true
542544 else (variable == "V_CHIP1"))
543545 then true
544546 else (variable == "V_CHIP2"))
545547 then true
546548 else (variable == "V_CHIP3"))
547549 then true
548550 else (variable == "V_CHIP4"))
549551 then true
550552 else (variable == "V_CHIP5"))
551553 then true
552554 else (variable == "V_CHIP6"))
553555 then match gamesGetCounter() {
554556 case GAMESCOUNTER: Int =>
555557 if ((GAMESCOUNTER == 0))
556558 then WriteSet([DataEntry(variable, val)])
557559 else {
558560 let CURRSTATUS = value(gameGetStatus(GAMESCOUNTER))
559561 if ((CURRSTATUS != "SHOW"))
560562 then throw("CURR_STATUS_IS_NOT_SHOW")
561563 else {
562564 let BETS = value(gameGetBets(GAMESCOUNTER))
563565 let PASSED = value(gameGetPassed(GAMESCOUNTER))
564566 if ((BETS != PASSED))
565567 then throw("WAIT_ALL_PASSED")
566568 else WriteSet([DataEntry(variable, val)])
567569 }
568570 }
569571 case _ =>
570572 throw("INIT_NEEDED")
571573 }
572574 else throw("NO_VARIABLE_NAME_PASSED")
573575
574576
575577
576578 @Callable(i)
577579 func initGame () = if (checkPermission(i.callerPublicKey))
578580 then throw("initGame_FORBBIDEN")
579581 else match gamesGetCounter() {
580582 case GAMESCOUNTER: Int =>
581583 throw("INIT_ALREADY_DONE")
582584 case _ =>
583585 WriteSet([DataEntry(gamesLabelCounter, 0), DataEntry(gamesLabelBetsCounter, 0), DataEntry(gamesLabelBetsFeeMoved, 0), DataEntry(gamesLabelTotalAmountWin, 0), DataEntry(gamesLabelTotalAmountBet, 0), DataEntry(gamesLabelTotalAddressBet, 0)])
584586 }
585587
586588
587589
588590 @Callable(i)
589591 func newGame () = if (checkPermission(i.callerPublicKey))
590592 then throw("newGame_FORBBIDEN")
591593 else match gamesGetCounter() {
592594 case GAMESCOUNTER: Int =>
593595 let newGameCounter = (GAMESCOUNTER + 1)
594596 let BETSCOUNTER = value(gamesGetBetsCounter())
595597 let BETSMOVED = value(gamesGetBetsFeeMoved())
596598 let gameMax = (assetBalance(this, myAssetId) - ((BETSCOUNTER - BETSMOVED) * fee))
597599 let halfGameMax = if (((gameMax % 2) == 1))
598600 then ((gameMax - 1) / 2)
599601 else (gameMax / 2)
600602 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)))])
601603 if ((minBal > halfGameMax))
602604 then throw("BALANCE_IS_LOW")
603605 else if ((GAMESCOUNTER == 0))
604606 then sendData
605607 else {
606608 let CURRSTATUS = value(gameGetStatus(GAMESCOUNTER))
607609 if ((CURRSTATUS != "SHOW"))
608610 then throw("CURR_STATUS_IS_NOT_SHOW")
609611 else {
610612 let BETS = value(gameGetBets(GAMESCOUNTER))
611613 let PASSED = value(gameGetPassed(GAMESCOUNTER))
612614 if ((BETS != PASSED))
613615 then throw("WAIT_ALL_PASSED")
614616 else sendData
615617 }
616618 }
617619 case _ =>
618620 throw("INIT_NEEDED")
619621 }
620622
621623
622624
623625 @Callable(i)
624626 func showGame (rsaSign) = if (checkPermission(i.callerPublicKey))
625627 then throw("showGame_FORBBIDEN")
626628 else match gamesGetCounter() {
627629 case GAMESCOUNTER: Int =>
628630 match gameGetSumSha(GAMESCOUNTER) {
629631 case SUMSHA: String =>
630632 let rsaSigValid = rsaVerify(SHA256, fromBase58String(SUMSHA), rsaSign, RSAPUBLIC)
631633 if (!(rsaSigValid))
632634 then throw("INVALID_RSA_SIGN")
633635 else {
634636 let index = (toInt(sha256(rsaSign)) % 37)
635637 let numberString = wheel[index]
636638 let number = value(parseInt(numberString))
637639 let numberCount = match numberGetCount(numberString) {
638640 case temp: Int =>
639641 temp
640642 case _ =>
641643 0
642644 }
643645 let CURRSTATUS = value(gameGetStatus(GAMESCOUNTER))
644646 if ((CURRSTATUS != "PLAY"))
645647 then throw("CURR_STATUS_IS_NOT_PLAY")
646648 else {
647649 let GAMEHEIGHT = value(gameGetHeight(GAMESCOUNTER))
648650 if (if ((GAMEHEIGHT == 0))
649651 then true
650652 else ((GAMEHEIGHT + periodGamePlay) >= height))
651653 then throw("GAME_IS_NOT_END")
652654 else WriteSet([DataEntry(gameLabelStatus(GAMESCOUNTER), "SHOW"), DataEntry(gameLabelNumber(GAMESCOUNTER), number), DataEntry(numberLabelCount(numberString), (numberCount + 1))])
653655 }
654656 }
655657 case _ =>
656658 throw("GAME_NOT_FOUND")
657659 }
658660 case _ =>
659661 throw("INIT_NEEDED")
660662 }
661663
662664
663665
664666 @Callable(i)
665667 func amountToServer (amount) = if (checkPermission(i.callerPublicKey))
666668 then throw("amountToWallet_FORBBIDEN")
667669 else match gamesGetCounter() {
668670 case GAMESCOUNTER: Int =>
669671 if ((GAMESCOUNTER == 0))
670672 then TransferSet([ScriptTransfer(addressFromPublicKey(serverPublicKey), amount, myAssetId)])
671673 else {
672674 let CURRSTATUS = value(gameGetStatus(GAMESCOUNTER))
673675 if ((CURRSTATUS != "SHOW"))
674676 then throw("CURR_STATUS_IS_NOT_SHOW")
675677 else {
676678 let BETS = value(gameGetBets(GAMESCOUNTER))
677679 let PASSED = value(gameGetPassed(GAMESCOUNTER))
678680 if ((BETS != PASSED))
679681 then throw("WAIT_ALL_PASSED")
680682 else TransferSet([ScriptTransfer(addressFromPublicKey(serverPublicKey), amount, myAssetId)])
681683 }
682684 }
683685 case _ =>
684686 throw("INIT_NEEDED")
685687 }
686688
687689
688690
689691 @Callable(i)
690692 func amountWavesToServer (amount) = if (checkPermission(i.callerPublicKey))
691693 then throw("amountToWallet_FORBBIDEN")
692694 else TransferSet([ScriptTransfer(addressFromPublicKey(serverPublicKey), amount, unit)])
693695
694696
695697 @Verifier(tx)
696698 func verify () = sigVerify(tx.bodyBytes, tx.proofs[0], tx.senderPublicKey)
697699

github/deemru/w8io/169f3d6 
85.37 ms