0 txs
1 call
constructor
constructor(address owner_, address rewardToken_, address ticketSigner_, uint256 expiration_)
functions
claimedAmount
viewfunction claimedAmount(address) view returns (uint256)
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)
rewardToken
viewfunction rewardToken() view returns (address)
ticketSigner
viewfunction ticketSigner() view returns (address)
totalRewardAmount
viewfunction totalRewardAmount() view returns (uint256)
totalRewardLimit
viewfunction totalRewardLimit() view returns (uint256)
claim
nonpayablefunction claim(address account, uint256 ticket, bytes signature) returns (uint256 amount)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateConfig
nonpayablefunction updateConfig(address rewardToken_, address ticketSigner_, uint256 expiration_)
updateRewards
nonpayablefunction updateRewards(uint256[] rewardLimits_, uint256[] rewardAmounts_)
withdraw
nonpayablefunction withdraw(address token)
events
Claim
event Claim(address account, uint256 reward)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
UpdateConfig
event UpdateConfig(address rewardToken, address ticketSigner, uint256 expiration)
UpdateRewards
event UpdateRewards(uint256[] rewardLimits, uint256[] rewardAmounts, uint256 totalRewardLimit, uint256 totalRewardAmount)
Withdraw
event Withdraw(address token)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60808060405234610475576080816117fb803803809161001f82856105b8565b83398101031261047557610032816105db565b9061003f602082016105db565b606061004d604084016105db565b920151926001600160a01b031690811561058a575f80546001600160a01b031981168417825560405193916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36001600160a01b0316918215610475576001600160a01b031692831561047557428110610475577f1002ef294c32e31330165dd22b5c51592c17cef6e3948257689eda362df930b8938360609460018060a01b031960025416176002558160018060a01b0319600354161760035582600155835260208301526040820152a16040516101338161059d565b60018152602f60208201526101d6604082015261125c606082015261f1466080820152604051906101638261059d565b6247b760825262072bf0602083015261b798604083015261125c60608301526101d6608083015260c0906040519261019b83856105b8565b6005845260a0366020860137604051926101b581856105b8565b600584525060a03660208501375f5b60058110610555575050508151815103610510576009545f600955806104ce575b50600a545f600a558061048c575b505f600781905560085560025460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa8015610481575f90610440575b60ff915016604d811161042c57600a0a905f5b8351811015610365576102568185610600565b516009549068010000000000000000821015610351576102818260016102999401600955600961063f565b90919082549060031b91821b915f19901b1916179055565b60646102af846102a98486610600565b51610614565b04600a549068010000000000000000821015610351576102818260016102da9401600a55600a61063f565b6102f56102e682610627565b90549060031b1c600754610654565b600755600a5481101561033d57600190600a5f5261033461032c8260205f20015461031f84610627565b90549060031b1c90610614565b600854610654565b60085501610243565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b600754600854906040519060808201906080835260095480925260a083019160095f5260205f20905f5b8181106104165750505082820360208401526020600a54928381520191600a5f5260205f20905f5b818110610400577fcb10c8f3bbdd8077ab86095f8e3592211061e22d52482fae0b2c0e9322e6a1aa8680878a88604084015260608301520390a160405161119990816106628239f35b82548552602090940193600192830192016103b7565b825485526020909401936001928301920161038f565b634e487b7160e01b5f52601160045260245ffd5b506020813d602011610479575b8161045a602093836105b8565b81010312610475575160ff811681036104755760ff90610230565b5f80fd5b3d915061044d565b6040513d5f823e3d90fd5b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8908101905b8181106104c357506101f3565b5f81556001016104b6565b60095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af908101905b81811061050557506101e5565b5f81556001016104f8565b60405162461bcd60e51b815260206004820152601760248201527f726577617264206c656e677468206e6f7420657175616c0000000000000000006044820152606490fd5b80610562600192856105ef565b5161056d8288610600565b5261057881846105ef565b516105838287610600565b52016101c4565b631e4fbdf760e01b5f525f60045260245ffd5b60a081019081106001600160401b0382111761035157604052565b601f909101601f19168101906001600160401b0382119082101761035157604052565b51906001600160a01b038216820361047557565b90600581101561033d5760051b0190565b805182101561033d5760209160051b010190565b8181029291811591840414171561042c57565b60095481101561033d5760095f5260205f2001905f90565b805482101561033d575f5260205f2001905f90565b9190820180921161042c5756fe6080806040526004361015610012575f80fd5b5f3560e01c90816304e8690314610d25575080630572b0cc14610ca757806337777bfe14610c8a5780634665096d14610c6d57806351cff8d914610b605780635b572ce714610aa6578063715018a614610a4f5780638da5cb5b14610a285780638e73064f14610a0b5780638f0bc1521461052c578063b1b709cc14610504578063b5cc47cb146101b7578063bb9d111c1461019a578063cb427e811461017d578063f2fde38b146100f85763f7c618c1146100cc575f80fd5b346100f4575f3660031901126100f4576002546040516001600160a01b039091168152602090f35b5f80fd5b346100f45760203660031901126100f457610111610d59565b610119610f20565b6001600160a01b0316801561016a575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3005b631e4fbdf760e01b5f525f60045260245ffd5b346100f4575f3660031901126100f4576020600554604051908152f35b346100f4575f3660031901126100f4576020600454604051908152f35b346100f45760403660031901126100f45760043567ffffffffffffffff81116100f4576101e8903690600401610de0565b60243567ffffffffffffffff81116100f457610208903690600401610de0565b610210610f20565b81518151036104bf576009545f6009558061047d575b50600a545f600a558061043b575b505f600781905560085560025460405163313ce56760e01b815290602090829060049082906001600160a01b03165afa8015610430575f906103f3575b60ff915016604d81116103df57600a0a905f5b8351811015610382576102978185611006565b5160095490600160401b82101561036e576102bd8260016102d594016009556009610efe565b90919082549060031b91821b915f19901b1916179055565b60646102eb846102e58486611006565b51610ff3565b0490600a54600160401b81101561036e576001926102bd82856103139401600a55600a610efe565b61032e61031f82610eba565b90549060031b1c600754610f13565b60075561036561035d61034083610ee6565b90549060031b1c61035084610eba565b90549060031b1c90610ff3565b600854610f13565b60085501610284565b634e487b7160e01b5f52604160045260245ffd5b7fcb10c8f3bbdd8077ab86095f8e3592211061e22d52482fae0b2c0e9322e6a1aa600754600854604051918291608083526103cf6103c260808501610e81565b8481036020860152610e48565b91604084015260608301520390a1005b634e487b7160e01b5f52601160045260245ffd5b506020813d602011610428575b8161040d60209383610da2565b810103126100f4575160ff811681036100f45760ff90610271565b3d9150610400565b6040513d5f823e3d90fd5b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8908101905b8181106104725750610234565b5f8155600101610465565b60095f527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af908101905b8181106104b45750610226565b5f81556001016104a7565b60405162461bcd60e51b815260206004820152601760248201527f726577617264206c656e677468206e6f7420657175616c0000000000000000006044820152606490fd5b346100f4575f3660031901126100f4576003546040516001600160a01b039091168152602090f35b346100f45760603660031901126100f457610545610d59565b6044359067ffffffffffffffff82116100f457366023830112156100f45781600401359061057282610dc4565b916105806040519384610da2565b808352602083019336602483830101116100f457815f926024602093018737840101525f9160015442116109dc576001600160a01b0382165f818152600660205260409020549094906109a55760405160208101906001600160601b03198560601b1682526024356034820152603481526105fc605482610da2565b5190206003549092906001600160a01b0316610618828561101a565b5060048194929410156109915715928361097e575b5082156108d6575b505090501561089157600754908115801580610886575b156108535761083f57065f805b6009548210156108325761067d9061067083610eba565b90549060031b1c90610f13565b9081831061068e5760010190610659565b929350505061069c81610ee6565b9054604080516001600160a01b038616815260039390931b9190911c6020830181905294917f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d49190a1600454600181018091116103df5760045561070284600554610f13565b6005555f5260066020528260405f205560018060a01b0360025416916040516370a0823160e01b8152306004820152602081602481875afa80156104305785915f916107fe575b5011156107b9578361075e9161076394610f46565b610eba565b81548160031b1c905f1982019182116103df5782545f1960039290921b91821b191691901b1790556007545f1981019081116103df57600755600854908082039182116103df576020916008555b604051908152f35b60405162461bcd60e51b815260206004820152601960248201527f6e6f7420656e6f75676820746f6b656e20746f20636c61696d000000000000006044820152606490fd5b9150506020813d821161082a575b8161081960209383610da2565b810103126100f45784905186610749565b3d915061080c565b50505050602091506107b1565b634e487b7160e01b5f52601260045260245ffd5b60405162461bcd60e51b815260206004820152600b60248201526a185a5c991c9bdc08195b9960aa1b6044820152606490fd5b50600854151561064c565b60405162461bcd60e51b815260206004820152601a60248201527f7469636b6574207369676e6174757265206e6f742076616c69640000000000006044820152606490fd5b5f9384935061092d608460405180936020820195630b135d3f60e11b87528a6024840152604060448401525180918160648501528484015e87838284010152601f801991011681010301601f198101835282610da2565b51915afa610939611054565b81610970575b8161094e575b50808680610635565b90506020818051810103126100f45760200151630b135d3f60e11b1485610945565b90506020815110159061093f565b6001600160a01b0316821492508861062d565b634e487b7160e01b5f52602160045260245ffd5b60405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b6044820152606490fd5b60405162461bcd60e51b8152602060048201526007602482015266195e1c1a5c995960ca1b6044820152606490fd5b346100f4575f3660031901126100f4576020600854604051908152f35b346100f4575f3660031901126100f4575f546040516001600160a01b039091168152602090f35b346100f4575f3660031901126100f457610a67610f20565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100f45760603660031901126100f457610abf610d59565b6024356001600160a01b038116908190036100f45760443591610ae0610f20565b6001600160a01b031680156100f45781156100f4574283106100f4577f1002ef294c32e31330165dd22b5c51592c17cef6e3948257689eda362df930b892606092826001600160601b0360a01b6002541617600255806001600160601b0360a01b60035416176003558160015560405192835260208301526040820152a1005b346100f45760203660031901126100f457610b79610d59565b610b81610f20565b6040516370a0823160e01b81523060048201526001600160a01b039190911690602081602481855afa908115610430575f91610c3b575b508015610c00577ff67611512e0a2d90c96fd3f08dca4971bc45fba9dc679eabe839a32abbe58a8e91610bf760209260018060a01b035f541683610f46565b604051908152a1005b60405162461bcd60e51b81526020600482015260136024820152726e6f7468696e6720746f20776974686472617760681b6044820152606490fd5b90506020813d602011610c65575b81610c5660209383610da2565b810103126100f4575182610bb8565b3d9150610c49565b346100f4575f3660031901126100f4576020600154604051908152f35b346100f4575f3660031901126100f4576020600754604051908152f35b346100f4575f3660031901126100f457610d086007546008549060405191610cd983610cd281610e48565b0384610da2565b610d1660405193610cf485610ced81610e81565b0386610da2565b604051958695608087526080870190610d6f565b908582036020870152610d6f565b91604084015260608301520390f35b346100f45760203660031901126100f4576020906001600160a01b03610d49610d59565b165f526006825260405f20548152f35b600435906001600160a01b03821682036100f457565b90602080835192838152019201905f5b818110610d8c5750505090565b8251845260209384019390920191600101610d7f565b90601f8019910116810190811067ffffffffffffffff82111761036e57604052565b67ffffffffffffffff811161036e57601f01601f191660200190565b9080601f830112156100f45781359167ffffffffffffffff831161036e578260051b9060405193610e146020840186610da2565b84526020808501928201019283116100f457602001905b828210610e385750505090565b8135815260209182019101610e2b565b6020600a54918281520190600a5f5260205f20905f5b818110610e6b5750505090565b8254845260209093019260019283019201610e5e565b602060095491828152019060095f5260205f20905f5b818110610ea45750505090565b8254845260209093019260019283019201610e97565b600954811015610ed25760095f5260205f2001905f90565b634e487b7160e01b5f52603260045260245ffd5b600a54811015610ed257600a5f5260205f2001905f90565b8054821015610ed2575f5260205f2001905f90565b919082018092116103df57565b5f546001600160a01b03163303610f3357565b63118cdaa760e01b5f523360045260245ffd5b60405163a9059cbb60e01b602082019081526001600160a01b03939093166024820152604480820194909452928352610fa7915f91829190610f89606487610da2565b60018060a01b031694519082865af1610fa0611054565b9083611105565b8051908115159182610fcf575b5050610fbd5750565b635274afe760e01b5f5260045260245ffd5b81925090602091810103126100f457602001518015908115036100f4575f80610fb4565b818102929181159184041417156103df57565b8051821015610ed25760209160051b010190565b815191906041830361104a576110439250602082015190606060408401519301515f1a90611083565b9192909190565b50505f9160029190565b3d1561107e573d9061106582610dc4565b916110736040519384610da2565b82523d5f602084013e565b606090565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116110fa579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610430575f516001600160a01b038116156110f057905f905f90565b505f906001905f90565b5050505f9160039190565b90611129575080511561111a57805190602001fd5b630a12f52160e11b5f5260045ffd5b8151158061115a575b61113a575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b1561113256fea26469706673582212206c1be37ca91a5bd1891baa71becba9555402c79bd42956e101102205742af13764736f6c634300081c0033000000000000000000000000fa44dd07842193f95bec9abc4436190607ea37640000000000000000000000009e6a46f294bb67c20f1d1e7afb0bbef614403b55000000000000000000000000ba5fbca63a1e246b73524952cd9e02b186a07f270000000000000000000000000000000000000000000000000000000067d80ec0