0 txs
0 calls
constructor
constructor()
functions
budget
viewfunction budget() view returns (uint256)
calculateBetHash
purefunction calculateBetHash(tuple _bet) pure returns (bytes32)
calculateWinAmount
viewfunction calculateWinAmount(uint256 amount, uint256 modulo, uint256 odds) view returns (uint256 winAmount)
computeResult
viewfunction computeResult(address _gambler, uint256 _blockNumber, bytes32 blockHash, uint256[4] _rollIntegerVariables, bytes32 _userSeed, bytes32 _houseReveal, uint256 _houseCheckMs) view returns (uint256 roll, uint256 payout, tuple betObject, bytes32 betHash)
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)
hashPacked
purefunction hashPacked(bytes32 _toHash) pure returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
houseEdge
viewfunction houseEdge() view returns (uint256)
maxPercWin
viewfunction maxPercWin() view returns (uint256)
maxWin
viewfunction maxWin() view returns (uint256)
minBet
viewfunction minBet() view returns (uint256)
referrerEarnings
viewfunction referrerEarnings(address) view returns (uint256)
referrerEdge
viewfunction referrerEdge() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
unfinishedBetHashToTimestamp
viewfunction unfinishedBetHashToTimestamp(bytes32) view returns (uint256)
userReferrer
viewfunction userReferrer(address) view returns (address refAddress, uint256 edge)
finishBet
nonpayablefunction finishBet(address _gambler, uint256 _blockNumber, uint256[4] _rollIntegerVariables, bytes32 _userSeed, bytes32 _houseReveal, uint256 _houseCheckMs)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setHouseEdgePerc
nonpayablefunction setHouseEdgePerc(uint256 _perc)
setMaxPercWin
nonpayablefunction setMaxPercWin(uint256 _perc)
setMinBet
nonpayablefunction setMinBet(uint256 _value)
setReferrerEdgePerc
nonpayablefunction setReferrerEdgePerc(uint256 _perc)
setUserReferrer
nonpayablefunction setUserReferrer(address _user, address _referrer, uint256 _perc)
startBet
payablefunction startBet(uint256[4] _rollIntegerVariables, bytes32 _userSeed, bytes32 _houseCommit, address _referrer) payable
withdraw
nonpayablefunction withdraw(uint256 _amount)
events
BetExpired
event BetExpired(bytes32 indexed betHash, address user, uint256 betAmount)
BetStarted
event BetStarted(bytes32 indexed betHash, (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 gambler, bytes32 commit, bytes32 userSeed, uint256 blockNumber, uint256[4] rollIntegerVariables) bet, uint256 result, uint256 payout)
errors
No errors.
creation bytecode
0x6080604052670de0b6b3a76400006002556101f46003556103b660045560326005553480156200002e57600080fd5b506200003c60003362000042565b620001a7565b6200004e828262000052565b5050565b6200006982826200009560201b6200149f1760201c565b6000828152600160209081526040909120620000909183906200152362000135821b17901c565b505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200004e576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620000f13390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006200014c836001600160a01b03841662000155565b90505b92915050565b60008181526001830160205260408120546200019e575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556200014f565b5060006200014f565b6120e380620001b76000396000f3fe6080604052600436106101dc5760003560e01c80639619367d11610102578063d547741f11610095578063eb3ba72f11610064578063eb3ba72f14610576578063ed01bf29146105a3578063ef824cfe146105b6578063f72afe7d146105d657600080fd5b8063d547741f14610500578063d667dcd714610520578063d7d59b1114610536578063e229df5c1461055657600080fd5b8063c6a73fc7116100d1578063c6a73fc71461047d578063ca15c8731461049d578063cade7ac6146104bd578063cca7273b146104ea57600080fd5b80639619367d14610432578063a217fddf14610448578063a4efad901461045d578063b1d2b0531461032557600080fd5b80635b5ef8de1161017a57806382a365241161014957806382a36524146103a457806388ea41b9146103ba5780639010d07c146103da57806391d148541461041257600080fd5b80635b5ef8de146102f2578063697a391c146103055780636df9822a146103255780637c3fcc381461034557600080fd5b8063248a9ca3116101b6578063248a9ca3146102625780632e1a7d4d146102925780632f2ff15d146102b257806336568abe146102d257600080fd5b806301ffc9a7146101e85780630a514da91461021d57806316d190e31461023f57600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50610208610203366004611cfb565b610606565b60405190151581526020015b60405180910390f35b34801561022957600080fd5b5061023d610238366004611c94565b610631565b005b34801561024b57600080fd5b50610254610688565b604051908152602001610214565b34801561026e57600080fd5b5061025461027d366004611c94565b60009081526020819052604090206001015490565b34801561029e57600080fd5b5061023d6102ad366004611c94565b6106b0565b3480156102be57600080fd5b5061023d6102cd366004611cad565b61074d565b3480156102de57600080fd5b5061023d6102ed366004611cad565b610778565b61023d610300366004611c4d565b6107f2565b34801561031157600080fd5b5061023d610320366004611b51565b610c0a565b34801561033157600080fd5b50610254610340366004611c94565b610c9f565b34801561035157600080fd5b50610385610360366004611b36565b600660205260009081526040902080546001909101546001600160a01b039091169082565b604080516001600160a01b039093168352602083019190915201610214565b3480156103b057600080fd5b5061025460055481565b3480156103c657600080fd5b5061023d6103d5366004611c94565b610cd1565b3480156103e657600080fd5b506103fa6103f5366004611cd9565b610cfd565b6040516001600160a01b039091168152602001610214565b34801561041e57600080fd5b5061020861042d366004611cad565b610d1c565b34801561043e57600080fd5b5061025460025481565b34801561045457600080fd5b50610254600081565b34801561046957600080fd5b5061023d610478366004611b8d565b610d45565b34801561048957600080fd5b5061023d610498366004611c94565b6111e2565b3480156104a957600080fd5b506102546104b8366004611c94565b611230565b3480156104c957600080fd5b506102546104d8366004611c94565b60086020526000908152604090205481565b3480156104f657600080fd5b5061025460035481565b34801561050c57600080fd5b5061023d61051b366004611cad565b611247565b34801561052c57600080fd5b5061025460045481565b34801561054257600080fd5b5061023d610551366004611c94565b61126d565b34801561056257600080fd5b50610254610571366004611da0565b6112bb565b34801561058257600080fd5b50610254610591366004611b36565b60076020526000908152604090205481565b3480156105af57600080fd5b5047610254565b3480156105c257600080fd5b506102546105d1366004611d25565b61137f565b3480156105e257600080fd5b506105f66105f1366004611be8565b611392565b6040516102149493929190611f56565b60006001600160e01b03198216635a05180f60e01b148061062b575061062b82611538565b92915050565b61063c600033610d1c565b6106615760405162461bcd60e51b815260040161065890611ef7565b60405180910390fd5b6127108111156106835760405162461bcd60e51b815260040161065890611ec8565b600555565b60006127106003546106974790565b6106a19190611fae565b6106ab9190611f9a565b905090565b6106bb600033610d1c565b6106d75760405162461bcd60e51b815260040161065890611ef7565b8047101561071c5760405162461bcd60e51b8152602060048201526012602482015271696e73756666696369656e742066756e647360701b6044820152606401610658565b604051339082156108fc029083906000818181858888f19350505050158015610749573d6000803e3d6000fd5b5050565b600082815260208190526040902060010154610769813361156d565b61077383836115d1565b505050565b6001600160a01b03811633146107e85760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610658565b61074982826115f3565b33321480156108005750333b155b6108405760405162461bcd60e51b81526020600482015260116024820152706e6f20696e6469726563742063616c6c7360781b6044820152606401610658565b6040840151349081146108885760405162461bcd60e51b815260206004820152601060248201526f0c2dadeeadce840dad2e6e6dac2e8c6d60831b6044820152606401610658565b600254604086015110156108d35760405162461bcd60e51b815260206004820152601260248201527162657420616d6f756e7420746f6f206c6f7760701b6044820152606401610658565b602085015115806108e8575060208501516001145b6109405760405162461bcd60e51b815260206004820152602360248201527f696e76616c696420726f6c6c756e646572206f7220726f6c6c6f7665722076616044820152626c756560e81b6064820152608401610658565b60608501516001106109855760405162461bcd60e51b815260206004820152600e60248201526d696e76616c6964206d6f64756c6f60901b6044820152606401610658565b6001600160a01b0382163314156109de5760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207265666572726572206164647265737300000000000000006044820152606401610658565b336000908152600660205260409020546001600160a01b0316610a6a5760408051808201909152806001600160a01b03841615610a1b5783610a26565b610a26600080610cfd565b6001600160a01b0390811682526005546020928301523360009081526006835260409020835181546001600160a01b03191692169190911781559101516001909101555b6020850151600090610a9a5760408601516060870151610a9391908860005b60200201516112bb565b9050610ace565b604086015160608701518751610acb92919060018a60035b6020020151610ac19190611fcd565b6105719190611fcd565b90505b6040860151600090610ae09083611fcd565b9050610aea610688565b811115610b395760405162461bcd60e51b815260206004820152601d60248201527f70726f6669742065786365656473206d61782077696e20616d6f756e740000006044820152606401610658565b6000610b48338789438c611615565b90506000610b558261137f565b60008181526008602052604090205490915015610bb45760405162461bcd60e51b815260206004820152601760248201527f626574206861736820616c7265616479206578697374730000000000000000006044820152606401610658565b600081815260086020526040908190204290555181907fb6614807c57320ce31de729af678f86c23970f8b6a2c6ccbac437f484674428c90610bf7908590611f25565b60405180910390a2505050505050505050565b610c15600033610d1c565b610c315760405162461bcd60e51b815260040161065890611ef7565b612710811115610c535760405162461bcd60e51b815260040161065890611ec8565b6040805180820182526001600160a01b0393841681526020808201938452948416600090815260069095529320925183546001600160a01b031916921691909117825551600190910155565b600081604051602001610cb491815260200190565b604051602081830303815290604052805190602001209050919050565b610cdc600033610d1c565b610cf85760405162461bcd60e51b815260040161065890611ef7565b600255565b6000828152600160205260408120610d159083611651565b9392505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b610d50600033610d1c565b610d6c5760405162461bcd60e51b815260040161065890611ef7565b844311610dbb5760405162461bcd60e51b815260206004820152601c60248201527f626574206e6f7420726561647920746f2062652066696e6973686564000000006044820152606401610658565b600080600080610dd18a8a8b408b8b8b8b611392565b6000818152600860205260409020549397509195509350915080610e275760405162461bcd60e51b815260206004820152600d60248201526c18995d081b9bdd08199bdd5b99609a1b6044820152606401610658565b610e3361010043611fcd565b83606001511015610ef6576000828152600860205260408120558251608084015183917f5a7c04de69e45893b35933028462bd1efefbf2d5ea85799d7b2b5a37f4f24e0a9160026020020151604051610ea19291906001600160a01b03929092168252602082015260400190565b60405180910390a28251608084015160409081015190516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610eeb573d6000803e3d6000fd5b5050505050506111da565b60008281526008602052604080822082905560045460808601519091015161271091610f2191611fae565b610f2b9190611f9a565b84516001600160a01b039081166000908152600660205260408082205488518416835290822060010154608089015194955092169290916127109160026020020151610f779190611fae565b610f819190611f9a565b6080870151604001519091508711156110e757608086015160400151600090610faa9089611fcd565b9050610fb4610688565b8110611002578651608088015160409081015190516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610ffc573d6000803e3d6000fd5b506110e5565b86516040516001600160a01b039091169089156108fc02908a906000818181858888f1935050505015801561103b573d6000803e3d6000fd5b50611047600080610cfd565b6001600160a01b03166108fc859081150290604051600060405180830381858888f1935050505015801561107f573d6000803e3d6000fd5b506040516001600160a01b0384169083156108fc029084906000818181858888f193505050501580156110b6573d6000803e3d6000fd5b506001600160a01b038316600090815260076020526040812080548492906110df908490611f82565b90915550505b505b86611195576110f7600080610cfd565b6001600160a01b03166108fc849081150290604051600060405180830381858888f1935050505015801561112f573d6000803e3d6000fd5b506040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611166573d6000803e3d6000fd5b506001600160a01b0382166000908152600760205260408120805483929061118f908490611f82565b90915550505b847fb258988c512ac311171c2ec457d2ffb154226981e74c2efaec0064d1ee1adcb7878a8a6040516111c993929190611f34565b60405180910390a250505050505050505b505050505050565b6111ed600033610d1c565b6112095760405162461bcd60e51b815260040161065890611ef7565b61271081111561122b5760405162461bcd60e51b815260040161065890611ec8565b600355565b600081815260016020526040812061062b9061165d565b600082815260208190526040902060010154611263813361156d565b61077383836115f3565b611278600033610d1c565b6112945760405162461bcd60e51b815260040161065890611ef7565b6127108111156112b65760405162461bcd60e51b815260040161065890611ec8565b600455565b3360009081526006602052604081206001015460045482916112dc91611f82565b90508260001080156112ee5750838311155b61133a5760405162461bcd60e51b815260206004820152601c60248201527f77696e2070726f626162696c697479206f7574206f662072616e6765000000006044820152606401610658565b60006127106113498388611fae565b6113539190611f9a565b905083856113618389611fcd565b61136b9190611fae565b6113759190611f9a565b9695505050505050565b600081604051602001610cb49190611f25565b60008061139d611a51565b6000806113a987610c9f565b90506113b88c828a8e8d611615565b92506113c38361137f565b60408051602081018a9052908101829052606081018c90526080810188905290925061140e9060a00160408051808303601f19018152919052805160209091012060608b0151611667565b6080840151602001519095506000945015808015611430575060808401515186105b156114565760808401516040810151606082015161144f926000610a89565b945061148f565b80158015611468575060808401515186115b1561148f57608084015160408101516060820151825161148c936001906003610ab2565b94505b5050975097509750979350505050565b6114a98282610d1c565b610749576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556114df3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610d15836001600160a01b03841661167d565b60006001600160e01b03198216637965db0b60e01b148061062b57506301ffc9a760e01b6001600160e01b031983161461062b565b6115778282610d1c565b6107495761158f816001600160a01b031660146116cc565b61159a8360206116cc565b6040516020016115ab929190611e20565b60408051601f198184030181529082905262461bcd60e51b825261065891600401611e95565b6115db828261149f565b60008281526001602052604090206107739082611523565b6115fd8282611868565b600082815260016020526040902061077390826118cd565b61161d611a51565b506040805160a0810182526001600160a01b0390961686526020860194909452928401919091526060830152608082015290565b6000610d1583836118e2565b600061062b825490565b6000816116738461190c565b610d15919061202b565b60008181526001830160205260408120546116c45750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561062b565b50600061062b565b606060006116db836002611fae565b6116e6906002611f82565b67ffffffffffffffff8111156116fe576116fe612097565b6040519080825280601f01601f191660200182016040528015611728576020820181803683370190505b509050600360fc1b8160008151811061174357611743612081565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061177257611772612081565b60200101906001600160f81b031916908160001a9053506000611796846002611fae565b6117a1906001611f82565b90505b6001811115611819576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106117d5576117d5612081565b1a60f81b8282815181106117eb576117eb612081565b60200101906001600160f81b031916908160001a90535060049490941c9361181281612014565b90506117a4565b508315610d155760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610658565b6118728282610d1c565b15610749576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610d15836001600160a01b03841661195e565b60008260000182815481106118f9576118f9612081565b9060005260206000200154905092915050565b6000808260405160200161192291815260200190565b60408051601f19818403018152919052805160209091012090506119486103e882611f9a565b611954906103e8611fae565b610d159082611fcd565b60008181526001830160205260408120548015611a47576000611982600183611fcd565b855490915060009061199690600190611fcd565b90508181146119fb5760008660000182815481106119b6576119b6612081565b90600052602060002001549050808760000184815481106119d9576119d9612081565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080611a0c57611a0c61206b565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061062b565b600091505061062b565b6040805160a081018252600080825260208201819052918101829052606081019190915260808101611a81611a86565b905290565b60405180608001604052806004906020820280368337509192915050565b80356001600160a01b0381168114611abb57600080fd5b919050565b600082601f830112611ad157600080fd5b6040516080810181811067ffffffffffffffff82111715611af457611af4612097565b604052808360808101861015611b0957600080fd5b60005b6004811015611b2b578135835260209283019290910190600101611b0c565b509195945050505050565b600060208284031215611b4857600080fd5b610d1582611aa4565b600080600060608486031215611b6657600080fd5b611b6f84611aa4565b9250611b7d60208501611aa4565b9150604084013590509250925092565b6000806000806000806101208789031215611ba757600080fd5b611bb087611aa4565b955060208701359450611bc68860408901611ac0565b935060c0870135925060e0870135915061010087013590509295509295509295565b6000806000806000806000610140888a031215611c0457600080fd5b611c0d88611aa4565b96506020880135955060408801359450611c2a8960608a01611ac0565b9699959850939660e0810135956101008201359550610120909101359350915050565b60008060008060e08587031215611c6357600080fd5b611c6d8686611ac0565b93506080850135925060a08501359150611c8960c08601611aa4565b905092959194509250565b600060208284031215611ca657600080fd5b5035919050565b60008060408385031215611cc057600080fd5b82359150611cd060208401611aa4565b90509250929050565b60008060408385031215611cec57600080fd5b50508035926020909101359150565b600060208284031215611d0d57600080fd5b81356001600160e01b031981168114610d1557600080fd5b60006101008284031215611d3857600080fd5b60405160a0810181811067ffffffffffffffff82111715611d5b57611d5b612097565b604052611d6783611aa4565b8152602083013560208201526040830135604082015260608301356060820152611d948460808501611ac0565b60808201529392505050565b600080600060608486031215611db557600080fd5b505081359360208301359350604090920135919050565b80516001600160a01b0316825260208082015181840152604080830151908401526060808301519084015260808083015190840160005b60048110156111da57825182529183019190830190600101611e03565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611e58816017850160208801611fe4565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611e89816028840160208801611fe4565b01602801949350505050565b6020815260008251806020840152611eb4816040850160208701611fe4565b601f01601f19169190910160400192915050565b6020808252601590820152747573652070657263656e7461676520706f696e747360581b604082015260600190565b6020808252601490820152736d75737420686176652061646d696e20726f6c6560601b604082015260600190565b610100810161062b8284611dcc565b6101408101611f438286611dcc565b6101008201939093526101200152919050565b848152602081018490526101608101611f726040830185611dcc565b8261014083015295945050505050565b60008219821115611f9557611f9561203f565b500190565b600082611fa957611fa9612055565b500490565b6000816000190483118215151615611fc857611fc861203f565b500290565b600082821015611fdf57611fdf61203f565b500390565b60005b83811015611fff578181015183820152602001611fe7565b8381111561200e576000848401525b50505050565b6000816120235761202361203f565b506000190190565b60008261203a5761203a612055565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212203442f2e490be994e9d8d448eb920c2ba26449cc64ce25f7c4e938144e8cff0e564736f6c63430008070033