From 00fc4b95e9c1a5c4f370e41f56d01052d186da07 Mon Sep 17 00:00:00 2001 From: Yash Patil <40046473+ypatil12@users.noreply.github.com> Date: Tue, 13 Aug 2024 10:39:01 -0400 Subject: [PATCH] feat: strategy factory release (#678) * docs: update readme * chore: add strategy factory to config --- README.md | 15 +++++++++++++-- .../Mainnet_current_deployment.config.json | 4 ++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 431f58c8c..f6d04807f 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,16 @@ The current mainnet deployment is our M2 release. You can view the deployed cont | [`Slasher`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/4b15d68b7e16b5965bad398496bfce57f5a47e1b/src/contracts/core/Slasher.sol) | [`0xD92145c07f8Ed1D392c1B88017934E301CC1c3Cd`](https://etherscan.io/address/0xD92145c07f8Ed1D392c1B88017934E301CC1c3Cd) | [`0xf323...6614`](https://etherscan.io/address/0xf3234220163a757edf1e11a8a085638d9b236614) | Proxy: [`TUP@4.7.1`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) | | [`RewardsCoordinator`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/mainnet/src/contracts/core/RewardsCoordinator.sol) | [`0x7750d328b314EfFa365A0402CcfD489B80B0adda`](https://etherscan.io/address/0x7750d328b314EfFa365A0402CcfD489B80B0adda) | [`0x5bf7...8785`](https://etherscan.io/address/0x5bf7c13D5FAdba224ECB3D5C0a67A231D1628785) | Proxy: [`TUP@4.7.1`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) | -###### Strategies - ETH +###### Strategies + +Anyone can deploy and whitelist strategies for standard ERC20s by using the `StrategyFactory` deployed to the address below (see [docs](./docs/core/StrategyManager.md#strategyfactorydeploynewstrategy)). Strategies deployed from the `StrategyFactory` are deployed using the beacon proxy pattern: + +| Name | Proxy | Implementation | Notes | +| -------- | -------- | -------- | -------- | +| [`StrategyFactory`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/strategies/StrategyFactory.sol) | [`0x5e4c39ad7a3e881585e383db9827eb4811f6f647`](https://etherscan.io/address/0x5e4c39ad7a3e881585e383db9827eb4811f6f647) | [`0x3e07...5c74`](https://etherscan.io/address/0x3e07cc2d34c8e0965f5ba45ac1e960e535155c74) | Proxy: [`TUP@4.7.1`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) | +| [`StrategyBase`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/testnet-holesky/src/contracts/strategies/StrategyBase.sol) | [`0x0ed6703C298d28aE0878d1b28e88cA87F9662fE9`](https://etherscan.io/address/0x0ed6703c298d28ae0878d1b28e88ca87f9662fe9) | [`0xe9fa...7827`](https://etherscan.io/address/0xe9fa8f904d97854c7389b68923262adcc6c27827#code) | - Beacon: [`BeaconProxy`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/beacon/BeaconProxy.sol)
- Strategies: [`UpgradeableBeacon`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/beacon/UpgradeableBeacon.sol) | + +The following strategies were originally deployed and whitelisted outside of the `StrategyFactory`: | Name | Proxy | Implementation | Notes | | -------- | -------- | -------- | -------- | @@ -137,7 +146,9 @@ The current mainnet deployment is our M2 release. You can view the deployed cont | [`StrategyBase (mETH)`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/mainnet/src/contracts/strategies/StrategyBaseTVLLimits.sol) | [`0x298aFB19A105D59E74658C4C334Ff360BadE6dd2`](https://etherscan.io/address/0x298aFB19A105D59E74658C4C334Ff360BadE6dd2) | [`0xdfdA...46d3`](https://etherscan.io/address/0xdfdA04f980bE6A64E3607c95Ca26012Ab9aA46d3) | Proxy: [`TUP@4.7.1`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.7.1/contracts/proxy/transparent/TransparentUpgradeableProxy.sol) | | `Beacon Chain ETH` | `0xbeaC0eeEeeeeEEeEeEEEEeeEEeEeeeEeeEEBEaC0` | - | - Used for Beacon Chain ETH shares
- Not a real contract! | -###### Strategies - EIGEN +###### Strategies - Special + +The following strategies differ significantly from the other strategies deployed/used above: | Name | Proxy | Implementation | Notes | | -------- | -------- | -------- | -------- | diff --git a/script/configs/mainnet/Mainnet_current_deployment.config.json b/script/configs/mainnet/Mainnet_current_deployment.config.json index c053caa9b..4276018c1 100644 --- a/script/configs/mainnet/Mainnet_current_deployment.config.json +++ b/script/configs/mainnet/Mainnet_current_deployment.config.json @@ -21,6 +21,10 @@ "slasherImplementation": "0xef31c292801f24f16479DD83197F1E6AeBb8d6d8", "strategyManager": "0x858646372CC42E1A627fcE94aa7A7033e7CF075A", "strategyManagerImplementation": "0x5d25EEf8CfEdaA47d31fE2346726dE1c21e342Fb", + "strategyFactory": "0x5e4C39Ad7A3E881585e383dB9827EB4811f6F647", + "strategyFactoryImplementation": "0x3e07cc2D34C8E0965f5BA45Ac1E960e535155c74", + "strategyFactoryBeacon": "0x0ed6703C298d28aE0878d1b28e88cA87F9662fE9", + "strategyFactoryBeaconImplementation": "0xe9FA8F904d97854C7389b68923262ADCC6C27827", "numStrategiesDeployed": 12, "strategies": { "stETH": "0x93c4b944D05dfe6df7645A86cd2206016c51564D",