Skip to content

[DataAvailability] Implement processing pipeline state machine #7201

Open
@peterargue

Description

@peterargue

The processing pipeline is implemented as a state machine. See design docs.

Implement the state machine. The module should initialize into the ready state. Each time a step completes or a state update is received on the state channel, the state machine transition check is triggered. when conditions are met to move to a new state, the next state's logic is run.

For now, we can use stubs for each of the actual steps. the implementations will be added separately.

This work should also include the state channel handling. State updates from the parent are communicated over a channel. It's possible this will become a callback instead if that makes more sense when we get into implementing the Results Forest. Keep this flexible for now.

The state updates include

  • A boolean for whether or not the result descends from the current latest persisted sealed result
  • The processing state enum value of the parent.

These should be persisted in the module's state for use when checking if a state transition is possible.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions