0 txs
0 calls
constructor
constructor(address _admin, address _allocationSetter, uint256 _claimStart, address _token)
functions
admin
viewfunction admin() view returns (address)
allocations
viewfunction allocations(address user) 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) 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)
resetHasClaimed
nonpayablefunction resetHasClaimed(address[] _users)
setAllocations
nonpayablefunction setAllocations(bytes32[] packedData)
setAllocationsWithSignature
nonpayablefunction setAllocationsWithSignature(bytes32[] packedData, bytes32 nonce, bytes signature)
setClaimStart
nonpayablefunction setClaimStart(uint256 _claimStart)
events
AllocationsSet
event AllocationsSet(bytes32[] allocations)
Claimed
event Claimed(address indexed account, address indexed claimTo, uint256 amount)
EIP712DomainChanged
event EIP712DomainChanged()
ResetHasClaimed
event ResetHasClaimed(address[] users)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
AllocationSetupAlreadyCompleted
error AllocationSetupAlreadyCompleted()
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
0x6101c080604052346101f95760808161204a803803809161002082856101fd565b8339810103126101f95761003381610234565b61003f60208301610234565b610050606060408501519401610234565b60405161005e6040826101fd565b6017815260208101907f5a6f7261546f6b656e436f6d6d756e697479436c61696d0000000000000000008252604051916100996040846101fd565b600183526020830191603160f81b83526100b281610248565b610120526100bf846103de565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261012860c0826101fd565b5190206080523060c052803b156101ea576001600160a01b031661016052610180526101a052600755604051611b33908161051782396080518161159d015260a0518161165a015260c0518161156e015260e051816115ec015261010051816116120152610120518161061f01526101405181610648015261016051818181610137015261056d015261018051818181610765015281816109310152610c6001526101a0518181816101a9015281816103f9015281816104a00152610ae70152f35b63c1ab6dc160e01b5f5260045ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761022057604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101f957565b908151602081105f146102c2575090601f815111610282576020815191015160208210610273571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b038111610220575f54600181811c911680156103d4575b60208210146103c057601f811161038e575b50602092601f821160011461032f57928192935f92610324575b50508160011b915f199060031b1c1916175f5560ff90565b015190505f8061030c565b601f198216935f8052805f20915f5b868110610376575083600195961061035e575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f8080610351565b9192602060018192868501518155019401920161033e565b5f8052601f60205f20910160051c810190601f830160051c015b8181106103b557506102f2565b5f81556001016103a8565b634e487b7160e01b5f52602260045260245ffd5b90607f16906102e0565b908151602081105f14610409575090601f815111610282576020815191015160208210610273571790565b6001600160401b03811161022057600154600181811c9116801561050c575b60208210146103c057601f81116104d9575b50602092601f821160011461047857928192935f9261046d575b50508160011b915f199060031b1c19161760015560ff90565b015190505f80610454565b601f1982169360015f52805f20915f5b8681106104c157508360019596106104a9575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f808061049b565b91926020600181928685015181550194019201610488565b60015f52601f60205f20910160051c810190601f830160051c015b818110610501575061043a565b5f81556001016104f4565b90607f169061042856fe6080806040526004361015610012575f80fd5b5f3560e01c90816303723c3314610de6575080630e230f9714610d72578063188e59ec14610d325780631e83409a14610cf257806345f7f24914610cb757806347fbc8ae14610bfa5780634daebec414610a8157806352a9039c14610a1057806363254547146107f157806373b2e80e14610789578063778ff2c21461071b57806384b0196e146105e95780639546a7de1461044f578063b0aa1e04146103b3578063d7ff1a5714610248578063ed24911d14610208578063f04d688f146101cd578063f851a4401461015f5763fc0c546a146100ed575f80fd5b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b576020600754604051908152f35b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b576020610240611557565b604051908152f35b3461015b5760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5761027f610e35565b610287610e58565b60443560643567ffffffffffffffff811161015b576102aa903690600401610eac565b918042116103845761034c929161033d6103459260405160208101917f0859e74ae0ac93d5152fb92190e0026c3e88144bf0366096b1b8b41b76012a1b835273ffffffffffffffffffffffffffffffffffffffff8a16604083015273ffffffffffffffffffffffffffffffffffffffff8916606083015260808201526080815261033560a082610f5a565b5190206113b1565b923691611002565b90846113f2565b1561035c5761035a91611038565b005b7f8baa579f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7ff88f0490000000000000000000000000000000000000000000000000000000005f526004524260245260445ffd5b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361042757600435600755005b7f47556579000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461015b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57600435610489610e58565b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001633036104275760065460ff81166105c15742831115610591579160017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0061035a94161760065560075560055473ffffffffffffffffffffffffffffffffffffffff604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015260648201526064815261056b608482610f5a565b7f000000000000000000000000000000000000000000000000000000000000000061192f565b827fb4010549000000000000000000000000000000000000000000000000000000005f526004524260245260445ffd5b7f8eef7f30000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b576106bf6106437f00000000000000000000000000000000000000000000000000000000000000006116e9565b61066c7f000000000000000000000000000000000000000000000000000000000000000061185f565b60206106cd6040519261067f8385610f5a565b5f84525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e0870190610eda565b908582036040870152610eda565b4660608501523060808501525f60a085015283810360c08501528180845192838152019301915f5b82811061070457505050500390f35b8351855286955093810193928101926001016106f5565b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5773ffffffffffffffffffffffffffffffffffffffff6107d5610e35565b165f526004602052602060ff60405f2054166040519015158152f35b3461015b5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760043567ffffffffffffffff811161015b57610840903690600401610e7b565b6024359160443567ffffffffffffffff811161015b57610864903690600401610eac565b9060ff600654166105c15760405190602082017f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff861161015b5761092e61095891846108e6602061095f978b60051b808c8737810103017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f5a565b51902060405160208101917ff6fa18c653395f95873b007425e9b0472584e1284a765ec805681f16513abf238352604082015289606082015260608152610335608082610f5a565b917f0000000000000000000000000000000000000000000000000000000000000000943691611002565b90836113f2565b1561035c5773ffffffffffffffffffffffffffffffffffffffff16805f52600260205260405f20845f5260205260ff60405f2054166109e0579261035a935f52600260205260405f20905f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905561126e565b83907f17a63d21000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5773ffffffffffffffffffffffffffffffffffffffff610a5c610e35565b165f52600360205260206bffffffffffffffffffffffff60405f205416604051908152f35b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760043567ffffffffffffffff811161015b57610ad0903690600401610e7b565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610427575f5b818110610b95575060405190806020830160208452526040820192905f905b808210610b5d577f4e9826d96a96dc65d8e88b81fceec87b8c2eacfdcecfa1eee246afa87be0ff4d84860385a1005b90919384359073ffffffffffffffffffffffffffffffffffffffff821680920361015b57602081600193829352019501920190610b2e565b610ba0818385610f1d565b359073ffffffffffffffffffffffffffffffffffffffff821680920361015b576001915f52600460205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905501610b0f565b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760043567ffffffffffffffff811161015b57610c49903690600401610e7b565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303610c8f5761035a9161126e565b7fce2582f5000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b576020600554604051908152f35b3461015b5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5761035a610d2c610e35565b33611038565b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b57602060ff600654166040519015158152f35b3461015b5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5773ffffffffffffffffffffffffffffffffffffffff610dbe610e35565b165f52600260205260405f206024355f52602052602060ff60405f2054166040519015158152f35b3461015b575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261015b5760209060ff6006541680610e29575b15158152f35b50600754421015610e23565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361015b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361015b57565b9181601f8401121561015b5782359167ffffffffffffffff831161015b576020808501948460051b01011161015b57565b9181601f8401121561015b5782359167ffffffffffffffff831161015b576020838186019501011161015b57565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b9190811015610f2d5760051b0190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f9b57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff8111610f9b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261100e82610fc8565b9161101c6040519384610f5a565b82948184528183011161015b578281602093845f960137010152565b60ff60065416156111b95773ffffffffffffffffffffffffffffffffffffffff16805f5260036020526bffffffffffffffffffffffff60405f2054161561119157805f52600460205260ff60405f2054166111695761116791815f52600360205273ffffffffffffffffffffffffffffffffffffffff6bffffffffffffffffffffffff60405f20541691835f52600460205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008254161790551680927ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd39926836020604051858152a3604051917fa9059cbb000000000000000000000000000000000000000000000000000000006020840152602483015260448201526044815261056b606482610f5a565b565b7f646cf558000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f5f8a655a000000000000000000000000000000000000000000000000000000005f5260045ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416c6c6f636174696f6e207365747570206e6f7420636f6d706c6574650000006044820152fd5b906bffffffffffffffffffffffff809116911603906bffffffffffffffffffffffff821161124157565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b6005545f5b8381106112ea575060055560405190602082528260208301527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831161015b57816040917fbd18231792a7535fff80d85564ce7d95dbdff6819b40ad815711b21a75e6bb499460051b8091848401378101030190a1565b9073ffffffffffffffffffffffffffffffffffffffff61130b838686610f1d565b351691611319818686610f1d565b3560a01c835f5260036020526bffffffffffffffffffffffff8060405f205416828181115f14611395579061134d91611217565b16830180931161124157600192935b5f52600360205260405f20907fffffffffffffffffffffffffffffffffffffffff00000000000000000000000082541617905501611273565b61139e91611217565b168303928311611241576001929361135c565b6042906113bc611557565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b906113fd8382611680565b50600481959295101561152a57159384611507575b508315611420575b50505090565b5f93509061147161149d85949360405192839160208301957f1626ba7e0000000000000000000000000000000000000000000000000000000087526024840152604060448401526064830190610eda565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610f5a565b51915afa6114a96116ba565b816114f9575b816114be575b505f808061141a565b905060208180518101031261015b57602001517f1626ba7e00000000000000000000000000000000000000000000000000000000145f6114b5565b9050602081511015906114af565b73ffffffffffffffffffffffffffffffffffffffff84811691161493505f611412565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611657575b156115bf577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261165160c082610f5a565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611596565b81519190604183036116b0576116a99250602082015190606060408401519301515f1a906119ca565b9192909190565b50505f9160029190565b3d156116e4573d906116cb82610fc8565b916116d96040519384610f5a565b82523d5f602084013e565b606090565b60ff81146117485760ff811690601f8211611720576040519161170d604084610f5a565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f5f548060011c9160018216918215611855575b6020841083146118285783855284929081156117eb575060011461178e575b61178b92500382610f5a565b90565b505f80805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8183106117cf57505090602061178b9282010161177f565b60209193508060019154838588010152019101909183926117b7565b6020925061178b9491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b82010161177f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b92607f1692611760565b60ff81146118835760ff811690601f8211611720576040519161170d604084610f5a565b506040515f6001548060011c9160018216918215611925575b6020841083146118285783855284929081156117eb57506001146118c65761178b92500382610f5a565b5060015f90815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b81831061190957505090602061178b9282010161177f565b60209193508060019154838588010152019101909183926118f1565b92607f169261189c565b5f8073ffffffffffffffffffffffffffffffffffffffff61196593169360208151910182865af161195e6116ba565b9083611a64565b80519081151591826119a6575b505061197b5750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b819250906020918101031261015b576020015180159081150361015b575f80611972565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611a59579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611a4e575f5173ffffffffffffffffffffffffffffffffffffffff811615611a4457905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b90611aa15750805115611a7957805190602001fd5b7f1425ea42000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611af4575b611ab2575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611aaa56fea2646970667358221220a0d95c2691a11cc7d172e6ce21f22428cda0c7684ba173dc0ffb2de013f2275c64736f6c634300081c0033000000000000000000000000bebe537efb8377629a1dfb1ac5c0568036e32712000000000000000000000000bebe537efb8377629a1dfb1ac5c0568036e327120000000000000000000000000000000000000000000000000000000067fd6c1d0000000000000000000000001111111111166b7fe7bd91427724b487980afc69