Skip to main content

Provider Registry

Purpose

Maintain the canonical registry of providers and their discoverable metadata.

Scope

This contract handles provider registration, status, and bond custody. It does not compute rewards.

Actors and Roles

  • Providers submit and maintain their own registry entries.
  • Owner configures slashing manager and bond settings.
  • SlashingManager can reduce bonds for provable violations.

State and Storage Model (High-Level)

  • Provider records keyed by provider address.
  • Provider type (Full vs API), signing mode, adapter address.
  • Bond amount and withdrawal cooldown.
  • Status flags: Active or Suspended.

Core Flows (State Machine)

  • Register provider with bond and endpoint.
  • Increase or withdraw bond after cooldown.
  • Update metadata, endpoint, and payout address.
  • Suspend or reactivate provider status.

Protocol Guarantees

  • Provider records are only created through the approved registration flow.
  • Provider status changes are explicit and auditable.
  • Bond withdrawals honor cooldown rules.
  • Bond withdrawals are blocked if they would violate minimum bond while Active.

Security Invariants

  • A provider identity maps to at most one active record.
  • Unauthorized actors cannot modify provider records.

Threat Model

  • Auth bypass attempts.
  • Malicious or misleading metadata submissions.
  • Replay or duplicate registration attempts.

Economic Constraints

Bonded OLYMP is held until withdrawn or slashed.

Governance and Admin Controls

Owner can set slashing manager and minimum bond requirements.

Events (Optional)

  • ProviderRegistered, ProviderUpdated, ProviderStatusChanged
  • ProviderBondIncreased, ProviderBondWithdrawn, ProviderSlashed

Integration Notes

  • Use the registry as the authoritative source of provider status.
  • Cache cautiously and handle status changes promptly.

Test Coverage Map (No Code)

  • Registration lifecycle coverage.
  • Authorization coverage for updates and status changes.