0 txs
0 calls
constructor
constructor(address _allocationSetter, address _admin, address _token)
functions
accountClaim
viewfunction accountClaim(address account) view returns (tuple)
admin
viewfunction admin() view returns (address)
allocations
viewfunction allocations(address account) view returns (uint256)
allocationSetter
viewfunction allocationSetter() view returns (address)
allocationSetupComplete
viewfunction allocationSetupComplete() view returns (bool)
claimIsOpen
viewfunction claimIsOpen() view returns (bool)
claimStart
viewfunction claimStart() view returns (uint256)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
getDomainSeparator
viewfunction getDomainSeparator() view returns (bytes32)
hasClaimed
viewfunction hasClaimed(address account) view returns (bool)
nonceUsed
viewfunction nonceUsed(address owner, bytes32 nonce) view returns (bool)
token
viewfunction token() view returns (address)
totalAllocated
viewfunction totalAllocated() view returns (uint256)
claim
nonpayablefunction claim(address _claimTo)
claimWithSignature
nonpayablefunction claimWithSignature(address _user, address _claimTo, uint256 _deadline, bytes _signature)
completeAllocationSetup
nonpayablefunction completeAllocationSetup(uint256 _claimStart, address transferBalanceFrom)
setAllocations
nonpayablefunction setAllocations(bytes32[] packedData)
setAllocationsWithSignature
nonpayablefunction setAllocationsWithSignature(bytes32[] packedData, bytes32 nonce, bytes signature)
updateClaimStart
nonpayablefunction updateClaimStart(uint256 _claimStart)
events
AllocationSetupCompleted
event AllocationSetupCompleted(uint256 totalAllocation, uint256 claimStart)
AllocationsSet
event AllocationsSet(bytes32[] allocations)
Claimed
event Claimed(address indexed account, address indexed claimTo, uint256 amount)
EIP712DomainChanged
event EIP712DomainChanged()
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
AllocationSetupAlreadyCompleted
error AllocationSetupAlreadyCompleted()
AllocationSetupNotCompleted
error AllocationSetupNotCompleted()
AlreadyClaimed
error AlreadyClaimed()
ClaimNotOpen
error ClaimNotOpen()
ClaimOpened
error ClaimOpened()
ClaimStartInPast
error ClaimStartInPast(uint256 claimStart, uint256 currentTime)
FailedInnerCall
error FailedInnerCall()
InvalidAccountNonce
error InvalidAccountNonce(address account, bytes32 currentNonce)
InvalidShortString
error InvalidShortString()
InvalidSignature
error InvalidSignature()
InvalidToken
error InvalidToken()
NoAllocation
error NoAllocation()
OnlyAdmin
error OnlyAdmin()
OnlyAllocationSetter
error OnlyAllocationSetter()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
SignatureExpired
error SignatureExpired(uint256 deadline, uint256 currentTime)
StringTooLong
error StringTooLong(string str)
creation bytecode
0x6101c080604052346101ea57606081612020803803809161002082856101ee565b8339810103126101ea5761003381610225565b61004b604061004460208501610225565b9301610225565b6040516100596040826101ee565b6017815260208101907f5a6f7261546f6b656e436f6d6d756e697479436c61696d0000000000000000008252604051916100946040846101ee565b600183526020830191603160f81b83526100ad81610239565b610120526100ba846103cf565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261012360c0826101ee565b5190206080523060c052803b156101db576001600160a01b031661016052610180526101a052604051611b1890816105088239608051816115bc015260a05181611679015260c0518161158d015260e0518161160b01526101005181611631015261012051816107eb01526101405181610814015261016051818181610137015261076901526101805181818161093101528181610bd101526112d301526101a0518181816101a90152818161055001526106660152f35b63c1ab6dc160e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761021157604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101ea57565b908151602081105f146102b3575090601f815111610273576020815191015160208210610264571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b038111610211575f54600181811c911680156103c5575b60208210146103b157601f811161037f575b50602092601f821160011461032057928192935f92610315575b50508160011b915f199060031b1c1916175f5560ff90565b015190505f806102fd565b601f198216935f8052805f20915f5b868110610367575083600195961061034f575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610342565b9192602060018192868501518155019401920161032f565b5f8052601f60205f20910160051c810190601f830160051c015b8181106103a657506102e3565b5f8155600101610399565b634e487b7160e01b5f52602260045260245ffd5b90607f16906102d1565b908151602081105f146103fa575090601f815111610273576020815191015160208210610264571790565b6001600160401b03811161021157600154600181811c911680156104fd575b60208210146103b157601f81116104ca575b50602092601f821160011461046957928192935f9261045e575b50508160011b915f199060031b1c19161760015560ff90565b015190505f80610445565b601f1982169360015f52805f20915f5b8681106104b2575083600195961061049a575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f808061048c565b91926020600181928685015181550194019201610479565b60015f52601f60205f20910160051c810190601f830160051c015b8181106104f2575061042b565b5f81556001016104e5565b90607f169061041956fe6080806040526004361015610012575f80fd5b5f3560e01c90816303723c3314610e88575080630e230f9714610e14578063188e59ec14610dd45780631e83409a14610d9457806345f7f24914610d5957806347fbc8ae14610cf857806352a9039c14610c875780636325454714610a6a5780636ffb3a4b146109c057806373b2e80e14610955578063778ff2c2146108e757806384b0196e146107b55780639546a7de14610615578063b76f44f214610507578063d7ff1a5714610248578063ed24911d14610208578063f04d688f146101cd578063f851a4401461015f5763fc0c546a146100ed575f80fd5b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b576020600654604051908152f35b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b576020610240611576565b604051908152f35b3461015b5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5761027f610ed7565b610287610efa565b60443560643567ffffffffffffffff811161015b576102aa903690600401610f4e565b908242116104d7576103429061033a60405160208101907f0859e74ae0ac93d5152fb92190e0026c3e88144bf0366096b1b8b41b76012a1b825273ffffffffffffffffffffffffffffffffffffffff89169687604083015273ffffffffffffffffffffffffffffffffffffffff8916606083015260808201526080815261033260a082611008565b5190206114fb565b923691611083565b61034c818361153c565b5060048195929510156104aa5715938461048a575b505082156103a4575b50501561037c5761037a916110f0565b005b7f8baa579f000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f9250906103f4610420849360405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190610f7c565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611008565b5190855afa61042d611a1a565b8161047c575b81610441575b50838061036a565b905060208180518101031261015b57602001517f1626ba7e000000000000000000000000000000000000000000000000000000001483610439565b905060208151101590610433565b73ffffffffffffffffffffffffffffffffffffffff161492508580610361565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b827ff88f0490000000000000000000000000000000000000000000000000000000005f526004524260245260445ffd5b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760043573ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036105ed5760ff60055416156105c55760065442101561059d5761059842824281116110b9565b600655005b7feef336d9000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f40d87422000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f47556579000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461015b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760043561064f610efa565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036105ed576005549160ff831661078d5760017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0061037a946106cc42854281116110b9565b1617600555806006557fb96496bdabe32060d30b1b65fdea7320b7df3cde1e3cde0af4c69828f6690c3b6040600454928151908482526020820152a173ffffffffffffffffffffffffffffffffffffffff604051927f23b872dd000000000000000000000000000000000000000000000000000000006020850152166024830152306044830152606482015260648152610767608482611008565b7f000000000000000000000000000000000000000000000000000000000000000061197f565b7f8eef7f30000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5761088b61080f7f0000000000000000000000000000000000000000000000000000000000000000611739565b6108387f00000000000000000000000000000000000000000000000000000000000000006118af565b60206108996040519261084b8385611008565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e0870190610f7c565b908582036040870152610f7c565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b8281106108d057505050500390f35b8351855286955093810193928101926001016108c1565b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5773ffffffffffffffffffffffffffffffffffffffff6109a1610ed7565b165f526003602052602060ff60405f205460601c166040519015158152f35b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5773ffffffffffffffffffffffffffffffffffffffff610a0c610ed7565b5f6020604051610a1b81610fbf565b8281520152165f5260036020526040805f20815190610a3982610fbf565b5460ff60206bffffffffffffffffffffffff831693848152019160601c161515815282519182525115156020820152f35b3461015b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760043567ffffffffffffffff811161015b57610ab9903690600401610f1d565b6024359160443567ffffffffffffffff811161015b57610add903690600401610f4e565b6040519160208301907f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861161015b5761033a610b9d9285610b556020610ba3988b60051b808c8737810103017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282611008565b51902060405160208101917ff6fa18c653395f95873b007425e9b0472584e1284a765ec805681f16513abf238352604082015289606082015260608152610332608082611008565b9061153c565b5060048110156104aa5761037c57610bba906112b1565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016805f52600260205260405f20845f5260205260ff60405f205416610c57579261037a935f52600260205260405f20905f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790556113b8565b83907f17a63d21000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5773ffffffffffffffffffffffffffffffffffffffff610cd3610ed7565b165f52600360205260206bffffffffffffffffffffffff60405f205416604051908152f35b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760043567ffffffffffffffff811161015b57610d4a61037a913690600401610f1d565b90610d54336112b1565b6113b8565b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b576020600454604051908152f35b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5761037a610dce610ed7565b336110f0565b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57602060ff600554166040519015158152f35b3461015b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5773ffffffffffffffffffffffffffffffffffffffff610e60610ed7565b165f52600260205260405f206024355f52602052602060ff60405f2054166040519015158152f35b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760209060ff6005541680610ecb575b15158152f35b50600654421015610ec5565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361015b57565b9181601f8401121561015b5782359167ffffffffffffffff831161015b576020808501948460051b01011161015b57565b9181601f8401121561015b5782359167ffffffffffffffff831161015b576020838186019501011161015b57565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6040810190811067ffffffffffffffff821117610fdb57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610fdb57604052565b67ffffffffffffffff8111610fdb57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261108f82611049565b9161109d6040519384611008565b82948184528183011161015b578281602093845f960137010152565b156110c2575050565b7fb4010549000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b60ff60055416156105c55760065442106112895773ffffffffffffffffffffffffffffffffffffffff16805f5260036020526bffffffffffffffffffffffff60405f2054161561126157805f52600360205260ff60405f205460601c166112395761123791815f52600360205273ffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff60405f20541691835f52600360205260405f206c010000000000000000000000007fffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffff8254161790551680927ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd39926836020604051858152a3604051917fa9059cbb0000000000000000000000000000000000000000000000000000000060208401526024830152604482015260448152610767606482611008565b565b7f646cf558000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f5f8a655a000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f6b687806000000000000000000000000000000000000000000000000000000005f5260045ffd5b60ff6005541661078d5773ffffffffffffffffffffffffffffffffffffffff807f0000000000000000000000000000000000000000000000000000000000000000169116036112fc57565b7fce2582f5000000000000000000000000000000000000000000000000000000005f5260045ffd5b91908110156113345760051b0190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b906bffffffffffffffffffffffff809116911603906bffffffffffffffffffffffff821161138b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6004545f5b838110611434575060045560405190602082528260208301527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161015b57816040917fbd18231792a7535fff80d85564ce7d95dbdff6819b40ad815711b21a75e6bb499460051b8091848401378101030190a1565b9073ffffffffffffffffffffffffffffffffffffffff611455838686611324565b351691611463818686611324565b3560a01c835f5260036020526bffffffffffffffffffffffff8060405f205416828181115f146114df579061149791611361565b16830180931161138b57600192935b5f52600360205260405f20907fffffffffffffffffffffffffffffffffffffffff000000000000000000000000825416179055016113bd565b6114e891611361565b16830392831161138b57600192936114a6565b604290611506611576565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b815191906041830361156c576115659250602082015190606060408401519301515f1a9061169f565b9192909190565b50505f9160029190565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611676575b156115de577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261167060c082611008565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146115b5565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841161172e579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611723575f5173ffffffffffffffffffffffffffffffffffffffff81161561171957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60ff81146117985760ff811690601f8211611770576040519161175d604084611008565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f5f548060011c91600182169182156118a5575b60208410831461187857838552849290811561183b57506001146117de575b6117db92500382611008565b90565b505f80805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b81831061181f5750509060206117db928201016117cf565b6020919350806001915483858801015201910190918392611807565b602092506117db9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b8201016117cf565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b92607f16926117b0565b60ff81146118d35760ff811690601f8211611770576040519161175d604084611008565b506040515f6001548060011c9160018216918215611975575b60208410831461187857838552849290811561183b5750600114611916576117db92500382611008565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b8183106119595750509060206117db928201016117cf565b6020919350806001915483858801015201910190918392611941565b92607f16926118ec565b5f8073ffffffffffffffffffffffffffffffffffffffff6119b593169360208151910182865af16119ae611a1a565b9083611a49565b80519081151591826119f6575b50506119cb5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b819250906020918101031261015b576020015180159081150361015b575f806119c2565b3d15611a44573d90611a2b82611049565b91611a396040519384611008565b82523d5f602084013e565b606090565b90611a865750805115611a5e57805190602001fd5b7f1425ea42000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611ad9575b611a97575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611a8f56fea264697066735822122065c74dcedfcb271545a254ab392a2b3bb85bf06df327a60815f1111f3dd46b3664736f6c634300081c0033000000000000000000000000e847ebff4d1b7ae3691f238c5cd5cf691fd1f413000000000000000000000000004d6611884b4a661749b64b2adc78505c3e1ab30000000000000000000000004ad2d1583285bc3d7b6c7cbfaa7139e6859a469c