Skip to content

Latest commit

 

History

History
26 lines (21 loc) · 3.8 KB

File metadata and controls

26 lines (21 loc) · 3.8 KB
sidebar_position title
1
EigenLayer Core Contracts

The EigenLayer core contracts are the set of contracts that implement the EigenLayer protocol. The EigenLayer protocol includes Staking, Operations, and AVS registration and allocation. The contracts for an AVS interact with the EigenLayer contracts.

The EigenLayer middleware contracts are the higher level interface to the core contracts for new AVS developers.

The EigenLayer core contracts are documented in the eigenlayer-contracts repository. The core contracts include:

Core contract Description
StrategyManager Responsible for handling the accounting for Restakers as they deposit and withdraw ERC20 tokens from their corresponding strategies. The StrategyManager tracks the amount of restaked assets each Restaker has within Eigenlayer.
DelegationManager Responsible for enabling Restakers to delegate assets to Operators, and withdraw assets. The DelegationManager tracks the amount of assets from each Strategy that have been delegated to each Operator, and tracks accounting for slashing.
EigenPodManager Enables native ETH restaking
AllocationManager Responsible for creating Operator Sets, and Operator registrations to Operator Sets. The Allocation Manager also tracks allocation of stake to a Operator Set, and enables AVSs to slash that stake.
RewardsCoordinator Enables AVSs to distribute ERC20 tokens to Operators and Restakers who delegated assets to Operators. The RewardsCoordinator tracks the rewards and enables Operators and Restakers to claim them.
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.
AVSDirectory Has been replaced by AllocationManager and will be deprecated in a future release.

:::important AVSDirectory will be deprecated in a future release. We strongly recommend existing AVSs migrate to using Operator Sets on Testnet. :::