0 txs
0 calls
constructor
constructor()
functions
checkValidity
viewfunction checkValidity(bytes signature, string action) view returns (bool)
claimedMap
viewfunction claimedMap(address addr) view returns (bool)
isClaimAvailable
viewfunction isClaimAvailable() view returns (bool)
isSignatureClaimed
viewfunction isSignatureClaimed(bytes signature) view returns (bool)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
signatureClaimedMap
viewfunction signatureClaimedMap(string signature) view returns (bool)
signer
viewfunction signer() view returns (address)
token
viewfunction token() view returns (address)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
upgrader
viewfunction upgrader() view returns (address)
upgraderRenounced
viewfunction upgraderRenounced() view returns (bool)
userIdClaimedMap
viewfunction userIdClaimedMap(string userId) view returns (bool)
claim
nonpayablefunction claim(bytes signature, string userId)
claimV2
nonpayablefunction claimV2(bytes signature, uint256 amount)
initialize
nonpayablefunction initialize(address _claimTokenAddress, address _signer)
renounceOwnership
nonpayablefunction renounceOwnership()
renounceUpgrader
nonpayablefunction renounceUpgrader()
setClaimAvailability
nonpayablefunction setClaimAvailability(bool canClaim)
setUpgrader
nonpayablefunction setUpgrader(address _upgrader)
setupSigner
nonpayablefunction setupSigner(address _signer)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
withdraw
nonpayablefunction withdraw()
events
ClaimAvailabilityUpdated
event ClaimAvailabilityUpdated(bool newAvailability)
Claimed
event Claimed(address addr)
ClaimedV2
event ClaimedV2(address addr, uint256 amount)
Initialized
event Initialized(uint64 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SignerUpdated
event SignerUpdated(address newAddress)
Upgraded
event Upgraded(address indexed implementation)
UpgraderRenounced
event UpgraderRenounced()
UpgraderUpdated
event UpgraderUpdated(address newAddress)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ECDSAInvalidSignature
error ECDSAInvalidSignature()
ECDSAInvalidSignatureLength
error ECDSAInvalidSignatureLength(uint256 length)
ECDSAInvalidSignatureS
error ECDSAInvalidSignatureS(bytes32 s)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051611e576100fd600039600081816112410152818161126a01526113f10152611e576000f3fe60806040526004361061014b5760003560e01c8063715018a6116100b6578063c978a1131161006f578063c978a113146103cd578063f163d712146103fd578063f2fde38b14610412578063f5e784a514610432578063f8d9f13114610452578063fc0c546a1461048d57600080fd5b8063715018a6146102e95780638110c50f146102fe5780638117b4841461031f5780638da5cb5b1461035a578063ad3cb1cc1461036f578063af269745146103ad57600080fd5b8063485cc95511610108578063485cc955146102395780634971fb26146102595780634990d0af146102795780634f1ef286146102935780635216d6f1146102a657806352d1902d146102c657600080fd5b80631b878f7114610150578063238ac933146101725780632d0fd648146101b45780632e943594146101d457806330f89953146101f45780633ccfd60b14610224575b600080fd5b34801561015c57600080fd5b5061017061016b366004611988565b6104ad565b005b34801561017e57600080fd5b506003546101979061010090046001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101c057600080fd5b506101706101cf366004611a98565b6105b3565b3480156101e057600080fd5b506101706101ef366004611988565b6107a4565b34801561020057600080fd5b5061021461020f366004611a98565b610802565b60405190151581526020016101ab565b34801561023057600080fd5b5061017061090c565b34801561024557600080fd5b50610170610254366004611b01565b610a0b565b34801561026557600080fd5b50610170610274366004611b34565b610bd1565b34801561028557600080fd5b506003546102149060ff1681565b6101706102a1366004611b80565b610f41565b3480156102b257600080fd5b506102146102c1366004611be2565b610f60565b3480156102d257600080fd5b506102db610f8f565b6040519081526020016101ab565b3480156102f557600080fd5b50610170610fac565b34801561030a57600080fd5b5060015461021490600160a01b900460ff1681565b34801561032b57600080fd5b5061021461033a366004611c24565b805160208183018101805160048252928201919093012091525460ff1681565b34801561036657600080fd5b50610197610fc0565b34801561037b57600080fd5b506103a0604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101ab9190611c85565b3480156103b957600080fd5b50600154610197906001600160a01b031681565b3480156103d957600080fd5b506102146103e8366004611988565b60026020526000908152604090205460ff1681565b34801561040957600080fd5b50610170610fee565b34801561041e57600080fd5b5061017061042d366004611988565b611085565b34801561043e57600080fd5b5061017061044d366004611cc6565b6110c0565b34801561045e57600080fd5b5061021461046d366004611c24565b805160208183018101805160058252928201919093012091525460ff1681565b34801561049957600080fd5b50600054610197906001600160a01b031681565b6104b5611109565b600154600160a01b900460ff16156105085760405162461bcd60e51b8152602060048201526011602482015270155c19dc9859195c94995b9bdd5b98d959607a1b60448201526064015b60405180910390fd5b6001600160a01b03811661055e5760405162461bcd60e51b815260206004820152601d60248201527f696e70757420616464726573732073686f756c64206e6f74206265203000000060448201526064016104ff565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527fef1cd24a01120da2689be4a7980f64da049419dcd5866a87bff7b5d978a5078c906020015b60405180910390a150565b60035460ff166105fb5760405162461bcd60e51b8152602060048201526013602482015272636c61696d206e6f7420617661696c61626c6560681b60448201526064016104ff565b60048160405161060b9190611ce3565b9081526040519081900360200190205460ff1615801561063b57503360009081526002602052604090205460ff16155b6106795760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b60448201526064016104ff565b6106a383838360405160200161068f9190611cff565b604051602081830303815290604052610802565b503360009081526002602052604090819020805460ff1916600190811790915590516004906106d3908490611ce3565b908152604051908190036020018120805492151560ff199093169290921790915560005463a9059cbb60e01b8252336004830152673a4965bf58a4000060248301526001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b9190611d34565b506040513381527fb449c24d261a59627b537c8c41c57ab559f4205c56bea745ff61c5521bece2149060200160405180910390a1505050565b6107ac611109565b60038054610100600160a81b0319166101006001600160a01b038416908102919091179091556040519081527f5553331329228fbd4123164423717a4a7539f6dfa1c3279a923b98fd681a6c73906020016105a8565b60035460405160009161010090046001600160a01b0316906108b79061087b906108329033908790602001611d51565b604051602081830303815290604052805190602001207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c91909152603c902090565b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061113b92505050565b6001600160a01b0316146109015760405162461bcd60e51b8152602060048201526011602482015270696e76616c6964207369676e617475726560781b60448201526064016104ff565b5060015b9392505050565b610914611109565b6000546001600160a01b031663a9059cbb61092d610fc0565b6000546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015610975573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109999190611d89565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156109e4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a089190611d34565b50565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff16600081158015610a515750825b905060008267ffffffffffffffff166001148015610a6e5750303b155b905081158015610a7c575080155b15610a9a5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610ac457845460ff60401b1916600160401b1785555b6001600160a01b038716610b1a5760405162461bcd60e51b815260206004820152601d60248201527f696e70757420616464726573732073686f756c64206e6f74206265203000000060448201526064016104ff565b610b22611165565b610b2b33611193565b610b3361119b565b600180546001600160a01b03199081163317909155600080546001600160a01b038a8116919093161790556003805460ff1992891661010002929092166001600160a81b03199092169190911790558315610bc857845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b60035460ff16610c195760405162461bcd60e51b8152602060048201526013602482015272636c61696d206e6f7420617661696c61626c6560681b60448201526064016104ff565b600083838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604051929350600592610c659250849150611ce3565b9081526040519081900360200190205460ff1615610cb75760405162461bcd60e51b815260206004820152600f60248201526e185b1c9958591e4818db185a5b5959608a1b60448201526064016104ff565b6000546040516370a0823160e01b815230600482015283916001600160a01b0316906370a0823190602401602060405180830381865afa158015610cff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d239190611d89565b1015610d655760405162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b60448201526064016104ff565b6000546040516370a0823160e01b8152336004820152673a4965bf58a40000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd99190611d89565b1015610e3f5760405162461bcd60e51b815260206004820152602f60248201527f4163636f756e742073686f756c642068617665206174206c6561737420342e3260448201526e08195d1a195c881bd9880915d15313608a1b60648201526084016104ff565b610e5d8484610e4d856111a3565b60405160200161068f9190611da2565b506001600582604051610e709190611ce3565b908152604051908190036020018120805492151560ff199093169290921790915560005463a9059cbb60e01b8252336004830152602482018490526001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610edd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f019190611d34565b5060408051338152602081018490527f6b00ac75094e548466ce3e07d5cd9cb9206ff52dc81ae84aa30687366e4cfe46910160405180910390a150505050565b610f49611236565b610f52826112db565b610f5c8282611324565b5050565b600060058383604051610f74929190611ddb565b9081526040519081900360200190205460ff16905092915050565b6000610f996113e6565b50600080516020611e0283398151915290565b610fb4611109565b610fbe600061142f565b565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b610ff6611109565b600154600160a01b900460ff16156110445760405162461bcd60e51b8152602060048201526011602482015270155c19dc9859195c94995b9bdd5b98d959607a1b60448201526064016104ff565b600180546001600160a81b031916600160a01b1790556040517f9a8d50df04b0b0fee69702002c09a367b08cb9fe91eecb33f6e4feb1ea554f0190600090a1565b61108d611109565b6001600160a01b0381166110b757604051631e4fbdf760e01b8152600060048201526024016104ff565b610a088161142f565b6110c8611109565b6003805460ff19168215159081179091556040519081527f10a362ce5d382e09ec825f20140136f2d352afa33293e6476d5a05d86e063d09906020016105a8565b33611112610fc0565b6001600160a01b031614610fbe5760405163118cdaa760e01b81523360048201526024016104ff565b60008060008061114b86866114a0565b92509250925061115b82826114ed565b5090949350505050565b61116d6115a6565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b61108d6115a6565b610fbe6115a6565b606060006111b0836115ef565b600101905060008167ffffffffffffffff8111156111d0576111d06119ec565b6040519080825280601f01601f1916602001820160405280156111fa576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461120457509392505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806112bd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166112b1600080516020611e02833981519152546001600160a01b031690565b6001600160a01b031614155b15610fbe5760405163703e46dd60e11b815260040160405180910390fd5b6001546001600160a01b03163314610a085760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b60448201526064016104ff565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561137e575060408051601f3d908101601f1916820190925261137b91810190611d89565b60015b6113a657604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104ff565b600080516020611e0283398151915281146113d757604051632a87526960e21b8152600481018290526024016104ff565b6113e183836116c8565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fbe5760405163703e46dd60e11b815260040160405180910390fd5b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b600080600083516041036114da5760208401516040850151606086015160001a6114cc8882858561171e565b9550955095505050506114e6565b50508151600091506002905b9250925092565b600082600381111561150157611501611deb565b0361150a575050565b600182600381111561151e5761151e611deb565b0361153c5760405163f645eedf60e01b815260040160405180910390fd5b600282600381111561155057611550611deb565b036115715760405163fce698f760e01b8152600481018290526024016104ff565b600382600381111561158557611585611deb565b03610f5c576040516335e2f38360e21b8152600481018290526024016104ff565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610fbe57604051631afcd79f60e31b815260040160405180910390fd5b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b831061162e5772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061165a576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061167857662386f26fc10000830492506010015b6305f5e1008310611690576305f5e100830492506008015b61271083106116a457612710830492506004015b606483106116b6576064830492506002015b600a83106116c2576001015b92915050565b6116d1826117ed565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611716576113e18282611852565b610f5c6118c8565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561175957506000915060039050826117e3565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa1580156117ad573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166117d9575060009250600191508290506117e3565b9250600091508190505b9450945094915050565b806001600160a01b03163b60000361182357604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104ff565b600080516020611e0283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161186f9190611ce3565b600060405180830381855af49150503d80600081146118aa576040519150601f19603f3d011682016040523d82523d6000602084013e6118af565b606091505b50915091506118bf8583836118e7565b95945050505050565b3415610fbe5760405163b398979f60e01b815260040160405180910390fd5b6060826118fc576118f782611943565b610905565b815115801561191357506001600160a01b0384163b155b1561193c57604051639996b31560e01b81526001600160a01b03851660048201526024016104ff565b5080610905565b8051156119535780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b038116811461198357600080fd5b919050565b60006020828403121561199a57600080fd5b6109058261196c565b60008083601f8401126119b557600080fd5b50813567ffffffffffffffff8111156119cd57600080fd5b6020830191508360208285010111156119e557600080fd5b9250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff80841115611a1d57611a1d6119ec565b604051601f8501601f19908116603f01168101908282118183101715611a4557611a456119ec565b81604052809350858152868686011115611a5e57600080fd5b858560208301376000602087830101525050509392505050565b600082601f830112611a8957600080fd5b61090583833560208501611a02565b600080600060408486031215611aad57600080fd5b833567ffffffffffffffff80821115611ac557600080fd5b611ad1878388016119a3565b90955093506020860135915080821115611aea57600080fd5b50611af786828701611a78565b9150509250925092565b60008060408385031215611b1457600080fd5b611b1d8361196c565b9150611b2b6020840161196c565b90509250929050565b600080600060408486031215611b4957600080fd5b833567ffffffffffffffff811115611b6057600080fd5b611b6c868287016119a3565b909790965060209590950135949350505050565b60008060408385031215611b9357600080fd5b611b9c8361196c565b9150602083013567ffffffffffffffff811115611bb857600080fd5b8301601f81018513611bc957600080fd5b611bd885823560208401611a02565b9150509250929050565b60008060208385031215611bf557600080fd5b823567ffffffffffffffff811115611c0c57600080fd5b611c18858286016119a3565b90969095509350505050565b600060208284031215611c3657600080fd5b813567ffffffffffffffff811115611c4d57600080fd5b611c5984828501611a78565b949350505050565b60005b83811015611c7c578181015183820152602001611c64565b50506000910152565b6020815260008251806020840152611ca4816040850160208701611c61565b601f01601f19169190910160400192915050565b8015158114610a0857600080fd5b600060208284031215611cd857600080fd5b813561090581611cb8565b60008251611cf5818460208701611c61565b9190910192915050565b60008251611d11818460208701611c61565b7016bbb2b63616b3b4bb32b0bbb0bc969a1960791b920191825250601101919050565b600060208284031215611d4657600080fd5b815161090581611cb8565b6bffffffffffffffffffffffff198360601b16815260008251611d7b816014850160208701611c61565b919091016014019392505050565b600060208284031215611d9b57600080fd5b5051919050565b7077656c6c2d67697665617761792d76322d60781b815260008251611dce816011850160208701611c61565b9190910160110192915050565b8183823760009101908152919050565b634e487b7160e01b600052602160045260246000fdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220114369e45e11dbfa4565dde377383b27a0176864daf46708b550817cab3981aa64736f6c63430008180033