Skip to main content

harmoniis_wallet/
error.rs

1#[derive(Debug, thiserror::Error)]
2pub enum Error {
3    #[error("invalid format: {0}")]
4    InvalidFormat(String),
5    #[error("crypto error: {0}")]
6    Crypto(String),
7    #[cfg(feature = "native")]
8    #[error("database error: {0}")]
9    Storage(#[from] rusqlite::Error),
10    #[cfg(feature = "native")]
11    #[error("http error: {0}")]
12    Http(#[from] reqwest::Error),
13    #[error("api error {status}: {body}")]
14    Api { status: u16, body: String },
15    #[error("not found: {0}")]
16    NotFound(String),
17    #[error("wallet key material missing: {0}")]
18    KeyMaterialMissing(String),
19    #[error(transparent)]
20    Other(#[from] anyhow::Error),
21}
22
23pub type Result<T> = std::result::Result<T, Error>;