#![cfg_attr(not(test), deny(missing_docs, clippy::missing_docs_in_private_items))]
#![cfg_attr(test, allow(missing_docs, clippy::missing_docs_in_private_items))]
//! Taiko Shasta driver implementation.
//!
//! This crate provides the driver component responsible for:
//! - Syncing with L1 beacon chain for checkpoint sync
//! - Processing L1 inbox events to derive L2 blocks
//! - Handling preconfirmation payloads for block production

/// Shared helper for locating the anchor transaction inside a fetched L2 block.
pub(crate) mod anchor_tx;
/// Driver runtime configuration types.
pub mod config;
/// L1-to-L2 derivation pipelines and manifest handling.
pub mod derivation;
/// Top-level driver orchestration loop.
pub mod driver;
/// Driver-specific error types and conversions.
pub mod error;
/// Metrics emitted by the driver.
pub mod metrics;
/// Shared preconfirmation ingress sync helper for preconfirmation drivers.
pub mod preconf_ingress_sync;
/// Production path routing and payload wrappers.
pub mod production;
/// Synchronization stages and event scanning.
pub mod sync;
/// Shared test-only fixtures and mocks for driver unit tests.
#[cfg(test)]
pub(crate) mod test_support;

pub use config::DriverConfig;
pub use driver::Driver;
pub use error::DriverError;
pub use production::{PreconfPayload, PreconfSubmissionOutcome};
pub use sync::{ConfirmedSyncSnapshot, SyncPipeline, SyncStage, event::EventSyncer};
