0 txs
0 calls
constructor
constructor()
functions
budget
viewfunction budget(address _token) view returns (uint256)
burnAddress
viewfunction burnAddress() view returns (address)
calculateBetHash
purefunction calculateBetHash(tuple _bet) pure returns (bytes32)
calculateWinAmount
viewfunction calculateWinAmount(uint256 amount, uint256 modulo, uint256 odds) view returns (uint256 winAmount)
computeBetResult
viewfunction computeBetResult(address _token, address _gambler, uint256 _blockNumber, bytes32 blockHash, uint256[4] _rollIntegerVariables, bytes32 _userSeed, bytes32 _houseReveal) view returns (uint256 roll, uint256 payout, tuple betObject, bytes32 betHash)
CROUPIER_ROLE
viewfunction CROUPIER_ROLE() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getRoleMember
viewfunction getRoleMember(bytes32 role, uint256 index) view returns (address)
getRoleMemberCount
viewfunction getRoleMemberCount(bytes32 role) view returns (uint256)
hashBytes
purefunction hashBytes(bytes32 _toHash) pure returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
incompleteBets
viewfunction incompleteBets(bytes32) view returns (uint256)
lastResult
viewfunction lastResult(address) view returns (uint256 roll, uint256 reward)
margin
viewfunction margin() view returns (uint256)
maxPercWin
viewfunction maxPercWin() view returns (uint256)
maxWin
viewfunction maxWin(address _token) view returns (uint256)
minBet
viewfunction minBet(address) view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
tokenBurn
viewfunction tokenBurn(address) view returns (uint256)
completeBet
nonpayablefunction completeBet(address _token, address _gambler, uint256 _blockNumber, uint256[4] _rollIntegerVariables, bytes32 _userSeed, bytes32 _houseReveal)
createBet
nonpayablefunction createBet(address _token, uint256[4] _rollIntegerVariables, bytes32 _userSeed, bytes32 _houseCommit)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setBurnAddress
nonpayablefunction setBurnAddress(address _burnAddress)
setBurnPercForToken
nonpayablefunction setBurnPercForToken(address _tokenAddress, uint256 _perc)
setMaxPercWin
nonpayablefunction setMaxPercWin(uint256 _perc)
setMinBetForToken
nonpayablefunction setMinBetForToken(address _tokenAddress, uint256 _value)
withdraw
nonpayablefunction withdraw(address _token, uint256 _amount)
events
BetExpired
event BetExpired(bytes32 indexed betHash, address user, uint256 betAmount)
BetStarted
event BetStarted(bytes32 indexed betHash, (address token, address gambler, bytes32 commit, bytes32 userSeed, uint256 blockNumber, uint256[4] rollIntegerVariables) bet)
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)
Roll
event Roll(bytes32 indexed betHash, (address token, address gambler, bytes32 commit, bytes32 userSeed, uint256 blockNumber, uint256[4] rollIntegerVariables) bet, uint256 result, uint256 payout)
errors
No errors.
creation bytecode
0x6080604052600580546001600160a01b03191661dead1790556101f46006556101906007553480156200003157600080fd5b506200003f60003362000071565b6200006b7fca4ff35aa85b5fefc8312f1391bd040d4b445859a4a611b13d905ef8daa4b19f3362000071565b620001d6565b6200007d828262000081565b5050565b620000988282620000c460201b620011401760201c565b6000828152600160209081526040909120620000bf918390620011c462000164821b17901c565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200007d576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001203390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006200017b836001600160a01b03841662000184565b90505b92915050565b6000818152600183016020526040812054620001cd575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200017e565b5060006200017e565b6120c680620001e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c8063a063f33611610104578063c9c66674116100a2578063d547741f11610071578063d547741f1461046f578063e229df5c14610482578063f30af03714610495578063f3fef3a3146104a857600080fd5b8063c9c666741461042d578063ca15c87314610440578063cc306aa714610453578063cca7273b1461046657600080fd5b8063b9bf8d36116100de578063b9bf8d36146103c4578063c4351361146103e4578063c6a73fc7146103f7578063c999a7cc1461040a57600080fd5b8063a063f33614610382578063a217fddf146103a9578063b1d2b053146103b157600080fd5b80634b0e72161161017c5780638c811d671161014b5780638c811d67146103335780638f76691a146103535780639010d07c1461035c57806391d148541461036f57600080fd5b80634b0e7216146102cf57806350a1ecc1146102e257806370d5ae05146102f55780638b8b0f831461032057600080fd5b8063248a9ca3116101b8578063248a9ca3146102715780632bb9c728146102945780632f2ff15d146102a957806336568abe146102bc57600080fd5b806301ffc9a7146101df57806314247090146102075780632043031814610243575b600080fd5b6101f26101ed366004611b8c565b6104bb565b60405190151581526020015b60405180910390f35b61022e610215366004611ab6565b6002602052600090815260409020805460019091015482565b604080519283526020830191909152016101fe565b610263610251366004611ab6565b60036020526000908152604090205481565b6040519081526020016101fe565b61026361027f366004611b21565b60009081526020819052604090206001015490565b6102a76102a2366004611bb6565b6104e6565b005b6102a76102b7366004611b3a565b610843565b6102a76102ca366004611b3a565b61086e565b6102a76102dd366004611ab6565b6108ec565b6102a76102f0366004611c8e565b61097c565b600554610308906001600160a01b031681565b6040516001600160a01b0390911681526020016101fe565b61026361032e366004611ab6565b610c6f565b610263610341366004611b21565b60086020526000908152604090205481565b61026360075481565b61030861036a366004611b6a565b610c94565b6101f261037d366004611b3a565b610cb3565b6102637fca4ff35aa85b5fefc8312f1391bd040d4b445859a4a611b13d905ef8daa4b19f81565b610263600081565b6102636103bf366004611b21565b610cdc565b6102636103d2366004611ab6565b60046020526000908152604090205481565b6102636103f2366004611cd3565b610d0e565b6102a7610405366004611b21565b610d21565b61041d610418366004611c1c565b610d90565b6040516101fe9493929190611f25565b61026361043b366004611ab6565b610e97565b61026361044e366004611b21565b610f11565b6102a7610461366004611ad3565b610f28565b61026360065481565b6102a761047d366004611b3a565b610fae565b610263610490366004611d7e565b610fd4565b6102a76104a3366004611ad3565b61107a565b6102a76104b6366004611ad3565b6110bd565b60006001600160e01b03198216635a05180f60e01b14806104e057506104e0826111d9565b92915050565b33321480156104f45750333b155b6105395760405162461bcd60e51b81526020600482015260116024820152706e6f20696e6469726563742063616c6c7360781b60448201526064015b60405180910390fd5b336001600160a01b038616146105805760405162461bcd60e51b815260206004820152600c60248201526b1393d50b5653d5548b50915560a21b6044820152606401610530565b8343116105c35760405162461bcd60e51b81526020600482015260116024820152701091550b5393d50b50d3d3541311551151607a1b6044820152606401610530565b6000806000806105d98a8a8a8b408b8b8b610d90565b600081815260086020526040902054939750919550935091508061062f5760405162461bcd60e51b815260206004820152600d60248201526c1091550b5393d50b5193d55391609a1b6044820152606401610530565b61063b61010043611f9c565b836080015110156106dc576000828152600860209081526040808320929092558481015160a086015183015183516001600160a01b0390921682529181019190915283917f5a7c04de69e45893b35933028462bd1efefbf2d5ea85799d7b2b5a37f4f24e0a910160405180910390a2602083015160a08401516106d2919060025b60200201516001600160a01b038e16919061120e565b505050505061083b565b60008281526008602052604081205560a083015160026020020151841115610754576107078b610c6f565b60a08401516040015161071a9086611f9c565b1061073a57602083015160a0840151610735919060026106bc565b6107cb565b6020830151610735906001600160a01b038d16908661120e565b6001600160a01b038b16600090815260036020526040902054156107cb576001600160a01b038b166000908152600360205260408082205460a086015190910151612710916107a291611f7d565b6107ac9190611f69565b6005549091506107c9906001600160a01b038e811691168361120e565b505b604080518082018252868152602080820187815233600090815260029092529083902091518255516001909101555182907fe4f7684cad38a6744dc71fb247443b6998b249df80de5d5cd8edfdaac39b45fb9061082d90869089908990611f03565b60405180910390a250505050505b505050505050565b60008281526020819052604090206001015461085f8133611271565b61086983836112d5565b505050565b6001600160a01b03811633146108de5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610530565b6108e882826112f7565b5050565b6108f7600033610cb3565b6109135760405162461bcd60e51b815260040161053090611ed0565b6001600160a01b03811661095a5760405162461bcd60e51b815260206004820152600e60248201526d13d393164b549150530b5395531360921b6044820152606401610530565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b333214801561098a5750333b155b6109ca5760405162461bcd60e51b81526020600482015260116024820152706e6f20696e6469726563742063616c6c7360781b6044820152606401610530565b6040808401516001600160a01b038616600090815260046020529190912054811015610a2d5760405162461bcd60e51b81526020600482015260126024820152714245542d414d4f554e542d544f4f2d4c4f5760701b6044820152606401610530565b610a426001600160a01b038616333084611319565b60208401511580610a57575060208401516001145b610a985760405162461bcd60e51b8152602060048201526012602482015271494e56414c49442d524f4c4c2d56414c554560701b6044820152606401610530565b6060840151600110610ae35760405162461bcd60e51b8152602060048201526014602482015273494e56414c49442d4d4f44554c4f2d56414c554560601b6044820152606401610530565b6020840151600090610b135760408501516060860151610b0c91908760005b6020020151610fd4565b9050610b47565b604085015160608601518651610b4492919060018960035b6020020151610b3a9190611f9c565b6104909190611f9c565b90505b6040850151600090610b599083611f9c565b9050610b6487610c6f565b811115610ba95760405162461bcd60e51b81526020600482015260136024820152720ae929c5a829a9eaa9ca85aa89e9e5a90928e9606b1b6044820152606401610530565b6000610bb988338789438c611357565b90506000610bc682610d0e565b60008181526008602052604090205490915015610c195760405162461bcd60e51b81526020600482015260116024820152701091550b505314915051164b51561254d5607a1b6044820152606401610530565b600081815260086020526040908190204290555181907f807999e5c79d5d541133d757c2fe16f7bf9d68d3c797b93b40c2c1237af5c8bc90610c5c908590611ef4565b60405180910390a2505050505050505050565b6000612710600654610c8084610e97565b610c8a9190611f7d565b6104e09190611f69565b6000828152600160205260408120610cac908361139c565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b600081604051602001610cf191815260200190565b604051602081830303815290604052805190602001209050919050565b600081604051602001610cf19190611ef4565b610d2c600033610cb3565b610d485760405162461bcd60e51b815260040161053090611ed0565b612710811115610d8b5760405162461bcd60e51b815260206004820152600e60248201526d4e4f2d504552432d504f494e545360901b6044820152606401610530565b600655565b600080610d9b6119e6565b600080610da786610cdc565b9050610db78c8c838a8e8d611357565b9250610dc283610d0e565b6040805160208101899052908101829052606081018b9052909250610e069060800160408051808303601f19018152919052805160209091012060608a01516113a8565b60a0840151602001519095506000945015808015610e28575060a08401515186105b15610e4e5760a084015160408101516060820151610e47926000610b02565b9450610e87565b80158015610e60575060a08401515186115b15610e875760a0840151604081015160608201518251610e84936001906003610b2b565b94505b5050975097509750979350505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610ed957600080fd5b505afa158015610eed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e09190611d65565b60008181526001602052604081206104e0906113be565b610f33600033610cb3565b610f4f5760405162461bcd60e51b815260040161053090611ed0565b612710811115610f925760405162461bcd60e51b815260206004820152600e60248201526d4e4f2d504552432d504f494e545360901b6044820152606401610530565b6001600160a01b03909116600090815260036020526040902055565b600082815260208190526040902060010154610fca8133611271565b61086983836112f7565b6000816000108015610fe65750828211155b6110325760405162461bcd60e51b815260206004820152601860248201527f50524f424142494c4954592d4f55542d4f462d52414e474500000000000000006044820152606401610530565b6000612710600754866110459190611f7d565b61104f9190611f69565b9050828461105d8388611f9c565b6110679190611f7d565b6110719190611f69565b95945050505050565b611085600033610cb3565b6110a15760405162461bcd60e51b815260040161053090611ed0565b6001600160a01b03909116600090815260046020526040902055565b6110c8600033610cb3565b6110e45760405162461bcd60e51b815260040161053090611ed0565b806110ee83610e97565b101561112c5760405162461bcd60e51b815260206004820152600d60248201526c544f4f2d4c4f572d46554e445360981b6044820152606401610530565b6108e86001600160a01b038316338361120e565b61114a8282610cb3565b6108e8576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556111803390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610cac836001600160a01b0384166113c8565b60006001600160e01b03198216637965db0b60e01b14806104e057506301ffc9a760e01b6001600160e01b03198316146104e0565b6040516001600160a01b03831660248201526044810182905261086990849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611417565b61127b8282610cb3565b6108e857611293816001600160a01b031660146114e9565b61129e8360206114e9565b6040516020016112af929190611e28565b60408051601f198184030181529082905262461bcd60e51b825261053091600401611e9d565b6112df8282611140565b600082815260016020526040902061086990826111c4565b6113018282611685565b600082815260016020526040902061086990826116ea565b6040516001600160a01b03808516602483015283166044820152606481018290526113519085906323b872dd60e01b9060840161123a565b50505050565b61135f6119e6565b506040805160c0810182526001600160a01b039788168152959096166020860152948401929092526060830152608082015260a081019190915290565b6000610cac83836116ff565b6000816113b484611729565b610cac9190611ff6565b60006104e0825490565b600081815260018301602052604081205461140f575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556104e0565b5060006104e0565b600061146c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661177b9092919063ffffffff16565b805190915015610869578080602001905181019061148a9190611aff565b6108695760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610530565b606060006114f8836002611f7d565b611503906002611f51565b67ffffffffffffffff81111561151b5761151b612062565b6040519080825280601f01601f191660200182016040528015611545576020820181803683370190505b509050600360fc1b816000815181106115605761156061204c565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061158f5761158f61204c565b60200101906001600160f81b031916908160001a90535060006115b3846002611f7d565b6115be906001611f51565b90505b6001811115611636576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106115f2576115f261204c565b1a60f81b8282815181106116085761160861204c565b60200101906001600160f81b031916908160001a90535060049490941c9361162f81611fdf565b90506115c1565b508315610cac5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610530565b61168f8282610cb3565b156108e8576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610cac836001600160a01b038416611792565b60008260000182815481106117165761171661204c565b9060005260206000200154905092915050565b6000808260405160200161173f91815260200190565b60408051601f19818403018152919052805160209091012090506117656103e882611f69565b611771906103e8611f7d565b610cac9082611f9c565b606061178a8484600085611885565b949350505050565b6000818152600183016020526040812054801561187b5760006117b6600183611f9c565b85549091506000906117ca90600190611f9c565b905081811461182f5760008660000182815481106117ea576117ea61204c565b906000526020600020015490508087600001848154811061180d5761180d61204c565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061184057611840612036565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506104e0565b60009150506104e0565b6060824710156118e65760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610530565b843b6119345760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610530565b600080866001600160a01b031685876040516119509190611e0c565b60006040518083038185875af1925050503d806000811461198d576040519150601f19603f3d011682016040523d82523d6000602084013e611992565b606091505b50915091506119a28282866119ad565b979650505050505050565b606083156119bc575081610cac565b8251156119cc5782518084602001fd5b8160405162461bcd60e51b81526004016105309190611e9d565b6040805160c08101825260008082526020820181905291810182905260608101829052608081019190915260a08101611a1d611a22565b905290565b60405180608001604052806004906020820280368337509192915050565b600082601f830112611a5157600080fd5b6040516080810181811067ffffffffffffffff82111715611a7457611a74612062565b604052808360808101861015611a8957600080fd5b60005b6004811015611aab578135835260209283019290910190600101611a8c565b509195945050505050565b600060208284031215611ac857600080fd5b8135610cac81612078565b60008060408385031215611ae657600080fd5b8235611af181612078565b946020939093013593505050565b600060208284031215611b1157600080fd5b81518015158114610cac57600080fd5b600060208284031215611b3357600080fd5b5035919050565b60008060408385031215611b4d57600080fd5b823591506020830135611b5f81612078565b809150509250929050565b60008060408385031215611b7d57600080fd5b50508035926020909101359150565b600060208284031215611b9e57600080fd5b81356001600160e01b031981168114610cac57600080fd5b6000806000806000806101208789031215611bd057600080fd5b8635611bdb81612078565b95506020870135611beb81612078565b945060408701359350611c018860608901611a40565b925060e0870135915061010087013590509295509295509295565b6000806000806000806000610140888a031215611c3857600080fd5b8735611c4381612078565b96506020880135611c5381612078565b95506040880135945060608801359350611c708960808a01611a40565b92506101008801359150610120880135905092959891949750929550565b60008060008060e08587031215611ca457600080fd5b8435611caf81612078565b9350611cbe8660208701611a40565b939693955050505060a08201359160c0013590565b60006101208284031215611ce657600080fd5b60405160c0810181811067ffffffffffffffff82111715611d0957611d09612062565b6040528235611d1781612078565b81526020830135611d2781612078565b80602083015250604083013560408201526060830135606082015260808301356080820152611d598460a08501611a40565b60a08201529392505050565b600060208284031215611d7757600080fd5b5051919050565b600080600060608486031215611d9357600080fd5b505081359360208301359350604090920135919050565b60018060a01b0380825116835260208181840151168185015260408301516040850152606083015160608501526080830151608085015260a0830151915060a0840160005b600481101561083b57835182529282019290820190600101611def565b60008251611e1e818460208701611fb3565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611e60816017850160208801611fb3565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611e91816028840160208801611fb3565b01602801949350505050565b6020815260008251806020840152611ebc816040850160208701611fb3565b601f01601f19169190910160400192915050565b6020808252600a908201526927a7262c96a0a226a4a760b11b604082015260600190565b61012081016104e08284611daa565b6101608101611f128286611daa565b6101208201939093526101400152919050565b848152602081018490526101808101611f416040830185611daa565b8261016083015295945050505050565b60008219821115611f6457611f6461200a565b500190565b600082611f7857611f78612020565b500490565b6000816000190483118215151615611f9757611f9761200a565b500290565b600082821015611fae57611fae61200a565b500390565b60005b83811015611fce578181015183820152602001611fb6565b838111156113515750506000910152565b600081611fee57611fee61200a565b506000190190565b60008261200557612005612020565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461208d57600080fd5b5056fea264697066735822122005d099e7075a4e865a4531a159cfc2dc22ee9195c2c028d9d5e9285ef3247a2a64736f6c63430008070033