-
Notifications
You must be signed in to change notification settings - Fork 109
refactor: slashing #379
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
refactor: slashing #379
Conversation
0801b19
to
26bfdb9
Compare
7b7ec25
to
f004f83
Compare
@@ -218,6 +221,17 @@ contract RegistryCoordinator is RegistryCoordinatorStorage { | |||
* | |||
*/ | |||
|
|||
/// @dev Returns a bitmap with all bits set up to `quorumCount`. Used for bit-masking quorum numbers | |||
/// and differentiating between operator sets and M2 quorums | |||
function m2QuorumBitmap() public view returns (uint256) { |
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.
"avsDirectoryQuorum"?
bf0bff8
to
39f0398
Compare
Co-authored-by: Michael Sun <[email protected]>
39f0398
to
441cff4
Compare
@@ -18,7 +20,10 @@ contract BLSSignatureChecker is BLSSignatureCheckerStorage { | |||
/// MODIFIERS | |||
|
|||
modifier onlyCoordinatorOwner() { | |||
require(msg.sender == registryCoordinator.owner(), OnlyRegistryCoordinatorOwner()); | |||
require( | |||
msg.sender == Ownable(address(registryCoordinator)).owner(), |
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.
Is RC interface inheriting IOwnable?
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.
just the owner()
interface is needed here but the SlashingRegistryCoordinator
does inherit OwnableUpgradeable
@@ -107,11 +111,13 @@ interface IRegistryCoordinator is | |||
) external; | |||
|
|||
/** | |||
* @notice Enables operator sets mode for the AVS. Once enabled, this cannot be disabled. | |||
* @dev When enabled, all existing quorums are marked as M2 quorums and future quorums must be explicitly | |||
* created as either M2 or operator set quorums. |
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.
inherit doc, i think?
* chore: start refactor * fix: quorum creation * fix: bug in registration * feat: refactor avs sync * chore: respond to review * Update src/SlashingRegistryCoordinator.sol Co-authored-by: Michael Sun <[email protected]> * fix: m2 registration validity * feat: lazy migration * test: fixes and refactor of weightOfOperators * feat: add updateOperators * fix: tests and `_afterDeregisterOperator` hook * refactor: remove operatorSetEnabled as require * chore: fmt * chore: fmt test files * fix: failing ci test * chore: test fmt --------- Co-authored-by: Michael Sun <[email protected]> Co-authored-by: Michael Sun <[email protected]>
main changes
checkMaxOperatorCount
to registration so less duplicated logic in registry coordinatorenableOperatorSets
interface