52 txs
52 calls
constructor
constructor(address _systemRegistry, address _rewardToken, address _rewardsSigner)
functions
accessController
viewfunction accessController() view returns (address)
claimedAmounts
viewfunction claimedAmounts(address) view returns (uint256)
genHash
viewfunction genHash(tuple recipient) view returns (bytes32)
getClaimableAmount
viewfunction getClaimableAmount(tuple recipient) view returns (uint256)
getSystemRegistry
viewfunction getSystemRegistry() view returns (address)
rewardsSigner
viewfunction rewardsSigner() view returns (address)
rewardToken
viewfunction rewardToken() view returns (address)
verifyRecipientSignature
viewfunction verifyRecipientSignature(tuple recipient, uint8 v, bytes32 r, bytes32 s) view returns (address)
claim
nonpayablefunction claim(tuple recipient, uint8 v, bytes32 r, bytes32 s) returns (uint256)
claimFor
nonpayablefunction claimFor(tuple recipient, uint8 v, bytes32 r, bytes32 s) returns (uint256)
setSigner
nonpayablefunction setSigner(address newSigner)
events
Claimed
event Claimed(uint256 cycle, address recipient, uint256 amount)
SignerSet
event SignerSet(address newSigner)
errors
AccessDenied
error AccessDenied()
InsufficientBalance
error InsufficientBalance(address token)
InvalidChainId
error InvalidChainId(uint256 chainId)
InvalidSigner
error InvalidSigner(address signer)
SenderMismatch
error SenderMismatch(address recipient, address sender)
UndefinedAddress
error UndefinedAddress()
ZeroAddress
error ZeroAddress(string paramName)
ZeroAmount
error ZeroAmount()
creation bytecode
0x6101a060405234801562000011575f80fd5b5060405162001448380380620014488339810160408190526200003491620002ce565b6040518060400160405280601581526020017f544f4b452045787420446973747269627574696f6e0000000000000000000000815250604051806040016040528060018152602001603160f81b81525084856001600160a01b031663bc43cbaf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620000c2573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000e891906200031f565b6001600160a01b0381166200011057604051630cbe126f60e11b815260040160405180910390fd5b6001600160a01b031660805260408051808201909152600f81526e5f73797374656d526567697374727960881b60208201526200014f9082906200027d565b6001600160a01b031660a090815282516020808501919091208351848301206101208290526101408190524660e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81870181905281830186905260608201859052608082019390935230818801528151808203909701875260c0019052845194909301939093209092919060c05230610100526101605250506040805180820190915260058152643a37b5b2b760d91b60208201526200021b92508491506200027d565b62000252816040518060400160405280600d81526020016c7369676e65724164647265737360981b8152506200027d60201b60201c565b6001600160a01b0391821661018052600180546001600160a01b031916919092161790555062000392565b6001600160a01b038216620002b2578060405163eac0d38960e01b8152600401620002a9919062000344565b60405180910390fd5b5050565b6001600160a01b0381168114620002cb575f80fd5b50565b5f805f60608486031215620002e1575f80fd5b8351620002ee81620002b6565b60208501519093506200030181620002b6565b60408501519092506200031481620002b6565b809150509250925092565b5f6020828403121562000330575f80fd5b81516200033d81620002b6565b9392505050565b5f602080835283518060208501525f5b81811015620003725785810183015185820160400152820162000354565b505f604082860101526040601f19601f8301168501019250505092915050565b60805160a05160c05160e051610100516101205161014051610160516101805161102d6200041b5f395f81816101cd015281816106b501528181610744015261081d01525f6108d901525f61092801525f61090301525f61085c01525f61088601525f6108b001525f81816101a4015261036201525f818161011c015261021c015261102d5ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c8063c064c4481161006e578063c064c44814610156578063d126e91714610169578063e1fc86911461017c578063efd5d2651461018f578063f12baf5c146101a2578063f7c618c1146101c8575f80fd5b806321fcecaf146100aa5780636c19e783146100d057806371417b32146100e5578063a68d49e914610104578063bc43cbaf14610117575b5f80fd5b6100bd6100b8366004610dd8565b6101ef565b6040519081526020015b60405180910390f35b6100e36100de366004610e50565b610207565b005b6100bd6100f3366004610e50565b5f6020819052908152604090205481565b6100bd610112366004610e88565b6102f9565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100c7565b61013e610164366004610ea2565b610333565b6100bd610177366004610ea2565b61035f565b6100bd61018a366004610ea2565b61042d565b60015461013e906001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000061013e565b61013e7f000000000000000000000000000000000000000000000000000000000000000081565b5f6102016101fc8361049a565b610527565b92915050565b604051638c85cd8560e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690638c85cd85906024015f6040518083038186803b158015610264575f80fd5b505afa158015610276573d5f803e3d5ffd5b505050506102a581604051806040016040528060098152602001683732bba9b4b3b732b960b91b815250610573565b600180546001600160a01b0319166001600160a01b0383169081179091556040519081527f9eaa897564d022fb8c5efaf0acdb5d9d27b440b2aad44400b6e1c702e65b9ed39060200160405180910390a150565b5f808061030c6060850160408601610e50565b6001600160a01b0316815260208101919091526040015f2054610201906060840135610efd565b5f61035484848461034c6100b8368b90038b018b610dd8565b9291906105a0565b90505b949350505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166330d960af6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103bc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e09190610f10565b6001600160a01b0316336001600160a01b03161461041157604051634ca8886760e01b815260040160405180910390fd5b610354858585856104286060850160408601610e50565b6105c6565b5f3361043f6060870160408801610e50565b6001600160a01b03161461048d5761045d6060860160408701610e50565b6040516321ac3f6b60e11b81526001600160a01b0390911660048201523360248201526044015b60405180910390fd5b61035485858585336105c6565b5f7fff8eacfc55e4a80e4375b0fa110930ca37fa9e57f47788d30eb9b456b161c3ab825f015183602001518460400151856060015160405160200161050a959493929190948552602085019390935260408401919091526001600160a01b03166060830152608082015260a00190565b604051602081830303815290604052805190602001209050919050565b5f610201610533610850565b8360405161190160f01b602082015260228101839052604281018290525f9060620160405160208183030381529060405280519060200120905092915050565b6001600160a01b03821661059c578060405163eac0d38960e01b81526004016104849190610f4d565b5050565b5f805f6105af87878787610976565b915091506105bc81610a33565b5095945050505050565b5f806105e086868661034c6100b8368d90038d018d610dd8565b6001549091506001600160a01b0380831691161461061c5760405163bf18af4360e01b81526001600160a01b0382166004820152602401610484565b468735146106405760405163331003b360e01b815287356004820152602401610484565b5f808061065360608b0160408c01610e50565b6001600160a01b0316815260208101919091526040015f90812054915061067e8260608b0135610efd565b9050805f036106a057604051631f2a200560e01b815260040160405180910390fd5b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610702573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107269190610f7f565b8111156107715760405163112fed8b60e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152602401610484565b61077b8183610f96565b5f8061078d60608d0160408e01610e50565b6001600160a01b03166001600160a01b031681526020019081526020015f20819055507f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed02689602001358a60400160208101906107e99190610e50565b604080519283526001600160a01b039091166020830152810183905260600160405180910390a16108446001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168683610b7f565b98975050505050505050565b5f306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156108a857507f000000000000000000000000000000000000000000000000000000000000000046145b156108d257507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b5f807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156109ab57505f90506003610a2a565b604080515f8082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156109fc573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116610a24575f60019250925050610a2a565b91505f90505b94509492505050565b5f816004811115610a4657610a46610fa9565b03610a4e5750565b6001816004811115610a6257610a62610fa9565b03610aaf5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610484565b6002816004811115610ac357610ac3610fa9565b03610b105760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610484565b6003816004811115610b2457610b24610fa9565b03610b7c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610484565b50565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610bd1908490610bd6565b505050565b5f610c2a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610ca79092919063ffffffff16565b805190915015610bd15780806020019051810190610c489190610fbd565b610bd15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610484565b606061035784845f85855f80866001600160a01b03168587604051610ccc9190610fdc565b5f6040518083038185875af1925050503d805f8114610d06576040519150601f19603f3d011682016040523d82523d5f602084013e610d0b565b606091505b5091509150610d1c87838387610d27565b979650505050505050565b60608315610d955782515f03610d8e576001600160a01b0385163b610d8e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610484565b5081610357565b6103578383815115610daa5781518083602001fd5b8060405162461bcd60e51b81526004016104849190610f4d565b6001600160a01b0381168114610b7c575f80fd5b5f60808284031215610de8575f80fd5b6040516080810181811067ffffffffffffffff82111715610e1757634e487b7160e01b5f52604160045260245ffd5b806040525082358152602083013560208201526040830135610e3881610dc4565b60408201526060928301359281019290925250919050565b5f60208284031215610e60575f80fd5b8135610e6b81610dc4565b9392505050565b5f60808284031215610e82575f80fd5b50919050565b5f60808284031215610e98575f80fd5b610e6b8383610e72565b5f805f8060e08587031215610eb5575f80fd5b610ebf8686610e72565b9350608085013560ff81168114610ed4575f80fd5b939693955050505060a08201359160c0013590565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561020157610201610ee9565b5f60208284031215610f20575f80fd5b8151610e6b81610dc4565b5f5b83811015610f45578181015183820152602001610f2d565b50505f910152565b602081525f8251806020840152610f6b816040850160208701610f2b565b601f01601f19169190910160400192915050565b5f60208284031215610f8f575f80fd5b5051919050565b8082018082111561020157610201610ee9565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215610fcd575f80fd5b81518015158114610e6b575f80fd5b5f8251610fed818460208701610f2b565b919091019291505056fea264697066735822122036d207bbf565e84dd886098c9b96755d368f324c85f378caa8befe2e8f5cef8f64736f6c634300081800330000000000000000000000002218f90a98b0c070676f249ef44834686daa42850000000000000000000000002e9d63788249371f1dfc918a52f8d799f4a38c9400000000000000000000000063d35a99fea9c04b0a679dca9daf54dacc4fa385