12 txs
13 calls
constructor
constructor(address _usdc, address _multisig, bytes32 _merkleRoot, uint256 _start, uint256 _end)
functions
end
viewfunction end() view returns (uint256)
getDepositorCount
viewfunction getDepositorCount() view returns (uint256)
getTotalDeposits
viewfunction getTotalDeposits() view returns (uint256)
getUserDeposit
viewfunction getUserDeposit(address user) view returns (uint256)
isSaleActive
viewfunction isSaleActive() view returns (bool)
merkleRoot
viewfunction merkleRoot() view returns (bytes32)
multisig
viewfunction multisig() view returns (address)
owner
viewfunction owner() view returns (address)
start
viewfunction start() view returns (uint256)
totalDeposited
viewfunction totalDeposited() view returns (uint256)
totalDepositors
viewfunction totalDepositors() view returns (uint256)
usdc
viewfunction usdc() view returns (address)
userDeposits
viewfunction userDeposits(address) view returns (uint256)
deposit
nonpayablefunction deposit(uint256 amount, bytes32[] proof)
renounceOwnership
nonpayablefunction renounceOwnership()
setDates
nonpayablefunction setDates(uint256 _start, uint256 _end)
setMerkleRoot
nonpayablefunction setMerkleRoot(bytes32 _root)
setMultisig
nonpayablefunction setMultisig(address _multisig)
sweep
nonpayablefunction sweep(address _token)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
DatesUpdated
event DatesUpdated(uint256 start, uint256 end)
Deposited
event Deposited(address indexed user, uint256 amount, uint256 totalUserDeposits)
MerkleRootUpdated
event MerkleRootUpdated(bytes32 newRoot)
MultisigUpdated
event MultisigUpdated(address newMultisig)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Swept
event Swept(address indexed token, uint256 amount, address indexed to)
errors
InvalidAddress
error InvalidAddress()
InvalidProof
error InvalidProof()
NothingToSweep
error NothingToSweep()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SaleEnded
error SaleEnded()
SaleNotStarted
error SaleNotStarted()
ZeroDeposit
error ZeroDeposit()
creation bytecode
0x60a060405234801561000f575f5ffd5b50604051611b41380380611b41833981810160405281019061003191906103ba565b835f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036100a2575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016100999190610440565b60405180910390fd5b6100b18161023560201b60201c565b50600180819055505f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415801561012157505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b610160576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610157906104b3565b60405180910390fd5b8082106101a2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101999061051b565b60405180910390fd5b8473ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508360025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508260038190555081600481905550806005819055505050505050610539565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610323826102fa565b9050919050565b61033381610319565b811461033d575f5ffd5b50565b5f8151905061034e8161032a565b92915050565b5f819050919050565b61036681610354565b8114610370575f5ffd5b50565b5f815190506103818161035d565b92915050565b5f819050919050565b61039981610387565b81146103a3575f5ffd5b50565b5f815190506103b481610390565b92915050565b5f5f5f5f5f60a086880312156103d3576103d26102f6565b5b5f6103e088828901610340565b95505060206103f188828901610340565b945050604061040288828901610373565b9350506060610413888289016103a6565b9250506080610424888289016103a6565b9150509295509295909350565b61043a81610319565b82525050565b5f6020820190506104535f830184610431565b92915050565b5f82825260208201905092915050565b7f496e76616c6964206164647265737300000000000000000000000000000000005f82015250565b5f61049d600f83610459565b91506104a882610469565b602082019050919050565b5f6020820190508181035f8301526104ca81610491565b9050919050565b7f496e76616c69642073616c652077696e646f77000000000000000000000000005f82015250565b5f610505601383610459565b9150610510826104d1565b602082019050919050565b5f6020820190508181035f830152610532816104f9565b9050919050565b6080516115e96105585f395f818161077701526108e301526115e95ff3fe608060405234801561000f575f5ffd5b506004361061012a575f3560e01c80637cb64759116100ab578063efbe1c1c1161006f578063efbe1c1c146102f8578063f17bb46214610316578063f2fde38b14610334578063f3283fba14610350578063ff50abdc1461036c5761012a565b80637cb64759146102545780638da5cb5b14610270578063be9a65551461028e578063c084b10b146102ac578063dedf141e146102dc5761012a565b80633e413bee116100f25780633e413bee146101d2578063418f3128146101f05780634783c35b1461020e578063564566a81461022c578063715018a61461024a5761012a565b806301681a621461012e5780630ba36dcd1461014a578063168a48221461017a5780632eb4a7ab1461019857806335ac79c3146101b6575b5f5ffd5b6101486004803603810190610143919061106f565b61038a565b005b610164600480360381019061015f919061106f565b610581565b60405161017191906110b2565b60405180910390f35b610182610596565b60405161018f91906110b2565b60405180910390f35b6101a061059f565b6040516101ad91906110e3565b60405180910390f35b6101d060048036038101906101cb9190611187565b6105a5565b005b6101da6108e1565b6040516101e7919061123f565b60405180910390f35b6101f8610905565b60405161020591906110b2565b60405180910390f35b61021661090b565b6040516102239190611267565b60405180910390f35b610234610930565b604051610241919061129a565b60405180910390f35b61025261094a565b005b61026e600480360381019061026991906112dd565b61095d565b005b6102786109a6565b6040516102859190611267565b60405180910390f35b6102966109cd565b6040516102a391906110b2565b60405180910390f35b6102c660048036038101906102c1919061106f565b6109d3565b6040516102d391906110b2565b60405180910390f35b6102f660048036038101906102f19190611308565b610a19565b005b610300610aae565b60405161030d91906110b2565b60405180910390f35b61031e610ab4565b60405161032b91906110b2565b60405180910390f35b61034e6004803603810190610349919061106f565b610abd565b005b61036a6004803603810190610365919061106f565b610b41565b005b610374610c28565b60405161038191906110b2565b60405180910390f35b610392610c2e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103f7576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016104319190611267565b602060405180830381865afa15801561044c573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610470919061135a565b90505f81036104ab576040517f351261fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104f760025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16610cb59092919063ffffffff16565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fbb3f74f3539ea7725781ff6810125a75c183f5c944318fc94873d1324f0482ae8360405161057591906110b2565b60405180910390a35050565b6008602052805f5260405f205f915090505481565b5f600654905090565b60035481565b6105ad610d34565b6004544210156105e9576040517f2d0a346e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600554421115610625576040517f0bd8a3eb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f830361065e576040517f56316e8700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f3360405160200161067091906113ca565b6040516020818303038152906040528051906020012090506106d58383808060200260200160405190810160405280939291908181526020018383602002808284375f81840152601f19601f8201169050808301925050505050505060035483610d7a565b61070b576040517f09bde33900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f60085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541490506107bc3360025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16877f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610d90909392919063ffffffff16565b8460065f8282546107cd9190611411565b925050819055508460085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546108209190611411565b9250508190555080156108455760075f81548092919061083f90611444565b91905055505b3373ffffffffffffffffffffffffffffffffffffffff167f73a19dd210f1a7f902193214c0ee91dd35ee5b4d920cba8d519eca65a7b488ca8660085f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546040516108ca92919061148b565b60405180910390a250506108dc610e12565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60075481565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f600454421015801561094557506005544211155b905090565b610952610c2e565b61095b5f610e1b565b565b610965610c2e565b806003819055507f90004c04698bc3322499a575ed3752dd4abf33e0a7294c06a787a0fe01bea9418160405161099b91906110e3565b60405180910390a150565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60045481565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610a21610c2e565b808210610a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5a9061150c565b60405180910390fd5b81600481905550806005819055507f070aa07a2e5f94bbac2e0a5c78100b2c0e686f6f43d555537f89133916d4f3168282604051610aa292919061148b565b60405180910390a15050565b60055481565b5f600754905090565b610ac5610c2e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b35575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610b2c9190611267565b60405180910390fd5b610b3e81610e1b565b50565b610b49610c2e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610bae576040517fe6c4247b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f6d74d31357c421bb05a45b4becf09f03737979c1150bb0054704d1b4f31bb82a81604051610c1d9190611267565b60405180910390a150565b60065481565b610c36610edc565b73ffffffffffffffffffffffffffffffffffffffff16610c546109a6565b73ffffffffffffffffffffffffffffffffffffffff1614610cb357610c77610edc565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610caa9190611267565b60405180910390fd5b565b610d2f838473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8585604051602401610ce892919061152a565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610ee3565b505050565b600260015403610d70576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600181905550565b5f82610d868584610f7e565b1490509392505050565b610e0c848573ffffffffffffffffffffffffffffffffffffffff166323b872dd868686604051602401610dc593929190611551565b604051602081830303815290604052915060e01b6020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610ee3565b50505050565b60018081905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f5f60205f8451602086015f885af180610f02576040513d5f823e3d81fd5b3d92505f519150505f8214610f1b576001811415610f36565b5f8473ffffffffffffffffffffffffffffffffffffffff163b145b15610f7857836040517f5274afe7000000000000000000000000000000000000000000000000000000008152600401610f6f9190611267565b60405180910390fd5b50505050565b5f5f8290505f5f90505b8451811015610fc457610fb582868381518110610fa857610fa7611586565b5b6020026020010151610fcf565b91508080600101915050610f88565b508091505092915050565b5f818310610fe657610fe18284610ff9565b610ff1565b610ff08383610ff9565b5b905092915050565b5f825f528160205260405f20905092915050565b5f5ffd5b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61103e82611015565b9050919050565b61104e81611034565b8114611058575f5ffd5b50565b5f8135905061106981611045565b92915050565b5f602082840312156110845761108361100d565b5b5f6110918482850161105b565b91505092915050565b5f819050919050565b6110ac8161109a565b82525050565b5f6020820190506110c55f8301846110a3565b92915050565b5f819050919050565b6110dd816110cb565b82525050565b5f6020820190506110f65f8301846110d4565b92915050565b6111058161109a565b811461110f575f5ffd5b50565b5f81359050611120816110fc565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f84011261114757611146611126565b5b8235905067ffffffffffffffff8111156111645761116361112a565b5b6020830191508360208202830111156111805761117f61112e565b5b9250929050565b5f5f5f6040848603121561119e5761119d61100d565b5b5f6111ab86828701611112565b935050602084013567ffffffffffffffff8111156111cc576111cb611011565b5b6111d886828701611132565b92509250509250925092565b5f819050919050565b5f6112076112026111fd84611015565b6111e4565b611015565b9050919050565b5f611218826111ed565b9050919050565b5f6112298261120e565b9050919050565b6112398161121f565b82525050565b5f6020820190506112525f830184611230565b92915050565b61126181611034565b82525050565b5f60208201905061127a5f830184611258565b92915050565b5f8115159050919050565b61129481611280565b82525050565b5f6020820190506112ad5f83018461128b565b92915050565b6112bc816110cb565b81146112c6575f5ffd5b50565b5f813590506112d7816112b3565b92915050565b5f602082840312156112f2576112f161100d565b5b5f6112ff848285016112c9565b91505092915050565b5f5f6040838503121561131e5761131d61100d565b5b5f61132b85828601611112565b925050602061133c85828601611112565b9150509250929050565b5f81519050611354816110fc565b92915050565b5f6020828403121561136f5761136e61100d565b5b5f61137c84828501611346565b91505092915050565b5f8160601b9050919050565b5f61139b82611385565b9050919050565b5f6113ac82611391565b9050919050565b6113c46113bf82611034565b6113a2565b82525050565b5f6113d582846113b3565b60148201915081905092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61141b8261109a565b91506114268361109a565b925082820190508082111561143e5761143d6113e4565b5b92915050565b5f61144e8261109a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036114805761147f6113e4565b5b600182019050919050565b5f60408201905061149e5f8301856110a3565b6114ab60208301846110a3565b9392505050565b5f82825260208201905092915050565b7f496e76616c6964206461746573000000000000000000000000000000000000005f82015250565b5f6114f6600d836114b2565b9150611501826114c2565b602082019050919050565b5f6020820190508181035f830152611523816114ea565b9050919050565b5f60408201905061153d5f830185611258565b61154a60208301846110a3565b9392505050565b5f6060820190506115645f830186611258565b6115716020830185611258565b61157e60408301846110a3565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220ce77366bb1451b0e7b0ae00bbaa7f00899d548f64dfdd6a24acce7428e57579264736f6c634300081c0033000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48000000000000000000000000b9ab9578a34a05c86124c399735fde44dec80e7f4398a64fb433afcf494d3f4733202684f7db6b44f1572221397babd95ead66920000000000000000000000000000000000000000000000000000000068509ae80000000000000000000000000000000000000000000000000000000068531ac0