Skip to content

Commit 22e04f0

Browse files
committed
docs: explicitly clarify inability to slash for createTotalDelegatedStakeQuorum
1 parent a35ec78 commit 22e04f0

File tree

1 file changed

+23
-21
lines changed

1 file changed

+23
-21
lines changed

docs/SlashingRegistryCoordinator.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ struct OperatorSetParam {
7474
* an operator's stake weight for the quorum.
7575
* @dev For m2 AVS this function has the same behavior as createQuorum before.
7676
* @dev For migrated AVS that enable operator sets this will create a quorum that measures total delegated stake for operator set.
77-
* @dev The slasher is set to DELEGATED_STAKE_SLASHER for total delegated stake quorums. This address cannot slash an operatorSet.
77+
* @dev The slasher is set to DELEGATED_STAKE_SLASHER for total delegated stake quorums. This address cannot slash an operatorSet.
7878
*/
7979
function createTotalDelegatedStakeQuorum(
8080
OperatorSetParam memory operatorSetParams,
@@ -85,6 +85,8 @@ function createTotalDelegatedStakeQuorum(
8585

8686
This function creates a new quorum that tracks the total delegated stake for operators. The quorum is initialized with the provided parameters and integrated with the underlying registry contracts.
8787

88+
Note that this function *does not* allow for stake to be slashed. To create a quorum with slashable delegated stake, see [`createSlashableStakeQuorum`](#createslashablestakequorum).
89+
8890
*Effects:*
8991
* Increments the `quorumCount` by 1
9092
* Sets the operator set parameters for the new quorum
@@ -124,7 +126,7 @@ function createSlashableStakeQuorum(
124126
This function creates a new quorum that specifically tracks slashable stake for operators. This type of quorum provides slashing enforcement through the `AllocationManager`.
125127

126128
*Effects:*
127-
* Same as `createTotalDelegatedStakeQuorum`, but
129+
* Same as `createTotalDelegatedStakeQuorum`, but
128130
- initializes the quorum with slashable stake type
129131
- Sets the `slasher` to an address that is controlled by the AVS
130132
* Additionally configures the `lookAheadPeriod` for slashable stake calculation
@@ -138,7 +140,7 @@ This function creates a new quorum that specifically tracks slashable stake for
138140
function setOperatorSetParams(
139141
uint8 quorumNumber,
140142
OperatorSetParam memory operatorSetParams
141-
)
143+
)
142144
external
143145
```
144146

@@ -172,7 +174,7 @@ function registerOperator(
172174
address avs,
173175
uint32[] calldata operatorSetIds,
174176
bytes calldata data
175-
)
177+
)
176178
external
177179
onlyAllocationManager
178180
onlyWhenNotPaused(PAUSED_REGISTER_OPERATOR)
@@ -205,7 +207,7 @@ function deregisterOperator(
205207
address operator,
206208
address avs,
207209
uint32[] calldata operatorSetIds
208-
)
210+
)
209211
external
210212
onlyAllocationManager
211213
onlyWhenNotPaused(PAUSED_REGISTER_OPERATOR)
@@ -231,7 +233,7 @@ This function is called by the `AllocationManager` when an operator wants to der
231233
```solidity
232234
function updateSocket(
233235
string memory socket
234-
)
236+
)
235237
external
236238
```
237239

@@ -250,7 +252,7 @@ This function allows a registered operator to update their socket information.
250252
function ejectOperator(
251253
address operator,
252254
bytes memory quorumNumbers
253-
)
255+
)
254256
external
255257
onlyEjector
256258
```
@@ -282,7 +284,7 @@ The `SlashingRegistryCoordinator` manages operator stakes through the `StakeRegi
282284
function updateOperatorsForQuorum(
283285
address[][] memory operatorsPerQuorum,
284286
bytes calldata quorumNumbers
285-
)
287+
)
286288
external
287289
```
288290

@@ -329,18 +331,18 @@ The contract implements two helper functions to calculate these thresholds:
329331
function _individualKickThreshold(
330332
uint96 operatorStake,
331333
OperatorSetParam memory setParams
332-
)
333-
internal
334-
pure
334+
)
335+
internal
336+
pure
335337
```
336338

337339
```solidity
338340
function _totalKickThreshold(
339341
uint96 totalStake,
340342
OperatorSetParam memory setParams
341-
)
342-
internal
343-
pure
343+
)
344+
internal
345+
pure
344346
```
345347

346348
#### Churn Approval
@@ -361,7 +363,7 @@ function calculateOperatorChurnApprovalDigestHash(
361363
OperatorKickParam[] memory operatorKickParams,
362364
bytes32 salt,
363365
uint256 expiry
364-
)
366+
)
365367
public
366368
```
367369

@@ -370,7 +372,7 @@ function calculateOperatorChurnApprovalDigestHash(
370372
```solidity
371373
function setChurnApprover(
372374
address _churnApprover
373-
)
375+
)
374376
external
375377
```
376378

@@ -398,11 +400,11 @@ The `SlashingRegistryCoordinator` integrates with `AllocationManager`, and is id
398400
```solidity
399401
function setAVS(
400402
address _avs
401-
)
403+
)
402404
external
403405
```
404406

405-
This function sets the AVS address for the AVS (this identitiy is used for UAM integration). Note: updating this will break existing operator sets, this value should only be set once.
407+
This function sets the AVS address for the AVS (this identitiy is used for UAM integration). Note: updating this will break existing operator sets, this value should only be set once.
406408
This value should be the address of the `ServiceManager` contract.
407409

408410
*Effects:*
@@ -416,7 +418,7 @@ This value should be the address of the `ServiceManager` contract.
416418
```solidity
417419
function supportsAVS(
418420
address _avs
419-
)
421+
)
420422
public
421423
```
422424

@@ -441,7 +443,7 @@ These functions allow the contract owner to configure various parameters and rol
441443
```solidity
442444
function setEjector(
443445
address _ejector
444-
)
446+
)
445447
external
446448
```
447449

@@ -459,7 +461,7 @@ This function updates the address that is authorized to forcibly eject operators
459461
```solidity
460462
function setEjectionCooldown(
461463
uint256 _ejectionCooldown
462-
)
464+
)
463465
external
464466
```
465467

0 commit comments

Comments
 (0)