pub mod binding_proof;
pub mod evolution;
pub mod filling;
pub mod mutable;
pub mod root;
pub mod seal;
pub mod snapshot;
pub mod snapshot_proof;
pub mod storage;
pub mod tree;
mod log_error;
mod sealed;
pub(crate) mod error;
pub use binding_proof::{BindingProof, TrustedBindingRoot};
pub use cml::LogKind;
pub use cml::proof::{
ConsistencyProof, InclusionProof, ProofStep, constant_time_eq, reconstruct_consistency_roots,
reconstruct_inclusion_root, verify_consistency, verify_inclusion,
verify_inclusion_path_structure,
};
pub use cml::reduction_count;
pub use error::{Error, Result};
pub use evolution::{verify_consistency_with_coupling, verify_epoch_evolution};
pub use filling::{FillError, FillKind, FilledTree, fill};
pub use log_error::{LogError, LogResult};
pub use mutable::{CmtConfig, CmtError, CmtResult, EpochTree};
pub use root::{
AuditPayload, CouplingProof, NullRun, VerifierConfig, all_null_runs, combined_root,
committed_active_algs, committed_active_at, null_runs_are_trivial, null_runs_for_alg,
serialize_null_runs, validate_committed_epochs, verify_inactivity_with_coupling,
verify_inclusion_with_coupling,
};
pub use sealed::Sealed;
pub use snapshot::BoundSnapshot;
pub use snapshot_proof::{ClaimedLeaf, SnapshotProof};
pub use storage::{AlgorithmMetas, Epochs, MemoryStorage, Storage};
pub use tree::{NaryMerkleLog, TreeConfig};
pub mod proof {
pub use cml::proof::{
ConsistencyProof, InclusionProof, ProofStep, constant_time_eq,
reconstruct_consistency_roots, reconstruct_inclusion_root, verify_consistency,
verify_inclusion, verify_inclusion_path_structure,
};
pub use crate::binding_proof::{BindingProof, TrustedBindingRoot};
pub use crate::evolution::{verify_consistency_with_coupling, verify_epoch_evolution};
pub use crate::root::{
AuditPayload, CouplingProof, NullRun, VerifierConfig, all_null_runs, combined_root,
committed_active_algs, committed_active_at, null_runs_are_trivial, null_runs_for_alg,
serialize_null_runs, validate_committed_epochs, verify_inactivity_with_coupling,
verify_inclusion_with_coupling,
};
}
pub use cml::mountain::{bag_peaks, mountain_skeleton};
pub use cmt::{rebalanced_bag, rebalanced_skeleton};
pub use spine::{
Hasher, LeafProof, Meta, RunExtent, Seal, SkeletonStep, Subtree, count_leaves, evaluate,
frontier_for_size, hasher, mr, nary_mr, null_digest, subtree, topology, within_subtree_path,
};