138 txs
138 calls
constructor
constructor(string _campaign, address _token, bytes32 _merkleRoot)
functions
campaign
viewfunction campaign() view returns (string)
hasClaimed
viewfunction hasClaimed(address) view returns (bool)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
owner
viewfunction owner() view returns (address)
token
viewfunction token() view returns (address)
claim
nonpayablefunction claim(uint256 amount, bytes32[] merkleProof)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateMerkleRoot
nonpayablefunction updateMerkleRoot(bytes32 _merkleRoot)
updateToken
nonpayablefunction updateToken(address _token)
withdrawRemainingTokens
nonpayablefunction withdrawRemainingTokens(uint256 amount)
events
MerkleRootUpdated
event MerkleRootUpdated(bytes32 newMerkleRoot)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RemainingTokensWithdrawn
event RemainingTokensWithdrawn(address indexed owner, uint256 amount)
TokensClaimed
event TokensClaimed(address indexed account, uint256 amount)
TokenUpdated
event TokenUpdated(address indexed newToken)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60806040523480156200001157600080fd5b506040516200112538038062001125833981016040819052620000349162000224565b600160005533806200006157604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6200006c816200019f565b506001600160a01b038216620000c55760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420746f6b656e20616464726573730000000000000000000000604482015260640162000058565b80620001145760405162461bcd60e51b815260206004820152601360248201527f496e76616c6964206d65726b6c6520726f6f7400000000000000000000000000604482015260640162000058565b6000835111620001675760405162461bcd60e51b815260206004820152601560248201527f496e76616c69642063616d706169676e206e616d650000000000000000000000604482015260640162000058565b600280546001600160a01b0319166001600160a01b03841617905560038190556004620001958482620003a6565b5050505062000472565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200021f57600080fd5b919050565b6000806000606084860312156200023a57600080fd5b83516001600160401b03808211156200025257600080fd5b818601915086601f8301126200026757600080fd5b8151818111156200027c576200027c620001f1565b604051601f8201601f19908116603f01168101908382118183101715620002a757620002a7620001f1565b81604052828152602093508984848701011115620002c457600080fd5b600091505b82821015620002e85784820184015181830185015290830190620002c9565b60008484830101528097505050506200030381870162000207565b93505050604084015190509250925092565b600181811c908216806200032a57607f821691505b6020821081036200034b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003a1576000816000526020600020601f850160051c810160208610156200037c5750805b601f850160051c820191505b818110156200039d5782815560010162000388565b5050505b505050565b81516001600160401b03811115620003c257620003c2620001f1565b620003da81620003d3845462000315565b8462000351565b602080601f831160018114620004125760008415620003f95750858301515b600019600386901b1c1916600185901b1785556200039d565b600085815260208120601f198616915b82811015620004435788860151825594840194600190910190840162000422565b5085821015620004625787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610ca380620004826000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806373b2e80e116100815780638da5cb5b1161005b5780638da5cb5b14610188578063f2fde38b146101ad578063fc0c546a146101c057600080fd5b806373b2e80e1461012d5780637ad3def214610160578063811e539c1461017357600080fd5b80634783f0ef116100b25780634783f0ef146100ff5780637052dad914610112578063715018a61461012557600080fd5b80632eb4a7ab146100ce5780632f52ebb7146100ea575b600080fd5b6100d760035481565b6040519081526020015b60405180910390f35b6100fd6100f8366004610af4565b6101d3565b005b6100fd61010d366004610b73565b610499565b6100fd610120366004610b73565b610529565b6100fd6106c6565b61015061013b366004610b8c565b60056020526000908152604090205460ff1681565b60405190151581526020016100e1565b6100fd61016e366004610b8c565b6106da565b61017b61078f565b6040516100e19190610bb5565b6001546001600160a01b03165b6040516001600160a01b0390911681526020016100e1565b6100fd6101bb366004610b8c565b61081d565b600254610195906001600160a01b031681565b6101db610871565b3360009081526005602052604090205460ff16156102405760405162461bcd60e51b815260206004820152600f60248201527f416c726561647920636c61696d6564000000000000000000000000000000000060448201526064015b60405180910390fd5b600083116102905760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610237565b6040805133602082015290810184905260009060600160408051601f198184030181528282528051602091820120908301520160405160208183030381529060405280519060200120905061031c8383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060035491508490506108b4565b6103685760405162461bcd60e51b815260206004820152600d60248201527f496e76616c69642070726f6f66000000000000000000000000000000000000006044820152606401610237565b3360009081526005602052604090819020805460ff1916600117905560025490516370a0823160e01b815230600482015285916001600160a01b0316906370a0823190602401602060405180830381865afa1580156103cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ef9190610c04565b101561043d5760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420636f6e74726163742062616c616e63650000006044820152606401610237565b600254610454906001600160a01b031633866108ca565b60405184815233907f896e034966eaaf1adc54acc0f257056febbd300c9e47182cf761982cf1f5e4309060200160405180910390a2506104946001600055565b505050565b6104a161094a565b806104ee5760405162461bcd60e51b815260206004820152601360248201527f496e76616c6964206d65726b6c6520726f6f74000000000000000000000000006044820152606401610237565b60038190556040518181527f90004c04698bc3322499a575ed3752dd4abf33e0a7294c06a787a0fe01bea9419060200160405180910390a150565b61053161094a565b610539610871565b600081116105895760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610237565b6002546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa1580156105d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f59190610c04565b10156106435760405162461bcd60e51b815260206004820152601d60248201527f496e73756666696369656e7420636f6e74726163742062616c616e63650000006044820152606401610237565b61066b6106586001546001600160a01b031690565b6002546001600160a01b031690836108ca565b6001546001600160a01b03166001600160a01b03167f5eacf990d96c07de8e8e6c50faaf28160b2997575250a8aacfbb7f224791ff76826040516106b191815260200190565b60405180910390a26106c36001600055565b50565b6106ce61094a565b6106d86000610990565b565b6106e261094a565b6001600160a01b0381166107385760405162461bcd60e51b815260206004820152601560248201527f496e76616c696420746f6b656e206164647265737300000000000000000000006044820152606401610237565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040517f5ba6b30cd4b2f9e9e67f4feb9b9df10d5da3b057598e6901b217b7d590345e3090600090a250565b6004805461079c90610c1d565b80601f01602080910402602001604051908101604052809291908181526020018280546107c890610c1d565b80156108155780601f106107ea57610100808354040283529160200191610815565b820191906000526020600020905b8154815290600101906020018083116107f857829003601f168201915b505050505081565b61082561094a565b6001600160a01b038116610868576040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260006004820152602401610237565b6106c381610990565b6002600054036108ad576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600055565b6000826108c185846109ef565b14949350505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610494908490610a32565b6001546001600160a01b031633146106d8576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610237565b600180546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600081815b8451811015610a2a57610a2082868381518110610a1357610a13610c57565b6020026020010151610ac2565b91506001016109f4565b509392505050565b600080602060008451602086016000885af180610a55576040513d6000823e3d81fd5b50506000513d91508115610a6d578060011415610a7a565b6001600160a01b0384163b155b15610abc576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0385166004820152602401610237565b50505050565b6000818310610ade576000828152602084905260409020610aed565b60008381526020839052604090205b9392505050565b600080600060408486031215610b0957600080fd5b83359250602084013567ffffffffffffffff80821115610b2857600080fd5b818601915086601f830112610b3c57600080fd5b813581811115610b4b57600080fd5b8760208260051b8501011115610b6057600080fd5b6020830194508093505050509250925092565b600060208284031215610b8557600080fd5b5035919050565b600060208284031215610b9e57600080fd5b81356001600160a01b0381168114610aed57600080fd5b60006020808352835180602085015260005b81811015610be357858101830151858201604001528201610bc7565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215610c1657600080fd5b5051919050565b600181811c90821680610c3157607f821691505b602082108103610c5157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fdfea26469706673582212202d3eca74c9b07e5e1d899921c6c054eb11aa6b231a8b8913bbc721c30a68493b64736f6c634300081800330000000000000000000000000000000000000000000000000000000000000060000000000000000000000000c87b37a581ec3257b734886d9d3a581f5a9d056c11c441f77dee077fde85415be4da13a0fdfc0191fd7a7f62749a9f3ab86b3bbe000000000000000000000000000000000000000000000000000000000000000b4154482042617463682033000000000000000000000000000000000000000000