1use std::num::ParseIntError;
4
5use thiserror::Error;
6
7#[derive(Debug, Error)]
9pub enum Error {
10 #[error(transparent)]
12 Redb(#[from] redb::Error),
13 #[error(transparent)]
15 Database(#[from] redb::DatabaseError),
16 #[error(transparent)]
18 Transaction(#[from] redb::TransactionError),
19 #[error(transparent)]
21 Commit(#[from] redb::CommitError),
22 #[error(transparent)]
24 Table(#[from] redb::TableError),
25 #[error(transparent)]
27 Storage(#[from] redb::StorageError),
28 #[error(transparent)]
30 Serde(#[from] serde_json::Error),
31 #[error(transparent)]
33 ParseInt(#[from] ParseIntError),
34 #[error(transparent)]
36 CDKDatabase(#[from] cdk_common::database::Error),
37 #[error(transparent)]
39 CDKMintUrl(#[from] cdk_common::mint_url::Error),
40 #[error(transparent)]
42 CDK(#[from] cdk_common::error::Error),
43 #[error(transparent)]
45 CDKNUT00(#[from] cdk_common::nuts::nut00::Error),
46 #[error(transparent)]
48 CDKNUT02(#[from] cdk_common::nuts::nut02::Error),
49 #[error(transparent)]
51 DHKE(#[from] cdk_common::dhke::Error),
52 #[error("Unknown mint info")]
54 UnknownMintInfo,
55 #[error("Unknown quote ttl")]
57 UnknownQuoteTTL,
58 #[error("Unknown proof Y")]
60 UnknownY,
61 #[error("Unknown quote")]
63 UnknownQuote,
64 #[error("Unknown database version")]
66 UnknownDatabaseVersion,
67}
68
69impl From<Error> for cdk_common::database::Error {
70 fn from(e: Error) -> Self {
71 Self::Database(Box::new(e))
72 }
73}