Skip to content

State Production: Protocol State Processor Interface #513

@aristidesstaffieri

Description

@aristidesstaffieri

Summary

Define the interface that protocol-specific processors implement to produce state changes and current state from ledger data, plus a registration mechanism for looking up processors by protocol ID.

Scope

  • Interface definition: accepts ledger transaction data + protocol's classified contracts, produces protocol-specific state changes and/or current state
  • Processor registry: maps protocol ID → processor implementation (so live ingestion and migrations can look up which processor to run for each protocol)
  • The interface must support producing both state changes (operation enrichment) and current state (accumulated state like balances) — processors may produce one or both
  • No concrete protocol implementation yet (that comes with the first protocol, e.g., SEP-41 state producer) — just the interface and registry

Why Separate

This is the contract that live ingestion (state production gating) and both migration commands depend on. Defining it first ensures a consistent interface across all consumers.

Dependencies

None (pure interface definition)

Reference

docs/feature-design/data-migrations.md (State Production section, line 619+)

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions