#![warn(missing_docs)]
pub mod bundle;
pub mod checkpoint;
pub mod entry;
pub mod error;
pub mod merkle;
pub mod note;
pub mod proof;
pub mod store;
pub mod tile;
pub mod types;
#[cfg(feature = "native")]
pub mod verify;
#[cfg(feature = "native")]
pub mod witness;
pub use bundle::{
BundleVerificationReport, CheckpointStatus, DelegationChainLink, DelegationStatus,
InclusionStatus, NamespaceStatus, OfflineBundle, SignatureStatus, WitnessStatus,
};
pub use checkpoint::{Checkpoint, SignedCheckpoint, WitnessCosignature};
pub use entry::{AccessTier, Entry, EntryBody, EntryContent, EntryType};
pub use error::TransparencyError;
pub use merkle::{compute_root, hash_children, hash_leaf, verify_consistency, verify_inclusion};
pub use note::{
NoteSignature, build_signature_line, compute_key_id, parse_signed_note, serialize_signed_note,
};
pub use proof::{ConsistencyProof, InclusionProof};
pub use tile::{TILE_HEIGHT, TILE_WIDTH, leaf_tile, tile_count, tile_path};
pub use types::{LogOrigin, MerkleHash};
#[cfg(feature = "native")]
mod fs_store;
#[cfg(feature = "native")]
pub use fs_store::FsTileStore;
#[cfg(feature = "s3")]
pub mod s3_store;
#[cfg(feature = "s3")]
pub use s3_store::S3TileStore;
#[cfg(feature = "native")]
pub use store::TileStore;
#[cfg(feature = "native")]
pub use verify::verify_bundle;
#[cfg(feature = "native")]
pub use witness::{
ALG_COSIGNATURE_V1, CosignRequest, CosignResponse, DEFAULT_WITNESS_TIMEOUT, WitnessClient,
WitnessResult, build_cosignature_line, collect_witness_cosignatures, compute_witness_key_id,
cosignature_signed_message, extract_cosignatures, parse_cosignature, serialize_cosignature,
};
use auths_verifier::DeviceDID;
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct TrustRoot {
pub log_public_key: auths_verifier::Ed25519PublicKey,
pub log_origin: LogOrigin,
pub witnesses: Vec<TrustRootWitness>,
}
#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
pub struct TrustRootWitness {
pub witness_did: DeviceDID,
pub name: String,
pub public_key: auths_verifier::Ed25519PublicKey,
}