0 txs
1 call
constructor
constructor(address _owner, address _signer, address _treasurer)
functions
earndrops
viewfunction earndrops(uint256) view returns (address tokenAddress, uint96 earndropId, bool revoked, bytes32 merkleTreeRoot, uint256 totalAmount, uint256 claimedAmount, address admin)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
getEarndropStage
viewfunction getEarndropStage(uint256 earndropId, uint256 stageId) view returns (tuple)
isClaimed
viewfunction isClaimed(uint256 earndropId, uint256 leafIndex) view returns (bool)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
signer
viewfunction signer() view returns (address)
treasurer
viewfunction treasurer() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
activateEarndrop
payablefunction activateEarndrop(uint256 earndropId, address tokenAddress, bytes32 merkleTreeRoot, uint256 totalAmount, tuple[] _stagesArray, bytes _signature) payable
claimEarndrop
payablefunction claimEarndrop(uint256 earndropId, tuple params, bytes _signature) payable
multiClaimEarndrop
payablefunction multiClaimEarndrop(uint256 earndropId, tuple[] params, bytes signature) payable
renounceOwnership
nonpayablefunction renounceOwnership()
revokeEarndrop
nonpayablefunction revokeEarndrop(uint256 earndropId, address _recipient)
setSigner
nonpayablefunction setSigner(address _signer)
setTreasurer
nonpayablefunction setTreasurer(address _treasurer)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
EarndropActivated
event EarndropActivated(uint256 earndropId, address tokenAddress, bytes32 merkleTreeRoot, uint256 totalAmount, (uint256 stageId, uint256 startTime, uint256 endTime)[] stages, address admin)
EarndropClaimed
event EarndropClaimed(uint256 indexed earndropId, uint256 indexed stageId, uint256 leafIndex, address account, uint256 amount, uint256 value)
EarndropRevoked
event EarndropRevoked(uint256 earndropId, address recipient, uint256 remainingAmount)
EIP712DomainChanged
event EIP712DomainChanged()
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
EarndropAlreadyExists
error EarndropAlreadyExists()
ECDSAInvalidSignature
error ECDSAInvalidSignature()
ECDSAInvalidSignatureLength
error ECDSAInvalidSignatureLength(uint256 length)
ECDSAInvalidSignatureS
error ECDSAInvalidSignatureS(bytes32 s)
FailedInnerCall
error FailedInnerCall()
InvalidAddress
error InvalidAddress()
InvalidParameter
error InvalidParameter(string msg)
InvalidProof
error InvalidProof()
InvalidShortString
error InvalidShortString()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
StringTooLong
error StringTooLong(string str)
TransferFailed
error TransferFailed()
Unauthorized
error Unauthorized()
creation bytecode
0x6101603462000271576001600160401b0390601f6200251c38819003918201601f19168301919084831184841017620002465781606092859260409586528339810103126200027157620000538262000291565b906200006f81620000676020860162000291565b940162000291565b928151926200007e8462000275565b6016845260208401947f47616c78652056657374696e67204561726e64726f70000000000000000000008652835196620000b88862000275565b60058852640312e302e360dc1b602089019081526001600160a01b03938416949085156200025a5760018060a01b0319958660015416600155855f5482898216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a36200012b88620002a6565b98610120998a526200013d8b62000475565b98610140998a52519020998a60e0525190209061010099828b524660a05287519260208401917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528985015260608401524660808401523060a084015260a0835260c083019383851090851117620002465785928489525190206080523060c0521690811580156200023b575b6200022c5750836004541617600455169060055416176005555191611efc938462000620853960805184611c28015260a05184611cf3015260c05184611bf2015260e05184611c7701525183611c9d01525182610f2001525181610f490152f35b63e6c4247b60e01b8152600490fd5b5083831615620001cb565b634e487b7160e01b5f52604160045260245ffd5b8651631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b604081019081106001600160401b038211176200024657604052565b51906001600160a01b03821682036200027157565b805160209081811015620003405750601f825111620002e15780825192015190808310620002d357501790565b825f19910360031b1b161790565b90604051809263305a27a960e01b82528060048301528251908160248401525f935b82851062000326575050604492505f838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935062000303565b906001600160401b0382116200024657600254926001938481811c911680156200046a575b838210146200045657601f81116200041f575b5081601f8411600114620003b757509282939183925f94620003ab575b50501b915f199060031b1c19161760025560ff90565b015192505f8062000395565b919083601f19811660025f52845f20945f905b88838310620004045750505010620003eb575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f8080620003dd565b858701518855909601959485019487935090810190620003ca565b60025f5284601f845f20920160051c820191601f860160051c015b8281106200044a57505062000378565b5f81550185906200043a565b634e487b7160e01b5f52602260045260245ffd5b90607f169062000365565b8051602091908281101562000503575090601f825111620004a45780825192015190808310620002d357501790565b90604051809263305a27a960e01b82528060048301528251908160248401525f935b828510620004e9575050604492505f838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350620004c6565b6001600160401b03811162000246576003928354926001938481811c9116801562000614575b838210146200045657601f8111620005de575b5081601f84116001146200057957509282939183925f946200056d575b50501b915f1990841b1c191617905560ff90565b015192505f8062000559565b919083601f198116875f52845f20945f905b88838310620005c35750505010620005ab575b505050811b01905560ff90565b01515f1983861b60f8161c191690555f80806200059e565b8587015188559096019594850194879350908101906200058b565b855f5284601f845f20920160051c820191601f860160051c015b828110620006085750506200053c565b5f8155018590620005f8565b90607f16906200052956fe6080806040526004361015610012575f80fd5b5f3560e01c908163238ac933146115305750806325cc4d3414611194578063671d64291461114d5780636c19e783146110f4578063715018a61461109157806379ba50971461101157806384b0196e14610f0b5780638da5cb5b14610ee4578063a7913961146107a7578063ae24254b14610492578063dc886ff11461041a578063e30c3978146103f2578063f2fde38b14610389578063f364c90c14610355578063f70b2bee14610287578063fda49eb41461025f5763fe4ebfea146100d7575f80fd5b3461025b57604036600319011261025b576004356100f3611596565b815f52600660205260405f209182548060a01c15610215576001840180549060ff82166101cf5760068601546001600160a01b039290831633036101be5760019060ff19161790556004600386015495015493848603928684116101aa578382846060987f02c01b12e841f1f5976168905deb58cbf71c692f5a5318898a4bee93acdd2d329a03610197575b505050506040519384521660208301526040820152a1005b6101a193166118e5565b5f83828461017f565b634e487b7160e01b5f52601160045260245ffd5b6040516282b42960e81b8152600490fd5b6040516305519d6f60e51b815260206004820152601860248201527f4561726e64726f7020616c7265616479207265766f6b656400000000000000006044820152606490fd5b6040516305519d6f60e51b815260206004820152601760248201527f4561726e64726f7020646f6573206e6f742065786973740000000000000000006044820152606490fd5b5f80fd5b3461025b575f36600319011261025b576005546040516001600160a01b039091168152602090f35b3461025b57610295366115ea565b905f604080516102a481611600565b82815282602082015201525f52600660205260405f20805460a01c15610215576005915f520160205260405f206040516102dd81611600565b815480825260026001840154936020840194855201549060408301918252156103185760609260405192518352516020830152516040820152f35b6040516305519d6f60e51b815260206004820152601460248201527314dd1859d948191bd95cc81b9bdd08195e1a5cdd60621b6044820152606490fd5b3461025b57610363366115ea565b905f52600760205260405f20905f52602052602060ff60405f2054166040519015158152f35b3461025b57602036600319011261025b576103a2611580565b6103aa611945565b60018060a01b0380911690816001600160601b0360a01b60015416176001555f54167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b3461025b575f36600319011261025b576001546040516001600160a01b039091168152602090f35b3461025b57602036600319011261025b576004355f52600660205260e060405f20805460018060a01b039160ff600182015416600282015460038301549185600660048601549501541694604051968116875260a01c6020870152151560408601526060850152608084015260a083015260c0820152f35b60031960603682011261025b576004356024356001600160401b0380821161025b5760a08260040194833603011261025b5760443590811161025b576104dc903690600401611553565b835f959295526020926006845260405f2093845460a01c156102155760ff60018601541661076e57833596875f5260058601825261053f60405f2060026040519161052683611600565b8054835260018101548684015201546040820152611805565b865f526007825260405f2093602484013594855f52835260ff60405f205416610736576105769161057134878b611754565b6117ac565b156106fc5761060060448301926105f561058f8561168d565b604080518087018c8152602081018e9052918201899052606092831b6bffffffffffffffffffffffff1916928201929092526064840135607482018190529891608491906105ea81609484015b03601f19810183528261166c565b5190209301906116a1565b600289015491611896565b156106ea57855f526007815260405f2090835f525260405f20600160ff19825416179055600484016106338482546116d6565b9055346106b8575b6106866106b391610681857fba848a0cdb5490634c245fc519f30652251eb16cb5575252a97b207cf7fa49079760018060a01b0390541661067b8461168d565b906118e5565b61168d565b604080519384526001600160a01b0390911660208401528201929092523460608201529081906080820190565b0390a3005b5f8080803460018060a01b03600554165af16106d26116fe565b5061063b575b6040516312171d8360e31b8152600490fd5b6040516309bde33960e01b8152600490fd5b6040516305519d6f60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606490fd5b6040516305519d6f60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606490fd5b6040516305519d6f60e51b815260206004820152601060248201526f11585c9b991c9bdc081c995d9bdad95960821b6044820152606490fd5b60c036600319011261025b576107bb611596565b608435906001600160401b03821161025b573660238301121561025b576001600160401b0382600401351161025b5736602460608460040135028401011161025b5760a4356001600160401b03811161025b5761081c903690600401611553565b906001600160601b0360043511610ea7576004355f52600660205260405f2091825460a01c610e955760043515610e565760643515610e1057846004013515610dd1575f5b85600401358110610c12575061087a856004013561172d565b610887604051918261166c565b60048601358082526108989061172d565b601f19013660208301375f5b86600401358110610b7d57506040516020810181819360208151939101925f5b818110610b645750506108e0925003601f19810183528261166c565b51902091604051927f62edf061eac3da69d80bfc84f2c7e738b8e0bc07c0ed27242774f0032f5618306020850152600435604085015260018060a01b0386166060850152604435608085015260643560a085015260c08401523360e084015260e0835261010083018381106001600160401b03821117610b5057610971936105719160405260208151910120611958565b156106fc5760043560a01b6001600160a01b03199081166001600160a01b03841617825560443560028301556064356003830155600682018054909116331790555f5b83600401358110610aff5750506001600160a01b038116610ab8576064353403610a81575b6040519060c0820190600435835260018060a01b031660208301526044356040830152606435606083015260c060808301528260040135905260e081019160248101905f5b81600401358110610a57573360a08501527faf719756cd524e80ad4b983231ff30960a2a0f41570eebbc41ef64c67311cb8a84860385a1005b82358552602080840135908601526040808401359086015260609485019490920191600101610a1e565b6040516305519d6f60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b6040516323b872dd60e01b602082015233602482015230604482015260648035818301528152610afa90610aeb81611636565b6001600160a01b038316611b75565b6109d9565b80610b14600192866004013560248801611744565b610b2682876004013560248901611744565b355f526005840160205260026040805f2092803584556020810135868501550135910155016109b4565b634e487b7160e01b5f52604160045260245ffd5b84518352602094850194869450909201916001016108c4565b610b8f81886004013560248a01611744565b356020610ba4838a6004013560248c01611744565b01356040610bba848b6004013560248d01611744565b013560405191602083019384526040830152606082015260608152610bde8161161b565b519020908251811015610bfe5760019160208260051b85010152016108a4565b634e487b7160e01b5f52603260045260245ffd5b6020610c2682886004013560248a01611744565b01356040610c3c83896004013560248b01611744565b01351115610d7957426020610c5983896004013560248b01611744565b01351115610d1957610c7381876004013560248901611744565b355f52600860205260405f2054610cd35780610c99600192886004013560248a01611744565b610cab82896004013560248b01611744565b355f52600860205260026040805f209280358455602081013586850155013591015501610861565b6040516305519d6f60e51b815260206004820152601760248201527f4475706c6963617465207374616765496420666f756e640000000000000000006044820152606490fd5b6040516305519d6f60e51b815260206004820152603160248201527f537461676520737461727454696d65206d7573742062652067726561746572206044820152707468616e2063757272656e742074696d6560781b6064820152608490fd5b6040516305519d6f60e51b815260206004820152602960248201527f537461676520737461727454696d65206d757374206265206c657373207468616044820152686e20656e6454696d6560b81b6064820152608490fd5b6040516305519d6f60e51b81526020600482015260166024820152757374616765732063616e6e6f7420626520656d70747960501b6044820152606490fd5b6040516305519d6f60e51b815260206004820152601760248201527f746f74616c416d6f756e742063616e6e6f7420626520300000000000000000006044820152606490fd5b6040516305519d6f60e51b815260206004820152601660248201527506561726e64726f7049642063616e6e6f7420626520360541b6044820152606490fd5b604051630eb96d0960e31b8152600490fd5b6040516305519d6f60e51b81526020600482015260146024820152736561726e64726f70496420746f6f206c6172676560601b6044820152606490fd5b3461025b575f36600319011261025b575f546040516001600160a01b039091168152602090f35b3461025b575f36600319011261025b57610f447f000000000000000000000000000000000000000000000000000000000000000061197e565b610f6d7f0000000000000000000000000000000000000000000000000000000000000000611aa2565b6040516020808201928284106001600160401b03851117610b5057916020610fc68594610fb897966040525f8452604051978897600f60f81b895260e0858a015260e08901906115ac565b9087820360408901526115ac565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b828110610ffa57505050500390f35b835185528695509381019392810192600101610feb565b3461025b575f36600319011261025b576001546001600160a01b033381831603611079576001600160601b0360a01b8092166001555f549133908316175f553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b60405163118cdaa760e01b8152336004820152602490fd5b3461025b575f36600319011261025b576110a9611945565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461025b57602036600319011261025b5761110d611580565b611115611945565b6001600160a01b0316801561113b576001600160601b0360a01b60045416176004555f80f35b60405163e6c4247b60e01b8152600490fd5b3461025b57602036600319011261025b57611166611580565b61116e611945565b6001600160a01b0316801561113b576001600160601b0360a01b60055416176005555f80f35b606036600319011261025b576001600160401b03806024351161025b5736602360243501121561025b5780602435600401351161025b5736602480356004013560051b813501011161025b5760443590811161025b576111f8903690600401611553565b9060243560040135156114fb576004355f52600660205260405f2091825460a01c156102155760ff60018401541661076e576024803501359160c21960243536030183121561025b5761057161125a9360443491602435010135600435611754565b156106fc575f5b602435600401358110611297573461127557005b5f8080803460018060a01b03600554165af161128f6116fe565b50156106d857005b60c21960243536030160248260051b8135010135121561025b576024808260051b813501013581350101355f52600582016020526112fb60405f206002604051916112e183611600565b805483526001810154602084015201546040820152611805565b6004355f52600760205260405f20604460248360051b81350101356024350101355f5260205260ff60405f205416610736576113dc61134a606460248460051b8135010135602435010161168d565b604080516004356020820190815260248035600588901b810182013501908101359383019390935260448301356060808401919091529390931b6bffffffffffffffffffffffff191660808201526084919091013560948201526113b18160b481016105dc565b5190206113d160248035600586901b81018201350160a4810191016116a1565b600286015491611896565b156106ea576001906004355f52600760205260405f20604460248360051b81350101356024350101355f5260205260405f208260ff19825416179055611438608460248360051b813501013560243501013560048501546116d6565b6004840155825461146f9060248035600585901b8101909101350160848101359160a086901b869003169061067b9060640161168d565b611489606460248360051b8135010135602435010161168d565b60408051604460248035600587901b8101820135019182013583526001600160a01b0394909416602083015260848101359282019290925234606082015291013590600435907fba848a0cdb5490634c245fc519f30652251eb16cb5575252a97b207cf7fa490790608090a301611261565b6040516305519d6f60e51b815260206004820152600c60248201526b456d70747920706172616d7360a01b6044820152606490fd5b3461025b575f36600319011261025b576004546001600160a01b03168152602090f35b9181601f8401121561025b578235916001600160401b03831161025b576020838186019501011161025b57565b600435906001600160a01b038216820361025b57565b602435906001600160a01b038216820361025b57565b91908251928382525f5b8481106115d6575050825f602080949584010152601f8019910116010190565b6020818301810151848301820152016115b6565b604090600319011261025b576004359060243590565b606081019081106001600160401b03821117610b5057604052565b608081019081106001600160401b03821117610b5057604052565b60a081019081106001600160401b03821117610b5057604052565b604081019081106001600160401b03821117610b5057604052565b90601f801991011681019081106001600160401b03821117610b5057604052565b356001600160a01b038116810361025b5790565b903590601e198136030182121561025b57018035906001600160401b03821161025b57602001918160051b3603831361025b57565b919082018092116101aa57565b6001600160401b038111610b5057601f01601f191660200190565b3d15611728573d9061170f826116e3565b9161171d604051938461166c565b82523d5f602084013e565b606090565b6001600160401b038111610b505760051b60200190565b9190811015610bfe576060020190565b906117a9926040519160208301937f9e5341a7971aab0a5966df6ffb7e100eca8a098208a8ba35909956d290d955d18552604084015260608301526080820152608081526117a181611636565b519020611958565b90565b6117b5836116e3565b906117c3604051928361166c565b838252368484011161025b575f6020856117f1966117e8968387013784010152611d19565b90929192611d53565b6004546001600160a01b0391821691161490565b8051156103185760208101514210611858576040429101511061182457565b6040516305519d6f60e51b815260206004820152600b60248201526a14dd1859d948195b99195960aa1b6044820152606490fd5b6040516305519d6f60e51b815260206004820152601560248201527414dd1859d9481b9bdd081cdd185c9d1959081e595d605a1b6044820152606490fd5b909192915f915b8183106118ab575050501490565b9091928360051b820135908181105f146118d4575f52602052600160405f205b9301919061189d565b905f52602052600160405f206118cb565b6001600160a01b0390811690816119105750505f80809381935af16119086116fe565b50156106d857565b92611943936040519363a9059cbb60e01b602086015216602484015260448301526044825261193e8261161b565b611b75565b565b5f546001600160a01b0316330361107957565b604290611963611bef565b906040519161190160f01b8352600283015260228201522090565b60ff81146119bc5760ff811690601f82116119aa57604051916119a083611651565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b506040515f600254906001908260011c60018416928315611a98575b6020948583108514611a84578287528694908115611a645750600114611a07575b50506117a99250038261166c565b9093915060025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace935f915b818310611a4c5750506117a993508201015f806119f9565b85548784018501529485019486945091830191611a34565b9150506117a994925060ff191682840152151560051b8201015f806119f9565b634e487b7160e01b5f52602260045260245ffd5b90607f16906119d8565b60ff8114611ac45760ff811690601f82116119aa57604051916119a083611651565b506040515f600354906001908260011c60018416928315611b6b575b6020948583108514611a84578287528694908115611a645750600114611b0e5750506117a99250038261166c565b9093915060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b935f915b818310611b535750506117a993508201015f806119f9565b85548784018501529485019486945091830191611b3b565b90607f1690611ae0565b5f80611b9d9260018060a01b03169360208151910182865af1611b966116fe565b9083611e63565b8051908115159182611bcb575b5050611bb35750565b60249060405190635274afe760e01b82526004820152fd5b819250906020918101031261025b576020015180159081150361025b575f80611baa565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611cf0575b15611c4a577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c081018181106001600160401b03821117610b505760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611c21565b8151919060418303611d4957611d429250602082015190606060408401519301515f1a90611dd6565b9192909190565b50505f9160029190565b6004811015611dc25780611d65575050565b60018103611d7f5760405163f645eedf60e01b8152600490fd5b60028103611da05760405163fce698f760e01b815260048101839052602490fd5b600314611daa5750565b602490604051906335e2f38360e21b82526004820152fd5b634e487b7160e01b5f52602160045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611e58579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611e4d575f516001600160a01b03811615611e4357905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b90611e8a5750805115611e7857805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611ebd575b611e9b575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611e9356fea264697066735822122035a892a9b89ef2fb48ce8f1a82a09d0df84588d649a3a8bdac0ef6fe56ef5c8a64736f6c6343000818003300000000000000000000000078a6c322fe2b4a8ae7124702d92d3bf954e75e9400000000000000000000000078a6c322fe2b4a8ae7124702d92d3bf954e75e9400000000000000000000000078a6c322fe2b4a8ae7124702d92d3bf954e75e94