Skip to content

Fix Sequencer Proof Support #2558

@preston-evans98

Description

@preston-evans98

Currently, state root assertions are disabled in test_proof_generation_doesnt_break_sequencer. To re-enable those assertions, we need to fix the following issues:

  1. Proofs are excluded from replay planning.
    executor_events.rs:289 explicitly ignores ReadBlob::Proof in fetch_completed_blobs_by_sequence.
    This feeds resync/replay decisions via inner.rs:309, sync_state.rs:418, and sync_state.rs:467.
  2. Proof events are no-op during catchup/replay.
    update_state.rs:349 handles DbEvent::ProofBlobAccepted(_) by doing nothing.
    That path is used in replay and final catchup loops from mod.rs update-state flow.
  3. Proof ingestion path still has explicit TODO instead of executor processing.
    sync_state.rs:803 says TODO: Process proof blob in the executor; currently it only publishes side effects.
  4. Replica path for proofs is unimplemented.
    replica/event_handler.rs:64 has DbData::NewProof { .. } => todo!().
  5. Resync condition logic is batch-centric, so proof-only pending work is invisible.
    sync_state.rs:534 uses are_there_batches_to_replay.
    sync_state.rs:509 derives oldest unfinalized from batch list only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions