2 txs
3 calls
constructor
constructor(address _owner, address _signer, address _treasurer)
functions
earndrops
viewfunction earndrops(uint32) view returns (uint32 earndropId, address tokenAddress, bytes32 merkleTreeRoot, uint256 totalAmount, uint256 claimedAmount, bool revoked, address admin)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
getEarndropStage
viewfunction getEarndropStage(uint32 earndropId, uint32 stageId) view returns (tuple)
isClaimed
viewfunction isClaimed(uint32 earndropId, uint32 leafIndex) view returns (bool)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
signer
viewfunction signer() view returns (address)
stages
viewfunction stages(uint32) view returns (uint32 stageId, uint256 startTime, uint256 endTime)
testLeafHash
purefunction testLeafHash(uint32 earndropId, uint32 stageId, uint32 leafIndex, address account, uint256 amount) pure returns (bytes32)
treasurer
viewfunction treasurer() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
activateEarndrop
payablefunction activateEarndrop(uint32 earndropId, address tokenAddress, bytes32 merkleTreeRoot, uint256 totalAmount, tuple[] _stagesArray, bytes _signature) payable
claimEarndrop
payablefunction claimEarndrop(uint32 earndropId, uint32 stageId, uint32 leafIndex, address account, uint256 amount, bytes32[] merkleProof, bytes _signature) payable
renounceOwnership
nonpayablefunction renounceOwnership()
revokeEarndrop
nonpayablefunction revokeEarndrop(uint32 earndropId, address _recipient)
setSigner
nonpayablefunction setSigner(address _signer)
setTreasurer
nonpayablefunction setTreasurer(address _treasurer)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
EarndropActivated
event EarndropActivated(uint32 earndropId, address tokenAddress, bytes32 merkleTreeRoot, uint256 totalAmount, (uint32 stageId, uint256 startTime, uint256 endTime)[] stages, address admin)
EarndropClaimed
event EarndropClaimed(uint32 earndropId, uint32 stageId, uint32 leafIndex, address account, uint256 amount, uint256 value)
EarndropRevoked
event EarndropRevoked(uint32 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
EarndropAlreadyExists
error EarndropAlreadyExists()
ECDSAInvalidSignature
error ECDSAInvalidSignature()
ECDSAInvalidSignatureLength
error ECDSAInvalidSignatureLength(uint256 length)
ECDSAInvalidSignatureS
error ECDSAInvalidSignatureS(bytes32 s)
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
0x6101603462000271576001600160401b0390601f6200230238819003918201601f19168301919084831184841017620002465781606092859260409586528339810103126200027157620000538262000291565b906200006f81620000676020860162000291565b940162000291565b928151926200007e8462000275565b6016845260208401947f47616c78652056657374696e67204561726e64726f70000000000000000000008652835196620000b88862000275565b60058852640312e302e360dc1b602089019081526001600160a01b03938416949085156200025a5760018060a01b0319958660015416600155855f5482898216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a36200012b88620002a6565b98610120998a526200013d8b62000475565b98610140998a52519020998a60e0525190209061010099828b524660a05287519260208401917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528985015260608401524660808401523060a084015260a0835260c083019383851090851117620002465785928489525190206080523060c0521690811580156200023b575b6200022c5750836004541617600455169060055416176005555191611ce2938462000620853960805184611a7c015260a05184611b47015260c05184611a46015260e05184611acb01525183611af101525182610f9001525181610fb90152f35b63e6c4247b60e01b8152600490fd5b5083831615620001cb565b634e487b7160e01b5f52604160045260245ffd5b8651631e4fbdf760e01b81525f6004820152602490fd5b5f80fd5b604081019081106001600160401b038211176200024657604052565b51906001600160a01b03821682036200027157565b805160209081811015620003405750601f825111620002e15780825192015190808310620002d357501790565b825f19910360031b1b161790565b90604051809263305a27a960e01b82528060048301528251908160248401525f935b82851062000326575050604492505f838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935062000303565b906001600160401b0382116200024657600254926001938481811c911680156200046a575b838210146200045657601f81116200041f575b5081601f8411600114620003b757509282939183925f94620003ab575b50501b915f199060031b1c19161760025560ff90565b015192505f8062000395565b919083601f19811660025f52845f20945f905b88838310620004045750505010620003eb575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f8080620003dd565b858701518855909601959485019487935090810190620003ca565b60025f5284601f845f20920160051c820191601f860160051c015b8281106200044a57505062000378565b5f81550185906200043a565b634e487b7160e01b5f52602260045260245ffd5b90607f169062000365565b8051602091908281101562000503575090601f825111620004a45780825192015190808310620002d357501790565b90604051809263305a27a960e01b82528060048301528251908160248401525f935b828510620004e9575050604492505f838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350620004c6565b6001600160401b03811162000246576003928354926001938481811c9116801562000614575b838210146200045657601f8111620005de575b5081601f84116001146200057957509282939183925f946200056d575b50501b915f1990841b1c191617905560ff90565b015192505f8062000559565b919083601f198116875f52845f20945f905b88838310620005c35750505010620005ab575b505050811b01905560ff90565b01515f1983861b60f8161c191690555f80806200059e565b8587015188559096019594850194879350908101906200058b565b855f5284601f845f20920160051c820191601f860160051c015b828110620006085750506200053c565b5f8155018590620005f8565b90607f16906200052956fe6080806040526004361015610012575f80fd5b5f3560e01c908163110ba0f91461149557508063238ac9331461146d57806340736421146112e257806357b888601461125e578063671d6429146112175780636c19e783146111be5780636ebd82db14611164578063715018a61461110157806379ba50971461108157806384b0196e14610f7b5780638da5cb5b14610f545780639006c86e14610b26578063af784f2b146109f2578063cc461632146109a2578063d30a8fa61461019f578063e30c397814610177578063f2fde38b1461010e5763fda49eb4146100e2575f80fd5b3461010a575f36600319011261010a576005546040516001600160a01b039091168152602090f35b5f80fd5b3461010a57602036600319011261010a57610127611544565b61012f61175d565b60018060a01b0380911690816001600160601b0360a01b60015416176001555f54167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227005f80a3005b3461010a575f36600319011261010a576001546040516001600160a01b039091168152602090f35b60c036600319011261010a576101b36114f5565b6101bb61152e565b608435916001600160401b03831161010a573660238401121561010a576001600160401b0383600401351161010a5736602460608560040135028501011161010a5760a4356001600160401b03811161010a5761021c9036906004016115ae565b9063ffffffff83165f52600660205260405f209163ffffffff8354166109905763ffffffff841615610951576064351561090b578560040135156108cc575f5b866004013581106106e05750610275866004013561169b565b610282604051918261167a565b60048701358082526102939061169b565b601f19013660208301375f5b8760040135811061062e57506040516020810181819360208151939101925f5b8181106106155750506102db925003601f19810183528261167a565b51902091604051927f4455819f864107e760cbeadb657ea56311fa758657417a0544ab1de2eb152ba0602085015263ffffffff8616604085015260018060a01b0387166060850152604435608085015260643560a085015260c08401523360e084015260e08352826101008101106001600160401b0361010085011117610552576103778361010061037c950160405260208151910120611a1d565b611770565b156105db5780546001600160c01b03191663ffffffff831617602084901b640100000000600160c01b031617815560443560018201556064356002820155600581018054610100600160a81b0319163360081b610100600160a81b03161790555f5b846004013581106105665750506001600160a01b0382166104f75760643534036104c1575b6040519163ffffffff60c084019216835260018060a01b031660208301526044356040830152606435606083015260c060808301528260040135905260e081019160248101905f905b80600401358210610485573360a08501527f162997311581ee58ac614d5268c39b429887ef8dbf0ba2848798c2ed622350d684860385a1005b90919384359063ffffffff821680920361010a57606081600193829352602088013560208201526040880135604082015201950192019061044c565b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b6040516323b872dd60e01b60208201523360248201523060448201526064803581830152815260a08101906001600160401b038211818310176105525760409190915261054d906001600160a01b0384166117c9565b610403565b634e487b7160e01b5f52604160045260245ffd5b8061057b6001928760040135602489016116fc565b63ffffffff61059a610595848a6004013560248c016116fc565b61170c565b165f526004840160205260026040805f209263ffffffff6105ba8261170c565b1663ffffffff198554161784556020810135868501550135910155016103de565b6040516305519d6f60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b6044820152606490fd5b84518352602094850194869450909201916001016102bf565b610643610595828a6004013560248c016116fc565b6020610657838b6004013560248d016116fc565b01356106ac60406106708560048e013560248f016116fc565b01359161069e60405193849260208401968760409194939263ffffffff606083019616825260208201520152565b03601f19810183528261167a565b5190209082518110156106cc5760019160208260051b850101520161029f565b634e487b7160e01b5f52603260045260245ffd5b60206106f482896004013560248b016116fc565b0135604061070a838a6004013560248c016116fc565b0135111561087457426020610727838a6004013560248c016116fc565b013511156108145763ffffffff610749610595838a6004013560248c016116fc565b165f52600860205263ffffffff60405f2054166107ce5780610775600192896004013560248b016116fc565b63ffffffff61078f6105958460048d013560248e016116fc565b165f52600860205260026040805f209263ffffffff6107ad8261170c565b1663ffffffff1985541617845560208101358685015501359101550161025c565b6040516305519d6f60e51b815260206004820152601760248201527f4475706c6963617465207374616765496420666f756e640000000000000000006044820152606490fd5b6040516305519d6f60e51b815260206004820152603160248201527f537461676520737461727454696d65206d7573742062652067726561746572206044820152707468616e2063757272656e742074696d6560781b6064820152608490fd5b6040516305519d6f60e51b815260206004820152602960248201527f537461676520737461727454696d65206d757374206265206c657373207468616044820152686e20656e6454696d6560b81b6064820152608490fd5b6040516305519d6f60e51b81526020600482015260166024820152757374616765732063616e6e6f7420626520656d70747960501b6044820152606490fd5b6040516305519d6f60e51b815260206004820152601760248201527f746f74616c416d6f756e742063616e6e6f7420626520300000000000000000006044820152606490fd5b6040516305519d6f60e51b815260206004820152601660248201527506561726e64726f7049642063616e6e6f7420626520360541b6044820152606490fd5b604051630eb96d0960e31b8152600490fd5b3461010a57604036600319011261010a576109bb6114f5565b6109c3611508565b9063ffffffff8091165f52600760205260405f2091165f52602052602060ff60405f2054166040519015158152f35b3461010a57604036600319011261010a57610a0b6114f5565b610a13611508565b5f60408051610a2181611629565b828152826020820152015263ffffffff8092165f52600660205260405f208281541615610ae05782600492165f520160205260405f2060405190610a6482611629565b82815416908183526002600182015491602085019283520154916040840192835215610aa3576060936040519351168352516020830152516040820152f35b6040516305519d6f60e51b815260206004820152601460248201527314dd1859d948191bd95cc81b9bdd08195e1a5cdd60621b6044820152606490fd5b6040516305519d6f60e51b815260206004820152601760248201527f4561726e64726f7020646f6573206e6f742065786973740000000000000000006044820152606490fd5b60e036600319011261010a57610b3a6114f5565b610b42611508565b610b4a61151b565b91610b5361155a565b6001600160401b038060a4351161010a5736602360a43501121561010a578060a435600401351161010a5736602460a4356004013560051b60a43501011161010a5760c43590811161010a57610bad9036906004016115ae565b63ffffffff929192958685165f52600660205260405f20938785541615610ae05760ff600586015416610f1b57600485018888165f52806020528860405f20541615610aa3578888165f5280602052600160405f2001544210610edd578888165f5260205242600260405f20015410610ea9578786165f52600760205260405f209288831693845f5260205260ff60405f205416610e7157610c9a9161037760405160208101907f115874c494874b6ae30d259efedfe984a37f0663a524b46e17126febbb744b1d82528c8b16604082015234606082015260608152610c9281611644565b519020611a1d565b156105db57604051610cbb8161069e602082019487608435918c8c896115db565b5190206001840154905f5b60a435600401358110610e36575003610e245734610df3575b8584165f52600760205260405f20815f5260205260405f20600160ff19825416179055600383018054906084358201809211610ddf575591546001600160a01b03929060201c831680610da757505f808080608435865af1610d3f6116cd565b5015610d95577fdedb24250fcc97646eafb484f1cc5dee6c6b02b54c922421cfd8e48c801451989560c0955b8160405196168652166020850152604084015216606082015260843560808201523460a0820152a1005b6040516312171d8360e31b8152600490fd5b9560c095610dda7fdedb24250fcc97646eafb484f1cc5dee6c6b02b54c922421cfd8e48c8014519898856084359161171d565b610d6b565b634e487b7160e01b5f52601160045260245ffd5b5f8080803460018060a01b03600554165af1610e0d6116cd565b50610cdf576040516312171d8360e31b8152600490fd5b6040516309bde33960e01b8152600490fd5b9060248260051b60a435010135908181105f14610e60575f52602052600160405f205b9101610cc6565b905f52602052600160405f20610e59565b6040516305519d6f60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606490fd5b6040516305519d6f60e51b815260206004820152600b60248201526a14dd1859d948195b99195960aa1b6044820152606490fd5b6040516305519d6f60e51b815260206004820152601560248201527414dd1859d9481b9bdd081cdd185c9d1959081e595d605a1b6044820152606490fd5b6040516305519d6f60e51b815260206004820152601060248201526f11585c9b991c9bdc081c995d9bdad95960821b6044820152606490fd5b3461010a575f36600319011261010a575f546040516001600160a01b039091168152602090f35b3461010a575f36600319011261010a57610fb47f0000000000000000000000000000000000000000000000000000000000000000611823565b610fdd7f000000000000000000000000000000000000000000000000000000000000000061194a565b6040516020808201928284106001600160401b0385111761055257916020611036859461102897966040525f8452604051978897600f60f81b895260e0858a015260e0890190611570565b908782036040890152611570565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061106a57505050500390f35b83518552869550938101939281019260010161105b565b3461010a575f36600319011261010a576001546001600160a01b0333818316036110e9576001600160601b0360a01b8092166001555f549133908316175f553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b60405163118cdaa760e01b8152336004820152602490fd5b3461010a575f36600319011261010a5761111961175d565b600180546001600160a01b03199081169091555f80549182168155906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461010a5760a036600319011261010a57602061117f6114f5565b611187611508565b906111b361119361151b565b61069e61119e61155a565b936040519485938885019760843593896115db565b519020604051908152f35b3461010a57602036600319011261010a576111d7611544565b6111df61175d565b6001600160a01b03168015611205576001600160601b0360a01b60045416176004555f80f35b60405163e6c4247b60e01b8152600490fd5b3461010a57602036600319011261010a57611230611544565b61123861175d565b6001600160a01b03168015611205576001600160601b0360a01b60055416176005555f80f35b3461010a57602036600319011261010a5760e063ffffffff8061127f6114f5565b165f52600660205260405f20805460018060a01b03916001810154600282015490846005600385015494015494604051978116885260201c16602087015260408601526060850152608084015260ff8116151560a084015260081c1660c0820152f35b3461010a57604036600319011261010a576112fb6114f5565b61130361152e565b63ffffffff809216805f52600660205260405f20805493841615610ae057600581019081549460ff8616611427576001600160a01b0395600881901c8716330361141657600360028401549301549182840394848611610ddf576001899360ff191617905560201c1680155f146113dd575082915f91146113d4575b5f808093819389891690f1156113c9577f272831b4dcb6945a9eb0199cc2947c912c5adeb566aff934646675f4266b8d74936060935b6040519384521660208301526040820152a1005b6040513d5f823e3d90fd5b506108fc61137f565b7f272831b4dcb6945a9eb0199cc2947c912c5adeb566aff934646675f4266b8d74969250859150836060966114119261171d565b6113b5565b6040516282b42960e81b8152600490fd5b6040516305519d6f60e51b815260206004820152601860248201527f4561726e64726f7020616c7265616479207265766f6b656400000000000000006044820152606490fd5b3461010a575f36600319011261010a576004546040516001600160a01b039091168152602090f35b3461010a57602036600319011261010a57806114f163ffffffff806114b86114f5565b165f52600860205260405f20908154169060026001820154910154918460409194939263ffffffff606083019616825260208201520152565b0390f35b6004359063ffffffff8216820361010a57565b6024359063ffffffff8216820361010a57565b6044359063ffffffff8216820361010a57565b602435906001600160a01b038216820361010a57565b600435906001600160a01b038216820361010a57565b606435906001600160a01b038216820361010a57565b91908251928382525f5b84811061159a575050825f602080949584010152601f8019910116010190565b60208183018101518483018201520161157a565b9181601f8401121561010a578235916001600160401b03831161010a576020838186019501011161010a57565b60e091821b6001600160e01b0319908116825292821b8316600482015292901b16600882015260609190911b6bffffffffffffffffffffffff1916600c820152602081019190915260400190565b606081019081106001600160401b0382111761055257604052565b608081019081106001600160401b0382111761055257604052565b604081019081106001600160401b0382111761055257604052565b90601f801991011681019081106001600160401b0382111761055257604052565b6001600160401b0381116105525760051b60200190565b6001600160401b03811161055257601f01601f191660200190565b3d156116f7573d906116de826116b2565b916116ec604051938461167a565b82523d5f602084013e565b606090565b91908110156106cc576060020190565b3563ffffffff8116810361010a5790565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815261175b9161175682611644565b6117c9565b565b5f546001600160a01b031633036110e957565b611779836116b2565b90611787604051928361167a565b838252368484011161010a575f6020856117b5966117ac968387013784010152611b6d565b90929192611ba7565b6004546001600160a01b0391821691161490565b905f602091828151910182855af1156113c9575f513d61181a57506001600160a01b0381163b155b6117f85750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b600114156117f1565b60ff81146118615760ff811690601f821161184f57604051916118458361165f565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b506040515f600254906001908260011c60018416928315611940575b602094858310851461192c57828752869490811561190c57506001146118af575b50506118ac9250038261167a565b90565b9093915060025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace935f915b8183106118f45750506118ac93508201015f8061189e565b855487840185015294850194869450918301916118dc565b9150506118ac94925060ff191682840152151560051b8201015f8061189e565b634e487b7160e01b5f52602260045260245ffd5b90607f169061187d565b60ff811461196c5760ff811690601f821161184f57604051916118458361165f565b506040515f600354906001908260011c60018416928315611a13575b602094858310851461192c57828752869490811561190c57506001146119b65750506118ac9250038261167a565b9093915060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b935f915b8183106119fb5750506118ac93508201015f8061189e565b855487840185015294850194869450918301916119e3565b90607f1690611988565b604290611a28611a43565b906040519161190160f01b8352600283015260228201522090565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611b44575b15611a9e577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c081018181106001600160401b038211176105525760405251902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611a75565b8151919060418303611b9d57611b969250602082015190606060408401519301515f1a90611c2a565b9192909190565b50505f9160029190565b6004811015611c165780611bb9575050565b60018103611bd35760405163f645eedf60e01b8152600490fd5b60028103611bf45760405163fce698f760e01b815260048101839052602490fd5b600314611bfe5750565b602490604051906335e2f38360e21b82526004820152fd5b634e487b7160e01b5f52602160045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611ca1579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156113c9575f516001600160a01b03811615611c9757905f905f90565b505f906001905f90565b5050505f916003919056fea26469706673582212206e5e3825c23c5881a9355585e402e42f050eccc41ead350bee8f0a1404e58ea664736f6c6343000818003300000000000000000000000078a6c322fe2b4a8ae7124702d92d3bf954e75e9400000000000000000000000078a6c322fe2b4a8ae7124702d92d3bf954e75e9400000000000000000000000078a6c322fe2b4a8ae7124702d92d3bf954e75e94