mirror of
https://github.com/logos-blockchain/logos-execution-zone.git
synced 2026-07-24 22:53:19 +00:00
- persist a final-tier snapshot (state + meta) atomically with the follow update that advanced it; on boot, anchor `final` on it and replay stored blocks above it as `head`, so a post-restart orphan of a not-yet-finalized block still reverts instead of silently diverging - correlate orphan/finalize events by block hash: restored head entries carry hash-derived sentinel MsgIds (the real ones are not persisted) - a finalized block chaining on an unfinalized head entry finalizes that prefix (finality is prefix-monotone) - warn on (and keep ignoring) a same-height adopted competitor that arrives without its orphan sibling — an SDK-contract breach worth surfacing - follow path reverts orphans via one batched `apply_channel_update` (single truncate + head re-derivation) instead of a re-derivation per orphan - remove DESIGN.md, move to task docs instead - trim very long comments / docstrings
14 lines
519 B
Rust
14 lines
519 B
Rust
//! Storage-free chain-state core shared by the LEZ sequencer and indexer:
|
|
//! the [`apply_block`] entry point plus [`BlockIngestError`], [`StallReason`],
|
|
//! [`Tip`], and [`AcceptOutcome`]. See [`ChainState`] for the two-tier model.
|
|
|
|
pub use apply::{AcceptOutcome, Tip, apply_block, apply_block_to_state, validate_against_tip};
|
|
pub use chain::{ChainState, HeadEntry};
|
|
pub use ingest_error::BlockIngestError;
|
|
pub use stall_reason::StallReason;
|
|
|
|
pub mod apply;
|
|
pub mod chain;
|
|
pub mod ingest_error;
|
|
pub mod stall_reason;
|