Skip to main content

poi_rs/
lib.rs

1// Copyright 2020-2026 IOTA Stiftung
2// SPDX-License-Identifier: Apache-2.0
3
4#![doc = include_str!("../README.md")]
5#![warn(missing_docs, rustdoc::all)]
6
7/// Shared boxed source error used by the crate's typed errors.
8pub(crate) type BoxError = Box<dyn std::error::Error + Send + Sync + 'static>;
9
10/// Proof construction builders.
11pub mod builder;
12/// Verified committee lineage caches for anchored resolution.
13pub mod cache;
14/// Convenient source-backed client for proof construction and verification.
15pub mod client;
16/// Committee resolution for checkpoint verification.
17pub mod committee;
18/// Proof data types and offline verification.
19pub mod proof;
20/// Ledger evidence source abstraction.
21pub mod source;
22
23pub use builder::{ProofBuilder, ProofBuilderError};
24pub use cache::{CommitteeCache, CommitteeCacheError, CommitteeCacheKey, MemoryCommitteeCache};
25pub use client::PoiClient;
26pub use committee::{
27    CommitteeResolution, CommitteeResolutionError, CommitteeResolutionErrorKind, CommitteeResolver,
28    ProofVerificationError,
29};
30pub use proof::{
31    Proof, ProofTargets, ProofV1, ProofVerifier, SerializationError, SerializationErrorKind, TransactionProof,
32    VerifiedProof, VerifyError, VerifyErrorKind,
33};
34pub use source::{Source, SourceCheckpoint, SourceError, SourceTransaction};