xenith-sync 0.1.0

State sync engine for xenith — push, read, and resolve across chains
Documentation
//! State sync engine for xenith.
//!
//! Provides [`SyncEngine`], which orchestrates cross-chain state propagation by
//! composing any [`xenith_core::MessagingTransport`] with a pluggable
//! [`xenith_core::StateStore`]. Depends on [`xenith_core`] for traits and types,
//! and optionally on [`xenith_read`] for on-chain quorum verification. Diverged
//! state is never silently resolved — callers always decide.
//!
//! ```rust,no_run
//! use std::sync::Arc;
//! use xenith_core::{InMemoryStore, ReadStrategy, StateKey};
//! use xenith_sync::{SyncConfig, SyncEngine};
//! use bytes::Bytes;
//!
//! # async fn example(transport: Arc<dyn xenith_core::MessagingTransport>) {
//! let engine = SyncEngine::new(
//!     transport,
//!     Arc::new(InMemoryStore::default()),
//!     SyncConfig::default(),
//! );
//! # }
//! ```
//!
//! See the [xenith_core] crate for core types and traits.

pub mod engine;
pub mod json_store;
pub mod subscription;

pub use engine::{SyncConfig, SyncEngine, SyncReceipt};
pub use json_store::JsonFileStore;
pub use subscription::SubscriptionHandle;