Skip to content

Conversation

@ypatil12
Copy link
Collaborator

@ypatil12 ypatil12 commented Oct 1, 2025

Motivation:

We want to solve the following use cases:

  • As an AVS I want to make a commitment on the address that can slash a given operatorSet
  • As an AVS I want to allow one address to slash an operatorSet
  • As an AVS I DO NOT want to allow the admin to slash the operatorSet via PermissionController actions

Modifications:

The slasher permissions are set and stored in the AllocationManager instead of the PermissionController. The slasher is initially set upon creation of the operatorSet.

New functions:

  • updateSlasher: can set a new slasher on a ALLOCATION_CONFIGURATION_DELAY blocks (17.5 days on mainnet)
  • migrateSlasher: migrates the slasher address from the PermissionController to the AllocationManager. Can be migrated only once for a given operatorSet. This function will be called after the upgrade for all operatorSets. See the script in the script folder, which will eventually be added to the upgrade script.
  • createOperatorSet: modified to take in a slasher address, which can immediately slash an operatorSet. The old function is still available and will be deprecated in Q2 2026. The old function automatically the slasher to the avs address.

Old Functions:

  • slashOperator is modified to not use the checkCanCall modifier

We have 1.9KB left in the ALM.

Result:

Stronger commitments.

@ypatil12 ypatil12 changed the base branch from release/slashing-ux-improvements to release-dev/slashing-ux-improvements October 9, 2025 16:41
@ypatil12 ypatil12 force-pushed the release-dev/slashing-ux-improvements branch from bce9cbb to c572ec5 Compare October 15, 2025 18:39
@ypatil12 ypatil12 force-pushed the feat/alm-solution branch 3 times, most recently from 4bf458a to e32292e Compare October 23, 2025 20:48
@ypatil12 ypatil12 marked this pull request as ready for review October 23, 2025 21:15
Copy link
Collaborator

@nadir-akhtar nadir-akhtar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! Reviewed the code and tests, looks well covered.

ypatil12 and others added 8 commits November 5, 2025 15:53
feat: allow migration

chore: gap

chore: make opSets backwards compatible

feat: add operatorSet creation; add tests

test: setSlasher

feat: add pending slasher introspection + tests

test: add slasher tests

test: slasher

fix: require slasher to be zero address

test: upgrade

feat: migration script; migration event

chore: update strat.sh

docs: slashing commitments
fix: lavamoat zeus
@ypatil12 ypatil12 merged commit e0297a4 into release-dev/slashing-ux-improvements Nov 6, 2025
16 checks passed
@ypatil12 ypatil12 deleted the feat/alm-solution branch November 6, 2025 00:04
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.

4 participants