amp_rs/
lib.rs

1//! # AMP Client Library
2//!
3//! A comprehensive Rust client library for the Blockstream AMP (Asset Management Platform) API
4//! with integrated transaction signing capabilities for Elements/Liquid networks.
5//!
6//! ## Modules
7//!
8//! - [`client`] - HTTP API client for AMP operations
9//! - [`model`] - Data structures for API requests and responses  
10//! - [`mocks`] - Mock implementations for testing
11//! - [`signer`] - Transaction signing implementations ⚠️ **TESTNET ONLY**
12//!
13//! ## Signer Security Warning
14//!
15//! The [`signer`] module provides software-based transaction signing using mnemonic phrases.
16//!
17//! **⚠️ CRITICAL SECURITY NOTICE ⚠️**
18//!
19//! The signer implementations in this library are designed **EXCLUSIVELY** for testnet
20//! and regtest environments. They store mnemonic phrases in plain text and should
21//! **NEVER** be used in production or with real funds.
22//!
23//! For production use cases, integrate with:
24//! - Hardware wallets (Ledger, Trezor)
25//! - Encrypted key storage solutions
26//! - Remote signing services with proper security
27//! - Hardware Security Modules (HSMs)
28
29pub mod client;
30pub mod mocks;
31pub mod model;
32pub mod signer;
33
34pub use client::{AmpError, ApiClient, ElementsRpc, Error};
35pub use model::{
36    AssetDistributionAssignment, ConfirmDistributionRequest, DistributionResponse,
37    DistributionTxData, ReceivedByAddress, TransactionDetail, TxInput, Unspent,
38};
39pub use signer::{LwkSoftwareSigner, Signer, SignerError};