{"abi":[{"type":"function","name":"CALCULATION_INTERVAL_SECONDS","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"GENESIS_REWARDS_TIMESTAMP","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_FUTURE_LENGTH","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_RETROACTIVE_LENGTH","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"MAX_REWARDS_DURATION","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"activationDelay","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"calculateEarnerLeafHash","inputs":[{"name":"leaf","type":"tuple","internalType":"struct IRewardsCoordinator.EarnerTreeMerkleLeaf","components":[{"name":"earner","type":"address","internalType":"address"},{"name":"earnerTokenRoot","type":"bytes32","internalType":"bytes32"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"calculateTokenLeafHash","inputs":[{"name":"leaf","type":"tuple","internalType":"struct IRewardsCoordinator.TokenTreeMerkleLeaf","components":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"cumulativeEarnings","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"checkClaim","inputs":[{"name":"claim","type":"tuple","internalType":"struct IRewardsCoordinator.RewardsMerkleClaim","components":[{"name":"rootIndex","type":"uint32","internalType":"uint32"},{"name":"earnerIndex","type":"uint32","internalType":"uint32"},{"name":"earnerTreeProof","type":"bytes","internalType":"bytes"},{"name":"earnerLeaf","type":"tuple","internalType":"struct IRewardsCoordinator.EarnerTreeMerkleLeaf","components":[{"name":"earner","type":"address","internalType":"address"},{"name":"earnerTokenRoot","type":"bytes32","internalType":"bytes32"}]},{"name":"tokenIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"tokenTreeProofs","type":"bytes[]","internalType":"bytes[]"},{"name":"tokenLeaves","type":"tuple[]","internalType":"struct IRewardsCoordinator.TokenTreeMerkleLeaf[]","components":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"cumulativeEarnings","type":"uint256","internalType":"uint256"}]}]}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"claimerFor","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"createAVSRewardsSubmission","inputs":[{"name":"rewardsSubmissions","type":"tuple[]","internalType":"struct IRewardsCoordinator.RewardsSubmission[]","components":[{"name":"strategiesAndMultipliers","type":"tuple[]","internalType":"struct IRewardsCoordinator.StrategyAndMultiplier[]","components":[{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"multiplier","type":"uint96","internalType":"uint96"}]},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"startTimestamp","type":"uint32","internalType":"uint32"},{"name":"duration","type":"uint32","internalType":"uint32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createRewardsForAllSubmission","inputs":[{"name":"rewardsSubmission","type":"tuple[]","internalType":"struct IRewardsCoordinator.RewardsSubmission[]","components":[{"name":"strategiesAndMultipliers","type":"tuple[]","internalType":"struct IRewardsCoordinator.StrategyAndMultiplier[]","components":[{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"multiplier","type":"uint96","internalType":"uint96"}]},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"startTimestamp","type":"uint32","internalType":"uint32"},{"name":"duration","type":"uint32","internalType":"uint32"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cumulativeClaimed","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"contract IERC20"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currRewardsCalculationEndTimestamp","inputs":[],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"delegationManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IDelegationManager"}],"stateMutability":"view"},{"type":"function","name":"disableRoot","inputs":[{"name":"rootIndex","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getCurrentDistributionRoot","inputs":[],"outputs":[{"name":"","type":"tuple","internalType":"struct IRewardsCoordinator.DistributionRoot","components":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"rewardsCalculationEndTimestamp","type":"uint32","internalType":"uint32"},{"name":"activatedAt","type":"uint32","internalType":"uint32"},{"name":"disabled","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getDistributionRootAtIndex","inputs":[{"name":"index","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IRewardsCoordinator.DistributionRoot","components":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"rewardsCalculationEndTimestamp","type":"uint32","internalType":"uint32"},{"name":"activatedAt","type":"uint32","internalType":"uint32"},{"name":"disabled","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"getDistributionRootsLength","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRootIndexFromHash","inputs":[{"name":"rootHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"globalOperatorCommissionBips","inputs":[],"outputs":[{"name":"","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"isAVSRewardsSubmissionHash","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isRewardsForAllSubmitter","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isRewardsSubmissionForAllHash","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"operatorCommissionBips","inputs":[{"name":"operator","type":"address","internalType":"address"},{"name":"avs","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"processClaim","inputs":[{"name":"claim","type":"tuple","internalType":"struct IRewardsCoordinator.RewardsMerkleClaim","components":[{"name":"rootIndex","type":"uint32","internalType":"uint32"},{"name":"earnerIndex","type":"uint32","internalType":"uint32"},{"name":"earnerTreeProof","type":"bytes","internalType":"bytes"},{"name":"earnerLeaf","type":"tuple","internalType":"struct IRewardsCoordinator.EarnerTreeMerkleLeaf","components":[{"name":"earner","type":"address","internalType":"address"},{"name":"earnerTokenRoot","type":"bytes32","internalType":"bytes32"}]},{"name":"tokenIndices","type":"uint32[]","internalType":"uint32[]"},{"name":"tokenTreeProofs","type":"bytes[]","internalType":"bytes[]"},{"name":"tokenLeaves","type":"tuple[]","internalType":"struct IRewardsCoordinator.TokenTreeMerkleLeaf[]","components":[{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"cumulativeEarnings","type":"uint256","internalType":"uint256"}]}]},{"name":"recipient","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rewardsUpdater","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"setActivationDelay","inputs":[{"name":"_activationDelay","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setClaimerFor","inputs":[{"name":"claimer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setGlobalOperatorCommission","inputs":[{"name":"_globalCommissionBips","type":"uint16","internalType":"uint16"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRewardsForAllSubmitter","inputs":[{"name":"_submitter","type":"address","internalType":"address"},{"name":"_newValue","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setRewardsUpdater","inputs":[{"name":"_rewardsUpdater","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"strategyManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IStrategyManager"}],"stateMutability":"view"},{"type":"function","name":"submissionNonce","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"submitRoot","inputs":[{"name":"root","type":"bytes32","internalType":"bytes32"},{"name":"rewardsCalculationEndTimestamp","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AVSRewardsSubmissionCreated","inputs":[{"name":"avs","type":"address","indexed":true,"internalType":"address"},{"name":"submissionNonce","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"rewardsSubmissionHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"rewardsSubmission","type":"tuple","indexed":false,"internalType":"struct IRewardsCoordinator.RewardsSubmission","components":[{"name":"strategiesAndMultipliers","type":"tuple[]","internalType":"struct IRewardsCoordinator.StrategyAndMultiplier[]","components":[{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"multiplier","type":"uint96","internalType":"uint96"}]},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"startTimestamp","type":"uint32","internalType":"uint32"},{"name":"duration","type":"uint32","internalType":"uint32"}]}],"anonymous":false},{"type":"event","name":"ActivationDelaySet","inputs":[{"name":"oldActivationDelay","type":"uint32","indexed":false,"internalType":"uint32"},{"name":"newActivationDelay","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"ClaimerForSet","inputs":[{"name":"earner","type":"address","indexed":true,"internalType":"address"},{"name":"oldClaimer","type":"address","indexed":true,"internalType":"address"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DistributionRootDisabled","inputs":[{"name":"rootIndex","type":"uint32","indexed":true,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"DistributionRootSubmitted","inputs":[{"name":"rootIndex","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"root","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"rewardsCalculationEndTimestamp","type":"uint32","indexed":true,"internalType":"uint32"},{"name":"activatedAt","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"GlobalCommissionBipsSet","inputs":[{"name":"oldGlobalCommissionBips","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"newGlobalCommissionBips","type":"uint16","indexed":false,"internalType":"uint16"}],"anonymous":false},{"type":"event","name":"RewardsClaimed","inputs":[{"name":"root","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"earner","type":"address","indexed":true,"internalType":"address"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"token","type":"address","indexed":false,"internalType":"contract IERC20"},{"name":"claimedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RewardsForAllSubmitterSet","inputs":[{"name":"rewardsForAllSubmitter","type":"address","indexed":true,"internalType":"address"},{"name":"oldValue","type":"bool","indexed":true,"internalType":"bool"},{"name":"newValue","type":"bool","indexed":true,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"RewardsSubmissionForAllCreated","inputs":[{"name":"submitter","type":"address","indexed":true,"internalType":"address"},{"name":"submissionNonce","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"rewardsSubmissionHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"rewardsSubmission","type":"tuple","indexed":false,"internalType":"struct IRewardsCoordinator.RewardsSubmission","components":[{"name":"strategiesAndMultipliers","type":"tuple[]","internalType":"struct IRewardsCoordinator.StrategyAndMultiplier[]","components":[{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"multiplier","type":"uint96","internalType":"uint96"}]},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"startTimestamp","type":"uint32","internalType":"uint32"},{"name":"duration","type":"uint32","internalType":"uint32"}]}],"anonymous":false},{"type":"event","name":"RewardsUpdaterSet","inputs":[{"name":"oldRewardsUpdater","type":"address","indexed":true,"internalType":"address"},{"name":"newRewardsUpdater","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"CALCULATION_INTERVAL_SECONDS()":"9d45c281","GENESIS_REWARDS_TIMESTAMP()":"131433b4","MAX_FUTURE_LENGTH()":"04a0c502","MAX_RETROACTIVE_LENGTH()":"37838ed0","MAX_REWARDS_DURATION()":"bf21a8aa","activationDelay()":"3a8c0786","calculateEarnerLeafHash((address,bytes32))":"149bc872","calculateTokenLeafHash((address,uint256))":"f8cd8448","checkClaim((uint32,uint32,bytes,(address,bytes32),uint32[],bytes[],(address,uint256)[]))":"5e9d8348","claimerFor(address)":"2b9f64a4","createAVSRewardsSubmission(((address,uint96)[],address,uint256,uint32,uint32)[])":"fce36c7d","createRewardsForAllSubmission(((address,uint96)[],address,uint256,uint32,uint32)[])":"36af41fa","cumulativeClaimed(address,address)":"865c6953","currRewardsCalculationEndTimestamp()":"4d18cc35","delegationManager()":"ea4d3c9b","disableRoot(uint32)":"f96abf2e","getCurrentDistributionRoot()":"9be3d4e4","getDistributionRootAtIndex(uint256)":"de02e503","getDistributionRootsLength()":"7b8f8b05","getRootIndexFromHash(bytes32)":"e810ce21","globalOperatorCommissionBips()":"092db007","isAVSRewardsSubmissionHash(address,bytes32)":"6d21117e","isRewardsForAllSubmitter(address)":"0018572c","isRewardsSubmissionForAllHash(address,bytes32)":"c46db606","operatorCommissionBips(address,address)":"22f19a64","processClaim((uint32,uint32,bytes,(address,bytes32),uint32[],bytes[],(address,uint256)[]),address)":"3ccc861d","rewardsUpdater()":"fbf1e2c1","setActivationDelay(uint32)":"58baaa3e","setClaimerFor(address)":"a0169ddd","setGlobalOperatorCommission(uint16)":"e221b245","setRewardsForAllSubmitter(address,bool)":"0eb38345","setRewardsUpdater(address)":"863cb9a9","strategyManager()":"39b70e38","submissionNonce(address)":"bb7e451f","submitRoot(bytes32,uint32)":"3efe1db6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"avs\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"submissionNonce\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"rewardsSubmissionHash\",\"type\":\"bytes32\"},{\"components\":[{\"components\":[{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"multiplier\",\"type\":\"uint96\"}],\"internalType\":\"struct IRewardsCoordinator.StrategyAndMultiplier[]\",\"name\":\"strategiesAndMultipliers\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"startTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"}],\"indexed\":false,\"internalType\":\"struct IRewardsCoordinator.RewardsSubmission\",\"name\":\"rewardsSubmission\",\"type\":\"tuple\"}],\"name\":\"AVSRewardsSubmissionCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"oldActivationDelay\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"newActivationDelay\",\"type\":\"uint32\"}],\"name\":\"ActivationDelaySet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"earner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldClaimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"}],\"name\":\"ClaimerForSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rootIndex\",\"type\":\"uint32\"}],\"name\":\"DistributionRootDisabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rootIndex\",\"type\":\"uint32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"rewardsCalculationEndTimestamp\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"activatedAt\",\"type\":\"uint32\"}],\"name\":\"DistributionRootSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"oldGlobalCommissionBips\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"newGlobalCommissionBips\",\"type\":\"uint16\"}],\"name\":\"GlobalCommissionBipsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"earner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimedAmount\",\"type\":\"uint256\"}],\"name\":\"RewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardsForAllSubmitter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"oldValue\",\"type\":\"bool\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"newValue\",\"type\":\"bool\"}],\"name\":\"RewardsForAllSubmitterSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"submitter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"submissionNonce\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"rewardsSubmissionHash\",\"type\":\"bytes32\"},{\"components\":[{\"components\":[{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"multiplier\",\"type\":\"uint96\"}],\"internalType\":\"struct IRewardsCoordinator.StrategyAndMultiplier[]\",\"name\":\"strategiesAndMultipliers\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"startTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"}],\"indexed\":false,\"internalType\":\"struct IRewardsCoordinator.RewardsSubmission\",\"name\":\"rewardsSubmission\",\"type\":\"tuple\"}],\"name\":\"RewardsSubmissionForAllCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oldRewardsUpdater\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newRewardsUpdater\",\"type\":\"address\"}],\"name\":\"RewardsUpdaterSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CALCULATION_INTERVAL_SECONDS\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GENESIS_REWARDS_TIMESTAMP\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_FUTURE_LENGTH\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_RETROACTIVE_LENGTH\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MAX_REWARDS_DURATION\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activationDelay\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"earner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"earnerTokenRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IRewardsCoordinator.EarnerTreeMerkleLeaf\",\"name\":\"leaf\",\"type\":\"tuple\"}],\"name\":\"calculateEarnerLeafHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"cumulativeEarnings\",\"type\":\"uint256\"}],\"internalType\":\"struct IRewardsCoordinator.TokenTreeMerkleLeaf\",\"name\":\"leaf\",\"type\":\"tuple\"}],\"name\":\"calculateTokenLeafHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"rootIndex\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"earnerIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"earnerTreeProof\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"earner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"earnerTokenRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IRewardsCoordinator.EarnerTreeMerkleLeaf\",\"name\":\"earnerLeaf\",\"type\":\"tuple\"},{\"internalType\":\"uint32[]\",\"name\":\"tokenIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"tokenTreeProofs\",\"type\":\"bytes[]\"},{\"components\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"cumulativeEarnings\",\"type\":\"uint256\"}],\"internalType\":\"struct IRewardsCoordinator.TokenTreeMerkleLeaf[]\",\"name\":\"tokenLeaves\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IRewardsCoordinator.RewardsMerkleClaim\",\"name\":\"claim\",\"type\":\"tuple\"}],\"name\":\"checkClaim\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimerFor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"multiplier\",\"type\":\"uint96\"}],\"internalType\":\"struct IRewardsCoordinator.StrategyAndMultiplier[]\",\"name\":\"strategiesAndMultipliers\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"startTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"}],\"internalType\":\"struct IRewardsCoordinator.RewardsSubmission[]\",\"name\":\"rewardsSubmissions\",\"type\":\"tuple[]\"}],\"name\":\"createAVSRewardsSubmission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"uint96\",\"name\":\"multiplier\",\"type\":\"uint96\"}],\"internalType\":\"struct IRewardsCoordinator.StrategyAndMultiplier[]\",\"name\":\"strategiesAndMultipliers\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"startTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"}],\"internalType\":\"struct IRewardsCoordinator.RewardsSubmission[]\",\"name\":\"rewardsSubmission\",\"type\":\"tuple[]\"}],\"name\":\"createRewardsForAllSubmission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"cumulativeClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currRewardsCalculationEndTimestamp\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegationManager\",\"outputs\":[{\"internalType\":\"contract IDelegationManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"rootIndex\",\"type\":\"uint32\"}],\"name\":\"disableRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentDistributionRoot\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"rewardsCalculationEndTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"activatedAt\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"internalType\":\"struct IRewardsCoordinator.DistributionRoot\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getDistributionRootAtIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"rewardsCalculationEndTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"activatedAt\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"disabled\",\"type\":\"bool\"}],\"internalType\":\"struct IRewardsCoordinator.DistributionRoot\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDistributionRootsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"rootHash\",\"type\":\"bytes32\"}],\"name\":\"getRootIndexFromHash\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"globalOperatorCommissionBips\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isAVSRewardsSubmissionHash\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isRewardsForAllSubmitter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isRewardsSubmissionForAllHash\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"avs\",\"type\":\"address\"}],\"name\":\"operatorCommissionBips\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"rootIndex\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"earnerIndex\",\"type\":\"uint32\"},{\"internalType\":\"bytes\",\"name\":\"earnerTreeProof\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"earner\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"earnerTokenRoot\",\"type\":\"bytes32\"}],\"internalType\":\"struct IRewardsCoordinator.EarnerTreeMerkleLeaf\",\"name\":\"earnerLeaf\",\"type\":\"tuple\"},{\"internalType\":\"uint32[]\",\"name\":\"tokenIndices\",\"type\":\"uint32[]\"},{\"internalType\":\"bytes[]\",\"name\":\"tokenTreeProofs\",\"type\":\"bytes[]\"},{\"components\":[{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"cumulativeEarnings\",\"type\":\"uint256\"}],\"internalType\":\"struct IRewardsCoordinator.TokenTreeMerkleLeaf[]\",\"name\":\"tokenLeaves\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IRewardsCoordinator.RewardsMerkleClaim\",\"name\":\"claim\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"processClaim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rewardsUpdater\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_activationDelay\",\"type\":\"uint32\"}],\"name\":\"setActivationDelay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"}],\"name\":\"setClaimerFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_globalCommissionBips\",\"type\":\"uint16\"}],\"name\":\"setGlobalOperatorCommission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_submitter\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_newValue\",\"type\":\"bool\"}],\"name\":\"setRewardsForAllSubmitter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardsUpdater\",\"type\":\"address\"}],\"name\":\"setRewardsUpdater\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyManager\",\"outputs\":[{\"internalType\":\"contract IStrategyManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"submissionNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"root\",\"type\":\"bytes32\"},{\"internalType\":\"uint32\",\"name\":\"rewardsCalculationEndTimestamp\",\"type\":\"uint32\"}],\"name\":\"submitRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Layr Labs, Inc.\",\"kind\":\"dev\",\"methods\":{\"createAVSRewardsSubmission(((address,uint96)[],address,uint256,uint32,uint32)[])\":{\"details\":\"Expected to be called by the ServiceManager of the AVS on behalf of which the submission is being madeThe duration of the `rewardsSubmission` cannot exceed `MAX_REWARDS_DURATION`The tokens are sent to the `RewardsCoordinator` contractStrategies must be in ascending order of addresses to check for duplicatesThis function will revert if the `rewardsSubmission` is malformed, e.g. if the `strategies` and `weights` arrays are of non-equal lengths\",\"params\":{\"rewardsSubmissions\":\"The rewards submissions being created\"}},\"disableRoot(uint32)\":{\"params\":{\"rootIndex\":\"The index of the root to be disabled\"}},\"processClaim((uint32,uint32,bytes,(address,bytes32),uint32[],bytes[],(address,uint256)[]),address)\":{\"details\":\"only callable by the valid claimer, that is if claimerFor[claim.earner] is address(0) then only the earner can claim, otherwise only claimerFor[claim.earner] can claim the rewards.\",\"params\":{\"claim\":\"The RewardsMerkleClaim to be processed. Contains the root index, earner, token leaves, and required proofs\",\"recipient\":\"The address recipient that receives the ERC20 rewards\"}},\"setActivationDelay(uint32)\":{\"details\":\"Only callable by the contract owner\",\"params\":{\"_activationDelay\":\"Delay in timestamp (seconds) before a posted root can be claimed against\"}},\"setClaimerFor(address)\":{\"details\":\"Only callable by the `earner`\",\"params\":{\"claimer\":\"The address of the entity that can claim rewards on behalf of the earner\"}},\"setGlobalOperatorCommission(uint16)\":{\"details\":\"Only callable by the contract owner\",\"params\":{\"_globalCommissionBips\":\"The commission for all operators across all avss\"}},\"setRewardsForAllSubmitter(address,bool)\":{\"details\":\"Only callable by the contract owner\",\"params\":{\"_newValue\":\"The new value for isRewardsForAllSubmitter\",\"_submitter\":\"The address of the rewardsForAllSubmitter\"}},\"setRewardsUpdater(address)\":{\"details\":\"Only callable by the contract owner\"},\"submitRoot(bytes32,uint32)\":{\"details\":\"Only callable by the rewardsUpdater\",\"params\":{\"rewardsCalculationEndTimestamp\":\"The timestamp (seconds) until which rewards have been calculated\",\"root\":\"The merkle root of the distribution\"}}},\"stateVariables\":{\"CALCULATION_INTERVAL_SECONDS\":{\"details\":\"RewardsSubmission durations must be multiples of this interval. This is going to be configured to 1 week\"},\"_DOMAIN_SEPARATOR\":{\"details\":\"The domain separator may change in the event of a fork that modifies the ChainID. Use the getter function `domainSeparator` to get the current domain separator for this contract.\"},\"__gap\":{\"details\":\"This empty reserved space is put in place to allow future versions to add new variables without shifting down storage in the inheritance chain. See https://docs.openzeppelin.com/contracts/4.x/upgradeable#storage_gaps\"},\"_distributionRoots\":{\"details\":\"Array is internal with an external getter so we can return a `DistributionRoot[] memory` object\"}},\"title\":\"Storage variables for the `RewardsCoordinator` contract.\",\"version\":1},\"userdoc\":{\"events\":{\"AVSRewardsSubmissionCreated(address,uint256,bytes32,((address,uint96)[],address,uint256,uint32,uint32))\":{\"notice\":\"emitted when an AVS creates a valid RewardsSubmission\"},\"DistributionRootSubmitted(uint32,bytes32,uint32,uint32)\":{\"notice\":\"rootIndex is the specific array index of the newly created root in the storage array\"},\"RewardsClaimed(bytes32,address,address,address,address,uint256)\":{\"notice\":\"root is one of the submitted distribution roots that was claimed against\"},\"RewardsSubmissionForAllCreated(address,uint256,bytes32,((address,uint96)[],address,uint256,uint32,uint32))\":{\"notice\":\"emitted when a valid RewardsSubmission is created for all stakers by a valid submitter\"},\"RewardsUpdaterSet(address,address)\":{\"notice\":\"rewardsUpdater is responsible for submiting DistributionRoots, only owner can set rewardsUpdater\"}},\"kind\":\"user\",\"methods\":{\"CALCULATION_INTERVAL_SECONDS()\":{\"notice\":\"The interval in seconds at which the calculation for rewards distribution is done.\"},\"GENESIS_REWARDS_TIMESTAMP()\":{\"notice\":\"absolute min timestamp (seconds) that a rewards submission can start at\"},\"MAX_FUTURE_LENGTH()\":{\"notice\":\"max amount of time (seconds) that a rewards submission can start in the future\"},\"MAX_RETROACTIVE_LENGTH()\":{\"notice\":\"max amount of time (seconds) that a rewards submission can start in the past\"},\"MAX_REWARDS_DURATION()\":{\"notice\":\"The maximum amount of time (seconds) that a rewards submission can span over\"},\"activationDelay()\":{\"notice\":\"Delay in timestamp (seconds) before a posted root can be claimed against\"},\"calculateEarnerLeafHash((address,bytes32))\":{\"notice\":\"return the hash of the earner's leaf\"},\"calculateTokenLeafHash((address,uint256))\":{\"notice\":\"returns the hash of the earner's token leaf\"},\"checkClaim((uint32,uint32,bytes,(address,bytes32),uint32[],bytes[],(address,uint256)[]))\":{\"notice\":\"returns 'true' if the claim would currently pass the check in `processClaims` but will revert if not valid\"},\"claimerFor(address)\":{\"notice\":\"Mapping: earner => the address of the entity who can call `processClaim` on behalf of the earner\"},\"createAVSRewardsSubmission(((address,uint96)[],address,uint256,uint32,uint32)[])\":{\"notice\":\"Creates a new rewards submission on behalf of an AVS, to be split amongst the set of stakers delegated to operators who are registered to the `avs`\"},\"createRewardsForAllSubmission(((address,uint96)[],address,uint256,uint32,uint32)[])\":{\"notice\":\"similar to `createAVSRewardsSubmission` except the rewards are split amongst *all* stakers rather than just those delegated to operators who are registered to a single avs and is a permissioned call based on isRewardsForAllSubmitter mapping.\"},\"cumulativeClaimed(address,address)\":{\"notice\":\"Mapping: earner => token => total amount claimed\"},\"currRewardsCalculationEndTimestamp()\":{\"notice\":\"Timestamp for last submitted DistributionRoot\"},\"delegationManager()\":{\"notice\":\"The DelegationManager contract for EigenLayer\"},\"disableRoot(uint32)\":{\"notice\":\"allow the rewardsUpdater to disable/cancel a pending root submission in case of an error\"},\"getCurrentDistributionRoot()\":{\"notice\":\"returns the current distributionRoot\"},\"getDistributionRootAtIndex(uint256)\":{\"notice\":\"returns the distributionRoot at the specified index\"},\"getDistributionRootsLength()\":{\"notice\":\"returns the number of distribution roots posted\"},\"getRootIndexFromHash(bytes32)\":{\"notice\":\"loop through distribution roots from reverse and return hash\"},\"globalOperatorCommissionBips()\":{\"notice\":\"Slot 4the commission for all operators across all avss\"},\"isAVSRewardsSubmissionHash(address,bytes32)\":{\"notice\":\"Mapping: avs => avsRewardsSubmissionHash => bool to check if rewards submission hash has been submitted\"},\"isRewardsForAllSubmitter(address)\":{\"notice\":\"Mapping: address => bool to check if the address is permissioned to call createRewardsForAllSubmission\"},\"isRewardsSubmissionForAllHash(address,bytes32)\":{\"notice\":\"Mapping: avs => rewardsSubmissionForALlHash => bool to check if rewards submission hash for all has been submitted\"},\"operatorCommissionBips(address,address)\":{\"notice\":\"the commission for a specific operator for a specific avs NOTE: Currently unused and simply returns the globalOperatorCommissionBips value but will be used in future release\"},\"processClaim((uint32,uint32,bytes,(address,bytes32),uint32[],bytes[],(address,uint256)[]),address)\":{\"notice\":\"Claim rewards against a given root (read from _distributionRoots[claim.rootIndex]). Earnings are cumulative so earners don't have to claim against all distribution roots they have earnings for, they can simply claim against the latest root and the contract will calculate the difference between their cumulativeEarnings and cumulativeClaimed. This difference is then transferred to recipient address.\"},\"rewardsUpdater()\":{\"notice\":\"Slot 3The address of the entity that can update the contract with new merkle roots\"},\"setActivationDelay(uint32)\":{\"notice\":\"Sets the delay in timestamp before a posted root can be claimed against\"},\"setClaimerFor(address)\":{\"notice\":\"Sets the address of the entity that can call `processClaim` on behalf of the earner (msg.sender)\"},\"setGlobalOperatorCommission(uint16)\":{\"notice\":\"Sets the global commission for all operators across all avss\"},\"setRewardsForAllSubmitter(address,bool)\":{\"notice\":\"Sets the permissioned `rewardsForAllSubmitter` address which can submit createRewardsForAllSubmission\"},\"setRewardsUpdater(address)\":{\"notice\":\"Sets the permissioned `rewardsUpdater` address which can post new roots\"},\"strategyManager()\":{\"notice\":\"The StrategyManager contract for EigenLayer\"},\"submissionNonce(address)\":{\"notice\":\"Used for unique rewardsSubmissionHashes per AVS and for RewardsForAllSubmitters\"},\"submitRoot(bytes32,uint32)\":{\"notice\":\"Creates a new distribution root. activatedAt is set to block.timestamp + activationDelay\"}},\"notice\":\"Terms of Service: https://docs.eigenlayer.xyz/overview/terms-of-serviceThis storage contract is separate from the logic to simplify the upgrade process.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/eigenlayer-contracts/src/contracts/core/RewardsCoordinatorStorage.sol\":\"RewardsCoordinatorStorage\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@credible-squaring/=src/\",\":@eigenlayer-middleware/=lib/eigenlayer-middleware/\",\":@eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":@eigenlayer/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":@openzeppelin/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/eigenlayer-contracts/\",\":eigenlayer-middleware/=lib/eigenlayer-middleware/\",\":erc4626-tests/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/eigenlayer-contracts/lib/openzeppelin-contracts/\",\":openzeppelin/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/\"]},\"sources\":{\"lib/eigenlayer-contracts/src/contracts/core/RewardsCoordinatorStorage.sol\":{\"keccak256\":\"0xd64bea704e0a6e8a465585c7ba219a877e40d23f76c6335a9649657a99d00176\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://5e62dadabe7f6f0501a63d55478d41e3252c6d315663486735efc424b4d54160\",\"dweb:/ipfs/Qmay9ryJmyg39V4cGCtqaNKjS9Ee2cNdvwe6LjGeZUa5EE\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol\":{\"keccak256\":\"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983\",\"dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol\":{\"keccak256\":\"0x5a7dd74fb8a9334aa50c497a58875159aec17e905a7daaf3c276936d5b691bd1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a25b8d80233016a4634b9217a0899f43f18bfb21abb046bee4403e9408296009\",\"dweb:/ipfs/QmUA3bTzddiHnPxBqYtovxvcVvCkNrAxPJ7xcskocxEq5P\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol\":{\"keccak256\":\"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91\",\"dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol\":{\"keccak256\":\"0x2de63b752c3b2b4605992e47e0eaf4199465991046cdf0501e1892258ef44b11\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://e1e52d268bb4ee377302aa185680b9ed1271368db89ac4b7e3a7e6a92e27f3b5\",\"dweb:/ipfs/QmZqX4QYjBC5yaoXT4YcPPZMiBagsbfveRzp1TQwwH95q8\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol\":{\"keccak256\":\"0x22b7a17d53696412f80645f1fa65274ae89040bdc706262e3b6cc577dbafcaa4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b15002346892a48fd7cf9a8a4cf121e17ba133d21e4822e71fbffac85117d6b2\",\"dweb:/ipfs/QmRBPJUcRQ6uKmSvCYhhtVWcKCAWkQFSVZZwZR7HR42kiz\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol\":{\"keccak256\":\"0x33a935182f77cfd508fc57ec8e45afc8dc3748e1e9b764d36bf90ae6466f257b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d3981b5bbf435cda04e2ed2f348f886ebf1500c18dd4bbf67b1f1bc0272e2d3f\",\"dweb:/ipfs/QmYHDzQx29ataM2ejRCXFcPxaPdxWqX8v7uwUAYoG9572w\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol\":{\"keccak256\":\"0xffafae142d5337a5c204519e8f82fe3a5fae137286ebf597fa50699cf12c2474\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b577a12f7788095b230fd069b36ba9b3cdb376a0b7c3d8ae71588e5bf0c2f574\",\"dweb:/ipfs/QmXd1cDzYpxecyFEwowLiBKKjzRHgV8cs1qvLwypdEbVYy\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol\":{\"keccak256\":\"0x02d8b32309a9d0498619104b8f27446e8f4b2d983af183a974b2cd882be0d8b6\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0e01584eb126890a97b9b642ccc5e60eb12453d1a84027b280b647c3408fc4cf\",\"dweb:/ipfs/QmUR5vv26QffXyCrk7CHMi2SVerjZ5EMgbcEhKrMtMNf6f\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol\":{\"keccak256\":\"0x3b62ea6ee304cbab976ff206bcf55268f18a3291708021557f93f899f99862e4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b59a96fbf9940a7795d9a5fcb9e03939a87216317fb67872b7017285bf7eb49b\",\"dweb:/ipfs/QmdiH5AfYBvuTpzxTqfhorLG25t2dhSTKWh1cvBbYxGDJH\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol\":{\"keccak256\":\"0x7655919fae553e75ff196b31c9244079ff222e34ff43f36c41429ee826cfad9b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d5d35a784a9511b351826cb70b00d92c3d374474f256b01af05cd1acb1ce6c10\",\"dweb:/ipfs/QmZog3BrpLa213wj5qxVYMQv7jdrkf5AAufLCVaMZsL7Gs\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol\":{\"keccak256\":\"0x160fea76cd2e64e4e4bb66f4d793ff4a6ddb7cb785a30a0615e9f4956aa12c8b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://03f16b6f03051893671ba0d1445fb45bc6105f05ee3ca3002fd400ac63c8fd20\",\"dweb:/ipfs/QmRbQ6k4kJYjfDTv5Z7bSfy5ewjjgHUVEhsWPWsyz57sUa\"]},\"lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol\":{\"keccak256\":\"0x633b5fb10209891f696a9c8db4d7327ed7f560a2e9710489e38a67daeda59a96\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c8381baaec3afa6b200420c093706974776dfd14f6887abe7457eb867351a068\",\"dweb:/ipfs/QmP9H9ttS1sJ6FrvMEefJhU6B4z1wMCjcYYZqVfsLXagJE\"]},\"lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol\":{\"keccak256\":\"0x098850d09b65bb7dbad5ea0513eacb77f2701e135d9727b3627e13f303b2ff41\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3519f5a415b99d196f3cecef3f48ea116f2f3a2b381efcc96a5d7eff6934c2f3\",\"dweb:/ipfs/QmbCcFWgmFjXeZrvfEFQ17AgEueW9wS17HhvjkxMi5x3H8\"]},\"lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol\":{\"keccak256\":\"0x6e82a559dc583bf4b15867654e82f3aca9a862589209abac1c4356142a3b2211\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a1a4819b95c7da710e11efb279bd4b596139dc12c96c45a366d8e1893018eb1\",\"dweb:/ipfs/QmZBHPLKoYepZmA7AL9ECJFkbBhujSNvvc8pJmNC9MnRni\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354\",\"dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"avs","type":"address","indexed":true},{"internalType":"uint256","name":"submissionNonce","type":"uint256","indexed":true},{"internalType":"bytes32","name":"rewardsSubmissionHash","type":"bytes32","indexed":true},{"internalType":"struct IRewardsCoordinator.RewardsSubmission","name":"rewardsSubmission","type":"tuple","components":[{"internalType":"struct IRewardsCoordinator.StrategyAndMultiplier[]","name":"strategiesAndMultipliers","type":"tuple[]","components":[{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"uint96","name":"multiplier","type":"uint96"}]},{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint32","name":"startTimestamp","type":"uint32"},{"internalType":"uint32","name":"duration","type":"uint32"}],"indexed":false}],"type":"event","name":"AVSRewardsSubmissionCreated","anonymous":false},{"inputs":[{"internalType":"uint32","name":"oldActivationDelay","type":"uint32","indexed":false},{"internalType":"uint32","name":"newActivationDelay","type":"uint32","indexed":false}],"type":"event","name":"ActivationDelaySet","anonymous":false},{"inputs":[{"internalType":"address","name":"earner","type":"address","indexed":true},{"internalType":"address","name":"oldClaimer","type":"address","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true}],"type":"event","name":"ClaimerForSet","anonymous":false},{"inputs":[{"internalType":"uint32","name":"rootIndex","type":"uint32","indexed":true}],"type":"event","name":"DistributionRootDisabled","anonymous":false},{"inputs":[{"internalType":"uint32","name":"rootIndex","type":"uint32","indexed":true},{"internalType":"bytes32","name":"root","type":"bytes32","indexed":true},{"internalType":"uint32","name":"rewardsCalculationEndTimestamp","type":"uint32","indexed":true},{"internalType":"uint32","name":"activatedAt","type":"uint32","indexed":false}],"type":"event","name":"DistributionRootSubmitted","anonymous":false},{"inputs":[{"internalType":"uint16","name":"oldGlobalCommissionBips","type":"uint16","indexed":false},{"internalType":"uint16","name":"newGlobalCommissionBips","type":"uint16","indexed":false}],"type":"event","name":"GlobalCommissionBipsSet","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32","indexed":false},{"internalType":"address","name":"earner","type":"address","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"contract IERC20","name":"token","type":"address","indexed":false},{"internalType":"uint256","name":"claimedAmount","type":"uint256","indexed":false}],"type":"event","name":"RewardsClaimed","anonymous":false},{"inputs":[{"internalType":"address","name":"rewardsForAllSubmitter","type":"address","indexed":true},{"internalType":"bool","name":"oldValue","type":"bool","indexed":true},{"internalType":"bool","name":"newValue","type":"bool","indexed":true}],"type":"event","name":"RewardsForAllSubmitterSet","anonymous":false},{"inputs":[{"internalType":"address","name":"submitter","type":"address","indexed":true},{"internalType":"uint256","name":"submissionNonce","type":"uint256","indexed":true},{"internalType":"bytes32","name":"rewardsSubmissionHash","type":"bytes32","indexed":true},{"internalType":"struct IRewardsCoordinator.RewardsSubmission","name":"rewardsSubmission","type":"tuple","components":[{"internalType":"struct IRewardsCoordinator.StrategyAndMultiplier[]","name":"strategiesAndMultipliers","type":"tuple[]","components":[{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"uint96","name":"multiplier","type":"uint96"}]},{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint32","name":"startTimestamp","type":"uint32"},{"internalType":"uint32","name":"duration","type":"uint32"}],"indexed":false}],"type":"event","name":"RewardsSubmissionForAllCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"oldRewardsUpdater","type":"address","indexed":true},{"internalType":"address","name":"newRewardsUpdater","type":"address","indexed":true}],"type":"event","name":"RewardsUpdaterSet","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CALCULATION_INTERVAL_SECONDS","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"GENESIS_REWARDS_TIMESTAMP","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_FUTURE_LENGTH","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_RETROACTIVE_LENGTH","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MAX_REWARDS_DURATION","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activationDelay","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"struct IRewardsCoordinator.EarnerTreeMerkleLeaf","name":"leaf","type":"tuple","components":[{"internalType":"address","name":"earner","type":"address"},{"internalType":"bytes32","name":"earnerTokenRoot","type":"bytes32"}]}],"stateMutability":"pure","type":"function","name":"calculateEarnerLeafHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"struct IRewardsCoordinator.TokenTreeMerkleLeaf","name":"leaf","type":"tuple","components":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"cumulativeEarnings","type":"uint256"}]}],"stateMutability":"pure","type":"function","name":"calculateTokenLeafHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"struct IRewardsCoordinator.RewardsMerkleClaim","name":"claim","type":"tuple","components":[{"internalType":"uint32","name":"rootIndex","type":"uint32"},{"internalType":"uint32","name":"earnerIndex","type":"uint32"},{"internalType":"bytes","name":"earnerTreeProof","type":"bytes"},{"internalType":"struct IRewardsCoordinator.EarnerTreeMerkleLeaf","name":"earnerLeaf","type":"tuple","components":[{"internalType":"address","name":"earner","type":"address"},{"internalType":"bytes32","name":"earnerTokenRoot","type":"bytes32"}]},{"internalType":"uint32[]","name":"tokenIndices","type":"uint32[]"},{"internalType":"bytes[]","name":"tokenTreeProofs","type":"bytes[]"},{"internalType":"struct IRewardsCoordinator.TokenTreeMerkleLeaf[]","name":"tokenLeaves","type":"tuple[]","components":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"cumulativeEarnings","type":"uint256"}]}]}],"stateMutability":"view","type":"function","name":"checkClaim","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"claimerFor","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"struct IRewardsCoordinator.RewardsSubmission[]","name":"rewardsSubmissions","type":"tuple[]","components":[{"internalType":"struct IRewardsCoordinator.StrategyAndMultiplier[]","name":"strategiesAndMultipliers","type":"tuple[]","components":[{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"uint96","name":"multiplier","type":"uint96"}]},{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint32","name":"startTimestamp","type":"uint32"},{"internalType":"uint32","name":"duration","type":"uint32"}]}],"stateMutability":"nonpayable","type":"function","name":"createAVSRewardsSubmission"},{"inputs":[{"internalType":"struct IRewardsCoordinator.RewardsSubmission[]","name":"rewardsSubmission","type":"tuple[]","components":[{"internalType":"struct IRewardsCoordinator.StrategyAndMultiplier[]","name":"strategiesAndMultipliers","type":"tuple[]","components":[{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"uint96","name":"multiplier","type":"uint96"}]},{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint32","name":"startTimestamp","type":"uint32"},{"internalType":"uint32","name":"duration","type":"uint32"}]}],"stateMutability":"nonpayable","type":"function","name":"createRewardsForAllSubmission"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"cumulativeClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currRewardsCalculationEndTimestamp","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegationManager","outputs":[{"internalType":"contract IDelegationManager","name":"","type":"address"}]},{"inputs":[{"internalType":"uint32","name":"rootIndex","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"disableRoot"},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentDistributionRoot","outputs":[{"internalType":"struct IRewardsCoordinator.DistributionRoot","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint32","name":"rewardsCalculationEndTimestamp","type":"uint32"},{"internalType":"uint32","name":"activatedAt","type":"uint32"},{"internalType":"bool","name":"disabled","type":"bool"}]}]},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"stateMutability":"view","type":"function","name":"getDistributionRootAtIndex","outputs":[{"internalType":"struct IRewardsCoordinator.DistributionRoot","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint32","name":"rewardsCalculationEndTimestamp","type":"uint32"},{"internalType":"uint32","name":"activatedAt","type":"uint32"},{"internalType":"bool","name":"disabled","type":"bool"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDistributionRootsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"rootHash","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRootIndexFromHash","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"globalOperatorCommissionBips","outputs":[{"internalType":"uint16","name":"","type":"uint16"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isAVSRewardsSubmissionHash","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"isRewardsForAllSubmitter","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isRewardsSubmissionForAllHash","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"operator","type":"address"},{"internalType":"address","name":"avs","type":"address"}],"stateMutability":"view","type":"function","name":"operatorCommissionBips","outputs":[{"internalType":"uint16","name":"","type":"uint16"}]},{"inputs":[{"internalType":"struct IRewardsCoordinator.RewardsMerkleClaim","name":"claim","type":"tuple","components":[{"internalType":"uint32","name":"rootIndex","type":"uint32"},{"internalType":"uint32","name":"earnerIndex","type":"uint32"},{"internalType":"bytes","name":"earnerTreeProof","type":"bytes"},{"internalType":"struct IRewardsCoordinator.EarnerTreeMerkleLeaf","name":"earnerLeaf","type":"tuple","components":[{"internalType":"address","name":"earner","type":"address"},{"internalType":"bytes32","name":"earnerTokenRoot","type":"bytes32"}]},{"internalType":"uint32[]","name":"tokenIndices","type":"uint32[]"},{"internalType":"bytes[]","name":"tokenTreeProofs","type":"bytes[]"},{"internalType":"struct IRewardsCoordinator.TokenTreeMerkleLeaf[]","name":"tokenLeaves","type":"tuple[]","components":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"cumulativeEarnings","type":"uint256"}]}]},{"internalType":"address","name":"recipient","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"processClaim"},{"inputs":[],"stateMutability":"view","type":"function","name":"rewardsUpdater","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint32","name":"_activationDelay","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"setActivationDelay"},{"inputs":[{"internalType":"address","name":"claimer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setClaimerFor"},{"inputs":[{"internalType":"uint16","name":"_globalCommissionBips","type":"uint16"}],"stateMutability":"nonpayable","type":"function","name":"setGlobalOperatorCommission"},{"inputs":[{"internalType":"address","name":"_submitter","type":"address"},{"internalType":"bool","name":"_newValue","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setRewardsForAllSubmitter"},{"inputs":[{"internalType":"address","name":"_rewardsUpdater","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setRewardsUpdater"},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyManager","outputs":[{"internalType":"contract IStrategyManager","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"submissionNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint32","name":"rewardsCalculationEndTimestamp","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"submitRoot"}],"devdoc":{"kind":"dev","methods":{"createAVSRewardsSubmission(((address,uint96)[],address,uint256,uint32,uint32)[])":{"details":"Expected to be called by the ServiceManager of the AVS on behalf of which the submission is being madeThe duration of the `rewardsSubmission` cannot exceed `MAX_REWARDS_DURATION`The tokens are sent to the `RewardsCoordinator` contractStrategies must be in ascending order of addresses to check for duplicatesThis function will revert if the `rewardsSubmission` is malformed, e.g. if the `strategies` and `weights` arrays are of non-equal lengths","params":{"rewardsSubmissions":"The rewards submissions being created"}},"disableRoot(uint32)":{"params":{"rootIndex":"The index of the root to be disabled"}},"processClaim((uint32,uint32,bytes,(address,bytes32),uint32[],bytes[],(address,uint256)[]),address)":{"details":"only callable by the valid claimer, that is if claimerFor[claim.earner] is address(0) then only the earner can claim, otherwise only claimerFor[claim.earner] can claim the rewards.","params":{"claim":"The RewardsMerkleClaim to be processed. Contains the root index, earner, token leaves, and required proofs","recipient":"The address recipient that receives the ERC20 rewards"}},"setActivationDelay(uint32)":{"details":"Only callable by the contract owner","params":{"_activationDelay":"Delay in timestamp (seconds) before a posted root can be claimed against"}},"setClaimerFor(address)":{"details":"Only callable by the `earner`","params":{"claimer":"The address of the entity that can claim rewards on behalf of the earner"}},"setGlobalOperatorCommission(uint16)":{"details":"Only callable by the contract owner","params":{"_globalCommissionBips":"The commission for all operators across all avss"}},"setRewardsForAllSubmitter(address,bool)":{"details":"Only callable by the contract owner","params":{"_newValue":"The new value for isRewardsForAllSubmitter","_submitter":"The address of the rewardsForAllSubmitter"}},"setRewardsUpdater(address)":{"details":"Only callable by the contract owner"},"submitRoot(bytes32,uint32)":{"details":"Only callable by the rewardsUpdater","params":{"rewardsCalculationEndTimestamp":"The timestamp (seconds) until which rewards have been calculated","root":"The merkle root of the distribution"}}},"version":1},"userdoc":{"kind":"user","methods":{"CALCULATION_INTERVAL_SECONDS()":{"notice":"The interval in seconds at which the calculation for rewards distribution is done."},"GENESIS_REWARDS_TIMESTAMP()":{"notice":"absolute min timestamp (seconds) that a rewards submission can start at"},"MAX_FUTURE_LENGTH()":{"notice":"max amount of time (seconds) that a rewards submission can start in the future"},"MAX_RETROACTIVE_LENGTH()":{"notice":"max amount of time (seconds) that a rewards submission can start in the past"},"MAX_REWARDS_DURATION()":{"notice":"The maximum amount of time (seconds) that a rewards submission can span over"},"activationDelay()":{"notice":"Delay in timestamp (seconds) before a posted root can be claimed against"},"calculateEarnerLeafHash((address,bytes32))":{"notice":"return the hash of the earner's leaf"},"calculateTokenLeafHash((address,uint256))":{"notice":"returns the hash of the earner's token leaf"},"checkClaim((uint32,uint32,bytes,(address,bytes32),uint32[],bytes[],(address,uint256)[]))":{"notice":"returns 'true' if the claim would currently pass the check in `processClaims` but will revert if not valid"},"claimerFor(address)":{"notice":"Mapping: earner => the address of the entity who can call `processClaim` on behalf of the earner"},"createAVSRewardsSubmission(((address,uint96)[],address,uint256,uint32,uint32)[])":{"notice":"Creates a new rewards submission on behalf of an AVS, to be split amongst the set of stakers delegated to operators who are registered to the `avs`"},"createRewardsForAllSubmission(((address,uint96)[],address,uint256,uint32,uint32)[])":{"notice":"similar to `createAVSRewardsSubmission` except the rewards are split amongst *all* stakers rather than just those delegated to operators who are registered to a single avs and is a permissioned call based on isRewardsForAllSubmitter mapping."},"cumulativeClaimed(address,address)":{"notice":"Mapping: earner => token => total amount claimed"},"currRewardsCalculationEndTimestamp()":{"notice":"Timestamp for last submitted DistributionRoot"},"delegationManager()":{"notice":"The DelegationManager contract for EigenLayer"},"disableRoot(uint32)":{"notice":"allow the rewardsUpdater to disable/cancel a pending root submission in case of an error"},"getCurrentDistributionRoot()":{"notice":"returns the current distributionRoot"},"getDistributionRootAtIndex(uint256)":{"notice":"returns the distributionRoot at the specified index"},"getDistributionRootsLength()":{"notice":"returns the number of distribution roots posted"},"getRootIndexFromHash(bytes32)":{"notice":"loop through distribution roots from reverse and return hash"},"globalOperatorCommissionBips()":{"notice":"Slot 4the commission for all operators across all avss"},"isAVSRewardsSubmissionHash(address,bytes32)":{"notice":"Mapping: avs => avsRewardsSubmissionHash => bool to check if rewards submission hash has been submitted"},"isRewardsForAllSubmitter(address)":{"notice":"Mapping: address => bool to check if the address is permissioned to call createRewardsForAllSubmission"},"isRewardsSubmissionForAllHash(address,bytes32)":{"notice":"Mapping: avs => rewardsSubmissionForALlHash => bool to check if rewards submission hash for all has been submitted"},"operatorCommissionBips(address,address)":{"notice":"the commission for a specific operator for a specific avs NOTE: Currently unused and simply returns the globalOperatorCommissionBips value but will be used in future release"},"processClaim((uint32,uint32,bytes,(address,bytes32),uint32[],bytes[],(address,uint256)[]),address)":{"notice":"Claim rewards against a given root (read from _distributionRoots[claim.rootIndex]). Earnings are cumulative so earners don't have to claim against all distribution roots they have earnings for, they can simply claim against the latest root and the contract will calculate the difference between their cumulativeEarnings and cumulativeClaimed. This difference is then transferred to recipient address."},"rewardsUpdater()":{"notice":"Slot 3The address of the entity that can update the contract with new merkle roots"},"setActivationDelay(uint32)":{"notice":"Sets the delay in timestamp before a posted root can be claimed against"},"setClaimerFor(address)":{"notice":"Sets the address of the entity that can call `processClaim` on behalf of the earner (msg.sender)"},"setGlobalOperatorCommission(uint16)":{"notice":"Sets the global commission for all operators across all avss"},"setRewardsForAllSubmitter(address,bool)":{"notice":"Sets the permissioned `rewardsForAllSubmitter` address which can submit createRewardsForAllSubmission"},"setRewardsUpdater(address)":{"notice":"Sets the permissioned `rewardsUpdater` address which can post new roots"},"strategyManager()":{"notice":"The StrategyManager contract for EigenLayer"},"submissionNonce(address)":{"notice":"Used for unique rewardsSubmissionHashes per AVS and for RewardsForAllSubmitters"},"submitRoot(bytes32,uint32)":{"notice":"Creates a new distribution root. activatedAt is set to block.timestamp + activationDelay"}},"version":1}},"settings":{"remappings":["@credible-squaring/=src/","@eigenlayer-middleware/=lib/eigenlayer-middleware/","@eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","@eigenlayer/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/","@openzeppelin-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","@openzeppelin/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","eigenlayer-contracts/=lib/eigenlayer-contracts/","eigenlayer-middleware/=lib/eigenlayer-middleware/","erc4626-tests/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/eigenlayer-contracts/lib/openzeppelin-contracts/","openzeppelin/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/eigenlayer-contracts/src/contracts/core/RewardsCoordinatorStorage.sol":"RewardsCoordinatorStorage"},"evmVersion":"london","libraries":{}},"sources":{"lib/eigenlayer-contracts/src/contracts/core/RewardsCoordinatorStorage.sol":{"keccak256":"0xd64bea704e0a6e8a465585c7ba219a877e40d23f76c6335a9649657a99d00176","urls":["bzz-raw://5e62dadabe7f6f0501a63d55478d41e3252c6d315663486735efc424b4d54160","dweb:/ipfs/Qmay9ryJmyg39V4cGCtqaNKjS9Ee2cNdvwe6LjGeZUa5EE"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol":{"keccak256":"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00","urls":["bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983","dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol":{"keccak256":"0x5a7dd74fb8a9334aa50c497a58875159aec17e905a7daaf3c276936d5b691bd1","urls":["bzz-raw://a25b8d80233016a4634b9217a0899f43f18bfb21abb046bee4403e9408296009","dweb:/ipfs/QmUA3bTzddiHnPxBqYtovxvcVvCkNrAxPJ7xcskocxEq5P"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol":{"keccak256":"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c","urls":["bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91","dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz"],"license":"CC0-1.0"},"lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol":{"keccak256":"0x2de63b752c3b2b4605992e47e0eaf4199465991046cdf0501e1892258ef44b11","urls":["bzz-raw://e1e52d268bb4ee377302aa185680b9ed1271368db89ac4b7e3a7e6a92e27f3b5","dweb:/ipfs/QmZqX4QYjBC5yaoXT4YcPPZMiBagsbfveRzp1TQwwH95q8"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol":{"keccak256":"0x22b7a17d53696412f80645f1fa65274ae89040bdc706262e3b6cc577dbafcaa4","urls":["bzz-raw://b15002346892a48fd7cf9a8a4cf121e17ba133d21e4822e71fbffac85117d6b2","dweb:/ipfs/QmRBPJUcRQ6uKmSvCYhhtVWcKCAWkQFSVZZwZR7HR42kiz"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol":{"keccak256":"0x33a935182f77cfd508fc57ec8e45afc8dc3748e1e9b764d36bf90ae6466f257b","urls":["bzz-raw://d3981b5bbf435cda04e2ed2f348f886ebf1500c18dd4bbf67b1f1bc0272e2d3f","dweb:/ipfs/QmYHDzQx29ataM2ejRCXFcPxaPdxWqX8v7uwUAYoG9572w"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol":{"keccak256":"0xffafae142d5337a5c204519e8f82fe3a5fae137286ebf597fa50699cf12c2474","urls":["bzz-raw://b577a12f7788095b230fd069b36ba9b3cdb376a0b7c3d8ae71588e5bf0c2f574","dweb:/ipfs/QmXd1cDzYpxecyFEwowLiBKKjzRHgV8cs1qvLwypdEbVYy"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol":{"keccak256":"0x02d8b32309a9d0498619104b8f27446e8f4b2d983af183a974b2cd882be0d8b6","urls":["bzz-raw://0e01584eb126890a97b9b642ccc5e60eb12453d1a84027b280b647c3408fc4cf","dweb:/ipfs/QmUR5vv26QffXyCrk7CHMi2SVerjZ5EMgbcEhKrMtMNf6f"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol":{"keccak256":"0x3b62ea6ee304cbab976ff206bcf55268f18a3291708021557f93f899f99862e4","urls":["bzz-raw://b59a96fbf9940a7795d9a5fcb9e03939a87216317fb67872b7017285bf7eb49b","dweb:/ipfs/QmdiH5AfYBvuTpzxTqfhorLG25t2dhSTKWh1cvBbYxGDJH"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol":{"keccak256":"0x7655919fae553e75ff196b31c9244079ff222e34ff43f36c41429ee826cfad9b","urls":["bzz-raw://d5d35a784a9511b351826cb70b00d92c3d374474f256b01af05cd1acb1ce6c10","dweb:/ipfs/QmZog3BrpLa213wj5qxVYMQv7jdrkf5AAufLCVaMZsL7Gs"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol":{"keccak256":"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420","urls":["bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73","dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol":{"keccak256":"0x160fea76cd2e64e4e4bb66f4d793ff4a6ddb7cb785a30a0615e9f4956aa12c8b","urls":["bzz-raw://03f16b6f03051893671ba0d1445fb45bc6105f05ee3ca3002fd400ac63c8fd20","dweb:/ipfs/QmRbQ6k4kJYjfDTv5Z7bSfy5ewjjgHUVEhsWPWsyz57sUa"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol":{"keccak256":"0x633b5fb10209891f696a9c8db4d7327ed7f560a2e9710489e38a67daeda59a96","urls":["bzz-raw://c8381baaec3afa6b200420c093706974776dfd14f6887abe7457eb867351a068","dweb:/ipfs/QmP9H9ttS1sJ6FrvMEefJhU6B4z1wMCjcYYZqVfsLXagJE"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol":{"keccak256":"0x098850d09b65bb7dbad5ea0513eacb77f2701e135d9727b3627e13f303b2ff41","urls":["bzz-raw://3519f5a415b99d196f3cecef3f48ea116f2f3a2b381efcc96a5d7eff6934c2f3","dweb:/ipfs/QmbCcFWgmFjXeZrvfEFQ17AgEueW9wS17HhvjkxMi5x3H8"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol":{"keccak256":"0x6e82a559dc583bf4b15867654e82f3aca9a862589209abac1c4356142a3b2211","urls":["bzz-raw://8a1a4819b95c7da710e11efb279bd4b596139dc12c96c45a366d8e1893018eb1","dweb:/ipfs/QmZBHPLKoYepZmA7AL9ECJFkbBhujSNvvc8pJmNC9MnRni"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xd50a3421ac379ccb1be435fa646d66a65c986b4924f0849839f08692f39dde61","urls":["bzz-raw://ada1e030c0231db8d143b44ce92b4d1158eedb087880cad6d8cc7bd7ebe7b354","dweb:/ipfs/QmWZ2NHZweRpz1U9GF6R1h65ri76dnX7fNxLBeM2t5N5Ce"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"}},"version":1},"id":5}