1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum Error {
8 #[error(transparent)]
10 SQLX(#[from] sqlx::Error),
11 #[error(transparent)]
13 CDKNUT00(#[from] cdk_common::nuts::nut00::Error),
14 #[error(transparent)]
16 CDKNUT01(#[from] cdk_common::nuts::nut01::Error),
17 #[error(transparent)]
19 CDKNUT02(#[from] cdk_common::nuts::nut02::Error),
20 #[error(transparent)]
22 CDKNUT04(#[from] cdk_common::nuts::nut04::Error),
23 #[error(transparent)]
25 CDKNUT05(#[from] cdk_common::nuts::nut05::Error),
26 #[error(transparent)]
28 CDKNUT07(#[from] cdk_common::nuts::nut07::Error),
29 #[error(transparent)]
31 CDKNUT23(#[from] cdk_common::nuts::nut23::Error),
32 #[error(transparent)]
34 CDKSECRET(#[from] cdk_common::secret::Error),
35 #[error(transparent)]
37 BIP32(#[from] bitcoin::bip32::Error),
38 #[error(transparent)]
40 MintUrl(#[from] cdk_common::mint_url::Error),
41 #[error("Could not initialize database")]
43 CouldNotInitialize,
44 #[error("Invalid database path")]
46 InvalidDbPath,
47 #[error(transparent)]
49 Serde(#[from] serde_json::Error),
50 #[error("Unknown mint info")]
52 UnknownMintInfo,
53 #[error("Unknown quote TTL")]
55 UnknownQuoteTTL,
56 #[error("Proof not found")]
58 ProofNotFound,
59 #[error("Invalid keyset ID")]
61 InvalidKeysetId,
62}
63
64impl From<Error> for cdk_common::database::Error {
65 fn from(e: Error) -> Self {
66 Self::Database(Box::new(e))
67 }
68}