#![cfg_attr(not(feature = "std"), no_std)]
#![warn(missing_docs)]
#![warn(rustdoc::broken_intra_doc_links)]
extern crate alloc;
pub mod commitment;
pub mod hash;
pub mod right;
pub mod seal;
pub mod tagged_hash;
pub mod hardening;
pub mod consignment;
pub mod genesis;
pub mod schema;
pub mod state;
pub mod transition;
pub mod mpc;
pub mod vm;
pub mod dag;
pub mod proof;
pub mod proof_verify;
pub mod signature;
pub mod error;
pub mod traits;
pub mod monitor;
pub mod store;
pub mod client;
pub mod commitment_chain;
pub mod seal_registry;
pub mod state_store;
pub mod validator;
pub mod cross_chain;
pub mod rgb_compat;
#[cfg(feature = "tapret")]
pub mod tapret_verify;
pub use commitment::Commitment;
pub use hardening::{
BoundedQueue, CircuitBreaker, CircuitState, MemoryLimits, TimeoutConfig,
DEFAULT_CIRCUIT_MAX_FAILURES, DEFAULT_CIRCUIT_RESET_TIMEOUT, DEFAULT_HEALTH_CHECK_TIMEOUT,
DEFAULT_RPC_TIMEOUT, MAX_CACHE_SIZE, MAX_REGISTRY_SIZE, MAX_SEAL_REGISTRY_SIZE,
};
pub use hash::Hash;
pub use right::{OwnershipProof, Right, RightError, RightId};
pub use seal::{AnchorRef, SealRef};
pub use consignment::CONSIGNMENT_VERSION;
pub use consignment::{Anchor as ConsignmentAnchor, Consignment, ConsignmentError, SealAssignment};
pub use genesis::Genesis;
pub use schema::SCHEMA_VERSION;
pub use schema::{
GlobalStateType, OwnedStateType, Schema, SchemaError, StateDataType, TransitionDef,
TransitionValidationError,
};
pub use state::{GlobalState, Metadata, OwnedState, StateAssignment, StateRef, StateTypeId};
pub use transition::Transition;
pub use mpc::{MerkleBranchNode, MpcLeaf, MpcProof, MpcTree, ProtocolId};
pub use vm::{execute_transition, DeterministicVM, PassthroughVM, VMError, VMInputs, VMOutputs};
pub use dag::{DAGNode, DAGSegment};
pub use proof::{FinalityProof, InclusionProof, ProofBundle};
pub use proof_verify::verify_proof;
pub use signature::{parse_signatures_from_bytes, verify_signatures, Signature, SignatureScheme};
pub use error::{AdapterError, Result};
pub use traits::AnchorLayer;
pub use monitor::{PendingPublication, PublicationTracker, ReorgEvent, ReorgMonitor};
pub use store::{AnchorRecord, InMemorySealStore, SealRecord, SealStore, StoreError};