cdk_cln/
error.rs

1//! CLN Errors
2
3use thiserror::Error;
4
5/// CLN Error
6#[derive(Debug, Error)]
7pub enum Error {
8    /// Invoice amount not defined
9    #[error("Unknown invoice amount")]
10    UnknownInvoiceAmount,
11    /// Wrong CLN response
12    #[error("Wrong CLN response")]
13    WrongClnResponse,
14    /// Unknown invoice
15    #[error("Unknown invoice")]
16    UnknownInvoice,
17    /// Invalid payment hash
18    #[error("Invalid hash")]
19    InvalidHash,
20    /// Cln Error
21    #[error(transparent)]
22    Cln(#[from] cln_rpc::Error),
23    /// Cln Rpc Error
24    #[error(transparent)]
25    ClnRpc(#[from] cln_rpc::RpcError),
26    /// Amount Error
27    #[error(transparent)]
28    Amount(#[from] cdk_common::amount::Error),
29    /// UTF-8 Error
30    #[error(transparent)]
31    Utf8(#[from] std::string::FromUtf8Error),
32    /// Bolt12 Error
33    #[error("Bolt12 error: {0}")]
34    Bolt12(String),
35    /// Database Error
36    #[error("Database error: {0}")]
37    Database(String),
38}
39
40impl From<Error> for cdk_common::payment::Error {
41    fn from(e: Error) -> Self {
42        Self::Lightning(Box::new(e))
43    }
44}