673 txs
674 calls
constructor
constructor()
functions
currentGameId
viewfunction currentGameId() view returns (bytes32)
decodeData
viewfunction decodeData() view returns (tuple data)
decodeGuess
viewfunction decodeGuess(uint256 index) view returns (tuple data)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
exactRange
viewfunction exactRange() view returns (uint256)
exactRate
viewfunction exactRate(uint256) view returns (uint256)
fee
viewfunction fee() view returns (uint256)
GAME_MASTER_ROLE
viewfunction GAME_MASTER_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getTotalPlayers
viewfunction getTotalPlayers() view returns (uint256)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
maxPlayers
viewfunction maxPlayers() view returns (uint256)
rate
viewfunction rate(uint256) view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
treasury
viewfunction treasury() view returns (address)
twoPlayersExactRate
viewfunction twoPlayersExactRate(uint256) view returns (uint256)
twoPlayersRate
viewfunction twoPlayersRate(uint256) view returns (uint256)
closeGame
nonpayablefunction closeGame()
finalizeGame
nonpayablefunction finalizeGame(bytes unverifiedReport)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
play
nonpayablefunction play(uint32 assetPrice)
playWithDeposit
nonpayablefunction playWithDeposit(uint32 assetPrice)
playWithPermit
nonpayablefunction playWithPermit(uint32 assetPrice, tuple permitData)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setExactRange
nonpayablefunction setExactRange(uint256 newRange)
setFee
nonpayablefunction setFee(uint256 newFee)
setMaxPlayers
nonpayablefunction setMaxPlayers(uint256 newMax)
setTreasury
nonpayablefunction setTreasury(address newTreasury)
startGame
nonpayablefunction startGame(uint32 endTime, uint32 stopPredictAt, uint32 depositAmount, uint8 feedNumber)
events
BullseyeCancelled
event BullseyeCancelled(bytes32 gameId)
BullseyeFinalized
event BullseyeFinalized(address[3] players, uint256[3] topIndexes, int192 finalPrice, bool isExact, bytes32 gameId)
BullseyeNewPlayer
event BullseyeNewPlayer(address player, uint32 assetPrice, uint256 depositAmount, bytes32 gameId, uint256 index)
BullseyeStart
event BullseyeStart(uint256 startTime, uint32 stopPredictAt, uint32 endTime, uint32 depositAmount, uint8 feedNumber, bytes32 gameId)
NewExactRange
event NewExactRange(uint256 newExactRange)
NewTreasury
event NewTreasury(address newTreasury)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
creation bytecode
0x606460018190556105dc600255600390815560e060405260326080908152602360a052600f60c05262000036916004919062000183565b5060408051606081018252604b8152600f6020820152600a918101919091526200006590600790600362000183565b5060408051808201909152604b8152601960208201526200008b90600a906002620001cb565b50604080518082019091526050815260146020820152620000b190600c906002620001cb565b50348015620000bf57600080fd5b50620000cd600033620000d4565b5062000217565b6000828152602081815260408083206001600160a01b038516845290915281205460ff1662000179576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055620001303390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016200017d565b5060005b92915050565b8260038101928215620001b9579160200282015b82811115620001b9578251829060ff1690559160200191906001019062000197565b50620001c792915062000200565b5090565b8260028101928215620001b95791602002820182811115620001b9578251829060ff1690559160200191906001019062000197565b5b80821115620001c7576000815560010162000201565b61235580620002276000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c8063ab544e8611610104578063d547741f116100a2578063f0f4426011610071578063f0f4426014610438578063f540205c1461044b578063f7237a1b1461045e578063f954be861461047157600080fd5b8063d547741f146103f6578063d7a04edf14610409578063ddca3f431461041c578063e7ee6ad61461042557600080fd5b8063ae304d1c116100de578063ae304d1c1461034f578063b2c5c8761461038d578063ce07b07514610396578063d0bf5806146103e357600080fd5b8063ab544e8614610314578063acebb28014610327578063ad1def1e1461033a57600080fd5b8063536a3ddc1161017c578063786b844b1161014b578063786b844b146102de57806391d14854146102e6578063a217fddf146102f9578063a26cc7e31461030157600080fd5b8063536a3ddc146102845780635f2aacc41461028d57806361d027b3146102a057806369fe0e2d146102cb57600080fd5b80632f2ff15d116101b85780632f2ff15d1461024d57806336568abe146102605780634529cae7146102735780634c2412a21461027b57600080fd5b806301ffc9a7146101df578063248a9ca314610207578063288dee3b14610238575b600080fd5b6101f26101ed366004611df0565b610484565b60405190151581526020015b60405180910390f35b61022a610215366004611e21565b60009081526020819052604090206001015490565b6040519081526020016101fe565b61024b610246366004611e21565b6104bb565b005b61024b61025b366004611e4f565b6104cc565b61024b61026e366004611e4f565b6104f7565b600e5461022a565b61022a60035481565b61022a60105481565b61024b61029b366004611e91565b61052f565b6011546102b3906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b61024b6102d9366004611e21565b6106c7565b61024b6106d8565b6101f26102f4366004611e4f565b610829565b61022a600081565b61022a61030f366004611e21565b610852565b61024b610322366004611e21565b610869565b61024b610335366004611ec4565b6108b1565b61022a60008051602061230083398151915281565b61036261035d366004611e21565b611607565b6040805182516001600160a01b031681526020808401519082015291810151908201526060016101fe565b61022a60015481565b61039e611684565b6040516101fe9190600060a08201905060ff83511682526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b61022a6103f1366004611e21565b6116fd565b61024b610404366004611e4f565b61170d565b61024b610417366004611f8b565b611732565b61022a60025481565b61022a610433366004611e21565b6118dc565b61024b610446366004611fe5565b6118ec565b61022a610459366004611e21565b61198a565b61024b61046c366004611e91565b61199a565b61024b61047f366004612002565b611a90565b60006001600160e01b03198216637965db0b60e01b14806104b557506301ffc9a760e01b6001600160e01b03198316145b92915050565b60006104c681611c58565b50600355565b6000828152602081905260409020600101546104e781611c58565b6104f18383611c65565b50505050565b6001600160a01b03811633146105205760405163334bd91960e11b815260040160405180910390fd5b61052a8282611cf7565b505050565b6000610539611684565b600354600e549192509061054e906001612059565b11156105755760405162461bcd60e51b815260040161056c9061206c565b60405180910390fd5b42816060015110156105995760405162461bcd60e51b815260040161056c906120a3565b600e8054600181018255600091909152334260a01b811763ffffffff60c01b60c086901b16177fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd9092018290556011546080840151604051632b329c5360e21b81526001600160a01b03929092169263acca714c9261062e9291906004019182526001600160a01b0316602082015260400190565b600060405180830381600087803b15801561064857600080fd5b505af115801561065c573d6000803e3d6000fd5b505050608080840151601054600e546040805133815263ffffffff8a166020820152908101939093526060830191909152918101919091527fab4e31aa5778793488e6ace2016f3a4ce611ef72ec5181bf80a2b8d523f4d2da915060a00160405180910390a1505050565b60006106d281611c58565b50600255565b6000805160206123008339815191526106f081611c58565b600f546000036107355760405162461bcd60e51b815260206004820152601060248201526f11d85b59481b9bdd081cdd185c9d195960821b604482015260640161056c565b600061073f611684565b608081015190915060005b600e548110156107d557600061075f82611607565b6011548151604051631eb489b760e21b8152600481018790526001600160a01b0391821660248201529293501690637ad226dc90604401600060405180830381600087803b1580156107b057600080fd5b505af11580156107c4573d6000803e3d6000fd5b50506001909301925061074a915050565b507f712d82a27e9cc8c6f2ecbecd5a732cf15b6b16e38f3b65af9904d0aeba00d81860105460405161080991815260200190565b60405180910390a16000600f819055601081905561052a90600e90611d9b565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600a816002811061086257600080fd5b0154905081565b600061087481611c58565b60018290556040518281527ff2350a85c47cad6c064e0f0fd6bcdddd758a3e3c997106ccb9479e2669d67b6f906020015b60405180910390a15050565b6000805160206123008339815191526108c981611c58565b60006108d3611684565b60105490915061091c5760405162461bcd60e51b815260206004820152601460248201527314dd185c9d081d1a194819d85b5948199a5c9cdd60621b604482015260640161056c565b80604001514210156109665760405162461bcd60e51b81526020600482015260136024820152720a8dede40cac2e4d8f240e8de40ccd2dcd2e6d606b1b604482015260640161056c565b600e5460021115610a5157600e54600103610a425760006109876000611607565b90507f712d82a27e9cc8c6f2ecbecd5a732cf15b6b16e38f3b65af9904d0aeba00d8186010546040516109bc91815260200190565b60405180910390a160115460808301518251604051631eb489b760e21b815260048101929092526001600160a01b03908116602483015290911690637ad226dc90604401600060405180830381600087803b158015610a1a57600080fd5b505af1158015610a2e573d6000803e3d6000fd5b50505050600e6000610a409190611d9b565b505b506000600f8190556010555050565b6011546040805163167a382560e11b815290516000926001600160a01b031691632cf4704a9160048083019260209291908290030181865afa158015610a9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abf91906120da565b825160405163d369dc6160e01b815291925060009182916001600160a01b0385169163d369dc6191610af6918a91906004016120f7565b60408051808303816000875af1158015610b14573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b38919061214f565b9092509050610b4d655af3107a40008361219a565b9150603c84604001518263ffffffff16610b6791906121d8565b111580610b845750603c610b8163ffffffff8316426121d8565b11155b610bc75760405162461bcd60e51b815260206004820152601460248201527313db190818da185a5b9b1a5b9ac81c995c1bdc9d60621b604482015260640161056c565b600e54600203611022576000610bdd6000611607565b90506000610beb6001611607565b90506000846001600160c01b0316836020015111610c20576020830151610c1b906001600160c01b0387166121d8565b610c39565b846001600160c01b03168360200151610c3991906121d8565b90506000856001600160c01b0316836020015111610c6e576020830151610c69906001600160c01b0388166121d8565b610c87565b856001600160c01b03168360200151610c8791906121d8565b905080821015610e575760006064600154841115610ca757600a54610cab565b600c545b60808b0151610cbb906002612201565b610cc59190612201565b610ccf9190612218565b6011548651600254604051631dd5482960e21b81529394506001600160a01b039092169263775520a492610d0a92869290919060040161222c565b600060405180830381600087803b158015610d2457600080fd5b505af1158015610d38573d6000803e3d6000fd5b505050506000818a608001516002610d509190612201565b610d5a91906121d8565b6011548651600254604051631dd5482960e21b81529394506001600160a01b039092169263775520a492610d9592869290919060040161222c565b600060405180830381600087803b158015610daf57600080fd5b505af1158015610dc3573d6000803e3d6000fd5b505060408051606080820183528a516001600160a01b0390811683528a51166020808401919091526000838501819052845192830185528083526001918301829052828501525460105493517f3672fd56560e49f0f4d041528094fadff7cf68cb7cca887f7cfd6f06b2260f219650610e489550929391928e92918b1115919061224b565b60405180910390a15050611019565b60006064600154831115610e6d57600a54610e71565b600c545b60808b0151610e81906002612201565b610e8b9190612201565b610e959190612218565b6011548651600254604051631dd5482960e21b81529394506001600160a01b039092169263775520a492610ed092869290919060040161222c565b600060405180830381600087803b158015610eea57600080fd5b505af1158015610efe573d6000803e3d6000fd5b505050506000818a608001516002610f169190612201565b610f2091906121d8565b6011548751600254604051631dd5482960e21b81529394506001600160a01b039092169263775520a492610f5b92869290919060040161222c565b600060405180830381600087803b158015610f7557600080fd5b505af1158015610f89573d6000803e3d6000fd5b5050604080516060808201835289516001600160a01b0390811683528b51166020808401919091526000838501819052845192830185526001808452918301819052828501525460105493517f3672fd56560e49f0f4d041528094fadff7cf68cb7cca887f7cfd6f06b2260f21965061100e9550929391928e92918a1115919061224b565b60405180910390a150505b505050506115e6565b61102a611db9565b611032611db9565b61103a611db9565b6000604051806060016040528060001981526020016000198152602001600019815250905060005b600e5481101561133b57600061107782611607565b90506000886001600160c01b03168260200151116110ac5760208201516110a7906001600160c01b038b166121d8565b6110c5565b886001600160c01b031682602001516110c591906121d8565b905060005b6003811015611330578481600381106110e5576110e56121eb565b60200201518210156112055760025b8181111561118c57856111086001836121d8565b60038110611118576111186121eb565b602002015186826003811061112f5761112f6121eb565b6020020152876111406001836121d8565b60038110611150576111506121eb565b6020020151888260038110611167576111676121eb565b6001600160a01b03909216602092909202015280611184816122cd565b9150506110f4565b50818582600381106111a0576111a06121eb565b602002015282518782600381106111b9576111b96121eb565b6001600160a01b03909216602092909202015260408301518682600381106111e3576111e36121eb565b6020020152838882600381106111fb576111fb6121eb565b6020020152611330565b848160038110611217576112176121eb565b6020020151821480156112435750858160038110611237576112376121eb565b60200201518360400151105b156113285760025b818111156112e3578561125f6001836121d8565b6003811061126f5761126f6121eb565b6020020151868260038110611286576112866121eb565b6020020152876112976001836121d8565b600381106112a7576112a76121eb565b60200201518882600381106112be576112be6121eb565b6001600160a01b039092166020929092020152806112db816122cd565b91505061124b565b50838882600381106112f7576112f76121eb565b60200201528251878260038110611310576113106121eb565b6001600160a01b039092166020929092020152611330565b6001016110ca565b505050600101611062565b50600e54608089015160009161135091612201565b905061135a611db9565b600154835111611399576040805160608101918290529060079060039082845b81548152602001906001019080831161137a57505050505090506113ca565b6040805160608101918290529060049060039082845b8154815260200190600101908083116113af57505050505090505b60005b60038110156115815760008682600381106113ea576113ea6121eb565b60200201516001600160a01b03161461157957806003146114b2576011546001600160a01b031663775520a4606484846003811061142a5761142a6121eb565b60200201516114399087612201565b6114439190612218565b888460038110611455576114556121eb565b60200201516002546040518463ffffffff1660e01b815260040161147b9392919061222c565b600060405180830381600087803b15801561149557600080fd5b505af11580156114a9573d6000803e3d6000fd5b50505050611579565b6011546001600160a01b031663775520a4606484600160200201516114d79087612201565b6114e19190612218565b84516064906114f09088612201565b6114fa9190612218565b6115049190612059565b61150e90866121d8565b888460038110611520576115206121eb565b60200201516002546040518463ffffffff1660e01b81526004016115469392919061222c565b600060405180830381600087803b15801561156057600080fd5b505af1158015611574573d6000803e3d6000fd5b505050505b6001016113cd565b507f3672fd56560e49f0f4d041528094fadff7cf68cb7cca887f7cfd6f06b2260f2185878a600154876000600381106115bc576115bc6121eb565b602002015111156010546040516115d795949392919061224b565b60405180910390a15050505050505b6000600f81905560108190556115fe90600e90611d9b565b505050505b5050565b611634604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b6000600e8381548110611649576116496121eb565b600091825260209182902001546001600160a01b038116845263ffffffff60a082901c8116604086015260c09190911c169083015250919050565b6116b96040518060a00160405280600060ff168152602001600081526020016000815260200160008152602001600081525090565b600f5463ffffffff80821660208481019190915282901c8116606080850191909152604083811c83169085015282901c60ff16835260689190911c16608082015290565b600c816002811061086257600080fd5b60008281526020819052604090206001015461172881611c58565b6104f18383611cf7565b60008051602061230083398151915261174a81611c58565b600f541561179a5760405162461bcd60e51b815260206004820152601a60248201527f46696e6973682070726576696f75732067616d65206669727374000000000000604482015260640161056c565b428563ffffffff16116117e35760405162461bcd60e51b815260206004820152601160248201527057726f6e6720656e64696e672074696d6560781b604482015260640161056c565b60688363ffffffff16901b60608360ff16901b60408763ffffffff16901b60208763ffffffff16901b4217171717600f8190555084423060405160200161185e9392919060e09390931b6001600160e01b0319168352600483019190915260601b6bffffffffffffffffffffffff1916602482015260380190565b60408051601f198184030181528282528051602091820120601081905542845263ffffffff8881169285019290925288821684840152908616606084015260ff8516608084015260a0830152517f8199b2d39fc32afd17a2a39a52b1406abb1ccf88c62a75ba7298658046fd18e19181900360c00190a15050505050565b6004816003811061086257600080fd5b60006118f781611c58565b6001600160a01b03821661193c5760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b604482015260640161056c565b601180546001600160a01b0319166001600160a01b0384169081179091556040519081527fafa147634b29e2c7bd53ce194256b9f41cfb9ba3036f2b822fdd1d965beea086906020016108a5565b6007816003811061086257600080fd5b60006119a4611684565b600354600e54919250906119b9906001612059565b11156119d75760405162461bcd60e51b815260040161056c9061206c565b42816060015110156119fb5760405162461bcd60e51b815260040161056c906120a3565b600e8054600181018255600091909152334260a01b811763ffffffff60c01b60c086901b16177fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd90920182905560115460808401516040516319b7efed60e21b81526001600160a01b0392909216926366dfbfb49261062e9291906004019182526001600160a01b0316602082015260400190565b6000611a9a611684565b600354600e5491925090611aaf906001612059565b1115611acd5760405162461bcd60e51b815260040161056c9061206c565b4281606001511015611af15760405162461bcd60e51b815260040161056c906120a3565b600e8054600181018255600091909152334260a01b811763ffffffff60c01b60c087901b16177fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd90920182905560115460808401516001600160a01b039190911691631567920a91908635611b6c6040890160208a016122e4565b604080516001600160e01b031960e088901b16815260048101959095526001600160a01b039093166024850152604484019190915260ff1660648301528601356084820152606086013560a482015260c401600060405180830381600087803b158015611bd857600080fd5b505af1158015611bec573d6000803e3d6000fd5b505050608080840151601054600e546040805133815263ffffffff8b166020820152908101939093526060830191909152918101919091527fab4e31aa5778793488e6ace2016f3a4ce611ef72ec5181bf80a2b8d523f4d2da915060a00160405180910390a150505050565b611c628133611d62565b50565b6000611c718383610829565b611cef576000838152602081815260408083206001600160a01b03861684529091529020805460ff19166001179055611ca73390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016104b5565b5060006104b5565b6000611d038383610829565b15611cef576000838152602081815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45060016104b5565b611d6c8282610829565b6116035760405163e2517d3f60e01b81526001600160a01b03821660048201526024810183905260440161056c565b5080546000825590600052602060002090810190611c629190611dd7565b60405180606001604052806003906020820280368337509192915050565b5b80821115611dec5760008155600101611dd8565b5090565b600060208284031215611e0257600080fd5b81356001600160e01b031981168114611e1a57600080fd5b9392505050565b600060208284031215611e3357600080fd5b5035919050565b6001600160a01b0381168114611c6257600080fd5b60008060408385031215611e6257600080fd5b823591506020830135611e7481611e3a565b809150509250929050565b63ffffffff81168114611c6257600080fd5b600060208284031215611ea357600080fd5b8135611e1a81611e7f565b634e487b7160e01b600052604160045260246000fd5b600060208284031215611ed657600080fd5b813567ffffffffffffffff80821115611eee57600080fd5b818401915084601f830112611f0257600080fd5b813581811115611f1457611f14611eae565b604051601f8201601f19908116603f01168101908382118183101715611f3c57611f3c611eae565b81604052828152876020848701011115611f5557600080fd5b826020860160208301376000928101602001929092525095945050505050565b803560ff81168114611f8657600080fd5b919050565b60008060008060808587031215611fa157600080fd5b8435611fac81611e7f565b93506020850135611fbc81611e7f565b92506040850135611fcc81611e7f565b9150611fda60608601611f75565b905092959194509250565b600060208284031215611ff757600080fd5b8135611e1a81611e3a565b60008082840360a081121561201657600080fd5b833561202181611e7f565b92506080601f198201121561203557600080fd5b506020830190509250929050565b634e487b7160e01b600052601160045260246000fd5b808201808211156104b5576104b5612043565b60208082526019908201527f4d617820706c6179657220616d6f756e74207265616368656400000000000000604082015260600190565b6020808252601e908201527f47616d6520697320636c6f73656420666f72206e657720706c61796572730000604082015260600190565b6000602082840312156120ec57600080fd5b8151611e1a81611e3a565b604081526000835180604084015260005b818110156121255760208187018101516060868401015201612108565b506000606082850101526060601f19601f83011684010191505060ff831660208301529392505050565b6000806040838503121561216257600080fd5b82518060170b811461217357600080fd5b6020840151909250611e7481611e7f565b634e487b7160e01b600052601260045260246000fd5b60008160170b8360170b806121b1576121b1612184565b6001600160bf1b03198214600019821416156121cf576121cf612043565b90059392505050565b818103818111156104b5576104b5612043565b634e487b7160e01b600052603260045260246000fd5b80820281158282048414176104b5576104b5612043565b60008261222757612227612184565b500490565b9283526001600160a01b03919091166020830152604082015260600190565b6101208101818760005b600381101561227d5781516001600160a01b0316835260209283019290910190600101612255565b505050606082018660005b60038110156122a7578151835260209283019290910190600101612288565b5050506122b960c083018660170b9052565b92151560e082015261010001529392505050565b6000816122dc576122dc612043565b506000190190565b6000602082840312156122f657600080fd5b611e1a82611f7556fe1d93c87416ca7b54f0fb8323167b72760e8e2ec93d48660953897a150f97a8b4a26469706673582212200337ceb0d84af22aa0feea3ceb45a4bef62ac145df1bdf498db024421237cdb864736f6c63430008180033