@@ -366,10 +366,16 @@ This method makes an external call to the `IAVSRegistrar.registerOperator` metho
366
366
* for one or more operator sets. This method should revert if registration
367
367
* is unsuccessful.
368
368
* @param operator the registering operator
369
+ * @param avs the AVS the operator is registering for. This should be the same as IAVSRegistrar.avs()
369
370
* @param operatorSetIds the list of operator set ids being registered for
370
371
* @param data arbitrary data the operator can provide as part of registration
371
- */
372
- function registerOperator(address operator, uint32[] calldata operatorSetIds, bytes calldata data) external;
372
+ */
373
+ function registerOperator(
374
+ address operator,
375
+ address avs,
376
+ uint32[] calldata operatorSetIds,
377
+ bytes calldata data
378
+ ) external;
373
379
```
374
380
375
381
* Effects* :
@@ -431,9 +437,10 @@ This method makes an external call to the `IAVSRegistrar.deregisterOperator` met
431
437
* @notice Called by the AllocationManager when an operator is deregistered from
432
438
* one or more operator sets. If this method reverts, it is ignored.
433
439
* @param operator the deregistering operator
440
+ * @param avs the AVS the operator is deregistering from. This should be the same as IAVSRegistrar.avs()
434
441
* @param operatorSetIds the list of operator set ids being deregistered from
435
- */
436
- function deregisterOperator(address operator, uint32[] calldata operatorSetIds) external;
442
+ */
443
+ function deregisterOperator(address operator, address avs, uint32[] calldata operatorSetIds) external;
437
444
```
438
445
439
446
* Effects* :
@@ -853,18 +860,34 @@ interface IAVSRegistrar {
853
860
* for one or more operator sets. This method should revert if registration
854
861
* is unsuccessful.
855
862
* @param operator the registering operator
863
+ * @param avs the AVS the operator is registering for. This should be the same as IAVSRegistrar.avs()
856
864
* @param operatorSetIds the list of operator set ids being registered for
857
865
* @param data arbitrary data the operator can provide as part of registration
858
866
*/
859
- function registerOperator(address operator, uint32[] calldata operatorSetIds, bytes calldata data) external;
867
+ function registerOperator(
868
+ address operator,
869
+ address avs,
870
+ uint32[] calldata operatorSetIds,
871
+ bytes calldata data
872
+ ) external;
860
873
861
874
/**
862
875
* @notice Called by the AllocationManager when an operator is deregistered from
863
876
* one or more operator sets. If this method reverts, it is ignored.
864
877
* @param operator the deregistering operator
878
+ * @param avs the AVS the operator is deregistering from. This should be the same as IAVSRegistrar.avs()
865
879
* @param operatorSetIds the list of operator set ids being deregistered from
866
880
*/
867
- function deregisterOperator(address operator, uint32[] calldata operatorSetIds) external;
881
+ function deregisterOperator(address operator, address avs, uint32[] calldata operatorSetIds) external;
882
+
883
+ /**
884
+ * @notice Returns true if the AVS is supported by the registrar
885
+ * @param avs the AVS to check
886
+ * @return true if the AVS is supported, false otherwise
887
+ */
888
+ function supportsAVS(
889
+ address avs
890
+ ) external view returns (bool);
868
891
}
869
892
```
870
893
0 commit comments