1use thiserror::Error;
2
3use crate::HoprState;
4
5#[derive(Error, Debug)]
7pub enum HoprStatusError {
8 #[error("HOPR status general error: '{0}'")]
9 General(String),
10
11 #[error("HOPR status error: '{0}'")]
12 NotThereYet(HoprState, String),
13}
14
15#[derive(Error, Debug)]
17pub enum HoprLibError {
18 #[error("HOPR lib Error: '{0}'")]
19 GeneralError(String),
20
21 #[error(transparent)]
22 StatusError(#[from] HoprStatusError),
23
24 #[error(transparent)]
25 DatabaseBackendError(#[from] hopr_db_sql::errors::DbSqlError),
26
27 #[error(transparent)]
28 DbError(#[from] hopr_db_sql::api::errors::DbError),
29
30 #[error(transparent)]
31 TransportError(#[from] hopr_transport::errors::HoprTransportError),
32
33 #[error(transparent)]
34 ChainError(#[from] hopr_chain_actions::errors::ChainActionsError),
35
36 #[error(transparent)]
37 ChainApi(#[from] hopr_chain_api::errors::HoprChainError),
38
39 #[error(transparent)]
40 TypeError(#[from] hopr_primitive_types::errors::GeneralError),
41}
42
43pub type Result<T> = std::result::Result<T, HoprLibError>;