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 CDKSECRET(#[from] cdk_common::secret::Error),
32 #[error(transparent)]
34 BIP32(#[from] bitcoin::bip32::Error),
35 #[error(transparent)]
37 MintUrl(#[from] cdk_common::mint_url::Error),
38 #[error("Could not initialize database")]
40 CouldNotInitialize,
41 #[error("Invalid database path")]
43 InvalidDbPath,
44 #[error(transparent)]
46 Serde(#[from] serde_json::Error),
47 #[error("Unknown mint info")]
49 UnknownMintInfo,
50 #[error("Unknown quote TTL")]
52 UnknownQuoteTTL,
53 #[error("Proof not found")]
55 ProofNotFound,
56 #[error("Invalid keyset ID")]
58 InvalidKeysetId,
59}
60
61impl From<Error> for cdk_common::database::Error {
62 fn from(e: Error) -> Self {
63 Self::Database(Box::new(e))
64 }
65}