44 txs
45 calls
constructor
constructor(address _unicornMeatToken, address _owner)
functions
claimedAmounts
viewfunction claimedAmounts(address) view returns (uint256)
claimEnabled
viewfunction claimEnabled() view returns (bool)
getClaimableAmount
viewfunction getClaimableAmount(address user, uint256 amount, bytes32[] merkleProof) view returns (uint256 claimableAmount)
getStats
viewfunction getStats() view returns (uint256 _totalAllocated, uint256 _totalClaimed, uint256 _remainingAllocated, uint256 _contractBalance)
hasClaimed
viewfunction hasClaimed(address user) view returns (bool)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
owner
viewfunction owner() view returns (address)
totalAllocated
viewfunction totalAllocated() view returns (uint256)
totalClaimed
viewfunction totalClaimed() view returns (uint256)
unicornMeatToken
viewfunction unicornMeatToken() view returns (address)
claim
nonpayablefunction claim(uint256 amount, bytes32[] merkleProof)
recoverAllTokens
nonpayablefunction recoverAllTokens()
recoverOtherTokens
nonpayablefunction recoverOtherTokens(address token, uint256 amount)
recoverTokens
nonpayablefunction recoverTokens(uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
setClaimEnabled
nonpayablefunction setClaimEnabled(bool enabled)
setTotalAllocated
nonpayablefunction setTotalAllocated(uint256 newTotalAllocated)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateMerkleRoot
nonpayablefunction updateMerkleRoot(bytes32 newMerkleRoot)
events
ClaimEnabled
event ClaimEnabled(bool enabled)
MerkleRootUpdated
event MerkleRootUpdated(bytes32 indexed oldRoot, bytes32 indexed newRoot)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokensClaimed
event TokensClaimed(address indexed user, uint256 amount, uint256 totalClaimed)
TokensRecovered
event TokensRecovered(address indexed owner, uint256 amount)
TotalAllocatedUpdated
event TotalAllocatedUpdated(uint256 newTotalAllocated)
errors
AlreadyClaimed
error AlreadyClaimed()
ClaimNotEnabled
error ClaimNotEnabled()
InvalidAmount
error InvalidAmount()
InvalidMerkleProof
error InvalidMerkleProof()
NoTokensToRecover
error NoTokensToRecover()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60a06040523480156200001157600080fd5b506040516200137a3803806200137a8339810160408190526200003491620001a5565b806001600160a01b0381166200006557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000708162000138565b50600180556001600160a01b038216620000cd5760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e20616464726573732063616e6e6f74206265207a65726f0000000060448201526064016200005c565b6001600160a01b038116620001255760405162461bcd60e51b815260206004820152601c60248201527f4f776e657220616464726573732063616e6e6f74206265207a65726f0000000060448201526064016200005c565b506001600160a01b0316608052620001dd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620001a057600080fd5b919050565b60008060408385031215620001b957600080fd5b620001c48362000188565b9150620001d46020840162000188565b90509250929050565b6080516111506200022a6000396000818161022901528181610451015281816105830152818161061b0152818161079a0152818161083201528181610a2e0152610c7f01526111506000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806371417b32116100ad57806392929a091161007157806392929a0914610274578063c59d484714610287578063d54ad2a1146102af578063f2fde38b146102b8578063fdb1cdf9146102cb57600080fd5b806371417b32146101d1578063715018a6146101f157806373b2e80e146101f957806380bbd79e146102245780638da5cb5b1461026357600080fd5b806345f7f249116100f457806345f7f249146101875780634783f0ef146101905780635945267a146101a3578063663b6e42146101ab578063713f54e0146101be57600080fd5b80632866ed21146101265780632eb4a7ab146101485780632f52ebb71461015f57806330599fc514610174575b600080fd5b6003546101339060ff1681565b60405190151581526020015b60405180910390f35b61015160025481565b60405190815260200161013f565b61017261016d366004610eff565b6102de565b005b610172610182366004610f4b565b610542565b61015160045481565b61017261019e366004610f4b565b610739565b61017261077a565b6101516101b9366004610f80565b61094f565b6101726101cc366004610fda565b610a24565b6101516101df366004611004565b60066020526000908152604090205481565b610172610bf0565b610133610207366004611004565b6001600160a01b0316600090815260066020526040902054151590565b61024b7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161013f565b6000546001600160a01b031661024b565b61017261028236600461102d565b610c04565b61028f610c54565b60408051948552602085019390935291830152606082015260800161013f565b61015160055481565b6101726102c6366004611004565b610cfa565b6101726102d9366004610f4b565b610d38565b6102e6610d75565b60035460ff166103095760405163af95b1d160e01b815260040160405180910390fd5b8260000361032a5760405163162908e360e11b815260040160405180910390fd5b336000818152600660205260409020541561035857604051630c8d9eab60e31b815260040160405180910390fd5b6040516bffffffffffffffffffffffff19606083901b166020820152603481018590526000906054016040516020818303038152906040528051906020012090506103da848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506002549150849050610d9f565b6103f75760405163582f497d60e11b815260040160405180910390fd5b6001600160a01b0382166000908152600660205260408120869055600580548792839291610426908490611060565b909155505060405163a9059cbb60e01b81526001600160a01b038481166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561049a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104be9190611073565b6104e35760405162461bcd60e51b81526004016104da90611090565b60405180910390fd5b826001600160a01b03167f9923b4306c6c030f2bdfbf156517d5983b87e15b96176da122cd4f2effa4ba7b87600554604051610529929190918252602082015260400190565b60405180910390a250505061053d60018055565b505050565b61054a610db5565b8060000361056b5760405163162908e360e11b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156105d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f691906110bf565b9050818110156106195760405163162908e360e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb61065a6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af11580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cb9190611073565b6106e75760405162461bcd60e51b81526004016104da90611090565b6000546001600160a01b03166001600160a01b03167f46d2e6e71fc567877b817ff3d940571f989d4ee4d40f2b70806d36e738feef6f8360405161072d91815260200190565b60405180910390a25050565b610741610db5565b6002805490829055604051829082907ffd69edeceaf1d6832d935be1fba54ca93bf17e71520c6c9ffc08d6e9529f875790600090a35050565b610782610db5565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156107e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080d91906110bf565b90508060000361083057604051635e4f582160e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb6108716000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156108be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e29190611073565b6108fe5760405162461bcd60e51b81526004016104da90611090565b6000546001600160a01b03166001600160a01b03167f46d2e6e71fc567877b817ff3d940571f989d4ee4d40f2b70806d36e738feef6f8260405161094491815260200190565b60405180910390a250565b6001600160a01b0384166000908152600660205260408120541561097557506000610a1c565b60035460ff1661098757506000610a1c565b6040516bffffffffffffffffffffffff19606087901b16602082015260348101859052600090605401604051602081830303815290604052805190602001209050610a09848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506002549150849050610d9f565b610a17576000915050610a1c565b849150505b949350505050565b610a2c610db5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610ab85760405162461bcd60e51b815260206004820152602260248201527f557365207265636f766572546f6b656e7320666f7220556e69636f726e204d65604482015261185d60f21b60648201526084016104da565b6001600160a01b038216610b0e5760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e20616464726573732063616e6e6f74206265207a65726f0000000060448201526064016104da565b60008111610b5e5760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f60448201526064016104da565b816001600160a01b031663a9059cbb610b7f6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053d9190611073565b610bf8610db5565b610c026000610de2565b565b610c0c610db5565b6003805460ff19168215159081179091556040519081527f1edd4dc7f91a5992aba0f39c0428bcf4df13d001eebc26eb188307d057f14a07906020015b60405180910390a150565b600454600554600080610c6783856110d8565b6040516370a0823160e01b81523060048201529092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf291906110bf565b905090919293565b610d02610db5565b6001600160a01b038116610d2c57604051631e4fbdf760e01b8152600060048201526024016104da565b610d3581610de2565b50565b610d40610db5565b60048190556040518181527fc76c9f9a15107ab2490ba73cc480068c32a628a028776f93ae3cb90c808521f090602001610c49565b600260015403610d9857604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b600082610dac8584610e32565b14949350505050565b6000546001600160a01b03163314610c025760405163118cdaa760e01b81523360048201526024016104da565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081815b8451811015610e7757610e6382868381518110610e5657610e566110eb565b6020026020010151610e81565b915080610e6f81611101565b915050610e37565b5090505b92915050565b6000818310610e9d576000828152602084905260409020610eac565b60008381526020839052604090205b9392505050565b60008083601f840112610ec557600080fd5b50813567ffffffffffffffff811115610edd57600080fd5b6020830191508360208260051b8501011115610ef857600080fd5b9250929050565b600080600060408486031215610f1457600080fd5b83359250602084013567ffffffffffffffff811115610f3257600080fd5b610f3e86828701610eb3565b9497909650939450505050565b600060208284031215610f5d57600080fd5b5035919050565b80356001600160a01b0381168114610f7b57600080fd5b919050565b60008060008060608587031215610f9657600080fd5b610f9f85610f64565b935060208501359250604085013567ffffffffffffffff811115610fc257600080fd5b610fce87828801610eb3565b95989497509550505050565b60008060408385031215610fed57600080fd5b610ff683610f64565b946020939093013593505050565b60006020828403121561101657600080fd5b610eac82610f64565b8015158114610d3557600080fd5b60006020828403121561103f57600080fd5b8135610eac8161101f565b634e487b7160e01b600052601160045260246000fd5b80820180821115610e7b57610e7b61104a565b60006020828403121561108557600080fd5b8151610eac8161101f565b602080825260159082015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b6000602082840312156110d157600080fd5b5051919050565b81810381811115610e7b57610e7b61104a565b634e487b7160e01b600052603260045260246000fd5b6000600182016111135761111361104a565b506001019056fea264697066735822122000813d1745bf5cd65c267f8c98affa5c2040cd123cad9f3377706c609d9767a964736f6c63430008140033000000000000000000000000dfa208bb0b811cfbb5fa3ea98ec37aa86180e668000000000000000000000000236f85160439d080eda18ab184ae89b8c162271e