rustywallet_silent/
error.rs

1//! Error types for Silent Payments.
2
3use thiserror::Error;
4
5/// Result type for Silent Payment operations.
6pub type Result<T> = std::result::Result<T, SilentPaymentError>;
7
8/// Errors that can occur during Silent Payment operations.
9#[derive(Debug, Error)]
10pub enum SilentPaymentError {
11    /// Invalid address format.
12    #[error("Invalid address: {0}")]
13    InvalidAddress(String),
14
15    /// Invalid public key.
16    #[error("Invalid public key: {0}")]
17    InvalidPublicKey(String),
18
19    /// Invalid private key.
20    #[error("Invalid private key: {0}")]
21    InvalidPrivateKey(String),
22
23    /// Invalid network.
24    #[error("Invalid network: {0}")]
25    InvalidNetwork(String),
26
27    /// Bech32 encoding/decoding error.
28    #[error("Bech32 error: {0}")]
29    Bech32Error(String),
30
31    /// Cryptographic operation failed.
32    #[error("Crypto error: {0}")]
33    CryptoError(String),
34
35    /// No inputs provided.
36    #[error("No inputs provided")]
37    NoInputs,
38
39    /// No recipients provided.
40    #[error("No recipients provided")]
41    NoRecipients,
42
43    /// Invalid label.
44    #[error("Invalid label: {0}")]
45    InvalidLabel(String),
46
47    /// Hex encoding/decoding error.
48    #[error("Hex error: {0}")]
49    HexError(String),
50
51    /// Scanning error.
52    #[error("Scanning error: {0}")]
53    ScanningError(String),
54}