dig_store/chain.rs
1//! The on-chain read boundary (SPEC §7, NC-9).
2//!
3//! `dig-store` is network-free at its core (inherited from `dig-merkle`, INV-1): it never dials the
4//! chain itself. On-chain getters take a [`ChainSource`] the caller supplies — the user's own
5//! verified node, or a trusted/threshold provider set — and prove every chain-anchored value against
6//! it before returning (NC-9). A single untrusted remote MUST NOT back a custody-grade read
7//! (NC-9 F1); the caller owns that trust decision.
8//!
9//! The trait is the ONE canonical [`dig_chainsource_interface::ChainSource`] shared across the whole
10//! ecosystem — never a per-crate copy — re-exported here so a consumer reaching for the store getters
11//! finds the boundary in one place. Its `coin_spend(coin_id)` fail-closed lookup (`Ok(None)` = the
12//! coin is unspent/unknown; `Err(_)` = the source could not answer) is the primitive the store's
13//! lineage walk composes.
14
15pub use dig_chainsource_interface::ChainSource;