445 txs
320 calls
constructor
constructor(address _token, uint256 _duration, uint256 _minDonation)
functions
allTimeDonations
viewfunction allTimeDonations(address) view returns (uint256)
allTimeDonators
viewfunction allTimeDonators(uint256) view returns (address)
allWinners
viewfunction allWinners(uint256) view returns (address)
currentHuntDonations
viewfunction currentHuntDonations(address) view returns (uint256)
currentHuntDonators
viewfunction currentHuntDonators(uint256) view returns (address)
findProbability
viewfunction findProbability() view returns (uint256)
getAllTimeDonators
viewfunction getAllTimeDonators() view returns (address[])
getAllTimePlayersWithStats
viewfunction getAllTimePlayersWithStats() view returns (tuple[])
getAllWinners
viewfunction getAllWinners() view returns (address[])
getClaimableWinnings
viewfunction getClaimableWinnings(address player) view returns (uint256)
getCurrentHuntDonators
viewfunction getCurrentHuntDonators() view returns (address[])
getHuntTimeLeft
viewfunction getHuntTimeLeft() view returns (uint256)
getMinimumDonationAmount
viewfunction getMinimumDonationAmount() view returns (uint256)
getOverallTreasury
viewfunction getOverallTreasury() view returns (uint256)
getParticipants
viewfunction getParticipants() view returns (address[])
getPlayerCheckInState
viewfunction getPlayerCheckInState(address player) view returns (bool checkedIn)
getPlayerStats
viewfunction getPlayerStats(address player) view returns (uint256 wins, uint256 winnings, uint256 claimableWinnings, uint256 totalDonated, uint256 totalRounds, bool checkedIn)
getTotalWins
viewfunction getTotalWins(address player) view returns (uint256)
getTreasure
viewfunction getTreasure() view returns (uint256)
huntActive
viewfunction huntActive() view returns (bool)
huntAllowed
viewfunction huntAllowed() view returns (bool)
huntDuration
viewfunction huntDuration() view returns (uint256)
huntEndTime
viewfunction huntEndTime() view returns (uint256)
maxTokensPerFind
viewfunction maxTokensPerFind() view returns (uint256)
minDonation
viewfunction minDonation() view returns (uint256)
overallTreasury
viewfunction overallTreasury() view returns (uint256)
owner
viewfunction owner() view returns (address)
players
viewfunction players(address) view returns (uint256 totalWinnings, uint256 totalWins, uint256 claimableWinnings, uint256 totalRounds, uint256 totalDonated, bool checkedIn)
token
viewfunction token() view returns (address)
treasure
viewfunction treasure() view returns (uint256)
winnerHistory
viewfunction winnerHistory(address) view returns (uint256)
checkIn
nonpayablefunction checkIn()
claimWinnings
nonpayablefunction claimWinnings()
donateToHunt
nonpayablefunction donateToHunt(uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
rescueTokens
nonpayablefunction rescueTokens(address _token, address _to, uint256 _amount)
revealResults
nonpayablefunction revealResults()
setFindProbability
nonpayablefunction setFindProbability(uint256 _probability)
setHuntAllowed
nonpayablefunction setHuntAllowed(bool _allowed)
setHuntDuration
nonpayablefunction setHuntDuration(uint256 _duration)
setMaxTokensPerFind
nonpayablefunction setMaxTokensPerFind(uint256 _maxTokens)
setMinDonation
nonpayablefunction setMinDonation(uint256 _minDonation)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
CheckedIn
event CheckedIn(address indexed player)
DonationReceived
event DonationReceived(address indexed donor, uint256 amount)
MinimumDonationChanged
event MinimumDonationChanged(uint256 newAmount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SettingsUpdated
event SettingsUpdated(string setting, address indexed updatedBy)
TokensRescued
event TokensRescued(address indexed to, uint256 amount)
WinnerDeclared
event WinnerDeclared(address indexed winner, uint256 winnings)
WinningsClaimed
event WinningsClaimed(address indexed player, uint256 amount)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
creation bytecode
0x60806040526007805461ff0019166101001790556101a46008556014600955348015610029575f5ffd5b50604051611cba380380611cba833981016040819052610048916100f2565b338061006d57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610076816100a3565b50600180546001600160a01b0319166001600160a01b039490941693909317909255600255600655610131565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f5f5f60608486031215610104575f5ffd5b83516001600160a01b038116811461011a575f5ffd5b602085015160409095015190969495509392505050565b611b7c8061013e5f395ff3fe608060405260043610610256575f3560e01c80637b79c5411161013f578063cea9d26f116100b3578063e07ae2cd11610078578063e07ae2cd14610730578063e2eb41ff14610764578063e520fc7e146107b5578063f2fde38b146107ca578063fc0c546a146107e9578063fec8dc9814610808575f5ffd5b8063cea9d26f146106b4578063d5196049146106d3578063dbff4e30146106e8578063dc6b862714610707578063df63873b1461071b575f5ffd5b80638da5cb5b116101045780638da5cb5b146105e15780639b3078c8146105fd5780639cc5d86f14610628578063aba04c0314610662578063b17d629c14610681578063b401faf1146106a0575f5ffd5b80637b79c541146105205780637d9f3bbf1461054b5780637ec213a71461056a57806381fa1bde1461058b57806383a6595f146105c2575f5ffd5b80633736f4e1116101d65780635aa68ac01161019b5780635aa68ac0146104905780636b8e240b146104a45780636fb7b106146104cf57806370cbb491146104e4578063715018a6146104f85780637990d21b1461050c575f5ffd5b80633736f4e11461037c5780633c616ba3146103b35780634c288ebe146103c85780634fd66eae146103e75780635076f0681461047c575f5ffd5b80631c0e02251161021c5780631c0e0225146102f75780631e71ccb11461030c5780631fe979c614610320578063242cc335146103495780633066daad14610368575f5ffd5b8062974f5f14610261578063029fb0491461028b57806303549b96146102a1578063179b1681146102c4578063183ff085146102e3575f5ffd5b3661025d57005b5f5ffd5b34801561026c575f5ffd5b50610275610826565b6040516102829190611917565b60405180910390f35b348015610296575f5ffd5b5061029f610886565b005b3480156102ac575f5ffd5b506102b660085481565b604051908152602001610282565b3480156102cf575f5ffd5b5061029f6102de366004611962565b610b59565b3480156102ee575f5ffd5b5061029f610bb7565b348015610302575f5ffd5b506102b660065481565b348015610317575f5ffd5b506004546102b6565b34801561032b575f5ffd5b506007546103399060ff1681565b6040519015158152602001610282565b348015610354575f5ffd5b5061029f610363366004611986565b610da0565b348015610373575f5ffd5b50610275610e18565b348015610387575f5ffd5b506102b66103963660046119c3565b6001600160a01b03165f908152600a602052604090206002015490565b3480156103be575f5ffd5b506102b660095481565b3480156103d3575f5ffd5b5061029f6103e2366004611962565b610e76565b3480156103f2575f5ffd5b5061044d6104013660046119c3565b6001600160a01b03165f908152600a60208181526040808420600181015481546002830154600b865293909620549490935260038101546005909101549295919392909160ff90911690565b6040805196875260208701959095529385019290925260608401526080830152151560a082015260c001610282565b348015610487575f5ffd5b506006546102b6565b34801561049b575f5ffd5b50610275610ed0565b3480156104af575f5ffd5b506102b66104be3660046119c3565b600b6020525f908152604090205481565b3480156104da575f5ffd5b506102b660055481565b3480156104ef575f5ffd5b506005546102b6565b348015610503575f5ffd5b5061029f610f2e565b348015610517575f5ffd5b506102b6610f41565b34801561052b575f5ffd5b506102b661053a3660046119c3565b600c6020525f908152604090205481565b348015610556575f5ffd5b5061029f610565366004611962565b610f74565b348015610575575f5ffd5b5061057e611202565b60405161028291906119dc565b348015610596575f5ffd5b506105aa6105a5366004611962565b61134f565b6040516001600160a01b039091168152602001610282565b3480156105cd575f5ffd5b5061029f6105dc366004611962565b611377565b3480156105ec575f5ffd5b505f546001600160a01b03166105aa565b348015610608575f5ffd5b506102b66106173660046119c3565b600d6020525f908152604090205481565b348015610633575f5ffd5b506103396106423660046119c3565b6001600160a01b03165f908152600a602052604090206005015460ff1690565b34801561066d575f5ffd5b506105aa61067c366004611962565b6113ba565b34801561068c575f5ffd5b5061029f61069b366004611962565b6113c9565b3480156106ab575f5ffd5b5061029f611431565b3480156106bf575f5ffd5b5061029f6106ce366004611a53565b61157e565b3480156106de575f5ffd5b506102b660025481565b3480156106f3575f5ffd5b506105aa610702366004611962565b611689565b348015610712575f5ffd5b50610275611698565b348015610726575f5ffd5b506102b660035481565b34801561073b575f5ffd5b506102b661074a3660046119c3565b6001600160a01b03165f908152600d602052604090205490565b34801561076f575f5ffd5b5061044d61077e3660046119c3565b600a6020525f9081526040902080546001820154600283015460038401546004850154600590950154939492939192909160ff1686565b3480156107c0575f5ffd5b506102b660045481565b3480156107d5575f5ffd5b5061029f6107e43660046119c3565b6116f6565b3480156107f4575f5ffd5b506001546105aa906001600160a01b031681565b348015610813575f5ffd5b5060075461033990610100900460ff1681565b6060600f80548060200260200160405190810160405280929190818152602001828054801561087c57602002820191905f5260205f20905b81546001600160a01b0316815260019091019060200180831161085e575b5050505050905090565b6003544210156108d25760405162461bcd60e51b815260206004820152601260248201527148756e74207374696c6c2072756e6e696e6760701b60448201526064015b60405180910390fd5b60075460ff166109245760405162461bcd60e51b815260206004820152601860248201527f526573756c747320616c72656164792072657665616c6564000000000000000060448201526064016108c9565b600454600e5415610b49575f5b600e54811015610b47575f600e828154811061094f5761094f611a8d565b5f918252602080832091909101546040805142938101939093524490830152606081811b6bffffffffffffffffffffffff1916908301526001600160a01b03169250606490607401604051602081830303815290604052805190602001205f1c6109b99190611aa1565b9050600954811015610b2f575f60096008546109d59190611ad4565b604080514460208201526bffffffffffffffffffffffff19606087901b169181019190915260548101869052607401604051602081830303815290604052805190602001205f1c610a269190611aa1565b610a3190600a611aed565b610a4390670de0b6b3a7640000611b00565b905084811115610a505750835b6001600160a01b0383165f908152600a602052604081206001908101805491929091610a7d908490611aed565b90915550506001600160a01b0383165f908152600a602052604081208054839290610aa9908490611aed565b90915550506001600160a01b0383165f908152600a602052604081206002018054839290610ad8908490611aed565b90915550610ae890508186611ad4565b9450826001600160a01b03167f3cf1af53e79884a92609ce59db1ec9f584d88e2d14c8eaba43a21db81318301e82604051610b2591815260200190565b60405180910390a2505b835f03610b3d575050610b47565b5050600101610931565b505b6004819055610b56611730565b50565b610b6161186e565b6064811115610bb25760405162461bcd60e51b815260206004820152601d60248201527f50726f626162696c6974792063616e6e6f74206578636565642031303000000060448201526064016108c9565b600955565b60075460ff161580610bcb57506003544210155b15610bf05760075460ff1615610be857610be3610886565b610bf0565b610bf0611730565b335f908152600a602052604090206005015460ff1615610c475760405162461bcd60e51b815260206004820152601260248201527120b63932b0b23c9031b432b1b5b2b21034b760711b60448201526064016108c9565b6003544210610c855760405162461bcd60e51b815260206004820152600a602482015269121d5b9d08195b99195960b21b60448201526064016108c9565b335f9081526013602052604090205460ff16610cf5576012805460018181019092557fbb8a6a4669ba250d26cd7a459eca9d215f8307e33aebe50379bc5a3617ec34440180546001600160a01b031916339081179091555f908152601360205260409020805460ff191690911790555b335f908152600a60205260408120600301805460019290610d17908490611aed565b9091555050335f818152600a6020526040808220600501805460ff19166001908117909155600e8054918201815583527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd0180546001600160a01b03191684179055517f591c0e1d11c1207ddcaf435e99150cb7d9c849a2c6d5eae9547cd518cef6a8cd9190a2565b610da861186e565b600780548215156101000261ff001990911617905560405133907fb06a0733b082ef3865e175b3136c6b859dc0650a6b70118b49f0fe53de05348790610e0d906020808252600b908201526a121d5b9d105b1b1bddd95960aa1b604082015260600190565b60405180910390a250565b6060601080548060200260200160405190810160405280929190818152602001828054801561087c57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161085e575050505050905090565b610e7e61186e565b600281905560405133907fb06a0733b082ef3865e175b3136c6b859dc0650a6b70118b49f0fe53de05348790610e0d90602080825260089082015267223ab930ba34b7b760c11b604082015260600190565b6060600e80548060200260200160405190810160405280929190818152602001828054801561087c57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161085e575050505050905090565b610f3661186e565b610f3f5f61189a565b565b6007545f9060ff161580610f5757506003544210155b15610f6157505f90565b42600354610f6f9190611ad4565b905090565b600654811015610fbf5760405162461bcd60e51b8152602060048201526016602482015275446f6e6174696f6e2062656c6f77206d696e696d756d60501b60448201526064016108c9565b6001546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303815f875af1158015611013573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110379190611b17565b6110755760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016108c9565b60075460ff16158061108957506003544210155b156110ae5760075460ff16156110a6576110a1610886565b6110ae565b6110ae611730565b8060045f8282546110bf9190611aed565b925050819055508060055f8282546110d79190611aed565b9091555050335f908152600b6020526040812054900361113357600f80546001810182555f919091527f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac8020180546001600160a01b031916331790555b335f908152600b602052604081208054839290611151908490611aed565b9091555050335f908152600c602052604081205490036111ad57601080546001810182555f919091527f1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6720180546001600160a01b031916331790555b335f908152600c6020526040812080548392906111cb908490611aed565b909155505060405181815233907f264f630d9efa0d07053a31163641d9fcc0adafc9d9e76f1c37c2ce3a558d2c5290602001610e0d565b6012546060905f8167ffffffffffffffff81111561122257611222611b32565b60405190808252806020026020018201604052801561128f57816020015b61127c6040518060c001604052805f6001600160a01b031681526020015f81526020015f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816112405790505b5090505f5b82811015611348575f601282815481106112b0576112b0611a8d565b5f9182526020808320909101546040805160c0810182526001600160a01b03909216808352808552600a80855282862060018101548587015280548585015260028101546060860152828752600b8652928620546080850152948190529390925260039091015460a082015284519192509084908490811061133457611334611a8d565b602090810291909101015250600101611294565b5092915050565b600f818154811061135e575f80fd5b5f918252602090912001546001600160a01b0316905081565b61137f61186e565b60068190556040518181527ffbe0d810e7f5583b3c1cc30b7a08295c824a7f5fa0225a053b42e737a571cbce9060200160405180910390a150565b6010818154811061135e575f80fd5b6113d161186e565b5f811161142c5760405162461bcd60e51b8152602060048201526024808201527f4d617820746f6b656e73206d7573742062652067726561746572207468616e206044820152637a65726f60e01b60648201526084016108c9565b600855565b335f908152600a6020526040902060020154806114875760405162461bcd60e51b81526020600482015260146024820152734e6f2077696e6e696e677320746f20636c61696d60601b60448201526064016108c9565b335f818152600a602052604080822060020191909155600154905163a9059cbb60e01b81526004810192909252602482018390526001600160a01b03169063a9059cbb906044016020604051808303815f875af11580156114ea573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061150e9190611b17565b61154c5760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201526064016108c9565b60405181815233907f1a31e733a172afcf46074b3106c17f0c298e226442682a03c1e99ce256139ec290602001610e0d565b61158661186e565b6001600160a01b0382166115d05760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b60448201526064016108c9565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af115801561161c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116409190611b17565b50816001600160a01b03167f68f67de89e96b13a3ea058af5fd44cc125efceb528482d539c7b43db2faa066e8260405161167c91815260200190565b60405180910390a2505050565b6011818154811061135e575f80fd5b6060601180548060200260200160405190810160405280929190818152602001828054801561087c57602002820191905f5260205f209081546001600160a01b0316815260019091019060200180831161085e575050505050905090565b6116fe61186e565b6001600160a01b03811661172757604051631e4fbdf760e01b81525f60048201526024016108c9565b610b568161189a565b600754610100900460ff166117875760405162461bcd60e51b815260206004820152601e60248201527f5374617274696e67206e65772068756e74732069732064697361626c6564000060448201526064016108c9565b6002546117949042611aed565b6003555f5b6010548110156117e6575f600c5f601084815481106117ba576117ba611a8d565b5f9182526020808320909101546001600160a01b03168352820192909252604001902055600101611799565b506117f260105f6118e9565b5f5b600e54811015611853575f600a5f600e848154811061181557611815611a8d565b5f918252602080832091909101546001600160a01b031683528201929092526040019020600501805460ff19169115159190911790556001016117f4565b5061185f600e5f6118e9565b6007805460ff19166001179055565b5f546001600160a01b03163314610f3f5760405163118cdaa760e01b81523360048201526024016108c9565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5080545f8255905f5260205f2090810190610b5691905b80821115611913575f8155600101611900565b5090565b602080825282518282018190525f918401906040840190835b818110156119575783516001600160a01b0316835260209384019390920191600101611930565b509095945050505050565b5f60208284031215611972575f5ffd5b5035919050565b8015158114610b56575f5ffd5b5f60208284031215611996575f5ffd5b81356119a181611979565b9392505050565b80356001600160a01b03811681146119be575f5ffd5b919050565b5f602082840312156119d3575f5ffd5b6119a1826119a8565b602080825282518282018190525f918401906040840190835b8181101561195757835180516001600160a01b031684526020808201518186015260408083015190860152606080830151908601526080808301519086015260a091820151918501919091529093019260c0909201916001016119f5565b5f5f5f60608486031215611a65575f5ffd5b611a6e846119a8565b9250611a7c602085016119a8565b929592945050506040919091013590565b634e487b7160e01b5f52603260045260245ffd5b5f82611abb57634e487b7160e01b5f52601260045260245ffd5b500690565b634e487b7160e01b5f52601160045260245ffd5b81810381811115611ae757611ae7611ac0565b92915050565b80820180821115611ae757611ae7611ac0565b8082028115828204841417611ae757611ae7611ac0565b5f60208284031215611b27575f5ffd5b81516119a181611979565b634e487b7160e01b5f52604160045260245ffdfea26469706673582212200fd2241398f13853bc82ccfaf331b042e8530a4ef501293b030b32f8d435f65f64736f6c634300081c00330000000000000000000000002ee3cd20fc38cc5d8f6cd4be6edf8b4162898a8900000000000000000000000000000000000000000000000000000000000004b000000000000000000000000000000000000000000000003635c9adc5dea00000