//! # smart-byte-state //! //! The Smart Byte cluster state machine (`smart-byte/spec/cluster_state.md`): //! the state every node of a cluster holds, the deterministic frame //! transition that advances it, the state hash a frame commits at, and the //! checkpoint-and-log persistence that survives a restart. //! //! * [`State`] — frame number, issuer registry, controllers' key states and //! the bytes the cluster holds. Its canonical encoding is the checkpoint //! and its BLAKE3 digest is the state hash. //! * [`State::apply_frame`] — the transition (treatise §9.4 steps 4–5): key //! events, governance, mints, imports, transfers and burns, deduplicated, //! ordered, and each applied or dropped for a named reason. //! * [`Certificate`] — what a cluster's nodes sign when a byte leaves for //! another cluster, and what that cluster imports it on (treatise §11.3.3). //! * [`Store`] — checkpoint and replay log (treatise §16). //! //! The lockstep protocol around it — exchanging inputs and tallying state //! hashes — is `smart-byte-lockstep`. #![forbid(unsafe_code)] pub mod certificate; pub mod demo; pub mod frame; pub mod input; pub mod state; pub mod store; pub use certificate::{Certificate, ExportStatement}; pub use frame::{FrameReport, InputResult}; pub use input::{Approval, Burn, Input, InputClass, InputError, Proposal}; pub use state::{ ByteRecord, Change, ControllerRecord, ExportRecord, Governance, Peer, Pending, RetiredRecord, State, }; pub use store::{Store, StoreError};