0 txs
162 calls
constructor
No constructor.
functions
claimedReward
viewfunction claimedReward(address userAddress) view returns (uint256)
claimedReward
viewfunction claimedReward(uint256 index, address userAddress) view returns (uint256)
erc20RewardToken
viewfunction erc20RewardToken() view returns (address)
FEATURE_CLAIM_ACTIVE
viewfunction FEATURE_CLAIM_ACTIVE() view returns (uint32)
features
viewfunction features() view returns (uint256)
getImplementation
viewfunction getImplementation() view returns (address)
getRole
viewfunction getRole(address operator) view returns (uint256)
isClaimValid
viewfunction isClaimValid(address _to, uint256 _totalReward, bytes32[] _proof) view returns (bool)
isEthRewardSystem
viewfunction isEthRewardSystem() view returns (bool)
isFeatureEnabled
viewfunction isFeatureEnabled(uint256 required) view returns (bool)
isOperatorInRole
viewfunction isOperatorInRole(address operator, uint256 required) view returns (bool)
isSenderInRole
viewfunction isSenderInRole(uint256 required) view returns (bool)
ROLE_ACCESS_MANAGER
viewfunction ROLE_ACCESS_MANAGER() view returns (uint256)
ROLE_DATA_ROOT_MANAGER
viewfunction ROLE_DATA_ROOT_MANAGER() view returns (uint32)
ROLE_UPGRADE_MANAGER
viewfunction ROLE_UPGRADE_MANAGER() view returns (uint256)
root
viewfunction root() view returns (bytes32)
totalClaimedReward
viewfunction totalClaimedReward() view returns (uint256)
claimReward
nonpayablefunction claimReward(address _to, uint256 _totalReward, bytes32[] _proof)
postConstruct
nonpayablefunction postConstruct(address _erc20RewardToken)
resetClaimedRewards
nonpayablefunction resetClaimedRewards()
setInputDataRoot
nonpayablefunction setInputDataRoot(bytes32 _root)
updateFeatures
nonpayablefunction updateFeatures(uint256 _mask)
updateRole
nonpayablefunction updateRole(address operator, uint256 role)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
ClaimedRewardsReset
event ClaimedRewardsReset(uint256 size)
ERC20RewardClaimed
event ERC20RewardClaimed(address indexed rewardToken, address indexed user, uint256 amount)
EthRewardClaimed
event EthRewardClaimed(address indexed user, uint256 amount)
PaymentReceived
event PaymentReceived(uint256 value)
RoleUpdated
event RoleUpdated(address indexed operator, uint256 requested, uint256 assigned)
RootChanged
event RootChanged(address indexed by, bytes32 root)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a06040523060805234801561001457600080fd5b50600054610100900460ff166100305760005460ff1615610034565b303b155b61009b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b600054610100900460ff161580156100bd576000805461ffff19166101011790555b80156100cf576000805461ff00191690555b506080516116fb6101006000396000818161088a015281816108ca015281816109de0152610a1e01526116fb6000f3fe60806040526004361061016a5760003560e01c806391d29f35116100d1578063c688d6931161008a578063e84adccd11610064578063e84adccd146104c8578063ebf0c717146104df578063f51b07ed146104f5578063fcc2c0781461051557600080fd5b8063c688d69314610468578063d10c267114610488578063d5bb7f67146104a857600080fd5b806391d29f35146103a2578063aaf10f42146103c1578063ae5b102e146103ee578063ae60bda41461040e578063ae682e2e14610426578063bd3e01d11461043e57600080fd5b8063442767331161012357806344276733146102d35780634e9a7eaa146103095780634f1ef286146103295780634fbdea4d1461033c5780636f8a751314610352578063725f36261461037257600080fd5b806309823cde146102075780631e6f3d8a146102295780632b5214161461025c57806331576ad51461027e5780633659cfe61461029e5780633ed8c380146102be57600080fd5b36610202576099546001600160a01b0316156101cd5760405162461bcd60e51b815260206004820152601a60248201527f455448207061796d656e7473206e6f7420737570706f7274656400000000000060448201526064015b60405180910390fd5b6040513481527f1a07f76ee25d689f09f51951e5b4594bb2e440b7935111a41ba06afeb50ff0149060200160405180910390a1005b600080fd5b34801561021357600080fd5b5061022761022236600461134c565b610535565b005b34801561023557600080fd5b506102496102443660046113a5565b61076f565b6040519081526020015b60405180910390f35b34801561026857600080fd5b5030600090815260016020526040902054610249565b34801561028a57600080fd5b506102276102993660046113a5565b610796565b3480156102aa57600080fd5b506102276102b93660046113a5565b610880565b3480156102ca57600080fd5b50610227610948565b3480156102df57600080fd5b506102496102ee3660046113a5565b6001600160a01b031660009081526001602052604090205490565b34801561031557600080fd5b506102496103243660046113c2565b610997565b6102276103373660046113f2565b6109d4565b34801561034857600080fd5b50610249609a5481565b34801561035e57600080fd5b5061022761036d36600461149a565b610a89565b34801561037e57600080fd5b5061039261038d36600461149a565b610aee565b6040519015158152602001610253565b3480156103ae57600080fd5b506099546001600160a01b031615610392565b3480156103cd57600080fd5b506103d6610b0a565b6040516001600160a01b039091168152602001610253565b3480156103fa57600080fd5b506102276104093660046114b3565b610b14565b34801561041a57600080fd5b50610249600160fe1b81565b34801561043257600080fd5b50610249600160ff1b81565b34801561044a57600080fd5b50610453600181565b60405163ffffffff9091168152602001610253565b34801561047457600080fd5b506103926104833660046114b3565b610b99565b34801561049457600080fd5b506103926104a336600461134c565b610bc2565b3480156104b457600080fd5b506102276104c336600461149a565b610c25565b3480156104d457600080fd5b506104536201000081565b3480156104eb57600080fd5b5061024960975481565b34801561050157600080fd5b506099546103d6906001600160a01b031681565b34801561052157600080fd5b5061039261053036600461149a565b610c2f565b61053f6001610aee565b6105825760405162461bcd60e51b81526020600482015260146024820152731c995919595b5cc8185c9948191a5cd8589b195960621b60448201526064016101c4565b61058d838383610bc2565b6105cb5760405162461bcd60e51b815260206004820152600f60248201526e1a5b9d985b1a59081c995c5d595cdd608a1b60448201526064016101c4565b60006105d68461076f565b905082811061061a5760405162461bcd60e51b815260206004820152601060248201526f6e6f7468696e6720746f20636c61696d60801b60448201526064016101c4565b600061062682856114f5565b90506106328585610c3b565b80609a60008282546106449190611508565b90915550506099546001600160a01b03166106ab576106638582610c55565b846001600160a01b03167f4aa8284851f048567f1f61cfbb9af3b050a0fd5455f01c5de8416ca0564f20a38260405161069e91815260200190565b60405180910390a2610768565b60995460405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af11580156106fe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610722919061151b565b506099546040518281526001600160a01b038781169216907f617dc33bfe6c05895429aa10442ff5716e0040e90d0c04faa92ced6a4d0ae7879060200160405180910390a35b5050505050565b60985460009061078b90610785906001906114f5565b83610997565b92915050565b905090565b600054610100900460ff166107b15760005460ff16156107b5565b303b155b6108185760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016101c4565b600054610100900460ff1615801561083a576000805461ffff19166101011790555b61084333610ca2565b609980546001600160a01b0319166001600160a01b038416179055609880546001018155600052801561087c576000805461ff00191690555b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036108c85760405162461bcd60e51b81526004016101c49061153d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fa610d1a565b6001600160a01b0316146109205760405162461bcd60e51b81526004016101c490611589565b61092981610d48565b6040805160008082526020820190925261094591839190610d71565b50565b6109526000610a89565b609880546001018082556000919091526040519081527f09eb4c679ddc7119ef3a2af25b14eafc47472cb5e39ef3d1042ad650c659238a9060200160405180910390a1565b6000609883815481106109ac576109ac6115d5565b600091825260208083206001600160a01b038616845290910190526040902054905092915050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a1c5760405162461bcd60e51b81526004016101c49061153d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a4e610d1a565b6001600160a01b031614610a745760405162461bcd60e51b81526004016101c490611589565b610a7d82610d48565b61087c82826001610d71565b610a9562010000610c2f565b610ab15760405162461bcd60e51b81526004016101c4906115eb565b609781905560405181815233907f714dceb37ab5c7fb26ab805d3dc0423f5d90c3dac9f6702a2ea1402ea847851c9060200160405180910390a250565b3060009081526001602052604081205461078b905b8316831490565b6000610791610d1a565b610b21600160ff1b610c2f565b610b3d5760405162461bcd60e51b81526004016101c4906115eb565b61087c8282610b9433610b65876001600160a01b031660009081526001602052604090205490565b6001600160a01b0391909116600090815260016020526040902054600019808818821618908716919091171690565b610eb5565b6001600160a01b038216600090815260016020526040812054610bbb90610b03565b9392505050565b6040516bffffffffffffffffffffffff19606085901b166020820152603481018390526000908190605401604051602081830303815290604052805190602001209050610c1c6097548285610f0f9092919063ffffffff16565b95945050505050565b6109453082610b14565b600061078b3383610b99565b60985461087c90610c4e906001906114f5565b8383610f25565b610c5f8282610f62565b61087c5760405162461bcd60e51b81526020600482015260146024820152733330b4b632b2103a379039b2b7321032ba3432b960611b60448201526064016101c4565b600054610100900460ff16610d0d5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016101c4565b6109458160001980610eb5565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b610d55600160fe1b610c2f565b6109455760405162461bcd60e51b81526004016101c4906115eb565b6000610d7b610d1a565b9050610d8684610fc4565b600083511180610d935750815b15610da457610da28484611069565b505b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143805460ff1661076857805460ff191660011781556040516001600160a01b0383166024820152610e2390869060440160408051601f198184030181529190526020810180516001600160e01b0316631b2ce7f360e11b179052611069565b50805460ff19168155610e34610d1a565b6001600160a01b0316826001600160a01b031614610eac5760405162461bcd60e51b815260206004820152602f60248201527f45524331393637557067726164653a207570677261646520627265616b73206660448201526e75727468657220757067726164657360881b60648201526084016101c4565b6107688561114b565b6001600160a01b03831660008181526001602090815260409182902084905581518581529081018490527fe9be537308880e0f56b7d7cfd7abf85f14c4934486d138f848b92a0cbaf659b4910160405180910390a2505050565b600082610f1c858461118b565b14949350505050565b8060988481548110610f3957610f396115d5565b600091825260208083206001600160a01b03909616835294019093526040909220919091555050565b600080836001600160a01b031661132484604051600060405180830381858888f193505050503d8060008114610fb4576040519150601f19603f3d011682016040523d82523d6000602084013e610fb9565b606091505b509095945050505050565b803b6110285760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016101c4565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060823b6110c85760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016101c4565b600080846001600160a01b0316846040516110e39190611636565b600060405180830381855af49150503d806000811461111e576040519150601f19603f3d011682016040523d82523d6000602084013e611123565b606091505b5091509150610c1c828260405180606001604052806027815260200161169f60279139611237565b61115481610fc4565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b600081815b845181101561122f5760008582815181106111ad576111ad6115d5565b602002602001015190508083116111ef57604080516020810185905290810182905260600160405160208183030381529060405280519060200120925061121c565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b508061122781611652565b915050611190565b509392505050565b60608315611246575081610bbb565b8251156112565782518084602001fd5b8160405162461bcd60e51b81526004016101c4919061166b565b6001600160a01b038116811461094557600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156112c4576112c4611285565b604052919050565b600082601f8301126112dd57600080fd5b8135602067ffffffffffffffff8211156112f9576112f9611285565b8160051b61130882820161129b565b928352848101820192828101908785111561132257600080fd5b83870192505b8483101561134157823582529183019190830190611328565b979650505050505050565b60008060006060848603121561136157600080fd5b833561136c81611270565b925060208401359150604084013567ffffffffffffffff81111561138f57600080fd5b61139b868287016112cc565b9150509250925092565b6000602082840312156113b757600080fd5b8135610bbb81611270565b600080604083850312156113d557600080fd5b8235915060208301356113e781611270565b809150509250929050565b6000806040838503121561140557600080fd5b823561141081611270565b915060208381013567ffffffffffffffff8082111561142e57600080fd5b818601915086601f83011261144257600080fd5b81358181111561145457611454611285565b611466601f8201601f1916850161129b565b9150808252878482850101111561147c57600080fd5b80848401858401376000848284010152508093505050509250929050565b6000602082840312156114ac57600080fd5b5035919050565b600080604083850312156114c657600080fd5b82356114d181611270565b946020939093013593505050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561078b5761078b6114df565b8082018082111561078b5761078b6114df565b60006020828403121561152d57600080fd5b81518015158114610bbb57600080fd5b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b6020808252600d908201526c1858d8d95cdcc819195b9a5959609a1b604082015260600190565b60005b8381101561162d578181015183820152602001611615565b50506000910152565b60008251611648818460208701611612565b9190910192915050565b600060018201611664576116646114df565b5060010190565b602081526000825180602084015261168a816040850160208701611612565b601f01601f1916919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208d8853e459810c173c3468a00e3afab1171b1c64a8757e6c865a3351f41663d564736f6c63430008140033