Function: registerOperator(bytes calldata pubkey, ISignatureUtils.SignatureWithSaltAndExpiry memory operatorSignature)
Allows the registration of operators within the AVS.
Inputs
pubkeyValidation: Validated that it matches the msg.sender pubkey.
Impact: The public key of the operator.
operatorSignatureValidation: Assumed to be validated within the
_avsDirectoryImpact: The signature that would match the registration parameters.
Branches and code coverage (including function calls)
Intended branches
Should forward the opt-in call to the Slasher. Currently not implemented, as EigenLayer's implementation of Slasher has not yet been finalized.
Should add the operator to the AVS. Handled in
_addOperator.Assumes that the signature is properly verified within the AVSDirectory.
Should forward the registration call to the AVSDirectory. Handled in
_avsDirectory.registerOperatorToAVS.
Negative behavior
Should not be callable when paused. Enforced through the
whenNotPausedmodifier.Should not allow an operator that does not match the pubkey.
Should not allow an operator that is not in the allowlist, should the allowlist be enabled.
Should not allow an operator that is already an operator.
Should not allow an operator if the maximum operator count has been reached.
Should not allow an operator if the minimum stake has not been met.