use thiserror::Error;
#[derive(Debug, Error)]
pub enum ServicesError {
#[error("identity error: {0}")]
Identity(String),
#[error("registry error: {0}")]
Registry(String),
#[error("storage error: {0}")]
Storage(String),
#[error("kvstore error: {0}")]
KvStore(String),
#[error("messages error: {0}")]
Messages(String),
#[error("overlay error: {0}")]
Overlay(String),
#[error("http error: {0}")]
Http(String),
#[error("serialization error: {0}")]
Serialization(String),
#[error("auth error: {0}")]
Auth(#[from] crate::auth::error::AuthError),
#[error("wallet error: {0}")]
Wallet(#[from] crate::wallet::WalletError),
#[error("primitives error: {0}")]
Primitives(#[from] crate::primitives::PrimitivesError),
}