hopr_lib/
errors.rs

1pub use hopr_chain_api::errors::{ChainActionsError, HoprChainError};
2use thiserror::Error;
3
4use crate::state::HoprState;
5
6/// Enumeration of status errors thrown from this library.
7#[derive(Error, Debug)]
8pub enum HoprStatusError {
9    #[error("HOPR status general error: '{0}'")]
10    General(String),
11
12    #[error("HOPR status error: '{0}'")]
13    NotThereYet(HoprState, String),
14}
15
16/// Enumeration of errors thrown from this library.
17#[derive(Error, Debug)]
18pub enum HoprLibError {
19    #[error("HOPR lib Error: '{0}'")]
20    GeneralError(String),
21
22    #[error(transparent)]
23    StatusError(#[from] HoprStatusError),
24
25    #[error(transparent)]
26    DbError(#[from] hopr_db_node::errors::NodeDbError),
27
28    #[error(transparent)]
29    TransportError(#[from] hopr_transport::errors::HoprTransportError),
30
31    #[error(transparent)]
32    ChainApi(#[from] hopr_chain_api::errors::HoprChainError),
33
34    #[error(transparent)]
35    TypeError(#[from] hopr_primitive_types::errors::GeneralError),
36}
37
38pub type Result<T> = std::result::Result<T, HoprLibError>;