docs.rs failed to build bvs-registry-2.4.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
bvs-registry-2.3.0
BVS Registry
The BVS Registry is a central record-keeping contract for all Operators and Services within the SatLayer ecosystem. It serves as a directory where Operators and Services can register themselves and establish mutual relationships.
The BVS Registry provides essential bookkeeping for the vault-router to query delegations and determine
if an Operator is validating a Service.
This enables the vault-router to make informed vault management decisions,
such as queuing funds withdrawal from the Vault when delegated.
- Operator and Service Registration: Allows addresses to register as Operators or Services
- Bidirectional Relationships: Establishes mutual connections between Operators and Services
- Metadata Management: Supports optional metadata (name, URI) for Operators and Services
- Status Tracking: Tracks the registration status between Operators and Services
- Event-Based Metadata: Emits metadata as events rather than storing it on-chain
- Delegation Information: Provides critical data for vault management decisions
Contract Functions
Registration Functions
RegisterAsService: Register an address as a Service with optional metadataRegisterAsOperator: Register an address as an Operator with optional metadataRegisterOperatorToService: Service registers an Operator to run itRegisterServiceToOperator: Operator registers a Service it's willing to run
Metadata Management
UpdateServiceMetadata: Update a Service's metadata (name, URI)UpdateOperatorMetadata: Update an Operator's metadata (name, URI)
Deregistration Functions
DeregisterOperatorFromService: Service removes an OperatorDeregisterServiceFromOperator: Operator removes a Service
Query Functions
Status: Check registration status between a Service and OperatorIsService: Check if an address is registered as a ServiceIsOperator: Check if an address is registered as an OperatorIsOperatorActive: Check if an Operator has active Service registrations
Slashing Management
EnableSlashing: Enable slashing for a Service with specified parametersDisableSlashing: Disable slashing for a ServiceOperatorOptInToSlashing: Operator opts into service slashing
Registration Process
An Operator/Service can register a Service/Operator to run and vice versa. However, both the Operator and Service must register to each other to establish an active relationship.
- As an Operator, registering a Service indicates willingness to run that Service
- As a Service, registering an Operator indicates willingness to be run by that Operator
Registration Sequence
sequenceDiagram
participant Operator
participant Service
participant Registry
Operator ->> Registry: 0. RegisterAsOperator()
Service ->> Registry: 0. RegisterAsService()
Service ->> Registry: 1. RegisterOperatorToService(operator)
Operator ->> Registry: 2. RegisterServiceToOperator(service)