{"abi":[{"type":"function","name":"DEPOSIT_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_TYPEHASH","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"addShares","inputs":[{"name":"staker","type":"address","internalType":"address"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"addStrategiesToDepositWhitelist","inputs":[{"name":"strategiesToWhitelist","type":"address[]","internalType":"contract IStrategy[]"},{"name":"thirdPartyTransfersForbiddenValues","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegation","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IDelegationManager"}],"stateMutability":"view"},{"type":"function","name":"depositIntoStrategy","inputs":[{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"shares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositIntoStrategyWithSignature","inputs":[{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"token","type":"address","internalType":"contract IERC20"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"staker","type":"address","internalType":"address"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"signature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"shares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"eigenPodManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IEigenPodManager"}],"stateMutability":"view"},{"type":"function","name":"getDeposits","inputs":[{"name":"staker","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address[]","internalType":"contract IStrategy[]"},{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"removeShares","inputs":[{"name":"staker","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeStrategiesFromDepositWhitelist","inputs":[{"name":"strategiesToRemoveFromWhitelist","type":"address[]","internalType":"contract IStrategy[]"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISlasher"}],"stateMutability":"view"},{"type":"function","name":"stakerStrategyList","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"contract IStrategy"}],"stateMutability":"view"},{"type":"function","name":"stakerStrategyListLength","inputs":[{"name":"staker","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"stakerStrategyShares","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"contract IStrategy"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"strategyIsWhitelistedForDeposit","inputs":[{"name":"","type":"address","internalType":"contract IStrategy"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"strategyWhitelister","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"thirdPartyTransfersForbidden","inputs":[{"name":"","type":"address","internalType":"contract IStrategy"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"withdrawSharesAsTokens","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"strategy","type":"address","internalType":"contract IStrategy"},{"name":"shares","type":"uint256","internalType":"uint256"},{"name":"token","type":"address","internalType":"contract IERC20"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Deposit","inputs":[{"name":"staker","type":"address","indexed":false,"internalType":"address"},{"name":"token","type":"address","indexed":false,"internalType":"contract IERC20"},{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"shares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StrategyAddedToDepositWhitelist","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"}],"anonymous":false},{"type":"event","name":"StrategyRemovedFromDepositWhitelist","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"}],"anonymous":false},{"type":"event","name":"StrategyWhitelisterChanged","inputs":[{"name":"previousAddress","type":"address","indexed":false,"internalType":"address"},{"name":"newAddress","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"UpdatedThirdPartyTransfersForbidden","inputs":[{"name":"strategy","type":"address","indexed":false,"internalType":"contract IStrategy"},{"name":"value","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"DEPOSIT_TYPEHASH()":"48825e94","DOMAIN_TYPEHASH()":"20606b70","addShares(address,address,address,uint256)":"c4623ea1","addStrategiesToDepositWhitelist(address[],bool[])":"df5b3547","delegation()":"df5cf723","depositIntoStrategy(address,address,uint256)":"e7a050aa","depositIntoStrategyWithSignature(address,address,uint256,address,uint256,bytes)":"32e89ace","eigenPodManager()":"4665bcda","getDeposits(address)":"94f649dd","nonces(address)":"7ecebe00","removeShares(address,address,uint256)":"8c80d4e5","removeStrategiesFromDepositWhitelist(address[])":"b5d8b5b8","slasher()":"b1344271","stakerStrategyList(address,uint256)":"cbc2bd62","stakerStrategyListLength(address)":"8b8aac3c","stakerStrategyShares(address,address)":"7a7e0d92","strategyIsWhitelistedForDeposit(address)":"663c1de4","strategyWhitelister()":"967fc0d2","thirdPartyTransfersForbidden(address)":"9b4da03d","withdrawSharesAsTokens(address,address,uint256,address)":"c608c7f3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"staker\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyAddedToDepositWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"}],\"name\":\"StrategyRemovedFromDepositWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAddress\",\"type\":\"address\"}],\"name\":\"StrategyWhitelisterChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"UpdatedThirdPartyTransfersForbidden\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEPOSIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"staker\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"addShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IStrategy[]\",\"name\":\"strategiesToWhitelist\",\"type\":\"address[]\"},{\"internalType\":\"bool[]\",\"name\":\"thirdPartyTransfersForbiddenValues\",\"type\":\"bool[]\"}],\"name\":\"addStrategiesToDepositWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegation\",\"outputs\":[{\"internalType\":\"contract IDelegationManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"depositIntoStrategy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"staker\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"depositIntoStrategyWithSignature\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eigenPodManager\",\"outputs\":[{\"internalType\":\"contract IEigenPodManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"staker\",\"type\":\"address\"}],\"name\":\"getDeposits\",\"outputs\":[{\"internalType\":\"contract IStrategy[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"staker\",\"type\":\"address\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"removeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IStrategy[]\",\"name\":\"strategiesToRemoveFromWhitelist\",\"type\":\"address[]\"}],\"name\":\"removeStrategiesFromDepositWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"contract ISlasher\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"stakerStrategyList\",\"outputs\":[{\"internalType\":\"contract IStrategy\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"staker\",\"type\":\"address\"}],\"name\":\"stakerStrategyListLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"contract IStrategy\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"stakerStrategyShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IStrategy\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"strategyIsWhitelistedForDeposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"strategyWhitelister\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IStrategy\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"thirdPartyTransfersForbidden\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"contract IStrategy\",\"name\":\"strategy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"},{\"internalType\":\"contract IERC20\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"withdrawSharesAsTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Layr Labs, Inc.\",\"kind\":\"dev\",\"methods\":{\"addStrategiesToDepositWhitelist(address[],bool[])\":{\"params\":{\"strategiesToWhitelist\":\"Strategies that will be added to the `strategyIsWhitelistedForDeposit` mapping (if they aren't in it already)\",\"thirdPartyTransfersForbiddenValues\":\"bool values to set `thirdPartyTransfersForbidden` to for each strategy\"}},\"depositIntoStrategy(address,address,uint256)\":{\"details\":\"The `msg.sender` must have previously approved this contract to transfer at least `amount` of `token` on their behalf.Cannot be called by an address that is 'frozen' (this function will revert if the `msg.sender` is frozen). WARNING: Depositing tokens that allow reentrancy (eg. ERC-777) into a strategy is not recommended. This can lead to attack vectors where the token balance and corresponding strategy shares are not in sync upon reentrancy.\",\"params\":{\"amount\":\"is the amount of token to be deposited in the strategy by the staker\",\"strategy\":\"is the specified strategy where deposit is to be made,\",\"token\":\"is the denomination in which the deposit is to be made,\"},\"returns\":{\"shares\":\"The amount of new shares in the `strategy` created as part of the action.\"}},\"depositIntoStrategyWithSignature(address,address,uint256,address,uint256,bytes)\":{\"details\":\"The `msg.sender` must have previously approved this contract to transfer at least `amount` of `token` on their behalf.A signature is required for this function to eliminate the possibility of griefing attacks, specifically those targeting stakers who may be attempting to undelegate.Cannot be called if thirdPartyTransfersForbidden is set to true for this strategy WARNING: Depositing tokens that allow reentrancy (eg. ERC-777) into a strategy is not recommended. This can lead to attack vectors where the token balance and corresponding strategy shares are not in sync upon reentrancy\",\"params\":{\"amount\":\"is the amount of token to be deposited in the strategy by the staker\",\"expiry\":\"the timestamp at which the signature expires\",\"signature\":\"is a valid signature from the `staker`. either an ECDSA signature if the `staker` is an EOA, or data to forward following EIP-1271 if the `staker` is a contract\",\"staker\":\"the staker that the deposited assets will be credited to\",\"strategy\":\"is the specified strategy where deposit is to be made,\",\"token\":\"is the denomination in which the deposit is to be made,\"},\"returns\":{\"shares\":\"The amount of new shares in the `strategy` created as part of the action.\"}},\"getDeposits(address)\":{\"returns\":{\"_0\":\"(staker's strategies, shares in these strategies)\"}},\"removeStrategiesFromDepositWhitelist(address[])\":{\"params\":{\"strategiesToRemoveFromWhitelist\":\"Strategies that will be removed to the `strategyIsWhitelistedForDeposit` mapping (if they are in it)\"}}},\"stateVariables\":{\"_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.\"},\"__deprecated_withdrawalRootPending\":{\"details\":\"This mapping is preserved to allow the migration of withdrawals to the DelegationManager 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\"}},\"title\":\"Storage variables for the `StrategyManager` contract.\",\"version\":1},\"userdoc\":{\"events\":{\"Deposit(address,address,address,uint256)\":{\"notice\":\"Emitted when a new deposit occurs on behalf of `staker`.\"},\"StrategyAddedToDepositWhitelist(address)\":{\"notice\":\"Emitted when a strategy is added to the approved list of strategies for deposit\"},\"StrategyRemovedFromDepositWhitelist(address)\":{\"notice\":\"Emitted when a strategy is removed from the approved list of strategies for deposit\"},\"StrategyWhitelisterChanged(address,address)\":{\"notice\":\"Emitted when the `strategyWhitelister` is changed\"},\"UpdatedThirdPartyTransfersForbidden(address,bool)\":{\"notice\":\"Emitted when `thirdPartyTransfersForbidden` is updated for a strategy and value by the owner\"}},\"kind\":\"user\",\"methods\":{\"DEPOSIT_TYPEHASH()\":{\"notice\":\"The EIP-712 typehash for the deposit struct used by the contract\"},\"DOMAIN_TYPEHASH()\":{\"notice\":\"The EIP-712 typehash for the contract's domain\"},\"addShares(address,address,address,uint256)\":{\"notice\":\"Used by the DelegationManager to award a Staker some shares that have passed through the withdrawal queue\"},\"addStrategiesToDepositWhitelist(address[],bool[])\":{\"notice\":\"Owner-only function that adds the provided Strategies to the 'whitelist' of strategies that stakers can deposit into\"},\"delegation()\":{\"notice\":\"Returns the single, central Delegation contract of EigenLayer\"},\"depositIntoStrategy(address,address,uint256)\":{\"notice\":\"Deposits `amount` of `token` into the specified `strategy`, with the resultant shares credited to `msg.sender`\"},\"depositIntoStrategyWithSignature(address,address,uint256,address,uint256,bytes)\":{\"notice\":\"Used for depositing an asset into the specified strategy with the resultant shares credited to `staker`, who must sign off on the action. Note that the assets are transferred out/from the `msg.sender`, not from the `staker`; this function is explicitly designed purely to help one address deposit 'for' another.\"},\"eigenPodManager()\":{\"notice\":\"Returns the EigenPodManager contract of EigenLayer\"},\"getDeposits(address)\":{\"notice\":\"Get all details on the staker's deposits and corresponding shares\"},\"removeShares(address,address,uint256)\":{\"notice\":\"Used by the DelegationManager to remove a Staker's shares from a particular strategy when entering the withdrawal queue\"},\"removeStrategiesFromDepositWhitelist(address[])\":{\"notice\":\"Owner-only function that removes the provided Strategies from the 'whitelist' of strategies that stakers can deposit into\"},\"slasher()\":{\"notice\":\"Returns the single, central Slasher contract of EigenLayer\"},\"stakerStrategyList(address,uint256)\":{\"notice\":\"Mapping: staker => array of strategies in which they have nonzero shares\"},\"stakerStrategyListLength(address)\":{\"notice\":\"Simple getter function that returns `stakerStrategyList[staker].length`.\"},\"stakerStrategyShares(address,address)\":{\"notice\":\"Mapping: staker => Strategy => number of shares which they currently hold\"},\"strategyIsWhitelistedForDeposit(address)\":{\"notice\":\"Mapping: strategy => whether or not stakers are allowed to deposit into it\"},\"strategyWhitelister()\":{\"notice\":\"Permissioned role, which can be changed by the contract owner. Has the ability to edit the strategy whitelist\"},\"thirdPartyTransfersForbidden(address)\":{\"notice\":\"Mapping: strategy => whether or not stakers are allowed to transfer strategy shares to another address if true for a strategy, a user cannot depositIntoStrategyWithSignature into that strategy for another staker and also when performing queueWithdrawals, a staker can only withdraw to themselves\"},\"withdrawSharesAsTokens(address,address,uint256,address)\":{\"notice\":\"Used by the DelegationManager to convert withdrawn shares to tokens and send them to a recipient\"}},\"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-middleware/lib/eigenlayer-contracts/src/contracts/core/StrategyManagerStorage.sol\":\"StrategyManagerStorage\"},\"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/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\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/StrategyManagerStorage.sol\":{\"keccak256\":\"0x2b495a50f5b31945e572997fa3dbb0f1b4bcb9d9f17cff51e2c730248407168c\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a124af488ce3eb2b70a936a13f1e8922d4ea6071d9e5e801708d6bb8685b7d10\",\"dweb:/ipfs/QmPkGRKNu1LFMiZSbpTEY76kqFVfQSkwqioAmR4NVjW5vY\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol\":{\"keccak256\":\"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983\",\"dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol\":{\"keccak256\":\"0x7179a98578e495167d92e4adae802e7d68bee0f0e67f411636e0c3f87c494b64\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://7c2ec7d551fea897f6b68dc196d5236afec6952e6169a46f5f3e90375783ddc5\",\"dweb:/ipfs/Qmd5UJQnoCc2S7d82mjuLNRXJFv9T2ZrxMi37tqxig41B4\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol\":{\"keccak256\":\"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c\",\"license\":\"CC0-1.0\",\"urls\":[\"bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91\",\"dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol\":{\"keccak256\":\"0x3bb371aa779366ac9bafa1f612d71c617c2bdb3b10784662f16ef9401f18a34e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://82bba4971cc559e7173f0cb6fa64d606d6421c4e23447ac92dc7a8b4c9a907da\",\"dweb:/ipfs/QmQQfChLBTM7MjRzMZt7AWv5BfFPEnR95jtFJ5MJDZduZQ\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol\":{\"keccak256\":\"0x22b7a17d53696412f80645f1fa65274ae89040bdc706262e3b6cc577dbafcaa4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b15002346892a48fd7cf9a8a4cf121e17ba133d21e4822e71fbffac85117d6b2\",\"dweb:/ipfs/QmRBPJUcRQ6uKmSvCYhhtVWcKCAWkQFSVZZwZR7HR42kiz\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol\":{\"keccak256\":\"0x33a935182f77cfd508fc57ec8e45afc8dc3748e1e9b764d36bf90ae6466f257b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d3981b5bbf435cda04e2ed2f348f886ebf1500c18dd4bbf67b1f1bc0272e2d3f\",\"dweb:/ipfs/QmYHDzQx29ataM2ejRCXFcPxaPdxWqX8v7uwUAYoG9572w\"]},\"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/ISignatureUtils.sol\":{\"keccak256\":\"0x3b62ea6ee304cbab976ff206bcf55268f18a3291708021557f93f899f99862e4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b59a96fbf9940a7795d9a5fcb9e03939a87216317fb67872b7017285bf7eb49b\",\"dweb:/ipfs/QmdiH5AfYBvuTpzxTqfhorLG25t2dhSTKWh1cvBbYxGDJH\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol\":{\"keccak256\":\"0x7655919fae553e75ff196b31c9244079ff222e34ff43f36c41429ee826cfad9b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://d5d35a784a9511b351826cb70b00d92c3d374474f256b01af05cd1acb1ce6c10\",\"dweb:/ipfs/QmZog3BrpLa213wj5qxVYMQv7jdrkf5AAufLCVaMZsL7Gs\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol\":{\"keccak256\":\"0x160fea76cd2e64e4e4bb66f4d793ff4a6ddb7cb785a30a0615e9f4956aa12c8b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://03f16b6f03051893671ba0d1445fb45bc6105f05ee3ca3002fd400ac63c8fd20\",\"dweb:/ipfs/QmRbQ6k4kJYjfDTv5Z7bSfy5ewjjgHUVEhsWPWsyz57sUa\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol\":{\"keccak256\":\"0x633b5fb10209891f696a9c8db4d7327ed7f560a2e9710489e38a67daeda59a96\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c8381baaec3afa6b200420c093706974776dfd14f6887abe7457eb867351a068\",\"dweb:/ipfs/QmP9H9ttS1sJ6FrvMEefJhU6B4z1wMCjcYYZqVfsLXagJE\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol\":{\"keccak256\":\"0x098850d09b65bb7dbad5ea0513eacb77f2701e135d9727b3627e13f303b2ff41\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3519f5a415b99d196f3cecef3f48ea116f2f3a2b381efcc96a5d7eff6934c2f3\",\"dweb:/ipfs/QmbCcFWgmFjXeZrvfEFQ17AgEueW9wS17HhvjkxMi5x3H8\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol\":{\"keccak256\":\"0x6e82a559dc583bf4b15867654e82f3aca9a862589209abac1c4356142a3b2211\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8a1a4819b95c7da710e11efb279bd4b596139dc12c96c45a366d8e1893018eb1\",\"dweb:/ipfs/QmZBHPLKoYepZmA7AL9ECJFkbBhujSNvvc8pJmNC9MnRni\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"staker","type":"address","indexed":false},{"internalType":"contract IERC20","name":"token","type":"address","indexed":false},{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"uint256","name":"shares","type":"uint256","indexed":false}],"type":"event","name":"Deposit","anonymous":false},{"inputs":[{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyAddedToDepositWhitelist","anonymous":false},{"inputs":[{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false}],"type":"event","name":"StrategyRemovedFromDepositWhitelist","anonymous":false},{"inputs":[{"internalType":"address","name":"previousAddress","type":"address","indexed":false},{"internalType":"address","name":"newAddress","type":"address","indexed":false}],"type":"event","name":"StrategyWhitelisterChanged","anonymous":false},{"inputs":[{"internalType":"contract IStrategy","name":"strategy","type":"address","indexed":false},{"internalType":"bool","name":"value","type":"bool","indexed":false}],"type":"event","name":"UpdatedThirdPartyTransfersForbidden","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_TYPEHASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"staker","type":"address"},{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"addShares"},{"inputs":[{"internalType":"contract IStrategy[]","name":"strategiesToWhitelist","type":"address[]"},{"internalType":"bool[]","name":"thirdPartyTransfersForbiddenValues","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"addStrategiesToDepositWhitelist"},{"inputs":[],"stateMutability":"view","type":"function","name":"delegation","outputs":[{"internalType":"contract IDelegationManager","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"depositIntoStrategy","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}]},{"inputs":[{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"staker","type":"address"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"bytes","name":"signature","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"depositIntoStrategyWithSignature","outputs":[{"internalType":"uint256","name":"shares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eigenPodManager","outputs":[{"internalType":"contract IEigenPodManager","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"stateMutability":"view","type":"function","name":"getDeposits","outputs":[{"internalType":"contract IStrategy[]","name":"","type":"address[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"staker","type":"address"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeShares"},{"inputs":[{"internalType":"contract IStrategy[]","name":"strategiesToRemoveFromWhitelist","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"removeStrategiesFromDepositWhitelist"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"contract ISlasher","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function","name":"stakerStrategyList","outputs":[{"internalType":"contract IStrategy","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"staker","type":"address"}],"stateMutability":"view","type":"function","name":"stakerStrategyListLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"contract IStrategy","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"stakerStrategyShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"contract IStrategy","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"strategyIsWhitelistedForDeposit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"strategyWhitelister","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IStrategy","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"thirdPartyTransfersForbidden","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"contract IStrategy","name":"strategy","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"},{"internalType":"contract IERC20","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawSharesAsTokens"}],"devdoc":{"kind":"dev","methods":{"addStrategiesToDepositWhitelist(address[],bool[])":{"params":{"strategiesToWhitelist":"Strategies that will be added to the `strategyIsWhitelistedForDeposit` mapping (if they aren't in it already)","thirdPartyTransfersForbiddenValues":"bool values to set `thirdPartyTransfersForbidden` to for each strategy"}},"depositIntoStrategy(address,address,uint256)":{"details":"The `msg.sender` must have previously approved this contract to transfer at least `amount` of `token` on their behalf.Cannot be called by an address that is 'frozen' (this function will revert if the `msg.sender` is frozen). WARNING: Depositing tokens that allow reentrancy (eg. ERC-777) into a strategy is not recommended. This can lead to attack vectors where the token balance and corresponding strategy shares are not in sync upon reentrancy.","params":{"amount":"is the amount of token to be deposited in the strategy by the staker","strategy":"is the specified strategy where deposit is to be made,","token":"is the denomination in which the deposit is to be made,"},"returns":{"shares":"The amount of new shares in the `strategy` created as part of the action."}},"depositIntoStrategyWithSignature(address,address,uint256,address,uint256,bytes)":{"details":"The `msg.sender` must have previously approved this contract to transfer at least `amount` of `token` on their behalf.A signature is required for this function to eliminate the possibility of griefing attacks, specifically those targeting stakers who may be attempting to undelegate.Cannot be called if thirdPartyTransfersForbidden is set to true for this strategy WARNING: Depositing tokens that allow reentrancy (eg. ERC-777) into a strategy is not recommended. This can lead to attack vectors where the token balance and corresponding strategy shares are not in sync upon reentrancy","params":{"amount":"is the amount of token to be deposited in the strategy by the staker","expiry":"the timestamp at which the signature expires","signature":"is a valid signature from the `staker`. either an ECDSA signature if the `staker` is an EOA, or data to forward following EIP-1271 if the `staker` is a contract","staker":"the staker that the deposited assets will be credited to","strategy":"is the specified strategy where deposit is to be made,","token":"is the denomination in which the deposit is to be made,"},"returns":{"shares":"The amount of new shares in the `strategy` created as part of the action."}},"getDeposits(address)":{"returns":{"_0":"(staker's strategies, shares in these strategies)"}},"removeStrategiesFromDepositWhitelist(address[])":{"params":{"strategiesToRemoveFromWhitelist":"Strategies that will be removed to the `strategyIsWhitelistedForDeposit` mapping (if they are in it)"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSIT_TYPEHASH()":{"notice":"The EIP-712 typehash for the deposit struct used by the contract"},"DOMAIN_TYPEHASH()":{"notice":"The EIP-712 typehash for the contract's domain"},"addShares(address,address,address,uint256)":{"notice":"Used by the DelegationManager to award a Staker some shares that have passed through the withdrawal queue"},"addStrategiesToDepositWhitelist(address[],bool[])":{"notice":"Owner-only function that adds the provided Strategies to the 'whitelist' of strategies that stakers can deposit into"},"delegation()":{"notice":"Returns the single, central Delegation contract of EigenLayer"},"depositIntoStrategy(address,address,uint256)":{"notice":"Deposits `amount` of `token` into the specified `strategy`, with the resultant shares credited to `msg.sender`"},"depositIntoStrategyWithSignature(address,address,uint256,address,uint256,bytes)":{"notice":"Used for depositing an asset into the specified strategy with the resultant shares credited to `staker`, who must sign off on the action. Note that the assets are transferred out/from the `msg.sender`, not from the `staker`; this function is explicitly designed purely to help one address deposit 'for' another."},"eigenPodManager()":{"notice":"Returns the EigenPodManager contract of EigenLayer"},"getDeposits(address)":{"notice":"Get all details on the staker's deposits and corresponding shares"},"removeShares(address,address,uint256)":{"notice":"Used by the DelegationManager to remove a Staker's shares from a particular strategy when entering the withdrawal queue"},"removeStrategiesFromDepositWhitelist(address[])":{"notice":"Owner-only function that removes the provided Strategies from the 'whitelist' of strategies that stakers can deposit into"},"slasher()":{"notice":"Returns the single, central Slasher contract of EigenLayer"},"stakerStrategyList(address,uint256)":{"notice":"Mapping: staker => array of strategies in which they have nonzero shares"},"stakerStrategyListLength(address)":{"notice":"Simple getter function that returns `stakerStrategyList[staker].length`."},"stakerStrategyShares(address,address)":{"notice":"Mapping: staker => Strategy => number of shares which they currently hold"},"strategyIsWhitelistedForDeposit(address)":{"notice":"Mapping: strategy => whether or not stakers are allowed to deposit into it"},"strategyWhitelister()":{"notice":"Permissioned role, which can be changed by the contract owner. Has the ability to edit the strategy whitelist"},"thirdPartyTransfersForbidden(address)":{"notice":"Mapping: strategy => whether or not stakers are allowed to transfer strategy shares to another address if true for a strategy, a user cannot depositIntoStrategyWithSignature into that strategy for another staker and also when performing queueWithdrawals, a staker can only withdraw to themselves"},"withdrawSharesAsTokens(address,address,uint256,address)":{"notice":"Used by the DelegationManager to convert withdrawn shares to tokens and send them to a recipient"}},"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/core/StrategyManagerStorage.sol":"StrategyManagerStorage"},"evmVersion":"london","libraries":{}},"sources":{"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"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/core/StrategyManagerStorage.sol":{"keccak256":"0x2b495a50f5b31945e572997fa3dbb0f1b4bcb9d9f17cff51e2c730248407168c","urls":["bzz-raw://a124af488ce3eb2b70a936a13f1e8922d4ea6071d9e5e801708d6bb8685b7d10","dweb:/ipfs/QmPkGRKNu1LFMiZSbpTEY76kqFVfQSkwqioAmR4NVjW5vY"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IBeaconChainOracle.sol":{"keccak256":"0x0fef07aa6179c77198f1514e12e628aa1c876e04f9c181ec853a322179e5be00","urls":["bzz-raw://51438325876cc2d4c77f58488a7e27b488015d1b663c50be6a5cafbd73b9c983","dweb:/ipfs/QmViCuGoYZzi6wtXA8PPKigqVv3KMuNxEVQ1Td9dGqjL18"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol":{"keccak256":"0x7179a98578e495167d92e4adae802e7d68bee0f0e67f411636e0c3f87c494b64","urls":["bzz-raw://7c2ec7d551fea897f6b68dc196d5236afec6952e6169a46f5f3e90375783ddc5","dweb:/ipfs/Qmd5UJQnoCc2S7d82mjuLNRXJFv9T2ZrxMi37tqxig41B4"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IETHPOSDeposit.sol":{"keccak256":"0x2e60e5f4b0da0a0a4e2a07c63141120998559970c21deac743ea0c64a60a880c","urls":["bzz-raw://e635c346bde5b7ade9bcf35bc733081520cb86015be4fbc6e761e6e9482c4c91","dweb:/ipfs/QmRoeazEnbFn5SPSWAkoFK2gSN9DMp3hJAnrLWuL2sKutz"],"license":"CC0-1.0"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPod.sol":{"keccak256":"0x3bb371aa779366ac9bafa1f612d71c617c2bdb3b10784662f16ef9401f18a34e","urls":["bzz-raw://82bba4971cc559e7173f0cb6fa64d606d6421c4e23447ac92dc7a8b4c9a907da","dweb:/ipfs/QmQQfChLBTM7MjRzMZt7AWv5BfFPEnR95jtFJ5MJDZduZQ"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IEigenPodManager.sol":{"keccak256":"0x22b7a17d53696412f80645f1fa65274ae89040bdc706262e3b6cc577dbafcaa4","urls":["bzz-raw://b15002346892a48fd7cf9a8a4cf121e17ba133d21e4822e71fbffac85117d6b2","dweb:/ipfs/QmRBPJUcRQ6uKmSvCYhhtVWcKCAWkQFSVZZwZR7HR42kiz"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IPausable.sol":{"keccak256":"0x33a935182f77cfd508fc57ec8e45afc8dc3748e1e9b764d36bf90ae6466f257b","urls":["bzz-raw://d3981b5bbf435cda04e2ed2f348f886ebf1500c18dd4bbf67b1f1bc0272e2d3f","dweb:/ipfs/QmYHDzQx29ataM2ejRCXFcPxaPdxWqX8v7uwUAYoG9572w"],"license":"BUSL-1.1"},"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/ISignatureUtils.sol":{"keccak256":"0x3b62ea6ee304cbab976ff206bcf55268f18a3291708021557f93f899f99862e4","urls":["bzz-raw://b59a96fbf9940a7795d9a5fcb9e03939a87216317fb67872b7017285bf7eb49b","dweb:/ipfs/QmdiH5AfYBvuTpzxTqfhorLG25t2dhSTKWh1cvBbYxGDJH"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/ISlasher.sol":{"keccak256":"0x7655919fae553e75ff196b31c9244079ff222e34ff43f36c41429ee826cfad9b","urls":["bzz-raw://d5d35a784a9511b351826cb70b00d92c3d374474f256b01af05cd1acb1ce6c10","dweb:/ipfs/QmZog3BrpLa213wj5qxVYMQv7jdrkf5AAufLCVaMZsL7Gs"],"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"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/interfaces/IStrategyManager.sol":{"keccak256":"0x160fea76cd2e64e4e4bb66f4d793ff4a6ddb7cb785a30a0615e9f4956aa12c8b","urls":["bzz-raw://03f16b6f03051893671ba0d1445fb45bc6105f05ee3ca3002fd400ac63c8fd20","dweb:/ipfs/QmRbQ6k4kJYjfDTv5Z7bSfy5ewjjgHUVEhsWPWsyz57sUa"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/BeaconChainProofs.sol":{"keccak256":"0x633b5fb10209891f696a9c8db4d7327ed7f560a2e9710489e38a67daeda59a96","urls":["bzz-raw://c8381baaec3afa6b200420c093706974776dfd14f6887abe7457eb867351a068","dweb:/ipfs/QmP9H9ttS1sJ6FrvMEefJhU6B4z1wMCjcYYZqVfsLXagJE"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Endian.sol":{"keccak256":"0x098850d09b65bb7dbad5ea0513eacb77f2701e135d9727b3627e13f303b2ff41","urls":["bzz-raw://3519f5a415b99d196f3cecef3f48ea116f2f3a2b381efcc96a5d7eff6934c2f3","dweb:/ipfs/QmbCcFWgmFjXeZrvfEFQ17AgEueW9wS17HhvjkxMi5x3H8"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/contracts/libraries/Merkle.sol":{"keccak256":"0x6e82a559dc583bf4b15867654e82f3aca9a862589209abac1c4356142a3b2211","urls":["bzz-raw://8a1a4819b95c7da710e11efb279bd4b596139dc12c96c45a366d8e1893018eb1","dweb:/ipfs/QmZBHPLKoYepZmA7AL9ECJFkbBhujSNvvc8pJmNC9MnRni"],"license":"MIT"}},"version":1},"id":76}