0 txs
0 calls
constructor
constructor(bytes32[] _merkleRoots, address _token, address _owner)
functions
canClaim
viewfunction canClaim() view returns (bool)
isClaimed
viewfunction isClaimed(uint256, address) view returns (bool)
merkleRoots
viewfunction merkleRoots(uint256) view returns (bytes32)
owner
viewfunction owner() view returns (address)
TOKEN
viewfunction TOKEN() view returns (address)
whitelist
viewfunction whitelist(uint256, address) view returns (uint256)
addMerkleRoot
nonpayablefunction addMerkleRoot(bytes32 _merkleRoot)
addToWhitelist
nonpayablefunction addToWhitelist(uint256 index, address[] addresses, uint256[] amounts)
claim
nonpayablefunction claim(uint256 index, uint256 amount, bytes32[] merkleProof)
claim
nonpayablefunction claim(uint256 index)
removeFromWhitelist
nonpayablefunction removeFromWhitelist(uint256 index, address[] addresses)
renounceOwnership
nonpayablefunction renounceOwnership()
setCanClaim
nonpayablefunction setCanClaim(bool _canClaim)
setMerkleRoot
nonpayablefunction setMerkleRoot(uint256 index, bytes32 _merkleRoot)
setToken
nonpayablefunction setToken(address _token)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw()
events
AddWhitelists
event AddWhitelists(uint256 indexed index, address[] indexed account, uint256[] amount)
CanClaimChanged
event CanClaimChanged(bool canClaim)
Claimed
event Claimed(uint256 index, address indexed account, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RemoveWhitelists
event RemoveWhitelists(uint256 indexed index, address[] indexed account)
Withdrawn
event Withdrawn(address indexed recipient, uint256 amount)
errors
AlreadyClaimed
error AlreadyClaimed()
InvalidAmount
error InvalidAmount()
InvalidProof
error InvalidProof()
LengthNotMatch
error LengthNotMatch()
NotInWhitelist
error NotInWhitelist()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PausedClaim
error PausedClaim()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x608060405234801561000f575f5ffd5b5060405161113d38038061113d83398101604081905261002e91610180565b806001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610065816100a5565b5060018055825161007d9060029060208601906100f4565b5050600380546001600160a01b0319166001600160a01b039290921691909117905550610268565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b828054828255905f5260205f2090810192821561012d579160200282015b8281111561012d578251825591602001919060010190610112565b5061013992915061013d565b5090565b5b80821115610139575f815560010161013e565b634e487b7160e01b5f52604160045260245ffd5b80516001600160a01b038116811461017b575f5ffd5b919050565b5f5f5f60608486031215610192575f5ffd5b83516001600160401b038111156101a7575f5ffd5b8401601f810186136101b7575f5ffd5b80516001600160401b038111156101d0576101d0610151565b604051600582901b90603f8201601f191681016001600160401b03811182821017156101fe576101fe610151565b60405291825260208184018101929081018984111561021b575f5ffd5b6020850194505b8385101561023e57845180825260209586019590935001610222565b5095506102519250505060208501610165565b915061025f60408501610165565b90509250925092565b610ec8806102755f395ff3fe608060405234801561000f575f5ffd5b5060043610610106575f3560e01c806371c5ecb11161009e578063ae0b51df1161006e578063ae0b51df1461022a578063c503101e1461023d578063d2ef079514610250578063f221c20c1461027d578063f2fde38b14610290575f5ffd5b806371c5ecb1146101c957806382bfefc8146101dc5780638920a8c2146102075780638da5cb5b1461021a575f5ffd5b80633ccfd60b116100d95780633ccfd60b146101585780634b25bfce146101605780636dc7a6271461019d578063715018a6146101c1575f5ffd5b8063144fa6d71461010a57806318712c211461011f5780633323c80714610132578063379607f514610145575b5f5ffd5b61011d610118366004610bdc565b6102a3565b005b61011d61012d366004610bf5565b6102cd565b61011d610140366004610c15565b6102f8565b61011d610153366004610c15565b610334565b61011d6104ca565b61018a61016e366004610c2c565b600560209081525f928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6003546101b190600160a01b900460ff1681565b6040519015158152602001610194565b61011d6105e8565b61018a6101d7366004610c15565b6105fb565b6003546101ef906001600160a01b031681565b6040516001600160a01b039091168152602001610194565b61011d610215366004610c9e565b61061a565b5f546001600160a01b03166101ef565b61011d610238366004610d17565b610719565b61011d61024b366004610d73565b610946565b6101b161025e366004610c2c565b600460209081525f928352604080842090915290825290205460ff1681565b61011d61028b366004610d8e565b6109a6565b61011d61029e366004610bdc565b610a57565b6102ab610a96565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6102d5610a96565b80600283815481106102e9576102e9610dd6565b5f918252602090912001555050565b610300610a96565b600280546001810182555f919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0155565b61033c610ac2565b5f818152600560209081526040808320338452909152902054819061037457604051632d85515d60e11b815260040160405180910390fd5b600354600160a01b900460ff1661039e57604051630110efd560e61b815260040160405180910390fd5b5f82815260046020908152604080832033845290915290205460ff16156103d857604051630c8d9eab60e31b815260040160405180910390fd5b5f8281526005602090815260408083203380855290835281842054868552600480855283862083875290945293829020805460ff19166001179055600354915163a9059cbb60e01b815292830152602482018390526001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561045c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104809190610dea565b50604080518481526020810183905233917f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026910160405180910390a250506104c760018055565b50565b6104d2610a96565b6003546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610518573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053c9190610e05565b60035460405163a9059cbb60e01b8152336004820152602481018390529192506001600160a01b03169063a9059cbb906044016020604051808303815f875af115801561058b573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105af9190610dea565b5060405181815233907f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d59060200160405180910390a250565b6105f0610a96565b6105f95f610aec565b565b6002818154811061060a575f80fd5b5f91825260209091200154905081565b610622610a96565b82811461064257604051631985132360e31b815260040160405180910390fd5b5f5b838110156106bf5782828281811061065e5761065e610dd6565b9050602002013560055f8881526020019081526020015f205f87878581811061068957610689610dd6565b905060200201602081019061069e9190610bdc565b6001600160a01b0316815260208101919091526040015f2055600101610644565b5083836040516106d0929190610e1c565b6040518091039020857f694fe5adecedc7ad5a3f8391f8a2cf836d4f3aa6984399831388c19ae0fb0d48848460405161070a929190610e5b565b60405180910390a35050505050565b610721610ac2565b600354600160a01b900460ff1661074b57604051630110efd560e61b815260040160405180910390fd5b5f831161076b5760405163162908e360e11b815260040160405180910390fd5b5f84815260046020908152604080832033845290915290205460ff16156107a557604051630c8d9eab60e31b815260040160405180910390fd5b604080513360208201529081018490525f9060600160408051601f19818403018152828252805160209182012090830152016040516020818303038152906040528051906020012090506108498383808060200260200160405190810160405280939291908181526020018383602002808284375f920191909152505060028054909250899150811061083a5761083a610dd6565b905f5260205f20015483610b3b565b610866576040516309bde33960e01b815260040160405180910390fd5b5f85815260046020818152604080842033808652925292839020805460ff19166001179055600354925163a9059cbb60e01b815291820152602481018690526001600160a01b039091169063a9059cbb906044016020604051808303815f875af11580156108d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108fa9190610dea565b50604080518681526020810186905233917f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026910160405180910390a25061094060018055565b50505050565b61094e610a96565b60038054821515600160a01b0260ff60a01b199091161790556040517f288bc2dc4daa42daed2dc8f75a041199ec3b44228839d53fcdcd655319c6ba279061099b90831515815260200190565b60405180910390a150565b6109ae610a96565b5f5b81811015610a10575f848152600560205260408120908484848181106109d8576109d8610dd6565b90506020020160208101906109ed9190610bdc565b6001600160a01b0316815260208101919091526040015f908120556001016109b0565b508181604051610a21929190610e1c565b6040519081900381209084907f4ef352f25cdeac845ac72666cd403ec5e67035abb4002b310ebdfef3d564dac2905f90a3505050565b610a5f610a96565b6001600160a01b038116610a8d57604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6104c781610aec565b5f546001600160a01b031633146105f95760405163118cdaa760e01b8152336004820152602401610a84565b600260015403610ae557604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f82610b478584610b50565b14949350505050565b5f81815b8451811015610b8a57610b8082868381518110610b7357610b73610dd6565b6020026020010151610b92565b9150600101610b54565b509392505050565b5f818310610bac575f828152602084905260409020610bba565b5f8381526020839052604090205b9392505050565b80356001600160a01b0381168114610bd7575f5ffd5b919050565b5f60208284031215610bec575f5ffd5b610bba82610bc1565b5f5f60408385031215610c06575f5ffd5b50508035926020909101359150565b5f60208284031215610c25575f5ffd5b5035919050565b5f5f60408385031215610c3d575f5ffd5b82359150610c4d60208401610bc1565b90509250929050565b5f5f83601f840112610c66575f5ffd5b50813567ffffffffffffffff811115610c7d575f5ffd5b6020830191508360208260051b8501011115610c97575f5ffd5b9250929050565b5f5f5f5f5f60608688031215610cb2575f5ffd5b85359450602086013567ffffffffffffffff811115610ccf575f5ffd5b610cdb88828901610c56565b909550935050604086013567ffffffffffffffff811115610cfa575f5ffd5b610d0688828901610c56565b969995985093965092949392505050565b5f5f5f5f60608587031215610d2a575f5ffd5b8435935060208501359250604085013567ffffffffffffffff811115610d4e575f5ffd5b610d5a87828801610c56565b95989497509550505050565b80151581146104c7575f5ffd5b5f60208284031215610d83575f5ffd5b8135610bba81610d66565b5f5f5f60408486031215610da0575f5ffd5b83359250602084013567ffffffffffffffff811115610dbd575f5ffd5b610dc986828701610c56565b9497909650939450505050565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215610dfa575f5ffd5b8151610bba81610d66565b5f60208284031215610e15575f5ffd5b5051919050565b5f8184825b85811015610e50576001600160a01b03610e3a83610bc1565b1683526020928301929190910190600101610e21565b509095945050505050565b602080825281018290525f6001600160fb1b03831115610e79575f5ffd5b8260051b8085604085013791909101604001939250505056fea2646970667358221220b1f5731ba2cd92284e63fc33981aa190d895369d91b511da413a1f7ad3a247c464736f6c634300081b00330000000000000000000000000000000000000000000000000000000000000060000000000000000000000000ec53bf9167f50cdeb3ae105f56099aaab9061f83000000000000000000000000432abccb04ddd86db9aa91fa3e03fb566270c9ff0000000000000000000000000000000000000000000000000000000000000000