2 txs
3 calls
constructor
constructor()
functions
admins
viewfunction admins(address) view returns (bool)
BASIS_POINTS
viewfunction BASIS_POINTS() view returns (uint16)
feeConfig
viewfunction feeConfig() view returns (address collector, uint16 percentage)
games
viewfunction games(uint256) view returns (address token, uint256 entryFee, uint256 totalCollected, uint32 maxParticipants, uint32 participantCount, uint8 status)
getGameInfo
viewfunction getGameInfo(uint256 gameId) view returns (tuple)
getGamePlayers
viewfunction getGamePlayers(uint256 gameId) view returns (address[])
getPlayerStatus
viewfunction getPlayerStatus(uint256 gameId, address player) view returns (bool joined, bool claimed, uint256 availableReward)
getUserEntryCount
viewfunction getUserEntryCount(uint256 gameId, address player) view returns (uint32)
hasEnteredGame
viewfunction hasEnteredGame(uint256, address) view returns (bool)
hasPlayerClaimed
viewfunction hasPlayerClaimed(uint256, address) view returns (bool)
hasPlayerJoined
viewfunction hasPlayerJoined(uint256, address) view returns (bool)
isAdmin
viewfunction isAdmin(address account) view returns (bool)
nextGameId
viewfunction nextGameId() view returns (uint256)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
playerRewards
viewfunction playerRewards(uint256, address) view returns (uint256)
userEntryCount
viewfunction userEntryCount(uint256, address) view returns (uint32)
addAdmin
nonpayablefunction addAdmin(address admin)
addPool
nonpayablefunction addPool(uint256 gameId, uint256 amount)
buyLife
nonpayablefunction buyLife(uint256 gameId, uint32 multiplier)
claimReward
nonpayablefunction claimReward(uint256 gameId)
createGame
nonpayablefunction createGame(address token, uint256 entryFee, uint32 maxParticipants) returns (uint256)
distributePrizePool
nonpayablefunction distributePrizePool(uint256 gameId, address[] winners, uint16[] percentages)
emergencyWithdraw
nonpayablefunction emergencyWithdraw(address token, uint256 amount)
endGame
nonpayablefunction endGame(uint256 gameId)
enterGame
nonpayablefunction enterGame(uint256 gameId)
pause
nonpayablefunction pause()
pauseGame
nonpayablefunction pauseGame(uint256 gameId)
removeAdmin
nonpayablefunction removeAdmin(address admin)
renounceOwnership
nonpayablefunction renounceOwnership()
resumeGame
nonpayablefunction resumeGame(uint256 gameId)
setCrossChainEntry
nonpayablefunction setCrossChainEntry(uint256 gameId, address player, uint256 amount, uint256 chainId, string txHash)
setFeeConfig
nonpayablefunction setFeeConfig(address newFeeCollector, uint16 newFeePercentage)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
events
AdminAdded
event AdminAdded(address indexed admin)
AdminRemoved
event AdminRemoved(address indexed admin)
CrossChainEntry
event CrossChainEntry(uint256 indexed gameId, address indexed player, uint256 amount, uint256 chainId, string txHash)
EmergencyWithdrawal
event EmergencyWithdrawal(address indexed token, address indexed recipient, uint256 amount)
FeeConfigUpdated
event FeeConfigUpdated(address indexed collector, uint16 percentage)
GameCreated
event GameCreated(uint256 indexed gameId, address indexed token, uint256 entryFee, uint32 maxParticipants)
GameEntered
event GameEntered(uint256 indexed gameId, address indexed player, uint256 amount)
GameStatusChanged
event GameStatusChanged(uint256 indexed gameId, uint8 newStatus)
LifeBought
event LifeBought(uint256 indexed gameId, address indexed player, uint256 amount, uint32 newEntryCount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
RewardClaimed
event RewardClaimed(uint256 indexed gameId, address indexed winner, uint256 amount)
RewardsDistributed
event RewardsDistributed(uint256 indexed gameId, uint256 totalRewardAmount, uint256 feeAmount)
Unpaused
event Unpaused(address account)
errors
AdminAlreadyExists
error AdminAlreadyExists()
AdminDoesNotExist
error AdminDoesNotExist()
ArraysLengthMismatch
error ArraysLengthMismatch()
EnforcedPause
error EnforcedPause()
ExpectedPause
error ExpectedPause()
GameDoesNotExist
error GameDoesNotExist()
GameIsFinished
error GameIsFinished()
GameNotActive
error GameNotActive()
GameNotFinished
error GameNotFinished()
GameNotPausable
error GameNotPausable()
GameNotPaused
error GameNotPaused()
InvalidAddress
error InvalidAddress()
InvalidAmount
error InvalidAmount()
InvalidFeePercentage
error InvalidFeePercentage()
MaxParticipantsReached
error MaxParticipantsReached()
NoRewardToClaim
error NoRewardToClaim()
NotAuthorized
error NotAuthorized()
NoWinnersProvided
error NoWinnersProvided()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PlayerAlreadyEntered
error PlayerAlreadyEntered()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
RewardAlreadyClaimed
error RewardAlreadyClaimed()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
TotalPercentageExceeds100
error TotalPercentageExceeds100()
ZeroValueNotAllowed
error ZeroValueNotAllowed()
creation bytecode
0x6080604090808252346100e75733156100d1575060008054336001600160a01b03198216811783558351916001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36001808055600c558083016001600160401b038111828210176100bd578352338082526020918201839052600b80546001600160b01b03191661ffff60a01b1983161790558252600a9052819020805460ff1916600117905551611efd90816100ed8239f35b634e487b7160e01b83526041600452602483fd5b631e4fbdf760e01b815260006004820152602490fd5b600080fdfe608080604052600436101561001357600080fd5b60003560e01c9081630535652b14611ba35750806307286e2f14611b56578063117a5b9014611add5780631214e31e14611a0e57806315a40f49146119405780631785f53c146118a3578063188847b0146117d95780631a318be51461178c5780631e5eb1d01461175657806324d7806c14611573578063325fd7e914611708578063350e97561461161c5780633f4ba83a146115b2578063429b62e51461157357806343d6582b1461135457806347e1d550146112655780634e8053221461121d5780635c975abb146111fa5780636d89dbc51461116457806370480275146110cc578063715018a6146110735780637fb512e914610e125780637fde800d14610dc55780638456cb5914610d6b5780638558d76614610bac5780638b32dfd91461089e5780638da5cb5b14610875578063958b3bd3146107e257806395ccea671461073f578063ae169a50146105df578063b135bbb0146105c1578063d0399bb8146104f7578063e1f1c4a7146104da578063e8fd6edf1461022e5763f2fde38b146101a057600080fd5b34610229576020366003190112610229576101b9611c02565b6101c1611cff565b6001600160a01b0390811690811561021057600054826001600160601b0360a01b821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b604051631e4fbdf760e01b815260006004820152602490fd5b600080fd5b346102295760403660031901126102295763ffffffff600435602435828116908190036102295761025d611d2b565b610265611d4e565b8160005260206003815260018060a01b03938460406000205416156104c85783600052600382526040600020916003830192835460ff8160401c1660048110156104b2576001036104a157851561048f578660005260048352604060002033600052835260ff6040600020541615610453575b50806102fb6102ed8760016002950154611cec565b809983541630903390611d6c565b01610307878254611c72565b905584600052600981526040600020336000528152604060002092835494838616019383851161043d577f43aa20271d82bfb64375e54639a2d8f8b9cdd59da9b90f4804e7448853529a3f95846103c296169063ffffffff19161790558560005260048252604060002033600052825260ff60406000205416156103cb575b50846000526009815260406000209033600052526040600020541660405191829133968390929163ffffffff6020916040840195845216910152565b0390a360018055005b61043790866000526004835260406000203360005283526040600020600160ff198254161790558660005260068352610408336040600020611c94565b610416848254851c16611c7f565b67ffffffff0000000082549160201b169067ffffffff000000001916179055565b86610386565b634e487b7160e01b600052601160045260246000fd5b838116848115159283610480575b50505061046e57876102d8565b604051636c8c8d2160e01b8152600490fd5b851c1610159050888481610461565b60405163273e150360e21b8152600490fd5b60405162a3097160e01b8152600490fd5b634e487b7160e01b600052602160045260246000fd5b604051631fedf07560e01b8152600490fd5b346102295760003660031901126102295760206040516127108152f35b346102295760203660031901126102295760043533600052600a60205260ff6040600020541615806105ac575b61059a576000818152600360205260409020546001600160a01b0316156104c8578060005260036020526003604060002001805460ff8160401c1660048110156104b2576001036104a157600360401b9060ff60401b1916179055600080516020611ea8833981519152602060405160038152a2005b60405163ea8e4eb560e01b8152600490fd5b506000546001600160a01b0316331415610524565b34610229576000366003190112610229576020600c54604051908152f35b3461022957602080600319360112610229576004356105fc611d2b565b60008181526003835260409020546001600160a01b03908116156104c857816000526003835260ff60036040600020015460401c1660048110156104b25760030361072d578160005260088352604060002033600052835260ff6040600020541661071b5781600052600783526040600020336000528352604060002054928315610709576106fa847f24b5efa61dd1cfc659205a97fb8ed868f3cb8c81922bab2b96423e5de1de2cb7938560005260078452604060002033600052845260006040812055856000526008845260406000203360005284526040600020600160ff198254161790558560005260038452339060406000205416611df3565b6040519384523393a360018055005b604051635aa9184d60e01b8152600490fd5b604051632cfe303760e21b8152600490fd5b60405163b7c3a5b360e01b8152600490fd5b3461022957604036600319011261022957610758611c02565b60243590610764611cff565b6001600160a01b038181169182156107d05783156107be57816107b0856020937f9495d03190a79a43e534c9e328ff322f6283261383f5f19c809564f6ad5a57b3956000541690611df3565b6000541693604051908152a3005b60405163162908e360e11b8152600490fd5b60405163e6c4247b60e01b8152600490fd5b34610229576040366003190112610229576060600435610800611bec565b908060005260206004815260406000209260018060a01b03169283600052815260ff60406000205416928260005260088252604060002081600052825260ff60406000205416926000526007825260406000209060005281526040600020549160405193151584521515908301526040820152f35b34610229576000366003190112610229576000546040516001600160a01b039091168152602090f35b346102295760603660031901126102295767ffffffffffffffff602435818111610229576108d0903690600401611c25565b91604435908111610229576108e9903690600401611c25565b9233600052600a60205260ff604060002054161580610b97575b61059a5761090f611d2b565b610917611d4e565b6004356000908152600360205260409020546001600160a01b0316156104c857600435600052600360205260406000209260ff600385015460401c1660048110156104b2576001036104a157848203610b85578115610b735760009460005b818110610b4d575061271091828711610b3b576002860154948361099a8988611cec565b04936109af61ffff600b5460a01c1686611cec565b04946109bb8686611de6565b9860009460005b838110610a87578b8b6109f28c6109ed8d6109e78e6109e18f89611de6565b94611de6565b90611c72565b611c72565b9081610a65575b6003600360401b60ff60401b1982840154161791015560405191825260208201527f6ae8ee960d83517f7fa993ad7a0e16e33d9655a23ff41eefc62bdb289c7a8e5f604060043592a260405160038152600080516020611ea8833981519152602060043592a260018055005b8054600b54610a829184916001600160a01b039081169116611df3565b6109f9565b610aa761ffff610aa0610a9b84868a611dc7565b611dd7565b168d611cec565b8315610b2557838104610abe575b506001016109c2565b90966004356000526007602052604060002090610adc89878a611dc7565b356001600160a01b038116810361022957600193610b1e938792868060a01b03166000526020526040600020610b158383048254611c72565b90550490611c72565b9690610ab5565b634e487b7160e01b600052601260045260246000fd5b604051637a9f92cf60e01b8152600490fd5b95610b6c60019161ffff610b65610a9b8b878b611dc7565b1690611c72565b9601610976565b6040516305568ffd60e31b8152600490fd5b6040516307e11acb60e51b8152600490fd5b506000546001600160a01b0316331415610903565b3461022957606036600319011261022957610bc5611c02565b6024359063ffffffff90604435828116908181036102295733600052600a60205260ff604060002054161580610d56575b61059a57610c02611d4e565b6001600160a01b039283169283156107d057851561048f57610cbe600c5495604051610c2d81611c56565b86815281600360208301928b8452604081016000815260608201998a5260808201946000865260a083019860018a528d6000528460205260406000209351166001600160601b0360a01b8454161783555160018301555160028201550196511663ffffffff198754161786555116849067ffffffff0000000082549160201b169067ffffffff000000001916179055565b519060048210156104b257602095837f087949b295f6e7a25ae7eb9fcaf76ebbeb42a37708977726dbfb2d2c044c14f99360ff60401b8896549160401b169060ff60401b19161790556001600c5401600c55610d326040519283928390929163ffffffff6020916040840195845216910152565b0390a380600080516020611ea88339815191528360405160018152a2604051908152f35b506000546001600160a01b0316331415610bf6565b3461022957600036600319011261022957610d84611cff565b610d8c611d4e565b600160ff1960025416176002557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461022957604036600319011261022957610dde611bec565b600435600052600560205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346102295760a036600319011261022957600435610e2e611bec565b9060843567ffffffffffffffff60443581831161022957366023840112156102295782600401359182116102295736602483850101116102295733600052602091600a835260ff60406000205416158061105e575b61059a57610e8f611d2b565b610e97611d4e565b60008581526003845260409020546001600160a01b0394908516156104c857856000526003845260406000206003810195865460ff8160401c1660048110156104b2576001036104a157818a16998a156107d05786156107be5789938b9363ffffffff9384811615158061103b575b611016575b50938796938a8a9997946002857f9bdd33967c3cc5f64b37c850834d0cf9fea06aac21368fe46beb58016bedeaab9f9660809e60249b610f5092541630903390611d6c565b01610f5c8c8254611c72565b90558560005260048252604060002084600052825260ff6040600020541615610fc2575b5050505050506040519687958652606435908601526060604086015282606086015201848401376000828201840152601f01601f19168101030190a360018055005b85610416946110019361100b9860005260048152604060002091600052526040600020600160ff1982541617905560005260068d526040600020611c94565b82548b1c16611c7f565b888b8b818a81610f80565b91945097969592808096508216918a1c16101561046e578a928a94929596978d610f0b565b508660005260048b526040600020866000528b5260ff6040600020541615610f06565b506000546001600160a01b0316331415610e83565b346102295760003660031901126102295761108c611cff565b600080546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610229576020366003190112610229576110e5611c02565b6110ed611cff565b6001600160a01b031680156107d05780600052600a60205260ff604060002054166111525780600052600a6020526040600020600160ff198254161790557f44d6d25963f097ad14f29f06854a01f575648a1ef82f30e562ccd3889717e339600080a2005b6040516308a07bb960e41b8152600490fd5b3461022957604036600319011261022957602435600435611183611d2b565b6000818152600360205260409020546001600160a01b0391908216156104c857600052600360205260406000209060ff600383015460401c1660048110156104b2576001036104a15782156107be57816111e9846002936111f295541630903390611d6c565b01918254611c72565b905560018055005b3461022957600036600319011261022957602060ff600254166040519015158152f35b3461022957604036600319011261022957611236611bec565b600435600052600760205260406000209060018060a01b03166000526020526020604060002054604051908152f35b346102295760208060031936011261022957600060a060405161128781611c56565b8281528284820152826040820152826060820152826080820152015260043560005260038152604060002090604051906112c082611c56565b60018060a01b0390818454168352600184015493818401948552600360028201549160408601928352015463ffffffff9160608601838316815260ff60808801938581881c16855260401c169160a088019560048410156104b25760c09961135298879589526040519a51168a52519089015251604088015251166060860152511660808401525160a0830190611c18565bf35b346102295760208060031936011261022957600435611371611d2b565b611379611d4e565b60008181526003835260409020546001600160a01b0391908216156104c85780600052600383526040600020600381019384549460ff8660401c169560048710156104b25760018097036104a1578460005260058352604060002033600052835260ff60406000205416611561578460005260048352604060002033600052835260ff6040600020541615611532575b50600283611443887ffdf5d84010c9098b5d431ffd75f564fb7a46812602927739e491409c6433d695960154809883541630903390611d6c565b0161144f868254611c72565b90558360005260058252604060002033600052825260406000209060ff199187838254161790558460005260098352604060002033600052835260406000209182549263ffffffff93846114a4818316611c7f565b169063ffffffff19161790558560005260048452604060002033600052845260ff60406000205416156114e2575b5050506040519384523393a38055005b61152a926104169187600052600486526040600020336000528652896040600020918254161790558660005260068552611520336040600020611c94565b8254851c16611c7f565b8580806114d2565b63ffffffff808216908115159283611552575b50505061046e5786611409565b851c1610159050878080611545565b604051635366ab9d60e01b8152600490fd5b34610229576020366003190112610229576001600160a01b03611594611c02565b16600052600a602052602060ff604060002054166040519015158152f35b34610229576000366003190112610229576115cb611cff565b60025460ff81161561160a5760ff19166002557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461022957604036600319011261022957611635611c02565b6024359061ffff8216908183036102295761164e611cff565b6001600160a01b03169182156107d05761271082116116f65760405191604083019183831067ffffffffffffffff8411176116e0578160207f077c6dc895847ccdbc655db399eacb5db402ee3572d3ce713a8b914861e67936958195604052878152015284600b549161ffff60a01b9060a01b169169ffffffffffffffffffff60b01b161717600b55604051908152a2005b634e487b7160e01b600052604160045260246000fd5b60405163390edff560e11b8152600490fd5b3461022957604036600319011261022957611721611bec565b600435600052600960205260406000209060018060a01b0316600052602052602063ffffffff60406000205416604051908152f35b3461022957600036600319011261022957600b54604080516001600160a01b038316815260a09290921c61ffff16602083015290f35b34610229576040366003190112610229576117a5611bec565b600435600052600860205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346102295760203660031901126102295760043533600052600a60205260ff60406000205416158061188e575b61059a576000818152600360205260409020546001600160a01b0316156104c8578060005260036020526003604060002001805460ff8160401c1660048110156104b25760020361187c57600160401b9060ff60401b1916179055600080516020611ea8833981519152602060405160018152a2005b6040516358d5d19760e11b8152600490fd5b506000546001600160a01b0316331415611806565b34610229576020366003190112610229576118bc611c02565b6118c4611cff565b6000546001600160a01b039182169116811461059a5780600052600a60205260ff604060002054161561192e5780600052600a602052604060002060ff1981541690557fa3b62bc36326052d97ea62d63c3d60308ed4c3ea8ac079dd8499f1e9c4f80c0f600080a2005b6040516333faae9f60e11b8152600490fd5b346102295760208060031936011261022957600435600052600681526040600020604051808383549182815201908193600052846000209060005b868282106119f15750505050819003601f01601f191681019267ffffffffffffffff8411828510176116e05783929183604052818401908285525180915260408401929160005b8281106119d157505050500390f35b83516001600160a01b0316855286955093810193928101926001016119c2565b83546001600160a01b03168552909301926001928301920161197b565b346102295760203660031901126102295760043533600052600a60205260ff604060002054161580611ac8575b61059a576000818152600360205260409020546001600160a01b0316156104c8578060005260036020526003604060002001805460ff8160401c1660048110156104b257600103611ab657680200000000000000009060ff60401b1916179055600080516020611ea8833981519152602060405160028152a2005b604051630dbe494b60e21b8152600490fd5b506000546001600160a01b0316331415611a3b565b3461022957602036600319011261022957600435600052600360205260c0604060002061135260018060a01b03825416916001810154600360028301549201549163ffffffff916040519586526020860152604085015280821660608501528160201c16608084015260ff60a084019160401c16611c18565b3461022957604036600319011261022957611b6f611bec565b600435600052600460205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461022957604036600319011261022957602090611bbf611bec565b60043560009081526009845260408082206001600160a01b039093168252918452205463ffffffff168152f35b602435906001600160a01b038216820361022957565b600435906001600160a01b038216820361022957565b9060048210156104b25752565b9181601f840112156102295782359167ffffffffffffffff8311610229576020808501948460051b01011161022957565b60c0810190811067ffffffffffffffff8211176116e057604052565b9190820180921161043d57565b63ffffffff80911690811461043d5760010190565b805490600160401b8210156116e05760018201808255821015611cd6576000526020600020019060018060a01b03166001600160601b0360a01b825416179055565b634e487b7160e01b600052603260045260246000fd5b8181029291811591840414171561043d57565b6000546001600160a01b03163303611d1357565b60405163118cdaa760e01b8152336004820152602490fd5b600260015414611d3c576002600155565b604051633ee5aeb560e01b8152600490fd5b60ff60025416611d5a57565b60405163d93c066560e01b8152600490fd5b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a081019181831067ffffffffffffffff8411176116e057611dc592604052611e3f565b565b9190811015611cd65760051b0190565b3561ffff811681036102295790565b9190820391821161043d57565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152608081019167ffffffffffffffff8311828410176116e057611dc5926040525b906000602091828151910182855af115611e9b576000513d611e9257506001600160a01b0381163b155b611e705750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415611e69565b6040513d6000823e3d90fdfe181ef3b670ec5c90bc462c33797900baea498c374db93759e537c015af932732a264697066735822122060415006c2621c937956b5d3045d94be1bc892e6d73c96eb3c635b01eb9f5f3d64736f6c63430008180033