1pub use hopr_chain_api::errors::{ChainActionsError, HoprChainError};
2use thiserror::Error;
3
4use crate::state::HoprState;
5
6#[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#[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>;