-
Notifications
You must be signed in to change notification settings - Fork 339
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: operator sets #607
feat: operator sets #607
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One of the usecases is:
As an AVS, I would like to distinguish between the strategies in each of my operator sets on the UI
I don't see strategies represented super well with these operator sets.
- There's no clear "create operator set" method (yes, it can be in the middleware contracts, but I'm questioning why we don't have an explicit creation method here)
- There's no clear binding between an operator set and the strategies it represents
5c36e71
to
700ea74
Compare
Was able to condense 4 mappings into 2 with the recent storage overhaul, it allows for the original interface if we want to add some getters. Saves several SLOADs/SSTOREs throughout |
* @dev The AVS may create operator sets before it becomes an operator set AVS. | ||
*/ | ||
function createOperatorSets(uint32[] calldata operatorSetIds) external { | ||
for (uint256 i = 0; i < operatorSetIds.length; ++i) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have another pause flag for this function?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure why we would ever pause this?
ce3006e
to
88a4829
Compare
#636) * feat: bring back full storage; segregate events * feat: make operator set creation w/arrays; update interface * fix: update natspec * feat: update force dereg func * chore: fmt * feat: operator set migration (#637) * feat: add migration * test: add unit tests for migration * chore: format * fix: check operator set avs in parent func * fix: compilation * chore: format * feat: bring back opertor set struct (#639)
* feat: operator commission bips configured with a delay * build: bindings * fix: interfaces and comments * fix: storage gap and comments * chore: tests cleanup * build: bindings * chore: `forge fmt src/contracts` * feat: `operatorCommissionUpdates` length getter * fix: remove unused imports * fix: optimizations * chore: uncheckeds and remove dup view * build: bindings * chore: format --------- Co-authored-by: clandestine.eth <[email protected]>
also pushed updated bindings
* feat: track total members and sets * test: track total members and sets * fix: review changes * refactor: review changes * test: register multiple sets * test: deregister multiple sets * test: fuzz set creation
* feat: operator set rewards * chore: forge fmt * feat: add operator set retroactive length & genesis timestamp * docs: add deprecation note and fix typo * build: bindings * feat: add tests * chore: bindings --------- Co-authored-by: clandestine.eth <[email protected]> Co-authored-by: Michael Sun <[email protected]>
* fix: flakey tests * build: bindings * fix: out of gas error
* feat: track sets operators in * feat: add natspec * refactor: reorganize * fix: tests passing * fix: compile warnings * fix: test passing * feat: add `operatorSetsMemberOf` pagination * test: add coverage * chore: bindings --------- Co-authored-by: Yash Patil <[email protected]>
f2a7515
to
f0873d1
Compare
* fix: prevent opSet AVS from m2 dereg * fix: naming
* feat: functionality * test: add tests * chore: address comments * chore: bindigns and fmt
|
Combined with slashing: #679 |
Pending Performance Based Rewards