0 txs
410 calls
constructor
constructor()
functions
claimedAmount
viewfunction claimedAmount(address account) view returns (uint256 amount)
claimedCnt
viewfunction claimedCnt() view returns (uint256)
claimedTotalAmount
viewfunction claimedTotalAmount() view returns (uint256)
expiration
viewfunction expiration() view returns (uint256)
getRewards
viewfunction getRewards() view returns (uint256[] rewardLimits_, uint256[] rewardAmounts_, uint256 totalRewardLimit_, uint256 totalRewardAmount_)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
rewardToken
viewfunction rewardToken() view returns (address)
ticketSigner
viewfunction ticketSigner() view returns (address)
totalRewardAmount
viewfunction totalRewardAmount() view returns (uint256)
totalRewardLimit
viewfunction totalRewardLimit() view returns (uint256)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
claim
nonpayablefunction claim(address account, uint256 ticket, bytes signature) returns (uint256 amount)
initialize
nonpayablefunction initialize(address owner_, address rewardToken_, address ticketSigner_, uint256 expiration_)
migrateFrom
nonpayablefunction migrateFrom(address oldAirdropAddress)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
updateConfig
nonpayablefunction updateConfig(address rewardToken_, address ticketSigner_, uint256 expiration_)
updateRewards
nonpayablefunction updateRewards(uint256[] rewardLimits_, uint256[] rewardAmounts_)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdraw
nonpayablefunction withdraw(address token)
events
Claim
event Claim(address account, uint256 reward)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
Unpaused
event Unpaused(address account)
UpdateConfig
event UpdateConfig(address rewardToken, address ticketSigner, uint256 expiration)
UpdateRewards
event UpdateRewards(uint256[] rewardLimits, uint256[] rewardAmounts, uint256 totalRewardLimit, uint256 totalRewardAmount)
Upgraded
event Upgraded(address indexed implementation)
Withdraw
event Withdraw(address token)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
EnforcedPause
error EnforcedPause()
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
ExpectedPause
error ExpectedPause()
FailedCall
error FailedCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346100c257306080525f5160206120895f395f51905f525460ff8160401c166100b3576002600160401b03196001600160401b03821601610060575b604051611fc290816100c78239608051818181610b680152610d140152f35b6001600160401b0319166001600160401b039081175f5160206120895f395f51905f525581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610041565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806304e86903146113df5780630572b0cc146112ff57806335657e6814610f5b57806337777bfe14610f3e5780633f4ba83a14610ec05780634665096d14610ea45780634f1ef28614610cd657806351cff8d914610bbc57806352d1902d14610b565780635b572ce714610b215780635c975abb14610af3578063715018a614610a8c5780638456cb5914610a1b5780638da5cb5b146109e75780638e73064f146109ca5780638f0bc1521461051b578063ad3cb1cc146104d0578063b1b709cc146104a8578063b5cc47cb14610445578063bb9d111c14610428578063cb427e811461040b578063cf756fdf14610178578063f2fde38b1461014d5763f7c618c114610121575f80fd5b34610149575f366003190112610149576001546040516001600160a01b039091168152602090f35b5f80fd5b3461014957602036600319011261014957610176610169611402565b6101716117c6565b611755565b005b3461014957608036600319011261014957610191611402565b610199611418565b60443591906001600160a01b0383168303610149575f516020611f6d5f395f51905f52549260ff8460401c16159367ffffffffffffffff811680159081610403575b60011490816103f9575b1590816103f0575b506103e15767ffffffffffffffff1981166001175f516020611f6d5f395f51905f52556102729361023791866103b5575b50610227611e01565b61022f611e01565b610171611e01565b61023f611e01565b610247611e01565b60ff195f516020611f4d5f395f51905f5254165f516020611f4d5f395f51905f525560643591611c17565b6040519061027f82611461565b60018252602f60208301526101d6604083015261125c606083015261f1466080830152604051916102af83611461565b6247b760835262072bf0602084015261b798604084015261125c60608401526101d6608084015260c090604051906102e78383611491565b6005825260a0366020840137604051926103018185611491565b600584525060a03660208501375f5b60058110610380578461032385856117f9565b61032957005b68ff0000000000000000195f516020611f6d5f395f51905f5254165f516020611f6d5f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b8061038d60019284611744565b5161039882866116cb565b526103a38188611744565b516103ae82876116cb565b5201610310565b68ffffffffffffffffff191668010000000000000001175f516020611f6d5f395f51905f52558661021e565b63f92ee8a960e01b5f5260045ffd5b905015866101ed565b303b1591506101e5565b8691506101db565b34610149575f366003190112610149576020600454604051908152f35b34610149575f366003190112610149576020600354604051908152f35b346101495760403660031901126101495760043567ffffffffffffffff811161014957610476903690600401611551565b6024359067ffffffffffffffff82116101495761049a610176923690600401611551565b906104a36117c6565b6117f9565b34610149575f366003190112610149576002546040516001600160a01b039091168152602090f35b34610149575f366003190112610149576105176040516104f1604082611491565b60058152640352e302e360dc1b6020820152604051918291602083526020830190611515565b0390f35b3461014957606036600319011261014957610534611402565b60443567ffffffffffffffff8111610149576105549036906004016114cf565b61055c611ca1565b5f906001600160a01b0383169033829003610985575f54421161095657610582846115ae565b61091f576105d160405160208101906001600160601b03198760601b1682526024356034820152603481526105b8605482611491565b51902060025490929083906001600160a01b0316611cc8565b156108da576006541515806108cf575b1561089c57600a5490811561088857065f805b600b5482101561087b57600b5482101561086757600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db982015461063991611737565b9081831061064a57600101906105f4565b9293505050610658816116f2565b90549060031b1c1561082c575b61066e8161170a565b9054604080516001600160a01b038716815260039390931b9190911c6020830181905293917f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d49190a160035460018101809111610794576003556106d483600454611737565b6004555f5260056020528160405f20556024602060018060a01b0360015416604051928380926370a0823160e01b82523060048301525afa80156108215783915f916107ed575b50106107a85761072a906116f2565b81548160031b1c905f1982019182116107945782545f1960039290921b91821b191691901b1790556006545f1981019081116107945760065560075491818303928311610794578161078c9160209460075560018060a01b0360015416611b81565b604051908152f35b634e487b7160e01b5f52601160045260245ffd5b60405162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820746f6b656e20746f20636c61696d000000000000006044820152606490fd5b9150506020813d8211610819575b8161080860209383611491565b81010312610149578290518561071b565b3d91506107fb565b6040513d5f823e3d90fd5b50906008545f198101908111610794575b610846816116f2565b90549060031b1c61085f578015610794575f190161083d565b919091610665565b634e487b7160e01b5f52603260045260245ffd5b505050506020915061078c565b634e487b7160e01b5f52601260045260245ffd5b60405162461bcd60e51b815260206004820152600b60248201526a185a5c991c9bdc08195b9960aa1b6044820152606490fd5b5060075415156105e1565b60405162461bcd60e51b815260206004820152601a60248201527f7469636b6574207369676e6174757265206e6f742076616c69640000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b6044820152606490fd5b60405162461bcd60e51b8152602060048201526007602482015266195e1c1a5c995960ca1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f6d73672073656e646572206973206e6f7420746865206163636f756e740000006044820152606490fd5b34610149575f366003190112610149576020600754604051908152f35b34610149575f366003190112610149575f516020611f0d5f395f51905f52546040516001600160a01b039091168152602090f35b34610149575f36600319011261014957610a336117c6565b610a3b611ca1565b600160ff195f516020611f4d5f395f51905f525416175f516020611f4d5f395f51905f52557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b34610149575f36600319011261014957610aa46117c6565b5f516020611f0d5f395f51905f5280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610149575f36600319011261014957602060ff5f516020611f4d5f395f51905f5254166040519015158152f35b3461014957606036600319011261014957610176610b3d611402565b610b45611418565b610b4d6117c6565b60443591611c17565b34610149575f366003190112610149577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610bad5760206040515f516020611f2d5f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b3461014957602036600319011261014957610bd5611402565b610bdd6117c6565b6040516370a0823160e01b81523060048201526001600160a01b039190911690602081602481855afa908115610821575f91610ca4575b508015610c69577ff67611512e0a2d90c96fd3f08dca4971bc45fba9dc679eabe839a32abbe58a8e91610c6060209260018060a01b035f516020611f0d5f395f51905f52541683611b81565b604051908152a1005b60405162461bcd60e51b81526020600482015260136024820152726e6f7468696e6720746f20776974686472617760681b6044820152606490fd5b90506020813d602011610cce575b81610cbf60209383611491565b81010312610149575182610c14565b3d9150610cb2565b604036600319011261014957610cea611402565b60243567ffffffffffffffff811161014957610d0a9036906004016114cf565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016308114908115610e82575b50610bad57610d4c6117c6565b6040516352d1902d60e01b81526001600160a01b0383169290602081600481875afa5f9181610e4e575b50610d8e5783634c9c8ce360e01b5f5260045260245ffd5b805f516020611f2d5f395f51905f52859203610e3c5750813b15610e2a575f516020611f2d5f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115610e12575f8083602061017695519101845af4610e0c611d98565b91611eae565b505034610e1b57005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011610e7a575b81610e6a60209383611491565b8101031261014957519085610d76565b3d9150610e5d565b5f516020611f2d5f395f51905f52546001600160a01b03161415905083610d3f565b34610149575f3660031901126101495760205f54604051908152f35b34610149575f36600319011261014957610ed86117c6565b5f516020611f4d5f395f51905f525460ff811615610f2f5760ff19165f516020611f4d5f395f51905f52557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b638dfc202b60e01b5f5260045ffd5b34610149575f366003190112610149576020600654604051908152f35b3461014957602036600319011261014957610f74611402565b610f7c6117c6565b600c80546001600160a01b0319166001600160a01b03929092169182179055604051634665096d60e01b8152602081600481855afa908115610821575f916112cd575b5042111561129a5760405163f7c618c160e01b8152602081600481855afa908115610821575f91611258575b506001546001600160a01b039081169116819003611213575f6004926040519384809263015cac3360e21b82525afa908115610821575f925f926111a9575b5060206004916040519283809263313ce56760e01b82525afa80156108215761105d915f9161117a575b509291926116ba565b801592905f5b82518110156110a65761107681846116cb565b5190606482029180830460641490151715610794578561088857826001920461109f82866116cb565b5201611063565b6110b083856117f9565b600c54604051632ee7444760e21b81526001600160a01b0390911690602081600481855afa908115610821575f91611147575b5060035560405163cb427e8160e01b815290602090829060049082905afa908115610821575f91611115575b50600455005b90506020813d60201161113f575b8161113060209383611491565b8101031261014957518161110f565b3d9150611123565b90506020813d602011611172575b8161116260209383611491565b81010312610149575160046110e3565b3d9150611155565b61119c915060203d6020116111a2575b6111948183611491565b8101906116a1565b84611054565b503d61118a565b925090503d805f843e6111bc8184611491565b820160808382031261014957825167ffffffffffffffff811161014957816111e5918501611644565b9260208101519067ffffffffffffffff82116101495760049260209261120b9201611644565b92915061102a565b60405162461bcd60e51b815260206004820152601960248201527f6e6f74207468652073616d652072657761726420746f6b656e000000000000006044820152606490fd5b90506020813d602011611292575b8161127360209383611491565b8101031261014957516001600160a01b03811681036101495782610feb565b3d9150611266565b60405162461bcd60e51b815260206004820152600b60248201526a1b9bdd08195e1c1a5c995960aa1b6044820152606490fd5b90506020813d6020116112f7575b816112e860209383611491565b81010312610149575182610fbf565b3d91506112db565b34610149575f366003190112610149576006546007546040519182836020600954928381520160095f5260205f20925f5b8181106113c657505061134592500384611491565b6040519182602060085491828152019060085f5260205f20905f5b8181106113b0575050506113939461137f85836113a194500386611491565b60405195869560808752608087019061142e565b90858203602087015261142e565b91604084015260608301520390f35b8254845260209093019260019283019201611360565b8454835260019485019488945060209093019201611330565b3461014957602036600319011261014957602061078c6113fd611402565b6115ae565b600435906001600160a01b038216820361014957565b602435906001600160a01b038216820361014957565b90602080835192838152019201905f5b81811061144b5750505090565b825184526020938401939092019160010161143e565b60a0810190811067ffffffffffffffff82111761147d57604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff82111761147d57604052565b67ffffffffffffffff811161147d57601f01601f191660200190565b81601f82011215610149578035906114e6826114b3565b926114f46040519485611491565b8284526020838301011161014957815f926020809301838601378301015290565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b67ffffffffffffffff811161147d5760051b60200190565b9080601f8301121561014957813561156881611539565b926115766040519485611491565b81845260208085019260051b82010192831161014957602001905b82821061159e5750505090565b8135815260209182019101611591565b6001600160a01b039081165f81815260056020526040902054600c549093921690816115d8575050565b6020906024604051809481936304e8690360e01b835260048301525afa908115610821575f91611612575b5082811161160e5750565b9150565b90506020813d60201161163c575b8161162d60209383611491565b8101031261014957515f611603565b3d9150611620565b9080601f8301121561014957815161165b81611539565b926116696040519485611491565b81845260208085019260051b82010192831161014957602001905b8282106116915750505090565b8151815260209182019101611684565b90816020910312610149575160ff811681036101495790565b60ff16604d811161079457600a0a90565b80518210156108675760209160051b010190565b8181029291811591840414171561079457565b6008548110156108675760085f5260205f2001905f90565b6009548110156108675760095f5260205f2001905f90565b8054821015610867575f5260205f2001905f90565b9190820180921161079457565b9060058110156108675760051b0190565b6001600160a01b031680156117b3575f516020611f0d5f395f51905f5280546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b631e4fbdf760e01b5f525f60045260245ffd5b5f516020611f0d5f395f51905f52546001600160a01b031633036117e657565b63118cdaa760e01b5f523360045260245ffd5b908151815103611b3c576008545f60085580611afa575b506009545f60095580611ab8575b50600b545f600b5580611a76575b505f600681905560075560015460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa801561082157611873915f91611a57575b506116ba565b915f5b81518110156119955761188981836116cb565b5160085490600160401b82101561147d576118af8260016118c794016008556008611722565b90919082549060031b91821b915f19901b1916179055565b60646118dd856118d784876116cb565b516116df565b0460095490600160401b82101561147d576118af82600161190394016009556009611722565b61190c816116f2565b90549060031b1c90600b54600160401b81101561147d576001926118af828561193a9401600b55600b611722565b611955611946826116f2565b90549060031b1c600654611737565b60065561198c6119846119678361170a565b90549060031b1c611977846116f2565b90549060031b1c906116df565b600754611737565b60075501611876565b5050505060065480600a556007546040519060808201926080835260085480945260a083019360085f5260205f20905f5b818110611a41575050508284036020840152602060095494858152019360095f5260205f20905f5b818110611a2b57505050604083015260608201527fcb10c8f3bbdd8077ab86095f8e3592211061e22d52482fae0b2c0e9322e6a1aa9181900390a1565b82548752602090960195600192830192016119ee565b82548752602090960195600192830192016119c6565b611a70915060203d6020116111a2576111948183611491565b5f61186d565b600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9908101905b818110611aad575061182c565b5f8155600101611aa0565b60095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af908101905b818110611aef575061181e565b5f8155600101611ae2565b60085f527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3908101905b818110611b315750611810565b5f8155600101611b24565b60405162461bcd60e51b815260206004820152601760248201527f726577617264206c656e677468206e6f7420657175616c0000000000000000006044820152606490fd5b60405163a9059cbb60e01b60208281019182526001600160a01b039094166024830152604482019490945290925f91611bc781606481015b03601f198101835282611491565b519082855af115610821575f513d611c0e57506001600160a01b0381163b155b611bee5750565b635274afe760e01b5f9081526001600160a01b0391909116600452602490fd5b60011415611be7565b6001600160a01b0316908115610149576001600160a01b031690811561014957428310610149577f1002ef294c32e31330165dd22b5c51592c17cef6e3948257689eda362df930b892606092826001600160601b0360a01b6001541617600155806001600160601b0360a01b6002541617600255815f5560405192835260208301526040820152a1565b60ff5f516020611f4d5f395f51905f525416611cb957565b63d93c066560e01b5f5260045ffd5b9190823b611d175790611cda91611dc7565b506004811015611d0357159182611cf057505090565b6001600160a01b03918216911614919050565b634e487b7160e01b5f52602160045260245ffd5b915f92611bb9611d4d85946040519283916020830195630b135d3f60e11b87526024840152604060448401526064830190611515565b51915afa611d59611d98565b81611d8a575b81611d68575090565b80516020808301935090820191909103126101495751630b135d3f60e11b1490565b905060208151101590611d5f565b3d15611dc2573d90611da9826114b3565b91611db76040519384611491565b82523d5f602084013e565b606090565b8151919060418303611df757611df09250602082015190606060408401519301515f1a90611e2c565b9192909190565b50505f9160029190565b60ff5f516020611f6d5f395f51905f525460401c1615611e1d57565b631afcd79f60e31b5f5260045ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611ea3579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610821575f516001600160a01b03811615611e9957905f905f90565b505f906001905f90565b5050505f9160039190565b90611ed25750805115611ec357805190602001fd5b63d6bda27560e01b5f5260045ffd5b81511580611f03575b611ee3575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b15611edb56fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbccd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220d45747b534190dc954eac3bb3e6bf19d618c2f9716de77ea489e676ae6fc6fb664736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00