{"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":"earner","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":"claimer","type":"address","internalType":"address"},{"name":"token","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":"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":"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":"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","disableRoot(uint32)":"f96abf2e","getCurrentDistributionRoot()":"9be3d4e4","getDistributionRootAtIndex(uint256)":"de02e503","getDistributionRootsLength()":"7b8f8b05","getRootIndexFromHash(bytes32)":"e810ce21","globalOperatorCommissionBips()":"092db007","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","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\":\"earner\",\"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\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"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\":[{\"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\":\"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\":[{\"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\":{\"CALCULATION_INTERVAL_SECONDS()\":{\"details\":\"Rewards Submission durations must be multiples of this interval.\"},\"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\"}}},\"title\":\"Interface for the `IRewardsCoordinator` 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 a RewardsSubmission distribution is done.\"},\"GENESIS_REWARDS_TIMESTAMP()\":{\"notice\":\"absolute min timestamp (seconds) that a submission can start at\"},\"MAX_FUTURE_LENGTH()\":{\"notice\":\"max amount of time (seconds) that a submission can start in the future\"},\"MAX_RETROACTIVE_LENGTH()\":{\"notice\":\"max amount of time (seconds) that a submission can start in the past\"},\"MAX_REWARDS_DURATION()\":{\"notice\":\"The maximum amount of time (seconds) that a RewardsSubmission 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: claimer => token => total amount claimed\"},\"currRewardsCalculationEndTimestamp()\":{\"notice\":\"The timestamp until which RewardsSubmissions have been calculated\"},\"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\":\"the commission for all operators across all avss\"},\"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\":\"The 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\"},\"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-serviceAllows AVSs to make \\\"Rewards Submissions\\\", which get distributed amongst the AVSs' confirmed Operators and the Stakers delegated to those Operators. Calculations are performed based on the completed RewardsSubmission, with the results posted in a Merkle root against which Stakers & Operators can make claims.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol\":\"IRewardsCoordinator\"},\"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-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol\":{\"keccak256\":\"0xffafae142d5337a5c204519e8f82fe3a5fae137286ebf597fa50699cf12c2474\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b577a12f7788095b230fd069b36ba9b3cdb376a0b7c3d8ae71588e5bf0c2f574\",\"dweb:/ipfs/QmXd1cDzYpxecyFEwowLiBKKjzRHgV8cs1qvLwypdEbVYy\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol\":{\"keccak256\":\"0xe9b7d672bb4e87f6eee7be4307fec333be920dadc8fb4111da76fe24683703a4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7f01ec54e9bfdb7c06ce1b6f374e2000347cbe6bc50442d71b0ed766612f0256\",\"dweb:/ipfs/QmXnHjtV86ekqeb5Fg2xfLBUsukxaXuG1oHvPd5SgLSAqo\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]}},\"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":"earner","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":"claimer","type":"address"},{"internalType":"contract IERC20","name":"token","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":[{"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":"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":[{"internalType":"bytes32","name":"root","type":"bytes32"},{"internalType":"uint32","name":"rewardsCalculationEndTimestamp","type":"uint32"}],"stateMutability":"nonpayable","type":"function","name":"submitRoot"}],"devdoc":{"kind":"dev","methods":{"CALCULATION_INTERVAL_SECONDS()":{"details":"Rewards Submission durations must be multiples of this interval."},"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 a RewardsSubmission distribution is done."},"GENESIS_REWARDS_TIMESTAMP()":{"notice":"absolute min timestamp (seconds) that a submission can start at"},"MAX_FUTURE_LENGTH()":{"notice":"max amount of time (seconds) that a submission can start in the future"},"MAX_RETROACTIVE_LENGTH()":{"notice":"max amount of time (seconds) that a submission can start in the past"},"MAX_REWARDS_DURATION()":{"notice":"The maximum amount of time (seconds) that a RewardsSubmission 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: claimer => token => total amount claimed"},"currRewardsCalculationEndTimestamp()":{"notice":"The timestamp until which RewardsSubmissions have been calculated"},"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":"the commission for all operators across all avss"},"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":"The 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"},"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-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol":"IRewardsCoordinator"},"evmVersion":"london","libraries":{}},"sources":{"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"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPauserRegistry.sol":{"keccak256":"0xffafae142d5337a5c204519e8f82fe3a5fae137286ebf597fa50699cf12c2474","urls":["bzz-raw://b577a12f7788095b230fd069b36ba9b3cdb376a0b7c3d8ae71588e5bf0c2f574","dweb:/ipfs/QmXd1cDzYpxecyFEwowLiBKKjzRHgV8cs1qvLwypdEbVYy"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IRewardsCoordinator.sol":{"keccak256":"0xe9b7d672bb4e87f6eee7be4307fec333be920dadc8fb4111da76fe24683703a4","urls":["bzz-raw://7f01ec54e9bfdb7c06ce1b6f374e2000347cbe6bc50442d71b0ed766612f0256","dweb:/ipfs/QmXnHjtV86ekqeb5Fg2xfLBUsukxaXuG1oHvPd5SgLSAqo"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol":{"keccak256":"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420","urls":["bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73","dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ"],"license":"BUSL-1.1"}},"version":1},"id":86}