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 7182a4ab1abacc34b4f012153d5917cf0b73838d Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Tue, 8 Apr 2025 17:00:06 +1000 Subject: [PATCH 7/8] Added release management docs --- docs/developers/Concepts/avs-keys.md | 2 +- .../Concepts/avs-release-management.md | 16 ++++ .../Concepts/avs-security-models.md | 2 +- docs/developers/HowTo/publish/release-avs.md | 77 +++++++++++++++++++ .../avs-operator-risks-mitigations-bp.md | 2 +- .../howto/get-and-verify-releases.md | 20 +++++ .../howto/operator-content-guidelines.md | 2 +- docs/operators/howto/troubleshooting.md | 2 +- 8 files changed, 118 insertions(+), 5 deletions(-) create mode 100644 docs/developers/Concepts/avs-release-management.md create mode 100644 docs/developers/HowTo/publish/release-avs.md create mode 100644 docs/operators/howto/get-and-verify-releases.md diff --git a/docs/developers/Concepts/avs-keys.md b/docs/developers/Concepts/avs-keys.md index da2bb09d..d62a7908 100644 --- a/docs/developers/Concepts/avs-keys.md +++ b/docs/developers/Concepts/avs-keys.md @@ -1,5 +1,5 @@ --- -sidebar_position: 6 +sidebar_position: 7 title: AVS Keys --- diff --git a/docs/developers/Concepts/avs-release-management.md b/docs/developers/Concepts/avs-release-management.md new file mode 100644 index 00000000..62f19365 --- /dev/null +++ b/docs/developers/Concepts/avs-release-management.md @@ -0,0 +1,16 @@ +--- +sidebar_position: 5 +title: AVS Release Management +--- + +The Release Management Service (RMS) enables verifiable container image signing using Ethereum keys and supports +OpenContainerInterface (OCI) compliant signature publishing to GitHub Container Registry (GHCR). The RMS is an optional +service that enables: + +* AVS developers to tag and sign releases. +* Operators to view the latest releases they are registered to run. +* Operators to verify the signature of the release container. + +For information on: +* Signing and publishing AVS releases, refer to [Release AVS](../HowTo/publish/release-avs.md). +* Get and verify releases, refer to [Get and Verify AVS Releases](../../operators/howto/get-and-verify-releases.md). diff --git a/docs/developers/Concepts/avs-security-models.md b/docs/developers/Concepts/avs-security-models.md index 1aa91266..d09c2f92 100644 --- a/docs/developers/Concepts/avs-security-models.md +++ b/docs/developers/Concepts/avs-security-models.md @@ -1,5 +1,5 @@ --- -sidebar_position: 5 +sidebar_position: 6 title: AVS Security Models --- diff --git a/docs/developers/HowTo/publish/release-avs.md b/docs/developers/HowTo/publish/release-avs.md new file mode 100644 index 00000000..6185ccdf --- /dev/null +++ b/docs/developers/HowTo/publish/release-avs.md @@ -0,0 +1,77 @@ +--- +sidebar_position: 1 +title: Release AVS +--- + +To sign a release and update the AVS metadata to enable Operators to verify the container was signed by the specified public key +using the [Release Management Service (RMS)](../../Concepts/avs-release-management.md): + +1. Add valid keys for container signatures to AVS metadata using the `updateAVSMetadataURI` function. The format is: + + ``` + { + "name": "AVS Release Nofitication Demo", + ... + "releaseKeys": [ + "0xc877a87254ad39e717d2f322192f2b93e3aea5b651e13267901a4f6db507243e" + ], + ... + } + ``` + +2. Sign the container digest with a key included in the AVS metadata. Using the EigenLayer CLI: + + `eigenlayer-cli container sign [options]` with + * `container-digest` - Digest of the container + * `repository-location` - GitHub Container Registry (GHCR) repository location with which to tag the signature artifact. + +3. Update the AVS metadata to include the software section with the container name, description, and location. + + For AVSs using Operator Sets, the format is: + + ``` + { + "name": "AVS Release Nofitication Demo", + ... + "releaseKeys": [ + "0xc877a87254ad39e717d2f322192f2b93e3aea5b651e13267901a4f6db507243e" + ], + "operatorSets": [ + { + "name":"AVS Release Management Demo!!!", + ... + "software":[ + { + "name": "AVS Application Container", + "description": "A container located in GHCR for node operators to run.", + "location": "ghcr.io/bdchatham/avs-release-demo-v1" + } + ], + ... + } + ] + } + ``` + + For AVSs using AVSDirectory, the format is: + + ``` + { + "name": "AVS Release Nofitication Demo", + "avs_contract_address": "0x4c68f7bef3e14b47ba9af64acb3f0ea70c6535b1", + ... + "description": "An AVS using for demonstrating application release tracking & notifications.", + "software": { + "name": "AVS Application Container for M2 Quorum operators.", + "description": "A container located in GHCR for node operators to run.", + "location": "ghcr.io/bdchatham/avs-m2-release-demo" + }, + ... + } + ``` + +## List Release Keys + +To list AVS keys for signing releases included in the AVS metadata, use: + +`eigenlayer-cli service list-avs-release-keys –avs-address
` \ No newline at end of file diff --git a/docs/operators/howto/avs-operator-risks-mitigations-bp.md b/docs/operators/howto/avs-operator-risks-mitigations-bp.md index 682663ef..c7f17b24 100644 --- a/docs/operators/howto/avs-operator-risks-mitigations-bp.md +++ b/docs/operators/howto/avs-operator-risks-mitigations-bp.md @@ -1,5 +1,5 @@ --- -sidebar_position: 5 +sidebar_position: 8 title: Implement Security Best Practices --- diff --git a/docs/operators/howto/get-and-verify-releases.md b/docs/operators/howto/get-and-verify-releases.md new file mode 100644 index 00000000..77c11ac1 --- /dev/null +++ b/docs/operators/howto/get-and-verify-releases.md @@ -0,0 +1,20 @@ +--- +sidebar_position: 7 +title: Get and Verify AVS Releases +--- + +If an AVS is using the [Release Management Service (RMS)](../../developers/Concepts/avs-release-management.md), Operators can list and verify the releases they are registered to run. + +## List AVS Releases + +To list the AVS releases a specified Operator is registered to run, use the EigenLayer CLI: + +`eigenlayer-cli service list-operator-releases –operater-address
` + +## Verify AVS Releases + +To verify the container was signed by a public key specified in the AVS metadata, use the EigenLayer CLI: + +`eigenlayer-cli container verify [options]` with +* `container-digest` - Digest of the container +* `repository-location` - Github Container Registry (GHCR) repository location from which the release container was obtained. \ No newline at end of file diff --git a/docs/operators/howto/operator-content-guidelines.md b/docs/operators/howto/operator-content-guidelines.md index 9d5c2084..379a3055 100644 --- a/docs/operators/howto/operator-content-guidelines.md +++ b/docs/operators/howto/operator-content-guidelines.md @@ -1,5 +1,5 @@ --- -sidebar_position: 6 +sidebar_position: 8 title: Follow Webapp Content Guidelines --- diff --git a/docs/operators/howto/troubleshooting.md b/docs/operators/howto/troubleshooting.md index 632cb5b1..1e236675 100644 --- a/docs/operators/howto/troubleshooting.md +++ b/docs/operators/howto/troubleshooting.md @@ -1,5 +1,5 @@ --- -sidebar_position: 7 +sidebar_position: 9 title: Troubleshoot --- From 2ace39ddd0815cfbcc54a5d33a4b3c14f9465797 Mon Sep 17 00:00:00 2001 From: Madeline Murray Date: Wed, 9 Apr 2025 19:18:18 +1000 Subject: [PATCH 8/8] Updated for review feedback --- docs/developers/HowTo/publish/release-avs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/developers/HowTo/publish/release-avs.md b/docs/developers/HowTo/publish/release-avs.md index 6185ccdf..53e0ecbd 100644 --- a/docs/developers/HowTo/publish/release-avs.md +++ b/docs/developers/HowTo/publish/release-avs.md @@ -6,7 +6,7 @@ title: Release AVS To sign a release and update the AVS metadata to enable Operators to verify the container was signed by the specified public key using the [Release Management Service (RMS)](../../Concepts/avs-release-management.md): -1. Add valid keys for container signatures to AVS metadata using the `updateAVSMetadataURI` function. The format is: +1. Add valid keys for container signatures to AVS metadata. The format is: ``` {