Skip to content

L-7. x/provider registration time + on-chain maintenance notices + params + upgrade migration #498

@linear

Description

@linear
  • Add ProviderRegistration record and GetRegistrationTime; backfill registered_at at upgrade height for every existing provider.
  • Implement the on-chain provider-to-tenant notice primitive as provider-signed maintenance records and typed events. This is not arbitrary chat/messaging; it is the consensus source of truth that L-19/L-20 consume for tenant alerts.
  • Add ProviderMaintenanceParams storage with MsgUpdateParams (gov authority), QueryParams, genesis import/export.
  • Add MsgOpenProviderMaintenance / MsgCloseProviderMaintenance handlers with validation against the params (duration ≤ max_duration, starts_at within max_lookahead, single-active-window check per §3.15, clearing a stale active-window index when the previous window has elapsed).
  • Maintenance record CRUD, active-window index by provider, monotonic ID counter, status derived from block time in QueryProviderMaintenance / QueryProviderMaintenances.
  • Provider CLI support for open-maintenance, close-maintenance, and maintenance queries.
  • Bump provider module consensus version; add genesis import/export tests covering registration and maintenance state.

Depends on: L-1

DoD: New providers store registration time; mainnet-fork upgrade backfills every existing provider; maintenance open/close round-trips; second active window per provider rejected; typed open/close events are emitted with enough fields for clients to map alerts; status derives Scheduled/Active/Elapsed/Closed from block time without an EndBlocker tick.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions