Skip to content

Conversation

@8sunyuan
Copy link
Contributor

@8sunyuan 8sunyuan commented Feb 14, 2025

Motivation:

Currently there is no way for an AVS implementing these callback functions of the IAVSRegistrar.sol to verify that the operatorSetIds belong to their operatorSets. The register/deregister callback functions are updated to include the address field.
This PR is combining #1092 and #1085

Additionally, the try/catch design for deregistering from operatorSets was impacting state between AVS and core contracts due to not having proper gas estimates when submitting transactions. Solutions exploring passing some suitable gas paramter were explored but eventually removing it entirely was deemed the best solution.

Modifications:

  • Added avs() view function that is checked upon setAVSRegistrar
  • added address avsIdentifier field in the callbacks, this should match the avs() view function on the AVSRegistrar
  • Removed try catch on deregisterForOperatorSets

Result:

AVSRegistrars cannot be used for multiple operatorSets and AVSRegistrars can doublecheck to verify that a register/deregister callback is correctly called for their contracts.
Registration state between AVS and Eigenlayer core contracts for OperatorSets are now done in atomic transactions (if entrypoint is always through the AllocationManager)

This was referenced Feb 14, 2025
@ypatil12 ypatil12 added the ✨ Enhancement New feature or request. label Feb 14, 2025
@8sunyuan 8sunyuan added the 🗡️ Slashing Release Changes for the slashing release. label Feb 14, 2025
@8sunyuan 8sunyuan force-pushed the feat/registrar-interface branch from 5fcd736 to bb27ffc Compare February 14, 2025 19:33
@8sunyuan 8sunyuan merged commit 0d6b926 into dev Feb 14, 2025
9 checks passed
@8sunyuan 8sunyuan deleted the feat/registrar-interface branch February 14, 2025 19:44
ypatil12 pushed a commit that referenced this pull request Feb 19, 2025
**Motivation:**

Currently there is no way for an AVS implementing these callback
functions of the IAVSRegistrar.sol to verify that the operatorSetIds
belong to their operatorSets. The register/deregister callback functions
are updated to include the address field.
This PR is combining
#1092 and
#1085

Additionally, the try/catch design for deregistering from operatorSets
was impacting state between AVS and core contracts due to not having
proper gas estimates when submitting transactions. Solutions exploring
passing some suitable gas paramter were explored but eventually removing
it entirely was deemed the best solution.

**Modifications:**

- Added `avs()` view function that is checked upon `setAVSRegistrar`
- added `address avsIdentifier` field in the callbacks, this should
match the `avs()` view function on the AVSRegistrar
- Removed try catch on `deregisterForOperatorSets`

**Result:**

AVSRegistrars cannot be used for multiple operatorSets and AVSRegistrars
can doublecheck to verify that a register/deregister callback is
correctly called for their contracts.
Registration state between AVS and Eigenlayer core contracts for
OperatorSets are now done in atomic transactions (if entrypoint is
always through the AllocationManager)
ypatil12 added a commit that referenced this pull request Feb 20, 2025
**Motivation:**

Bring `slashing-magnitudes-fixes` up to date

**Modifications:**

Merge `dev` into `slashing-magnitudes-fixes`

Primary changes are:

- CI Improvements
- Typos
- Rewards V2.1 Updates
- Registrar Interface Update:
#1102

**Result:**

Ready for merge into dev

---------

Co-authored-by: Rajath Alex <[email protected]>
Co-authored-by: Michael Sun <[email protected]>
Co-authored-by: clandestine.eth <[email protected]>
Co-authored-by: Jay <[email protected]>
Co-authored-by: Gautham Anant <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Nadir Akhtar <[email protected]>
Co-authored-by: davidironblocks <[email protected]>
Co-authored-by: wadealexc <[email protected]>
Co-authored-by: Nadir Akhtar <[email protected]>
Co-authored-by: Nader Dabit <[email protected]>
Co-authored-by: Bowen Li <[email protected]>
ypatil12 added a commit that referenced this pull request Feb 20, 2025
**Motivation:**

Bring `slashing-magnitudes-fixes` up to date

**Modifications:**

Merge `dev` into `slashing-magnitudes-fixes`

Primary changes are:

- CI Improvements
- Typos
- Rewards V2.1 Updates
- Registrar Interface Update:
#1102

**Result:**

Ready for merge into dev

---------

Co-authored-by: Rajath Alex <[email protected]>
Co-authored-by: Michael Sun <[email protected]>
Co-authored-by: clandestine.eth <[email protected]>
Co-authored-by: Jay <[email protected]>
Co-authored-by: Gautham Anant <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Nadir Akhtar <[email protected]>
Co-authored-by: davidironblocks <[email protected]>
Co-authored-by: wadealexc <[email protected]>
Co-authored-by: Nadir Akhtar <[email protected]>
Co-authored-by: Nader Dabit <[email protected]>
Co-authored-by: Bowen Li <[email protected]>
ypatil12 added a commit that referenced this pull request Feb 20, 2025
**Motivation:**

Bring `slashing-magnitudes-fixes` up to date

**Modifications:**

Merge `dev` into `slashing-magnitudes-fixes`

Primary changes are:

- CI Improvements
- Typos
- Rewards V2.1 Updates
- Registrar Interface Update:
#1102

**Result:**

Ready for merge into dev

---------

Co-authored-by: Rajath Alex <[email protected]>
Co-authored-by: Michael Sun <[email protected]>
Co-authored-by: clandestine.eth <[email protected]>
Co-authored-by: Jay <[email protected]>
Co-authored-by: Gautham Anant <[email protected]>
Co-authored-by: Alex <[email protected]>
Co-authored-by: Nadir Akhtar <[email protected]>
Co-authored-by: davidironblocks <[email protected]>
Co-authored-by: wadealexc <[email protected]>
Co-authored-by: Nadir Akhtar <[email protected]>
Co-authored-by: Nader Dabit <[email protected]>
Co-authored-by: Bowen Li <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Enhancement New feature or request. 🗡️ Slashing Release Changes for the slashing release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants