#![deny(unsafe_code)]
#![warn(missing_docs, clippy::all, clippy::pedantic)]
#![allow(clippy::module_name_repetitions)]
pub mod client;
pub mod crypto;
pub mod filters;
pub mod memo;
pub mod proto;
pub use client::{SilentTweakClient, SilentTweakClientConfig};
pub use crypto::{ScanKeys, SilentPaymentOutput};
pub use filters::gcs_encode;
pub use memo::ScanMemo;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("crypto: {0}")]
Crypto(String),
#[error("network: {0}")]
Network(#[from] reqwest::Error),
#[error("serialization: {0}")]
Serialization(#[from] serde_json::Error),
#[error("commitment verification failed for block {block_hash}")]
CommitmentMismatch {
block_hash: String,
},
#[error("invalid server response: {0}")]
InvalidResponse(String),
#[error("bitcoin: {0}")]
Bitcoin(String),
}
pub type Result<T> = std::result::Result<T, Error>;