32 txs
33 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, bool _migrationCompleted)
hasClaimed
viewfunction hasClaimed(address user) view returns (bool)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
migratedClaims
viewfunction migratedClaims(address) view returns (bool)
migrationCompleted
viewfunction migrationCompleted() view returns (bool)
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(address recipient, uint256 amount, bytes32[] merkleProof)
completeMigration
nonpayablefunction completeMigration()
migrateClaims
nonpayablefunction migrateClaims(address[] users, uint256[] amounts)
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)
ClaimMigrated
event ClaimMigrated(address indexed user, uint256 amount)
MerkleRootUpdated
event MerkleRootUpdated(bytes32 indexed oldRoot, bytes32 indexed newRoot)
MigrationCompleted
event MigrationCompleted(uint256 totalMigratedClaims)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokensClaimed
event TokensClaimed(address indexed recipient, address indexed claimer, 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()
MigrationAlreadyCompleted
error MigrationAlreadyCompleted()
MigrationNotCompleted
error MigrationNotCompleted()
NoTokensToRecover
error NoTokensToRecover()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60a06040523480156200001157600080fd5b506040516200168b3803806200168b8339810160408190526200003491620001a5565b806001600160a01b0381166200006557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000708162000138565b50600180556001600160a01b038216620000cd5760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e20616464726573732063616e6e6f74206265207a65726f0000000060448201526064016200005c565b6001600160a01b038116620001255760405162461bcd60e51b815260206004820152601c60248201527f4f776e657220616464726573732063616e6e6f74206265207a65726f0000000060448201526064016200005c565b506001600160a01b0316608052620001dd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620001a057600080fd5b919050565b60008060408385031215620001b957600080fd5b620001c48362000188565b9150620001d46020840162000188565b90509250929050565b6080516114616200022a6000396000818161026a015281816103a00152818161043801528181610725015281816108810152818161091901528181610b250152610d7c01526114616000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806371417b32116100c3578063c59d48471161007c578063c59d4847146102c8578063c8ff7da1146102fa578063d54ad2a11461031d578063e047586914610326578063f2fde38b14610339578063fdb1cdf91461034c57600080fd5b806371417b3214610212578063715018a61461023257806373b2e80e1461023a57806380bbd79e146102655780638da5cb5b146102a457806392929a09146102b557600080fd5b806345f7f2491161011557806345f7f249146101c05780634783f0ef146101c95780634886f62c146101dc5780635945267a146101e4578063663b6e42146101ec578063713f54e0146101ff57600080fd5b80632866ed21146101525780632eb4a7ab1461017457806330599fc51461018b57806331677980146101a05780633d13f874146101ad575b600080fd5b60035461015f9060ff1681565b60405190151581526020015b60405180910390f35b61017d60025481565b60405190815260200161016b565b61019e6101993660046111b0565b61035f565b005b60075461015f9060ff1681565b61019e6101bb366004611231565b61055f565b61017d60045481565b61019e6101d73660046111b0565b610809565b61019e61084a565b61019e610861565b61017d6101fa366004611231565b610a36565b61019e61020d36600461128b565b610b1b565b61017d6102203660046112b5565b60066020526000908152604090205481565b61019e610cec565b61015f6102483660046112b5565b6001600160a01b0316600090815260066020526040902054151590565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016b565b6000546001600160a01b031661028c565b61019e6102c33660046112de565b610d00565b6102d0610d50565b6040805195865260208601949094529284019190915260608301521515608082015260a00161016b565b61015f6103083660046112b5565b60086020526000908152604090205460ff1681565b61017d60055481565b61019e6103343660046112fb565b610e03565b61019e6103473660046112b5565b610ff7565b61019e61035a3660046111b0565b611035565b610367611072565b806000036103885760405163162908e360e11b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156103ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610413919061135b565b9050818110156104365760405163162908e360e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb6104776000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018590526044016020604051808303816000875af11580156104c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e89190611374565b61050d5760405162461bcd60e51b815260040161050490611391565b60405180910390fd5b6000546001600160a01b03166001600160a01b03167f46d2e6e71fc567877b817ff3d940571f989d4ee4d40f2b70806d36e738feef6f8360405161055391815260200190565b60405180910390a25050565b61056761109f565b60035460ff1661058a5760405163af95b1d160e01b815260040160405180910390fd5b60075460ff166105ad576040516397f54d1f60e01b815260040160405180910390fd5b826000036105ce5760405163162908e360e11b815260040160405180910390fd5b6001600160a01b0384166105f55760405163162908e360e11b815260040160405180910390fd5b6001600160a01b0384166000908152600660205260409020541561062c57604051630c8d9eab60e31b815260040160405180910390fd5b6040516bffffffffffffffffffffffff19606086901b166020820152603481018490526000906054016040516020818303038152906040528051906020012090506106ae8383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060025491508490506110c9565b6106cb5760405163582f497d60e11b815260040160405180910390fd5b6001600160a01b03851660009081526006602052604081208590556005805486928392916106fa9084906113d6565b909155505060405163a9059cbb60e01b81526001600160a01b038781166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561076e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107929190611374565b6107ae5760405162461bcd60e51b815260040161050490611391565b60055460408051878152602081019290925233916001600160a01b038916917fff097c7d8b1957a4ff09ef1361b5fb54dcede3941ba836d0beb9d10bec725de6910160405180910390a3505061080360018055565b50505050565b610811611072565b6002805490829055604051829082907ffd69edeceaf1d6832d935be1fba54ca93bf17e71520c6c9ffc08d6e9529f875790600090a35050565b610852611072565b6007805460ff19166001179055565b610869611072565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156108d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f4919061135b565b90508060000361091757604051635e4f582160e11b815260040160405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb6109586000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af11580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190611374565b6109e55760405162461bcd60e51b815260040161050490611391565b6000546001600160a01b03166001600160a01b03167f46d2e6e71fc567877b817ff3d940571f989d4ee4d40f2b70806d36e738feef6f82604051610a2b91815260200190565b60405180910390a250565b6001600160a01b03841660009081526006602052604081205415610a5c57506000610b13565b60035460ff161580610a71575060075460ff16155b15610a7e57506000610b13565b6040516bffffffffffffffffffffffff19606087901b16602082015260348101859052600090605401604051602081830303815290604052805190602001209050610b008484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060025491508490506110c9565b610b0e576000915050610b13565b849150505b949350505050565b610b23611072565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603610baf5760405162461bcd60e51b815260206004820152602260248201527f557365207265636f766572546f6b656e7320666f7220556e69636f726e204d65604482015261185d60f21b6064820152608401610504565b6001600160a01b038216610c055760405162461bcd60e51b815260206004820152601c60248201527f546f6b656e20616464726573732063616e6e6f74206265207a65726f000000006044820152606401610504565b60008111610c555760405162461bcd60e51b815260206004820181905260248201527f416d6f756e74206d7573742062652067726561746572207468616e207a65726f6044820152606401610504565b816001600160a01b031663a9059cbb610c766000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610cc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ce79190611374565b505050565b610cf4611072565b610cfe60006110df565b565b610d08611072565b6003805460ff19168215159081179091556040519081527f1edd4dc7f91a5992aba0f39c0428bcf4df13d001eebc26eb188307d057f14a07906020015b60405180910390a150565b60045460055460008080610d6484866113e9565b6040516370a0823160e01b81523060048201529093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610dcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610def919061135b565b600754959694959394909360ff1692509050565b610e0b611072565b60075460ff1615610e2f57604051633dbff3b560e01b815260040160405180910390fd5b828114610e775760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f2e640d8cadccee8d040dad2e6dac2e8c6d60531b6044820152606401610504565b6000805b84811015610fbc576000868683818110610e9757610e976113fc565b9050602002016020810190610eac91906112b5565b90506000858584818110610ec257610ec26113fc565b60200291909101359150506001600160a01b03821615801590610ee55750600081115b8015610f0a57506001600160a01b03821660009081526008602052604090205460ff16155b15610fa7576001600160a01b038216600090815260066020908152604080832084905560089091528120805460ff1916600117905560058054839290610f519084906113d6565b90915550610f61905081856113d6565b9350816001600160a01b03167ffa8cbc3f27d900532342efb5d02bc076f9eac62d06632a2d56ca8fadca2345e882604051610f9e91815260200190565b60405180910390a25b50508080610fb490611412565b915050610e7b565b506040518181527f01ca334a07f703320ca75a31f004726757eec021b91a6d98dd7b369f127ecca09060200160405180910390a15050505050565b610fff611072565b6001600160a01b03811661102957604051631e4fbdf760e01b815260006004820152602401610504565b611032816110df565b50565b61103d611072565b60048190556040518181527fc76c9f9a15107ab2490ba73cc480068c32a628a028776f93ae3cb90c808521f090602001610d45565b6000546001600160a01b03163314610cfe5760405163118cdaa760e01b8152336004820152602401610504565b6002600154036110c257604051633ee5aeb560e01b815260040160405180910390fd5b6002600155565b6000826110d6858461112f565b14949350505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600081815b84518110156111745761116082868381518110611153576111536113fc565b602002602001015161117e565b91508061116c81611412565b915050611134565b5090505b92915050565b600081831061119a5760008281526020849052604090206111a9565b60008381526020839052604090205b9392505050565b6000602082840312156111c257600080fd5b5035919050565b80356001600160a01b03811681146111e057600080fd5b919050565b60008083601f8401126111f757600080fd5b50813567ffffffffffffffff81111561120f57600080fd5b6020830191508360208260051b850101111561122a57600080fd5b9250929050565b6000806000806060858703121561124757600080fd5b611250856111c9565b935060208501359250604085013567ffffffffffffffff81111561127357600080fd5b61127f878288016111e5565b95989497509550505050565b6000806040838503121561129e57600080fd5b6112a7836111c9565b946020939093013593505050565b6000602082840312156112c757600080fd5b6111a9826111c9565b801515811461103257600080fd5b6000602082840312156112f057600080fd5b81356111a9816112d0565b6000806000806040858703121561131157600080fd5b843567ffffffffffffffff8082111561132957600080fd5b611335888389016111e5565b9096509450602087013591508082111561134e57600080fd5b5061127f878288016111e5565b60006020828403121561136d57600080fd5b5051919050565b60006020828403121561138657600080fd5b81516111a9816112d0565b602080825260159082015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b80820180821115611178576111786113c0565b81810381811115611178576111786113c0565b634e487b7160e01b600052603260045260246000fd5b600060018201611424576114246113c0565b506001019056fea2646970667358221220626cdddf3e6b5c6a189c40b4695799af79c355156bc74b580be0d9491482ebaf64736f6c63430008140033000000000000000000000000dfa208bb0b811cfbb5fa3ea98ec37aa86180e668000000000000000000000000236f85160439d080eda18ab184ae89b8c162271e