From 0256e606120c74f4cc73fdc52344c962f3724fbe Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Wed, 5 Feb 2025 12:42:29 +1000 Subject: [PATCH 1/8] Minimal restructure to demo Concept/How To/Reference/Tutorial approach --- docs/developers/Concepts/_category_.json | 4 ++++ docs/developers/{ => Concepts}/avs-developer-guide.md | 0 docs/developers/Concepts/security/_category_.json | 4 ++++ .../security}/avs-developer-best-practices.md | 0 docs/developers/HowTo/_category_.json | 4 ++++ docs/developers/{ => HowTo}/avs-opset-slashing.md | 4 ++-- docs/developers/{ => HowTo}/avs-permissionlesss.md | 4 ++-- docs/developers/{ => HowTo}/deployment-testnet-mainnet.md | 8 ++++---- docs/developers/{ => HowTo}/how-to-build-an-avs.md | 4 ++-- .../implement-avs-marketplace-interfaces.md} | 4 ++-- docs/developers/{ => HowTo}/rewards.md | 4 ++-- docs/developers/{ => HowTo}/support.md | 4 ++-- docs/developers/Reference/_category_.json | 4 ++++ docs/developers/{ => Reference}/resources.md | 0 docs/developers/{ => Tutorials}/quickstart.md | 2 +- docs/eigenlayer/resources/learning-resources.md | 2 +- docs/eigenlayer/restaking-guides/overview.md | 2 +- .../rewards-claiming/rewards-claiming-overview.md | 2 +- src/pages/index.js | 2 +- 19 files changed, 37 insertions(+), 21 deletions(-) create mode 100644 docs/developers/Concepts/_category_.json rename docs/developers/{ => Concepts}/avs-developer-guide.md (100%) create mode 100644 docs/developers/Concepts/security/_category_.json rename docs/developers/{ => Concepts/security}/avs-developer-best-practices.md (100%) create mode 100644 docs/developers/HowTo/_category_.json rename docs/developers/{ => HowTo}/avs-opset-slashing.md (99%) rename docs/developers/{ => HowTo}/avs-permissionlesss.md (94%) rename docs/developers/{ => HowTo}/deployment-testnet-mainnet.md (76%) rename docs/developers/{ => HowTo}/how-to-build-an-avs.md (96%) rename docs/developers/{avs-dashboard-onboarding.md => HowTo/implement-avs-marketplace-interfaces.md} (99%) rename docs/developers/{ => HowTo}/rewards.md (98%) rename docs/developers/{ => HowTo}/support.md (87%) create mode 100644 docs/developers/Reference/_category_.json rename docs/developers/{ => Reference}/resources.md (100%) rename docs/developers/{ => Tutorials}/quickstart.md (98%) diff --git a/docs/developers/Concepts/_category_.json b/docs/developers/Concepts/_category_.json new file mode 100644 index 00000000..4f6616f2 --- /dev/null +++ b/docs/developers/Concepts/_category_.json @@ -0,0 +1,4 @@ +{ + "position": 1, + "label": "Concepts" +} \ No newline at end of file diff --git a/docs/developers/avs-developer-guide.md b/docs/developers/Concepts/avs-developer-guide.md similarity index 100% rename from docs/developers/avs-developer-guide.md rename to docs/developers/Concepts/avs-developer-guide.md diff --git a/docs/developers/Concepts/security/_category_.json b/docs/developers/Concepts/security/_category_.json new file mode 100644 index 00000000..535d2317 --- /dev/null +++ b/docs/developers/Concepts/security/_category_.json @@ -0,0 +1,4 @@ +{ + "position": 1, + "label": "Security" +} \ No newline at end of file diff --git a/docs/developers/avs-developer-best-practices.md b/docs/developers/Concepts/security/avs-developer-best-practices.md similarity index 100% rename from docs/developers/avs-developer-best-practices.md rename to docs/developers/Concepts/security/avs-developer-best-practices.md diff --git a/docs/developers/HowTo/_category_.json b/docs/developers/HowTo/_category_.json new file mode 100644 index 00000000..40c82b3b --- /dev/null +++ b/docs/developers/HowTo/_category_.json @@ -0,0 +1,4 @@ +{ + "position": 1, + "label": "How To" +} \ No newline at end of file diff --git a/docs/developers/avs-opset-slashing.md b/docs/developers/HowTo/avs-opset-slashing.md similarity index 99% rename from docs/developers/avs-opset-slashing.md rename to docs/developers/HowTo/avs-opset-slashing.md index e4f3f767..da5c5622 100644 --- a/docs/developers/avs-opset-slashing.md +++ b/docs/developers/HowTo/avs-opset-slashing.md @@ -1,6 +1,6 @@ --- -sidebar_position: 4 -title: AVS Operator Set and Slashing of Unique Stake +sidebar_position: 3 +title: Implement Slashing of Unique Stake --- diff --git a/docs/developers/avs-permissionlesss.md b/docs/developers/HowTo/avs-permissionlesss.md similarity index 94% rename from docs/developers/avs-permissionlesss.md rename to docs/developers/HowTo/avs-permissionlesss.md index d6cc784f..3259aaae 100644 --- a/docs/developers/avs-permissionlesss.md +++ b/docs/developers/HowTo/avs-permissionlesss.md @@ -1,6 +1,6 @@ --- -sidebar_position: 8 -title: Permissionless Token Strategies +sidebar_position: 6 +title: Add ERC-20 Tokens as Restakable Asset --- # Permissionless Token Strategies diff --git a/docs/developers/deployment-testnet-mainnet.md b/docs/developers/HowTo/deployment-testnet-mainnet.md similarity index 76% rename from docs/developers/deployment-testnet-mainnet.md rename to docs/developers/HowTo/deployment-testnet-mainnet.md index 5fa70ea9..863c27cf 100644 --- a/docs/developers/deployment-testnet-mainnet.md +++ b/docs/developers/HowTo/deployment-testnet-mainnet.md @@ -1,6 +1,6 @@ --- -sidebar_position: 9 -title: Preparing for Testnet and Mainnet Deployment +sidebar_position: 5 +title: Prepare for and Deploy to Testnet and Mainnet --- @@ -15,13 +15,13 @@ title: Preparing for Testnet and Mainnet Deployment - Communication channels that will be utilized for AVS upgrades. - Describe Operator monitoring tooling available, such as GraFana dashboards, log files or similar. -3. Follow the [AVS Developer Security Best Practices](./avs-developer-best-practices.md) and [Key Manage Considerations for Developers](./avs-developer-best-practices.md#key-management-recommendation-for-developers). +3. Follow the [AVS Developer Security Best Practices](../Concepts/security/avs-developer-best-practices.md) and [Key Manage Considerations for Developers](../Concepts/security/avs-developer-best-practices.md#key-management-recommendation-for-developers). 4. Implement the [Node Specification](https://docs.eigenlayer.xyz/eigenlayer/avs-guides/spec/intro) for your Operator executable package. 5. Follow the [Testnet Dashboard Onboarding instructions](https://docs.eigenlayer.xyz/eigenlayer/avs-guides/avs-dashboard-onboarding). -6. Implement Rewards distributions per the instructions [here](./rewards.md). +6. Implement Rewards distributions per the instructions [here](rewards.md). ## Preparing and Deploying to Mainnet diff --git a/docs/developers/how-to-build-an-avs.md b/docs/developers/HowTo/how-to-build-an-avs.md similarity index 96% rename from docs/developers/how-to-build-an-avs.md rename to docs/developers/HowTo/how-to-build-an-avs.md index e2541425..bf6cb755 100644 --- a/docs/developers/how-to-build-an-avs.md +++ b/docs/developers/HowTo/how-to-build-an-avs.md @@ -1,11 +1,11 @@ --- -sidebar_position: 3 +sidebar_position: 1 title: Build Your Own AVS --- This section will walk you through the process of designing and building your own AVS from scratch. It is intended to take you from an idea to a working local prototype. -Before proceeding, please review the previous sections on [AVS Overview](./avs-developer-guide.md), [EigenLayer Overview](/docs/eigenlayer/overview/README.md) and the [Quick Start example](./quickstart.md) to become familiar with the basic concepts. +Before proceeding, please review the previous sections on [AVS Overview](../Concepts/avs-developer-guide.md), [EigenLayer Overview](/docs/eigenlayer/overview/README.md) and the [Quick Start example](../Tutorials/quickstart.md) to become familiar with the basic concepts. ## Step 1: AVS Design diff --git a/docs/developers/avs-dashboard-onboarding.md b/docs/developers/HowTo/implement-avs-marketplace-interfaces.md similarity index 99% rename from docs/developers/avs-dashboard-onboarding.md rename to docs/developers/HowTo/implement-avs-marketplace-interfaces.md index ad42b905..bb403712 100644 --- a/docs/developers/avs-dashboard-onboarding.md +++ b/docs/developers/HowTo/implement-avs-marketplace-interfaces.md @@ -1,6 +1,6 @@ --- -sidebar_position: 7 -title: AVS Dashboard Onboarding +sidebar_position: 4 +title: Implement AVS Marketplace Interfaces --- diff --git a/docs/developers/rewards.md b/docs/developers/HowTo/rewards.md similarity index 98% rename from docs/developers/rewards.md rename to docs/developers/HowTo/rewards.md index 3b226f55..116f49b5 100644 --- a/docs/developers/rewards.md +++ b/docs/developers/HowTo/rewards.md @@ -1,6 +1,6 @@ --- -sidebar_position: 8 -title: AVS Rewards +sidebar_position: 2 +title: Implement Rewards --- ## Overview diff --git a/docs/developers/support.md b/docs/developers/HowTo/support.md similarity index 87% rename from docs/developers/support.md rename to docs/developers/HowTo/support.md index 0b481536..86aef675 100644 --- a/docs/developers/support.md +++ b/docs/developers/HowTo/support.md @@ -1,6 +1,6 @@ --- -sidebar_position: 4 -title: Developer Support +sidebar_position: 7 +title: Get Support --- If you have any questions or comments throughout the AVS development process, you can get support by reaching out to us using the Intercom button on the bottom right side of this page or clicking here. We will promptly follow up with support! \ No newline at end of file diff --git a/docs/developers/Reference/_category_.json b/docs/developers/Reference/_category_.json new file mode 100644 index 00000000..953bad76 --- /dev/null +++ b/docs/developers/Reference/_category_.json @@ -0,0 +1,4 @@ +{ + "position": 1, + "label": "Reference" +} \ No newline at end of file diff --git a/docs/developers/resources.md b/docs/developers/Reference/resources.md similarity index 100% rename from docs/developers/resources.md rename to docs/developers/Reference/resources.md diff --git a/docs/developers/quickstart.md b/docs/developers/Tutorials/quickstart.md similarity index 98% rename from docs/developers/quickstart.md rename to docs/developers/Tutorials/quickstart.md index 1a05d61e..9b392dae 100644 --- a/docs/developers/quickstart.md +++ b/docs/developers/Tutorials/quickstart.md @@ -84,7 +84,7 @@ function respondToTask( } ``` -Please find a complete list of the requirements to implement an AVS at [Build Your Own AVS: Step 2 Idea to Code](/docs/developers/how-to-build-an-avs.md#step-2-idea-to-code-building-and-deploying-your-avs-locally). +Please find a complete list of the requirements to implement an AVS at [Build Your Own AVS: Step 2 Idea to Code](/docs/developers/HowTo/how-to-build-an-avs.md#step-2-idea-to-code-building-and-deploying-your-avs-locally). ### Contract Deployment Scripts diff --git a/docs/eigenlayer/resources/learning-resources.md b/docs/eigenlayer/resources/learning-resources.md index 949abd30..4f773c0d 100644 --- a/docs/eigenlayer/resources/learning-resources.md +++ b/docs/eigenlayer/resources/learning-resources.md @@ -31,7 +31,7 @@ title: Learning Resources ### Developer resources -Please see Developer Learning Resources [here](/docs/developers/resources.md). +Please see Developer Learning Resources [here](/docs/developers/Reference/resources.md). ### Community diff --git a/docs/eigenlayer/restaking-guides/overview.md b/docs/eigenlayer/restaking-guides/overview.md index 50d3be86..9a38ba5c 100644 --- a/docs/eigenlayer/restaking-guides/overview.md +++ b/docs/eigenlayer/restaking-guides/overview.md @@ -6,7 +6,7 @@ title: Restaking Overview ## **Liquid & Native Restaking** -**Liquid restaking** is the process of depositing "liquid" tokens, including LSTs, EIGEN token, and any ERC20 token into the EigenLayer smart contracts. For more information about adding new ERC20 tokens, please see [Permissionless Token Strategies](/docs/developers/avs-permissionlesss.md). +**Liquid restaking** is the process of depositing "liquid" tokens, including LSTs, EIGEN token, and any ERC20 token into the EigenLayer smart contracts. For more information about adding new ERC20 tokens, please see [Permissionless Token Strategies](/docs/developers/HowTo/avs-permissionlesss.md). **Native restaking** is the process of changing an Ethereum validator's[ withdrawal credentials](https://notes.ethereum.org/@launchpad/withdrawals-faq#Q-What-are-withdrawals) to EigenLayer's smart contracts. You must operate an Ethereum Validator node in order to participate in Native Restaking. To learn more or set up your Ethereum Validator please follow this link from the[ Ethereum Foundation](https://launchpad.ethereum.org/). diff --git a/docs/eigenlayer/rewards-claiming/rewards-claiming-overview.md b/docs/eigenlayer/rewards-claiming/rewards-claiming-overview.md index 81477d93..b2133e89 100644 --- a/docs/eigenlayer/rewards-claiming/rewards-claiming-overview.md +++ b/docs/eigenlayer/rewards-claiming/rewards-claiming-overview.md @@ -45,4 +45,4 @@ Rewards are calculated via an off-chain process. A Merkle root is posted which r ## AVS Integrations -Please refer to [AVS Guide: AVS Rewards](/docs/developers/rewards.md) for complete instructions. +Please refer to [AVS Guide: AVS Rewards](/docs/developers/HowTo/rewards.md) for complete instructions. diff --git a/src/pages/index.js b/src/pages/index.js index 52af0ce1..d90fb9ae 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -52,7 +52,7 @@ function Home() { Date: Wed, 5 Feb 2025 12:31:45 -0500 Subject: [PATCH 2/8] fixed redirects and urls --- docs/eigenlayer/overview/README.md | 2 +- docusaurus.config.js | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/docs/eigenlayer/overview/README.md b/docs/eigenlayer/overview/README.md index c49ce3e6..a1b878b0 100644 --- a/docs/eigenlayer/overview/README.md +++ b/docs/eigenlayer/overview/README.md @@ -48,6 +48,6 @@ To learn more about EigenLayer please read the [**Whitepaper**](/pdf/EigenLayer_ Get started with EigenLayer: - [Restake on EigenLayer](/eigenlayer/restaking-guides/overview) - [Register as an Operator](/eigenlayer/operator-guides/operator-installation) -- [Build an AVS](/developers/avs-developer-guide) +- [Build an AVS](/developers/Concepts/avs-developer-guide) - Join our Ecosystem: [Discord](https://discord.com/invite/eigenlayer), [Twitter](https://twitter.com/eigenlayer) diff --git a/docusaurus.config.js b/docusaurus.config.js index 804976ed..c1318edc 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -75,10 +75,7 @@ const config = { to: "/eigenlayer/operator-guides/operator-faq", }, - { - from: "/eigenlayer/avs-guides/avs-development-guide", - to: "/developers/how-to-build-an-avs", - }, + { from: "/eigenlayer/restaking-guides/restaking-user-guide/testnet/rewards-claiming/rewards-claiming-instructions", @@ -209,7 +206,7 @@ const config = { activeBasePath: 'eigenlayer/', }, { - to: "developers/avs-developer-guide", + to: "developers/Concepts/avs-developer-guide", label: "Developers", position: "left", activeBasePath: 'developer/', From bd627ef1cf52b5c748f8fdec7c0ae4a4d5bcd39a Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Thu, 6 Feb 2025 14:55:28 +1000 Subject: [PATCH 3/8] Addressing review comments --- docs/developers/Concepts/security/_category_.json | 4 ---- docs/developers/HowTo/avs-opset-slashing.md | 2 +- docs/developers/HowTo/avs-permissionlesss.md | 2 +- docs/developers/HowTo/deployment-testnet-mainnet.md | 4 ++-- docs/developers/HowTo/how-to-build-an-avs.md | 4 ++-- ...avs-marketplace-interfaces.md => onboard-avs-dashboard.md} | 4 ++-- docs/developers/{Tutorials => HowTo}/quickstart.md | 4 ++-- docs/developers/HowTo/rewards.md | 2 +- docs/developers/HowTo/support.md | 2 +- .../security => Reference}/avs-developer-best-practices.md | 0 docusaurus.config.js | 4 ++++ 11 files changed, 16 insertions(+), 16 deletions(-) delete mode 100644 docs/developers/Concepts/security/_category_.json rename docs/developers/HowTo/{implement-avs-marketplace-interfaces.md => onboard-avs-dashboard.md} (99%) rename docs/developers/{Tutorials => HowTo}/quickstart.md (99%) rename docs/developers/{Concepts/security => Reference}/avs-developer-best-practices.md (100%) diff --git a/docs/developers/Concepts/security/_category_.json b/docs/developers/Concepts/security/_category_.json deleted file mode 100644 index 535d2317..00000000 --- a/docs/developers/Concepts/security/_category_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "position": 1, - "label": "Security" -} \ No newline at end of file diff --git a/docs/developers/HowTo/avs-opset-slashing.md b/docs/developers/HowTo/avs-opset-slashing.md index da5c5622..48918b35 100644 --- a/docs/developers/HowTo/avs-opset-slashing.md +++ b/docs/developers/HowTo/avs-opset-slashing.md @@ -1,5 +1,5 @@ --- -sidebar_position: 3 +sidebar_position: 4 title: Implement Slashing of Unique Stake --- diff --git a/docs/developers/HowTo/avs-permissionlesss.md b/docs/developers/HowTo/avs-permissionlesss.md index 3259aaae..5f4fdf4f 100644 --- a/docs/developers/HowTo/avs-permissionlesss.md +++ b/docs/developers/HowTo/avs-permissionlesss.md @@ -1,5 +1,5 @@ --- -sidebar_position: 6 +sidebar_position: 7 title: Add ERC-20 Tokens as Restakable Asset --- diff --git a/docs/developers/HowTo/deployment-testnet-mainnet.md b/docs/developers/HowTo/deployment-testnet-mainnet.md index 863c27cf..6c4655bd 100644 --- a/docs/developers/HowTo/deployment-testnet-mainnet.md +++ b/docs/developers/HowTo/deployment-testnet-mainnet.md @@ -1,5 +1,5 @@ --- -sidebar_position: 5 +sidebar_position: 6 title: Prepare for and Deploy to Testnet and Mainnet --- @@ -15,7 +15,7 @@ title: Prepare for and Deploy to Testnet and Mainnet - Communication channels that will be utilized for AVS upgrades. - Describe Operator monitoring tooling available, such as GraFana dashboards, log files or similar. -3. Follow the [AVS Developer Security Best Practices](../Concepts/security/avs-developer-best-practices.md) and [Key Manage Considerations for Developers](../Concepts/security/avs-developer-best-practices.md#key-management-recommendation-for-developers). +3. Follow the [AVS Developer Security Best Practices](../Reference/avs-developer-best-practices.md) and [Key Manage Considerations for Developers](../Reference/avs-developer-best-practices.md#key-management-recommendation-for-developers). 4. Implement the [Node Specification](https://docs.eigenlayer.xyz/eigenlayer/avs-guides/spec/intro) for your Operator executable package. diff --git a/docs/developers/HowTo/how-to-build-an-avs.md b/docs/developers/HowTo/how-to-build-an-avs.md index bf6cb755..e180eca9 100644 --- a/docs/developers/HowTo/how-to-build-an-avs.md +++ b/docs/developers/HowTo/how-to-build-an-avs.md @@ -1,11 +1,11 @@ --- -sidebar_position: 1 +sidebar_position: 2 title: Build Your Own AVS --- This section will walk you through the process of designing and building your own AVS from scratch. It is intended to take you from an idea to a working local prototype. -Before proceeding, please review the previous sections on [AVS Overview](../Concepts/avs-developer-guide.md), [EigenLayer Overview](/docs/eigenlayer/overview/README.md) and the [Quick Start example](../Tutorials/quickstart.md) to become familiar with the basic concepts. +Before proceeding, please review the previous sections on [AVS Overview](../Concepts/avs-developer-guide.md), [EigenLayer Overview](/docs/eigenlayer/overview/README.md) and the [Quick Start example](quickstart.md) to become familiar with the basic concepts. ## Step 1: AVS Design diff --git a/docs/developers/HowTo/implement-avs-marketplace-interfaces.md b/docs/developers/HowTo/onboard-avs-dashboard.md similarity index 99% rename from docs/developers/HowTo/implement-avs-marketplace-interfaces.md rename to docs/developers/HowTo/onboard-avs-dashboard.md index bb403712..7f3953ea 100644 --- a/docs/developers/HowTo/implement-avs-marketplace-interfaces.md +++ b/docs/developers/HowTo/onboard-avs-dashboard.md @@ -1,6 +1,6 @@ --- -sidebar_position: 4 -title: Implement AVS Marketplace Interfaces +sidebar_position: 5 +title: Onboard to AVS Dashboard --- diff --git a/docs/developers/Tutorials/quickstart.md b/docs/developers/HowTo/quickstart.md similarity index 99% rename from docs/developers/Tutorials/quickstart.md rename to docs/developers/HowTo/quickstart.md index 9b392dae..6539492d 100644 --- a/docs/developers/Tutorials/quickstart.md +++ b/docs/developers/HowTo/quickstart.md @@ -1,6 +1,6 @@ --- -sidebar_position: 2 -title: Quick Start Example +sidebar_position: 1 +title: Get started --- ## Hello World AVS: Local Deployment diff --git a/docs/developers/HowTo/rewards.md b/docs/developers/HowTo/rewards.md index 116f49b5..f2e9948d 100644 --- a/docs/developers/HowTo/rewards.md +++ b/docs/developers/HowTo/rewards.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 3 title: Implement Rewards --- diff --git a/docs/developers/HowTo/support.md b/docs/developers/HowTo/support.md index 86aef675..624c57f2 100644 --- a/docs/developers/HowTo/support.md +++ b/docs/developers/HowTo/support.md @@ -1,5 +1,5 @@ --- -sidebar_position: 7 +sidebar_position: 8 title: Get Support --- diff --git a/docs/developers/Concepts/security/avs-developer-best-practices.md b/docs/developers/Reference/avs-developer-best-practices.md similarity index 100% rename from docs/developers/Concepts/security/avs-developer-best-practices.md rename to docs/developers/Reference/avs-developer-best-practices.md diff --git a/docusaurus.config.js b/docusaurus.config.js index 804976ed..b39dcfcd 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -131,6 +131,10 @@ const config = { from: "/eigenlayer/restaking-guides/restaking-user-guide/testnet/obtaining-testnet-eth-and-liquid-staking-tokens-lsts", to: "/eigenlayer/restaking-guides/testnet/obtaining-testnet-eth-and-liquid-staking-tokens-lsts", }, + { + from: "/developers", + to: "/developers/Concepts/avs-developer-guide", + }, { from: "/eigenlayer/economy/economy-overview", to: "/eigenlayer/economy/economy-calculation-and-formulas", From 96bbf96136e1c86c14c513d8ed530ea9e52d0f50 Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Thu, 6 Feb 2025 15:45:06 +1000 Subject: [PATCH 4/8] Added redirects --- docusaurus.config.js | 45 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index d87f512c..a0cc5d77 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -136,7 +136,50 @@ const config = { from: "/eigenlayer/economy/economy-overview", to: "/eigenlayer/economy/economy-calculation-and-formulas", }, - + { + from: "/developers/avs-developer-guide.md", + to: "/developers/Concepts/avs-developer-guide.md", + }, + { + from: "/developers/avs-developer-best-practices.md", + to: "/developers/Reference/avs-developer-best-practices.md", + }, + { + from: "/developers/avs-opset-slashing.md", + to: "/developers/HowTo/avs-opset-slashing.md", + }, + { + from: "/developers/avs-permissionlesss.md", + to: "/developers/HowTo/avs-permissionlesss.md.md", + }, + { + from: "/developers/deployment-testnet-mainnet.md", + to: "/developers/HowTo/deployment-testnet-mainnet.md", + }, + { + from: "/developers/how-to-build-an-avs.md", + to: "/developers/HowTo/how-to-build-an-avs.md", + }, + { + from: "/developers/avs-dashboard-onboarding.md", + to: "/developers/HowTo/onboard-avs-dashboard.md", + }, + { + from: "/developers/rewards.md", + to: "/developers/HowTo/rewards.md", + }, + { + from: "/developers/support.md", + to: "/developers/HowTo/support.md", + }, + { + from: "/developers/resources.md", + to: "/developers/Reference/resources.md", + }, + { + from: "/developers/quickstart.md", + to: "/developers/Tutorials/quickstart.md", + }, ], createRedirects(existingPath) { From 52643299099a922db2671a9cd997850e9ff11f6e Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Thu, 6 Feb 2025 16:02:15 +1000 Subject: [PATCH 5/8] fixed redirects --- docusaurus.config.js | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index a0cc5d77..ab74d7c9 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -137,48 +137,48 @@ const config = { to: "/eigenlayer/economy/economy-calculation-and-formulas", }, { - from: "/developers/avs-developer-guide.md", - to: "/developers/Concepts/avs-developer-guide.md", + from: "/developers/avs-developer-guide", + to: "/developers/Concepts/avs-developer-guide", }, { - from: "/developers/avs-developer-best-practices.md", - to: "/developers/Reference/avs-developer-best-practices.md", + from: "/developers/avs-developer-best-practices", + to: "/developers/Reference/avs-developer-best-practices", }, { - from: "/developers/avs-opset-slashing.md", - to: "/developers/HowTo/avs-opset-slashing.md", + from: "/developers/avs-opset-slashing", + to: "/developers/HowTo/avs-opset-slashing", }, { - from: "/developers/avs-permissionlesss.md", - to: "/developers/HowTo/avs-permissionlesss.md.md", + from: "/developers/avs-permissionlesss", + to: "/developers/HowTo/avs-permissionlesss", }, { - from: "/developers/deployment-testnet-mainnet.md", - to: "/developers/HowTo/deployment-testnet-mainnet.md", + from: "/developers/deployment-testnet-mainnet", + to: "/developers/HowTo/deployment-testnet-mainnet", }, { - from: "/developers/how-to-build-an-avs.md", - to: "/developers/HowTo/how-to-build-an-avs.md", + from: "/developers/how-to-build-an-avs", + to: "/developers/HowTo/how-to-build-an-avs", }, { - from: "/developers/avs-dashboard-onboarding.md", - to: "/developers/HowTo/onboard-avs-dashboard.md", + from: "/developers/avs-dashboard-onboarding", + to: "/developers/HowTo/onboard-avs-dashboard", }, { - from: "/developers/rewards.md", - to: "/developers/HowTo/rewards.md", + from: "/developers/rewards", + to: "/developers/HowTo/rewards", }, { - from: "/developers/support.md", - to: "/developers/HowTo/support.md", + from: "/developers/support", + to: "/developers/HowTo/support", }, { - from: "/developers/resources.md", - to: "/developers/Reference/resources.md", + from: "/developers/resources", + to: "/developers/Reference/resources", }, { - from: "/developers/quickstart.md", - to: "/developers/Tutorials/quickstart.md", + from: "/developers/quickstart", + to: "/developers/Tutorials/quickstart", }, ], createRedirects(existingPath) { From 4e5b0bdc95527fb0a6af7a3b6f203fb5c10cc035 Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Thu, 6 Feb 2025 16:10:06 +1000 Subject: [PATCH 6/8] more redirect fixing --- docusaurus.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index ab74d7c9..cef5e2dc 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -178,7 +178,7 @@ const config = { }, { from: "/developers/quickstart", - to: "/developers/Tutorials/quickstart", + to: "/developers/HowTo/quickstart", }, ], createRedirects(existingPath) { From b3c0027c17aec68af2edc37220121bd3d907bf09 Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Mon, 9 Jun 2025 12:12:13 +1000 Subject: [PATCH 7/8] Added 1.6 validator consolidation --- .../1-restaking-developer-guide.md | 57 ++++++++++++++++--- 1 file changed, 50 insertions(+), 7 deletions(-) diff --git a/docs/restakers/restaking-guides/1-restaking-developer-guide.md b/docs/restakers/restaking-guides/1-restaking-developer-guide.md index 49c02099..f3095ebf 100644 --- a/docs/restakers/restaking-guides/1-restaking-developer-guide.md +++ b/docs/restakers/restaking-guides/1-restaking-developer-guide.md @@ -63,10 +63,6 @@ The following steps are necessary for a Restaker to **move** their Delegated bal * `receiveAsTokens` should be set to _false_. 4. Invoke `DelegationManager.delegateTo()` to delegate your restaked assets to the new Operator. - - - - ## Native Restaking Guide The following instructions describe how to Restake validator ETH. This mechanism is referred to as "Native Restaking". @@ -76,11 +72,19 @@ Native Restaking consists of the following actions: * [Convert Consensus Rewards to Restaked Shares](#convert-consensus-rewards-to-restaked-shares) * [Withdraw](#withdraw) +The Pectra upgrade enables the consolidation of validators to reduce operational costs and includes: +* [Consoliating Validators Pointing to an EigenPod](#consolidating-validators-pointing-to-eigenpod) +* [Consolidating New Validators to Restake on EigenLayer](#consolidating-new-validators-to-restake-on-eigenlayer). + ### Gas Cost Planning For users planning to restake multiple validators, connecting many validators to a single EigenPod where possible reduces gas cost and complexity. "Generate Proof Via eigenpod-proofs-generation CLI" will prove all connected validators. +:::tip +[Consolidate existing validators](#consolidate-validators) to reduce gas costs. +::: + ### EigenPod Upgrades and Pending Consensus Rewards For all M1 to PEPE migrations - we no longer require users to upgrade their EigenPod contracts per the deprecated `activateRestaking()` method. M1 pods will be upgraded automatically to PEPE compliant EigenPods by EigenLabs. @@ -151,9 +155,6 @@ Invoke `EigenPodManager.createPod()`. 4. Your validator ETH balance is now Restaked. - - - ### Convert Consensus Rewards to Restaked Shares As of the PEPE release, users can now convert consensus rewards and validator execution fees to restaked shares. Initiating and completing a checkpoint proof will automatically convert any consensus rewards to restaked shares for the EigenPod. @@ -230,6 +231,48 @@ Withdrawals can only be cancelled after waiting the full escrow period. To cance function with the parameter `receiveAsTokens` set to `FALSE`. ::: +### Consolidate Validators + +The Pectra upgrade introduces a new withdrawal credential of 0x02. Updating from a 0x00 or 0x01 withdrawal credential to a +0x02 withdrawal credential enables an increase in max effective balance from 32 ETH to 2048 ETH. The increased effective balance +enables: +* Consolidation of up to 64 validators into a single validator reducing operational costs. +* Staking rewards in excess of the original 32 ETH deposit contribute to total stake and earn additional rewards. That is, +staking rewards become compounding. + +For more information on Pectra and 0x02 withdrawal credentials, refer to [ethereum.org](https://ethereum.org/en/). + +#### Consolidating Validators Pointing to EigenPod + +For restakers with multiple validators, consolidation offers up to a [64x proof size and cost reduction](https://hackmd.io/uijo9RSnSMOmejK1aKH0vw?view#64x-Holy-cow). + +To consolidate validators pointing to an EigenPod: + +1. Submit a request to consolidate using [`requestConsolidation`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/v1.6.0-rc.0/docs/core/EigenPod.md#requestconsolidation). +Additional details [here](https://hackmd.io/uijo9RSnSMOmejK1aKH0vw?view#Technical-Details). +2. Monitor the Beacon chain (https://beaconcha.in/validator/[yourvalidatorid]) and checkpoint when all consolidations are complete. +Additional details [here](https://hackmd.io/uijo9RSnSMOmejK1aKH0vw?view#Technical-Details). + +#### Consolidating New Validators to Restake on EigenLayer + +Consolidating validators without exiting the Beacon chain reduces costs and time taken compared to exiting and funding new +validators. + +To consolidate existing validators and restake on EigenLayer without exiting the Beacon chain: + +1. [Create an EigenPod](#restake-new-validator-native-beacon-chain-eth). +2. [Create the number of validators you need after consolidating with 0x02 withdrawal credentials. Point all validators at +the EigenPod created in 1](#restake-new-validator-native-beacon-chain-eth). +3. Consolidate the existing validators into the new validators created in 2. For information on how to consolidate, refer to [ethereum.org](https://ethereum.org/en/). +4. Prove new validators are connected to EigenLayer by completing a withdrawal credential proof using [`verifyWithdrawalCredentials`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/main/docs/core/EigenPod.md#restaking-beacon-chain-eth). + +For example, to consolidate 1M ETH in 31250 validators and restake on EigenLayer: + +1. Create an EigenPod. +2. Create 495 validators with 0x02 withdrawal credentials. Point all validators at the EigenPod created in 1. +3. Consolidate the existing 31250 validators in the new 495 validators. +4. Prove the 495 new validators are connected to EigenLayer. + ## FAQ ### Queue withdrawal takes an `amount` as input, what will that value be? From dee562b02a051d167ff1221b236728f428b9bfde Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Mon, 9 Jun 2025 12:16:31 +1000 Subject: [PATCH 8/8] Added note about being available in v1.6 --- .../restakers/restaking-guides/1-restaking-developer-guide.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/restakers/restaking-guides/1-restaking-developer-guide.md b/docs/restakers/restaking-guides/1-restaking-developer-guide.md index f3095ebf..793edda0 100644 --- a/docs/restakers/restaking-guides/1-restaking-developer-guide.md +++ b/docs/restakers/restaking-guides/1-restaking-developer-guide.md @@ -244,6 +244,10 @@ For more information on Pectra and 0x02 withdrawal credentials, refer to [ethere #### Consolidating Validators Pointing to EigenPod +:::note +The [`requestConsolidation` method](https://github.com/Layr-Labs/eigenlayer-contracts/blob/v1.6.0-rc.0/docs/core/EigenPod.md#requestconsolidation) is available in v1.6 which is [currently available on testnets](https://github.com/Layr-Labs/eigenlayer-contracts/releases). +::: + For restakers with multiple validators, consolidation offers up to a [64x proof size and cost reduction](https://hackmd.io/uijo9RSnSMOmejK1aKH0vw?view#64x-Holy-cow). To consolidate validators pointing to an EigenPod: