Skip to main content

Manage Operator Sets

To manage Operator Sets for an AVS:

  1. Create Operator Sets
  2. Modify Strategy composition
  3. Update AVS Metadata

Create Operator Sets

Creating Operator Sets for an AVS is managed by the AllocationManager core contract. Strategies can be added to Operator Sets when the Operator is created, or Strategies can be added to an existing Operator Set.

To create an Operator Set, call the createOperatorSets function. To add strategies when creating an Operator Set, specify a params array containing the strategies.

On creation, an id is assigned to the Operator Set. Together the AVS address and id are a unique identifier for the Operator Set.

Modify Strategy Composition

An Operator Set requires at least one Strategy.

To add Strategies to an existing Operator Set, call the addStrategiesToOperatorSet function.

To remove Strategies from an Operator Set, call the removeStrategiesFromOperatorSet function.

Update AVS Metadata

tip

The AVS metadata is used to provide information on the EigenLayer App for Stakers and Operators.

Once Operator Sets have been created, the AVS metadata can be updated to include the Operator Sets.

To update metadata, call the updateAVSMetadataURI function. Use the following format.

{
"name": "AVS",
"website": "https.avs.xyz/",
"description": "Some description about",
"logo": "http://github.com/logo.png",
"twitter": "https://twitter.com/avs",
"operatorSets": [
{
"name": "ETH Set",
"id": "1",
"description": "The ETH operatorSet for AVS",
"software": [
{
"name": "NetworkMonitor",
"description": "",
"url": "https://link-to-binary-or-github.com"
},
{
"name": "ValidatorClient",
"description": "",
"url": "https://link-to-binary-or-github.com"
}
],
"slashingConditions": ["Condition A", "Condition B"]
},
{
"name": "EIGEN Set",
"id": "2",
"description": "The EIGEN operatorSet for AVS",
"software": [
{
"name": "NetworkMonitor",
"description": "",
"url": "https://link-to-binary-or-github.com"
},
{
"name": "ValidatorClient",
"description": "",
"url": "https://link-to-binary-or-github.com"
}
],
"slashingConditions": ["Condition A", "Condition B"]
}
]
}