rustywallet_lightning/
error.rs1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum LightningError {
8 #[error("Invalid format: {0}")]
10 InvalidFormat(String),
11
12 #[error("Invalid BOLT11 invoice: {0}")]
14 InvalidInvoice(String),
15
16 #[error("Invalid payment hash: {0}")]
18 InvalidPaymentHash(String),
19
20 #[error("Invalid preimage: {0}")]
22 InvalidPreimage(String),
23
24 #[error("Invalid node ID: {0}")]
26 InvalidNodeId(String),
27
28 #[error("Invalid channel point: {0}")]
30 InvalidChannelPoint(String),
31
32 #[error("Invalid route hint: {0}")]
34 InvalidRouteHint(String),
35
36 #[error("Bech32 error: {0}")]
38 Bech32Error(String),
39
40 #[error("Key derivation error: {0}")]
42 KeyDerivationError(String),
43
44 #[error("Signature error: {0}")]
46 SignatureError(String),
47
48 #[error("Invoice expired")]
50 InvoiceExpired,
51
52 #[error("Amount mismatch: expected {expected}, got {actual}")]
54 AmountMismatch { expected: u64, actual: u64 },
55}