Skip to main content

bsv_spv/
lib.rs

1#![deny(missing_docs)]
2
3//! BSV Blockchain SDK - SPV verification.
4//!
5//! Provides Simplified Payment Verification (SPV) types including
6//! Merkle paths (BUMP format), BEEF transaction containers, chain
7//! tracking traits, and broadcaster interfaces.
8//!
9//! Ported from the Go BSV SDK's transaction/merklepath.go, transaction/beef.go,
10//! transaction/chaintracker/, and transaction/broadcaster.go.
11
12/// BEEF (Background Evaluation Extended Format) transaction container (BRC-64/95/96).
13pub mod beef;
14/// Transaction broadcasting interfaces.
15pub mod broadcaster;
16/// Chain tracker trait for verifying Merkle roots against block headers.
17pub mod chain_tracker;
18/// Error types for SPV operations.
19pub mod error;
20/// Merkle path (BUMP) types and verification (BRC-74).
21pub mod merkle_path;
22/// Merkle tree parent hash computation utilities.
23pub mod merkle_tree_parent;
24
25pub use beef::{Beef, BeefTx, DataFormat, ATOMIC_BEEF, BEEF_V1, BEEF_V2};
26pub use broadcaster::{BroadcastFailure, BroadcastSuccess, Broadcaster};
27pub use chain_tracker::ChainTracker;
28pub use error::SpvError;
29pub use merkle_path::{MerklePath, PathElement};
30pub use merkle_tree_parent::{
31    merkle_tree_parent, merkle_tree_parent_bytes, merkle_tree_parent_str,
32};