Skip to content
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

feat(contracts): EL middleware #22

Merged
merged 27 commits into from
Jan 22, 2025
Merged

feat(contracts): EL middleware #22

merged 27 commits into from
Jan 22, 2025

Conversation

merklefruit
Copy link
Contributor

@merklefruit merklefruit commented Jan 14, 2025

This PR introduces the BoltEigenLayerMiddlewareV1 contract, supporting the new ELIP-02 protocol upgrade.

Flow to register as a new EigenLayer Operator in bolt:

  1. Register as a new EL operator (only necessary if you aren't an operator already, otherwise can be skipped)
    • delegationManager.registerAsOperator()
  2. Register as an operator in the bolt AVS:
    • allocationManager.registerForOperatorSets()
    • arguments need to specify the correct AVS address (the bolt middleware created in this PR) as well as the operator sets that they wish to join. By default these are left up to governance and will dictate which strategies can be used.

Additionally, this PR refactors some internals of the OperatorsRegistry. Mainly:

  1. switched to PausableEnumerableSet (library from symbiotic-sdk) to be able to pause/unpause operators.

Setup:

  • the eigenlayer-contracts submodule is pointing to the slashing feature branch: slashing-magnitudes
  • OZ dependencies are using v5.2.0 (openzeppelin-contracts-upgradeable and openzeppelin-contracts)

Tests:

  • Register as an operator through the EL middleware
  • Deposit collateral to a strategy and delegate to an operator
  • Update AVS operator shares for that strategy
  • Read collateral of the operator on the middleware

Meta

@merklefruit merklefruit marked this pull request as ready for review January 21, 2025 08:39
@merklefruit merklefruit requested a review from mempirate January 21, 2025 08:40
@merklefruit merklefruit merged commit 7e7d10a into main Jan 22, 2025
2 of 4 checks passed
@merklefruit merklefruit deleted the nico/feat/el-middleware branch January 22, 2025 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants