Skip to main content

chainindex_core/
lib.rs

1//! chainindex-core — foundation for the reorg-safe, embeddable indexing engine.
2//!
3//! # Architecture
4//!
5//! ```text
6//! IndexerBuilder → IndexLoop
7//!                      ├── BlockTracker     (head tracking, parent hash chain)
8//!                      ├── ReorgDetector    (4 reorg scenarios)
9//!                      ├── CheckpointManager (crash recovery)
10//!                      ├── HandlerRegistry  (user event/block handlers)
11//!                      └── Storage backend (memory / SQLite / Postgres)
12//! ```
13
14pub mod backfill;
15pub mod block_handler;
16pub mod checkpoint;
17pub mod cursor;
18pub mod dlq;
19pub mod entity;
20pub mod error;
21pub mod export;
22pub mod factory;
23pub mod finality;
24pub mod graphql;
25pub mod handler;
26pub mod hotreload;
27pub mod idempotency;
28pub mod indexer;
29pub mod metrics;
30pub mod multichain;
31pub mod reorg;
32pub mod streaming;
33pub mod trace;
34pub mod tracker;
35pub mod types;
36
37pub use checkpoint::CheckpointManager;
38pub use cursor::Cursor;
39pub use error::IndexerError;
40pub use handler::{EventHandler, HandlerRegistry};
41pub use indexer::{IndexerConfig, IndexerState};
42pub use reorg::{ReorgDetector, ReorgEvent};
43pub use tracker::{BlockInfo, BlockTracker};
44pub use types::{BlockSummary, EventFilter, IndexContext};