diff --git a/src/contracts/core/AllocationManager.sol b/src/contracts/core/AllocationManager.sol index 94bcda0ee..232af3030 100644 --- a/src/contracts/core/AllocationManager.sol +++ b/src/contracts/core/AllocationManager.sol @@ -302,10 +302,8 @@ contract AllocationManager is }); } - // Call the AVS to complete deregistration. Even if the AVS reverts, the operator is - // considered deregistered - try getAVSRegistrar(params.avs).deregisterOperator(params.operator, params.avs, params.operatorSetIds) {} - catch {} + // Call the AVS to complete deregistration + getAVSRegistrar(params.avs).deregisterOperator(params.operator, params.avs, params.operatorSetIds); } /// @inheritdoc IAllocationManager diff --git a/src/contracts/interfaces/IAVSRegistrar.sol b/src/contracts/interfaces/IAVSRegistrar.sol index 04dd9f286..054de2e16 100644 --- a/src/contracts/interfaces/IAVSRegistrar.sol +++ b/src/contracts/interfaces/IAVSRegistrar.sol @@ -32,5 +32,7 @@ interface IAVSRegistrar { * @param avs the AVS to check * @return true if the AVS is supported, false otherwise */ - function supportsAVS(address avs) external view returns (bool); + function supportsAVS( + address avs + ) external view returns (bool); } diff --git a/src/contracts/interfaces/IAllocationManager.sol b/src/contracts/interfaces/IAllocationManager.sol index 17610b2fc..66367393f 100644 --- a/src/contracts/interfaces/IAllocationManager.sol +++ b/src/contracts/interfaces/IAllocationManager.sol @@ -265,8 +265,8 @@ interface IAllocationManager is IAllocationManagerErrors, IAllocationManagerEven * If the operator has any slashable stake allocated to the AVS, it remains slashable until the * DEALLOCATION_DELAY has passed. * @dev After deregistering within the ALM, this method calls the AVS Registrar's `IAVSRegistrar. - * deregisterOperator` method to complete deregistration. Unlike when registering, this call MAY FAIL. - * Failure is permitted to prevent AVSs from being able to maliciously prevent operators from deregistering. + * deregisterOperator` method to complete deregistration. This call MUST succeed in order for + * deregistration to be successful. */ function deregisterFromOperatorSets( DeregisterParams calldata params