Skip to main content

bsv/services/
error.rs

1//! Error types for the services module.
2
3use thiserror::Error;
4
5/// Unified error type for all service operations.
6#[derive(Debug, Error)]
7pub enum ServicesError {
8    /// Identity service error.
9    #[error("identity error: {0}")]
10    Identity(String),
11
12    /// Registry service error.
13    #[error("registry error: {0}")]
14    Registry(String),
15
16    /// Storage service error.
17    #[error("storage error: {0}")]
18    Storage(String),
19
20    /// Key-value store service error.
21    #[error("kvstore error: {0}")]
22    KvStore(String),
23
24    /// Messages (BRC-77/78) error.
25    #[error("messages error: {0}")]
26    Messages(String),
27
28    /// Overlay tools error.
29    #[error("overlay error: {0}")]
30    Overlay(String),
31
32    /// HTTP transport error.
33    #[error("http error: {0}")]
34    Http(String),
35
36    /// Serialization/deserialization error.
37    #[error("serialization error: {0}")]
38    Serialization(String),
39
40    /// Error from the auth layer.
41    #[error("auth error: {0}")]
42    Auth(#[from] crate::auth::error::AuthError),
43
44    /// Error from the wallet layer.
45    #[error("wallet error: {0}")]
46    Wallet(#[from] crate::wallet::WalletError),
47
48    /// Error from the primitives layer.
49    #[error("primitives error: {0}")]
50    Primitives(#[from] crate::primitives::PrimitivesError),
51}