error.rs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //! SQLite Wallet Error
  2. use thiserror::Error;
  3. /// SQLite Wallet Error
  4. #[derive(Debug, Error)]
  5. pub enum Error {
  6. /// SQLX Error
  7. #[error(transparent)]
  8. SQLX(#[from] sqlx::Error),
  9. /// Serde Error
  10. #[error(transparent)]
  11. Serde(#[from] serde_json::Error),
  12. /// CDK Error
  13. #[error(transparent)]
  14. CDK(#[from] cdk_common::Error),
  15. /// NUT00 Error
  16. #[error(transparent)]
  17. CDKNUT00(#[from] cdk_common::nuts::nut00::Error),
  18. /// NUT01 Error
  19. #[error(transparent)]
  20. CDKNUT01(#[from] cdk_common::nuts::nut01::Error),
  21. /// NUT02 Error
  22. #[error(transparent)]
  23. CDKNUT02(#[from] cdk_common::nuts::nut02::Error),
  24. /// NUT04 Error
  25. #[error(transparent)]
  26. CDKNUT04(#[from] cdk_common::nuts::nut04::Error),
  27. /// NUT05 Error
  28. #[error(transparent)]
  29. CDKNUT05(#[from] cdk_common::nuts::nut05::Error),
  30. /// NUT07 Error
  31. #[error(transparent)]
  32. CDKNUT07(#[from] cdk_common::nuts::nut07::Error),
  33. /// Secret Error
  34. #[error(transparent)]
  35. CDKSECRET(#[from] cdk_common::secret::Error),
  36. /// Mint Url
  37. #[error(transparent)]
  38. MintUrl(#[from] cdk_common::mint_url::Error),
  39. /// BIP32 Error
  40. #[error(transparent)]
  41. BIP32(#[from] bitcoin::bip32::Error),
  42. /// Could Not Initialize Database
  43. #[error("Could not initialize database")]
  44. CouldNotInitialize,
  45. /// Invalid Database Path
  46. #[error("Invalid database path")]
  47. InvalidDbPath,
  48. }
  49. impl From<Error> for cdk_common::database::Error {
  50. fn from(e: Error) -> Self {
  51. Self::Database(Box::new(e))
  52. }
  53. }