use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error(transparent)]
SQLX(#[from] sqlx::Error),
#[error(transparent)]
CDKNUT00(#[from] cdk::nuts::nut00::Error),
#[error(transparent)]
CDKNUT01(#[from] cdk::nuts::nut01::Error),
#[error(transparent)]
CDKNUT02(#[from] cdk::nuts::nut02::Error),
#[error(transparent)]
CDKNUT04(#[from] cdk::nuts::nut04::Error),
#[error(transparent)]
CDKNUT05(#[from] cdk::nuts::nut05::Error),
#[error(transparent)]
CDKNUT07(#[from] cdk::nuts::nut07::Error),
#[error(transparent)]
CDKSECRET(#[from] cdk::secret::Error),
#[error(transparent)]
BIP32(#[from] bitcoin::bip32::Error),
#[error(transparent)]
MintUrl(#[from] cdk::mint_url::Error),
#[error("Could not initialize database")]
CouldNotInitialize,
#[error("Invalid database path")]
InvalidDbPath,
#[error(transparent)]
Serde(#[from] serde_json::Error),
}
impl From<Error> for cdk::cdk_database::Error {
fn from(e: Error) -> Self {
Self::Database(Box::new(e))
}
}