Skip to content

[Do not merge until release] Doc updates for Slashing release #468

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 33 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
0256e60
Minimal restructure to demo Concept/How To/Reference/Tutorial approach
MadelineAu Feb 5, 2025
f7c9d9a
fixed redirects and urls
wesfloyd Feb 5, 2025
bd627ef
Addressing review comments
MadelineAu Feb 6, 2025
feae197
Merge branch 'devRestruture' of github.com:MadelineAu/eigenlayer-docs…
MadelineAu Feb 6, 2025
96bbf96
Added redirects
MadelineAu Feb 6, 2025
5264329
fixed redirects
MadelineAu Feb 6, 2025
4e5b0bd
more redirect fixing
MadelineAu Feb 6, 2025
8bff2ec
Merge branch 'MadelineAu-devRestruture'
MadelineAu Feb 6, 2025
9f63380
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 9, 2025
af864c0
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 10, 2025
c49b0e8
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 10, 2025
7e430a0
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 17, 2025
0e1a6eb
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 18, 2025
3ed0774
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 19, 2025
8130497
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 21, 2025
37281a6
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 21, 2025
cf76167
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 21, 2025
6126940
Merge remote-tracking branch 'upstream/main'
MadelineAu Feb 23, 2025
34fad65
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 3, 2025
e8465ae
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 4, 2025
d5ab33c
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 5, 2025
18f4927
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 5, 2025
cbaee98
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 6, 2025
549d047
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 10, 2025
cd0e391
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 13, 2025
c8e803b
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 18, 2025
a6f98f5
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 24, 2025
3b96134
Merge remote-tracking branch 'upstream/main'
MadelineAu Mar 26, 2025
302897a
Merge remote-tracking branch 'upstream/main'
MadelineAu Apr 1, 2025
b8088f9
Merge remote-tracking branch 'upstream/main'
MadelineAu Apr 3, 2025
a6db476
Merge remote-tracking branch 'upstream/main'
MadelineAu Apr 4, 2025
e29e2bb
Merge remote-tracking branch 'upstream/main'
MadelineAu Apr 7, 2025
4cf7c61
Updated to remove slashing on testnet only references
MadelineAu Apr 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,6 @@ The EigenLayer core contracts are documented in the [eigenlayer-contracts](https
| [PermissionController](https://github.com/Layr-Labs/eigenlayer-contracts/tree/testnet-holesky/docs#permissioncontroller) | Enables AVSs and operators to delegate the ability to call certain core contract functions to other addresses. For more information, refer to [User Access Management](../../../eigenlayer/concepts/uam/user-access-management.md). |
| [AVSDirectory](https://github.com/Layr-Labs/eigenlayer-contracts/tree/testnet-holesky/docs#avsdirectory) | Has been replaced by AllocationManager and will be deprecated in a future release. |

This documentation matches the functionality available on the Holesky testnet. For mainnet
specific documentation, refer to the `/docs` repository on the `mainnet` branch in the [eigenlayer-contracts](https://github.com/Layr-Labs/eigenlayer-contracts)
repository.

:::important
AVSDirectory will be deprecated in a future release. We strongly recommend existing AVSs [migrate to using Operator Sets](../../HowTo/build/slashing/migrate-to-operatorsets.md)
on Testnet.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Operator Sets are required to [slash](../../../../eigenlayer/concepts/slashing/s
3. [Communicate to Operators](#communicate-to-operators)

Migrating now gives time to switch existing quorums over to Operator Sets. After the migration has occurred,
integrations with slashing can go live on Testnet. M2 registration and Operator Set registration can operate in parallel.
integrations with slashing can go live on Testnet, followed by Mainnet. M2 registration and Operator Set registration can operate in parallel.

## Upgrade middleware contracts

Expand Down
5 changes: 0 additions & 5 deletions docs/eigenlayer/archived/_category_.json

This file was deleted.

329 changes: 0 additions & 329 deletions docs/eigenlayer/archived/arhived-slashing.md

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ title: Operator Sets Overview
---

:::note
Operator Sets are currently available on the Holesky testnet. [ELIP-002 Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md)
introduced Operator Sets.
[ELIP-002 Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md) introduced Operator Sets.

Currently, Operators register to an AVS to earn rewards in the AVSDirectory. We recommend existing AVSs [migrate to Operator Sets on testnet](../../../developers/HowTo/build/slashing/migrate-to-operatorsets.md).
:::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ title: Strategies and Magnitudes
---

:::note
Operator Sets are currently available on the Holesky testnet. [ELIP-002 Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md)
introduced Operator Sets.
[ELIP-002 Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md) introduced Operator Sets.
:::

Magnitudes are the accounting tool used to track Operator allocations to [Operator Sets](operator-sets-concept). Magnitudes represent proportions
Expand Down
4 changes: 2 additions & 2 deletions docs/eigenlayer/concepts/slashing/slashable-stake-risks.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ title: Slashable Stake Risks
---

:::important
When the Slashing and Operator Set upgrade is live on mainnet, stake can become slashable for a Staker that has previously
With Slashing, stake can become slashable for a Staker that has previously
delegated stake to an Operator. Stakers are responsible for ensuring that they fully understand and confirm their risk tolerances
for existing and future delegations to Operators and the Operator’s slashable allocations. Additionally, stakers are responsible
for continuing to monitor the allocations of their chosen Operators as they update allocations across various Operator Sets.
:::

When the Slashing and Operator Sets upgrade is live on mainnet, AVSs can create [Operator Sets](../operator-sets/operator-sets-concept) that may include slashable
AVSs can create [Operator Sets](../operator-sets/operator-sets-concept) that may include slashable
[Unique Stake](unique-stake.md), and Operators can allocate their delegated stake to Operator Sets. If a Staker has previously delegated stake
to an Operator, the delegated stake becomes slashable when the Operator opts into an Operator Set and allocates Unique Stake.

Expand Down
2 changes: 1 addition & 1 deletion docs/eigenlayer/concepts/slashing/slashing-concept.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Slashing Overview
---

:::note
Slashing is currently available on the Holesky testnet. The Slashing release implements [ELIP-002: Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md).
Slashing implements [ELIP-002: Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md).
:::

Slashing is a type of penalty determined by an AVS as a deterrent for broken commitments by Operators. Broken commitments
Expand Down
3 changes: 1 addition & 2 deletions docs/eigenlayer/concepts/slashing/unique-stake.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ title: Unique Stake
---

:::note
Operator Sets and Slashing are currently available on the Holesky testnet. [ELIP-002 Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md)
introduced Operator Sets and Slashing.
[ELIP-002 Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md) introduced Operator Sets and Slashing.
:::

Unique Stake ensures AVSs and Operators maintain key safety properties when handling staked security and slashing on EigenLayer.
Expand Down
3 changes: 1 addition & 2 deletions docs/eigenlayer/concepts/uam/user-access-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ title: User Access Management
---

:::note
UAM is currently available on the Holesky testnet. UAM implements [ELIP-003: User Access Management (UAM)](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-003.md) and will be released on
mainnet with the Slashing release.
UAM implements [ELIP-003: User Access Management (UAM)](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-003.md).
:::

User Access Management (UAM) is an EigenLayer protocol feature for Operators and AVS Developers that enables secure key rotation,
Expand Down
69 changes: 35 additions & 34 deletions docs/eigenlayer/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,56 +4,57 @@ title: Releases
---
# Mainnet

The [Rewards v2 release](https://www.blog.eigenlayer.xyz/rewards-v2/) is available on mainnet. The [eigenlayer-contracts](https://github.com/Layr-Labs/eigenlayer-contracts)
and [eigenlayer-middleware](https://github.com/Layr-Labs/eigenlayer-middleware) include the Rewards v2 release on the `mainnet` branch
in each repository.
The [Slashing](https://github.com/Layr-Labs/eigenlayer-contracts/releases/tag/v1.3.0) and Rewards v2.1 releases are available on mainnet.

# Testnet
The Slashing release includes [User Access Management (UAM)](concepts/uam/user-access-management.md).

The [Slashing](https://www.blog.eigenlayer.xyz/introducing-slashing/) and Rewards v2.1 releases are available on the Holesky testnet.
The [eigenlayer-contracts](https://github.com/Layr-Labs/eigenlayer-contracts) and [eigenlayer-middleware](https://github.com/Layr-Labs/eigenlayer-middleware)
include the Slashing release on the `testnet-holesky` branch.
The following components include updated functionality for the Slashing release:
* [Operator CLI](https://github.com/Layr-Labs/eigenlayer-cli)
* [AVS Sync](https://github.com/Layr-Labs/avs-sync)
* [EigenSDK-GO](https://github.com/Layr-Labs/eigensdk-go)
* [EigenSDK-Rust](https://github.com/Layr-Labs/eigensdk-rs)
* [Middleware](https://github.com/Layr-Labs/eigenlayer-middleware)
* [Sidecar](https://github.com/Layr-Labs/sidecar)
* [EigenLayer app](https://app.eigenlayer.xyz/)

:::important
Unless specified otherwise, this documentation matches the functionality available on the Holesky testnet. For mainnet
specific documentation, refer to the `/docs` repository on the `mainnet` branch in the [eigenlayer-contracts](https://github.com/Layr-Labs/eigenlayer-contracts)
and [eigenlayer-middleware](https://github.com/Layr-Labs/eigenlayer-middleware) repositories.
Unless specified otherwise, this documentation matches the functionality available on mainnet. For mainnet specific documentation
in the [eigenlayer-contracts](https://github.com/Layr-Labs/eigenlayer-contracts) and [eigenlayer-middleware](https://github.com/Layr-Labs/eigenlayer-middleware) repositories, refer to the `/docs` repository on the `mainnet` branch.
:::

## What's changed
## Documentation Updates included in Slashing Release

### Operator Sets

The Slashing release on the Holesky testnet introduced Operator Sets. The AllocationManager core contract manages Operator Sets and replaces
the AVSDirectory for registering Operators to an AVS. [The AVSDirectory will be deprecated in a future upgrade](https://docs.eigenlayer.xyz/developers/HowTo/slashing/migrate-to-operatorsets).

### Rewards v2.1
### Slashing

Rewards v2.1 on the Holesky testnet introduced Operator directed rewards for Operator sets. For AVSs using Operator Sets, use `createOperatorDirectedOperatorSetRewardsSubmission`.
`createAVSRewardsSubmission` and `createOperatorDirectedAVSRewardsSubmission` remain available for use by AVSs that have not yet [migrated to Operator Sets](https://docs.eigenlayer.xyz/developers/HowTo/slashing/migrate-to-operatorsets).
Refer to:
* [Slashing concept](concepts/slashing/slashing-concept)
* For developers, [Implement Slashing](../developers/HowTo/build/slashing/implement-slashing)
* For Stakers and Operators, [Slashable Stake Risk](concepts/slashing/slashable-stake-risks)

### User Access Management
### Rewards

The Slashing release includes [User Access Management (UAM)](concepts/uam/user-access-management.md). The following interfaces of
have a breaking change to add the OperatorID as an input:
* [`DelegationManager.modifyOperatorDetails`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/dev/docs/core/DelegationManager.md#modifyoperatordetails)
* [`DelegationManager.updateOperatorMetadataURI`](https://github.com/Layr-Labs/eigenlayer-contracts/blob/dev/docs/core/DelegationManager.md#updateoperatormetadatauri)
Refer to:
* [Rewards concept](concepts/rewards/rewards-concept)
* For developers, [Submit Rewards Submissions](../developers/HowTo/build/submit-rewards-submissions)
* For Operators, [Configure Rewards](../operators/howto/confirgurerewards/set-rewards-split) and [Claim Rewards](https://docs.eigenlayer.xyz/operators/howto/confirgurerewards/set-rewards-split)
* For Stakers, [Claim Rewards](../restakers/restaking-guides/claim-rewards-app)

### Release notes

For complete release notes, refer to the [`eigenlayer-contracts` repository](https://github.com/Layr-Labs/eigenlayer-contracts/releases).
### Operator Sets

# SDKs
Refer to:
* [Operator Sets concept](concepts/operator-sets/operator-sets-concept)
* For developers, [Manage Operator Sets](../developers/HowTo/build/manage-operator-sets) and [Migrate to Operator Sets](../developers/HowTo/build/slashing/migrate-to-operatorsets)
* For Operators, [Allocate and Register to Operator Sets](../operators/howto/operator-sets)

The [EigenLayer Rust SDK](https://github.com/Layr-Labs/eigensdk-rs) supports two bindngs:
* Rewards v2 - Current mainnet release.
* Slashing - Middleware's dev branch latest commit.
### User Access Management (UAM)

The [EigenLayer Go SDK](https://github.com/Layr-Labs/eigensdk-go) supports the Rewards v2.1 release.
Refer to:
* [UAM Concept](concepts/uam/user-access-management)
* For developers, [Add and Remove Admins](../developers/HowTo/build/uam/dev-add-remove-admins) and [Add and Remove Appointees](../developers/HowTo/build/uam/dev-add-remove-admins)
* For Operators, [Add and Remove Admins](../operators/howto/uam/op-add-remove-admins) and [Add and Remove Appointees](../operators/howto/uam/op-add-remove-appointees)

# Samples

The [Hello World AVS](https://github.com/Layr-Labs/hello-world-avs) and [Incredible Squaring](https://github.com/Layr-Labs/incredible-squaring-avs)
samples are available to for development and testing to get familiar with EigenLayer. We are currently updating these to
include rewards and slashing capabilities.

include rewards and slashing capabilities.
15 changes: 2 additions & 13 deletions docs/operators/concepts/operator-introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,8 @@ for Restaking and Operating activities when self delegating as a Restaker.
Please see the [rewards claiming](../howto/claimrewards/claim-rewards-cli.mdx) documentation on how to claim rewards.


### Operator Sets

### Operator Set Allocation (Currently in Testnet)

The following is not a complete description of the Slashing and Operator Sets upgrade and is qualified in its entirety by reference to the [ELIP-002: Slashing via Unique Stake & Operator Sets](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md).

The Slashing & Operator Set release adds new protocol interfaces and primitives for Operator Sets, Unique Stake Allocations, and Slashing to provide:

* A new, iterative rewards mechanism for AVSs to reward Operators based on tasks tied to Operator Sets and slashable Unique Stake.
* A mechanism for Operators to allocate and deallocate Unique Stake to and from Operator Sets.
* A slasher function for AVSs to slash an Operator’s Unique Stake allocated to a single Operator Set.

An Operator Set is a logical and segmented set of Operators created by the AVS. These groups of Operators may be split up for whatever reason an AVS can think of. AVSs may assign arbitrary “tasks” to Operator Sets that can represent anything Operators may be asked to do.

[Unique Stake](https://www.blog.eigenlayer.xyz/introducing-the-eigenlayer-security-model/) is an accounting tool defined on the level of Operator Sets that ensures AVSs and Operators maintain key safety properties when handling staked security and slashing on EigenLayer. Unique Stake is allocated to different Operator Sets on an opt-in basis by Operators. Only Unique Stake is slashable by AVSs, and it represents proportions of the Operator’s delegated stake from Stakers.
For information on Operator Sets, refer to [Operator Sets concept](../../eigenlayer/concepts/operator-sets/operator-sets-concept.md).


2 changes: 1 addition & 1 deletion docs/operators/howto/operator-sets.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: Allocate and Register to Operator Set
---

:::important
Before proceeding, review the [Slashing Concept](../../eigenlayer/archived/arhived-slashing.md) content for information on how Operator Sets and Allocations work.
Before proceeding, review the [Slashing Concept](../../eigenlayer/concepts/slashing/slashing-concept.md) content for information on how Operator Sets and Allocations work.
:::

Set Allocation Delay:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@ sidebar_position: 4
title: Restaking Smart Contract Developer (Testnet)
---



The following instructions include an overview of the changes to Smart Contract Restaking per the Slashing and Operator Set release (Currently in Testnet). All existing instructions on [Restaking Smart Contract Developer](https://docs.eigenlayer.xyz/eigenlayer/restaking-guides/restaking-developer-guide) remain unchanged for this update, except where noted below.
The following instructions include an overview of the changes to Smart Contract Restaking per the Slashing and Operator Set release. All existing instructions on [Restaking Smart Contract Developer](https://docs.eigenlayer.xyz/eigenlayer/restaking-guides/restaking-developer-guide) remain unchanged for this update, except where noted below.

The following is not a complete description of the Slashing and Operator Sets upgrade and is qualified in its entirety by reference to the [Unique Stake Allocation & Deallocation ELIP-002](https://github.com/eigenfoundation/ELIPs/blob/main/ELIPs/ELIP-002.md#unique-stake-allocation--deallocation).

Expand Down