@@ -217,7 +217,26 @@ interface IAllocationManager is IAllocationManagerErrors, IAllocationManagerEven
217217 function initialize (address initialOwner , uint256 initialPausedStatus ) external ;
218218
219219 /**
220- * @notice Called by an AVS to slash an operator in a given operator set
220+ * @notice Called by an AVS to slash an operator in a given operator set. The operator must be registered
221+ * and have slashable stake allocated to the operator set.
222+ *
223+ * @param avs The AVS address initiating the slash.
224+ * @param params The slashing parameters, containing:
225+ * - operator: The operator to slash.
226+ * - operatorSetId: The ID of the operator set the operator is being slashed from.
227+ * - strategies: Array of strategies to slash allocations from (must be in ascending order).
228+ * - wadsToSlash: Array of proportions to slash from each strategy (must be between 0 and 1e18).
229+ * - description: Description of why the operator was slashed.
230+ *
231+ * @dev For each strategy:
232+ * 1. Reduces the operator's current allocation magnitude by wadToSlash proportion.
233+ * 2. Reduces the strategy's max and encumbered magnitudes proportionally.
234+ * 3. If there is a pending deallocation, reduces it proportionally.
235+ * 4. Updates the operator's shares in the DelegationManager.
236+ *
237+ * @dev Small slashing amounts may not result in actual token burns due to
238+ * rounding, which will result in small amounts of tokens locked in the contract
239+ * rather than fully burning through the burn mechanism.
221240 */
222241 function slashOperator (address avs , SlashingParams calldata params ) external ;
223242
0 commit comments