21 txs
48 calls
constructor
constructor(address _rewardToken)
functions
cumulativeClaimed
viewfunction cumulativeClaimed(address) view returns (uint256)
epoch
viewfunction epoch() view returns (uint64)
getTotalEpochRewards
viewfunction getTotalEpochRewards(uint64 epochNum) view returns (uint256)
isEpochVetoed
viewfunction isEpochVetoed(uint64 _epoch) view returns (bool)
owner
viewfunction owner() view returns (address)
rewardToken
viewfunction rewardToken() view returns (address)
rootUpdaters
viewfunction rootUpdaters(address) view returns (bool)
topRoot
viewfunction topRoot() view returns (bytes32)
totalEpochRewards
viewfunction totalEpochRewards(uint64) view returns (uint256)
vetoedEpochs
viewfunction vetoedEpochs(uint64) view returns (bool)
vetoManagers
viewfunction vetoManagers(address) view returns (bool)
addRootUpdater
nonpayablefunction addRootUpdater(address rootUpdater)
addVetoManager
nonpayablefunction addVetoManager(address vetoManager)
claim
nonpayablefunction claim(address earner, uint256[] cumulativeAmounts, uint64 _epoch, bytes32[] proof)
claimRewards
nonpayablefunction claimRewards(uint64 _epoch, address user, uint256 cumulativeRewards, bytes32[] proof)
removeRootUpdater
nonpayablefunction removeRootUpdater(address rootUpdater)
removeVeto
nonpayablefunction removeVeto(uint64 _epoch)
removeVetoManager
nonpayablefunction removeVetoManager(address vetoManager)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateRoot
nonpayablefunction updateRoot(uint64 _epoch, bytes32 _topRoot, uint256 _totalRewards)
vetoEpoch
nonpayablefunction vetoEpoch(uint64 _epoch)
events
EpochVetoed
event EpochVetoed(uint64 indexed epoch, address indexed vetoManager)
EpochVetoRemoved
event EpochVetoRemoved(uint64 indexed epoch, address indexed vetoManager)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RewardsClaimed
event RewardsClaimed(address indexed user, uint256 amount, uint256 cumulativeAmount)
RootUpdaterAdded
event RootUpdaterAdded(address indexed rootUpdater)
RootUpdaterRemoved
event RootUpdaterRemoved(address indexed rootUpdater)
TopRootUpdated
event TopRootUpdated(uint64 indexed epoch, bytes32 topRoot)
VetoManagerAdded
event VetoManagerAdded(address indexed vetoManager)
VetoManagerRemoved
event VetoManagerRemoved(address indexed vetoManager)
errors
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60a03461011f57601f610fba38819003918201601f19168301916001600160401b038311848410176101245780849260209460405283398101031261011f57516001600160a01b03811680820361011f5733156101095760008054336001600160a01b0319821681178355604051939290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3156100c75750608052604051610e7f908161013b82396080518181816101310152610ce10152f35b62461bcd60e51b815260206004820152601960248201527f7a65726f2072657761726420746f6b656e2061646472657373000000000000006044820152606490fd5b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c9081631b4fc38b14610a76575080631f887f24146106ce578063222efca5146103e55780632b8be27514610a0c578063372b102d146109cd578063375561d21461098e578063465cefe7146108b657806351aa68131461077957806367ff84f71461070e5780636a3e42d4146106ce5780636d88ec2c146105dd578063715018a6146105775780638122fe99146105105780638da5cb5b146104e9578063900cf0cf146104c15780639d910f2e1461045a578063a991957614610420578063b612f6f9146103e5578063df29a95c146102a5578063e71daab6146101f0578063f2fde38b1461015a5763f7c618c11461011157600080fd5b346101555760003660031901126101555760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b600080fd5b34610155576020366003190112610155576001600160a01b0361017b610aa8565b610183610bc9565b1680156101da576001600160a01b036000548273ffffffffffffffffffffffffffffffffffffffff19821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b631e4fbdf760e01b600052600060045260246000fd5b34610155576020366003190112610155576001600160a01b03610211610aa8565b610219610bc9565b168015610260578060005260026020526040600020600160ff198254161790557f620311dc1d6109494c56368ffb0f1d44ba726d2636479b8fa931fd5f88d04fc4600080a2005b60405162461bcd60e51b815260206004820152600c60248201527f7a65726f206164647265737300000000000000000000000000000000000000006044820152606490fd5b34610155576060366003190112610155576102be610a91565b33600052600160205260ff60406000205416156103a05767ffffffffffffffff1680600052600360205260ff6040600020541661035b578067ffffffffffffffff196004541617600455602435600555600052600760205260443560406000205567ffffffffffffffff600454167f67039b7f29c2d4367d3562c53c1d8bf1c9b99e22cb742b7a8c1c78940ae7cf666020600554604051908152a2005b60405162461bcd60e51b815260206004820152600f60248201527f65706f6368206973207665746f656400000000000000000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601a60248201527f6f6e6c7920726f6f7420757064617465727320616c6c6f7765640000000000006044820152606490fd5b346101555760203660031901126101555767ffffffffffffffff610407610a91565b1660005260076020526020604060002054604051908152f35b34610155576020366003190112610155576001600160a01b03610441610aa8565b1660005260066020526020604060002054604051908152f35b34610155576020366003190112610155576001600160a01b0361047b610aa8565b610483610bc9565b16806000526002602052604060002060ff1981541690557fa0076461d49e69155e1e0fac63d3b48efbb32a42ac17c9ecb11b2d9e5ca3b23e600080a2005b3461015557600036600319011261015557602067ffffffffffffffff60045416604051908152f35b346101555760003660031901126101555760206001600160a01b0360005416604051908152f35b34610155576020366003190112610155576001600160a01b03610531610aa8565b610539610bc9565b16806000526001602052604060002060ff1981541690557fbd880d6371280cfdf29171407a94db851a8408297f746898b4f4295706ce0b28600080a2005b3461015557600036600319011261015557610590610bc9565b60006001600160a01b03815473ffffffffffffffffffffffffffffffffffffffff1981168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610155576080366003190112610155576105f6610aa8565b60243567ffffffffffffffff811161015557610616903690600401610b4c565b916044359067ffffffffffffffff821682036101555760643567ffffffffffffffff81116101555761064c903690600401610b4c565b90946001810361068a5715610674576106729461066a913691610af6565b923591610bf2565b005b634e487b7160e01b600052603260045260246000fd5b606460405162461bcd60e51b815260206004820152602060248201527f696e76616c69642063756d756c6174697665416d6f756e7473206c656e6774686044820152fd5b346101555760203660031901126101555767ffffffffffffffff6106f0610a91565b166000526003602052602060ff604060002054166040519015158152f35b3461015557608036600319011261015557610727610a91565b6024356001600160a01b0381168103610155576064359167ffffffffffffffff831161015557366023840112156101555761076f610672933690602481600401359101610af6565b9160443591610bf2565b346101555760203660031901126101555767ffffffffffffffff61079b610a91565b3360005260026020526107b560ff60406000205416610b7d565b1680600052600360205260ff604060002054166108715767ffffffffffffffff60045416811115610822578060005260036020526040600020600160ff1982541617905533907f8aa38066cd6668c9ec4669d16c7eae97d4165b3700232d4c770e9b9c3f13ad58600080a3005b60405162461bcd60e51b815260206004820152602160248201527f63616e6e6f74207665746f2070617374206f722063757272656e742065706f636044820152600d60fb1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601460248201527f65706f636820616c7265616479207665746f65640000000000000000000000006044820152606490fd5b346101555760203660031901126101555767ffffffffffffffff6108d8610a91565b3360005260026020526108f260ff60406000205416610b7d565b1680600052600360205260ff604060002054161561094957806000526003602052604060002060ff19815416905533907fcfa36f8f02a35304d4e912bdbc3e592c13f19402b89ad5133d40986950cf4dee600080a3005b60405162461bcd60e51b815260206004820152601360248201527f65706f6368206973206e6f74207665746f6564000000000000000000000000006044820152606490fd5b34610155576020366003190112610155576001600160a01b036109af610aa8565b166000526002602052602060ff604060002054166040519015158152f35b34610155576020366003190112610155576001600160a01b036109ee610aa8565b166000526001602052602060ff604060002054166040519015158152f35b34610155576020366003190112610155576001600160a01b03610a2d610aa8565b610a35610bc9565b168060005260016020526040600020600160ff198254161790557f8827f9b6e9692510361272fd9d33d9cb13917c057e046fd71de5446103f21fb1600080a2005b34610155576000366003190112610155576020906005548152f35b6004359067ffffffffffffffff8216820361015557565b600435906001600160a01b038216820361015557565b90601f8019910116810190811067ffffffffffffffff821117610ae057604052565b634e487b7160e01b600052604160045260246000fd5b9291909267ffffffffffffffff8411610ae0578360051b906020604051610b1f82850182610abe565b809681520191810192831161015557905b828210610b3c57505050565b8135815260209182019101610b30565b9181601f840112156101555782359167ffffffffffffffff8311610155576020808501948460051b01011161015557565b15610b8457565b60405162461bcd60e51b815260206004820152601a60248201527f6f6e6c79207665746f206d616e616765727320616c6c6f7765640000000000006044820152606490fd5b6001600160a01b03600054163303610bdd57565b63118cdaa760e01b6000523360045260246000fd5b9390929367ffffffffffffffff8060045416911603610e045760405160208101906001600160a01b038516946bffffffffffffffffffffffff199060601b16825283603482015260348152610c48605482610abe565b5190209260055493926000935b8651851015610c9657604060019160009060208860051b8b01015190818110600014610c8a578252602052205b940193610c55565b90825260205220610c82565b9194929550925003610dbf57816000526006602052604060002054810390808211610da9578260005260066020526040600020805490838201809211610da957556001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016602060006040518281019063a9059cbb60e01b825287602482015286604482015260448152610d31606482610abe565b519082855af115610d9d576000513d610d945750803b155b610d8057507fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e3259160409182519182526020820152a2565b635274afe760e01b60005260045260246000fd5b60011415610d49565b6040513d6000823e3d90fd5b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601360248201527f766572696669636174696f6e206661696c6564000000000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201527f696e76616c69642065706f6368000000000000000000000000000000000000006044820152606490fdfea264697066735822122027429220df5230fb9e6bbb7699f8a117b510191dfc9ceb19142a4a8141900f3864736f6c634300081c003300000000000000000000000073a15fed60bf67631dc6cd7bc5b6e8da8190acf5