rustywallet_mempool/
error.rs1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum MempoolError {
8 #[error("HTTP error: {0}")]
10 HttpError(#[from] reqwest::Error),
11
12 #[error("API error ({status}): {message}")]
14 ApiError {
15 status: u16,
17 message: String,
19 },
20
21 #[error("Parse error: {0}")]
23 ParseError(String),
24
25 #[error("Request timeout")]
27 Timeout,
28
29 #[error("Rate limited - too many requests")]
31 RateLimited,
32
33 #[error("Invalid address: {0}")]
35 InvalidAddress(String),
36
37 #[error("Invalid txid: {0}")]
39 InvalidTxid(String),
40
41 #[error("Transaction not found: {0}")]
43 TxNotFound(String),
44
45 #[error("Address not found: {0}")]
47 AddressNotFound(String),
48
49 #[error("WebSocket error: {0}")]
51 WebSocketError(String),
52
53 #[error("WebSocket connection closed")]
55 WebSocketClosed,
56
57 #[error("Lightning API error: {0}")]
59 LightningError(String),
60
61 #[error("Mining API error: {0}")]
63 MiningError(String),
64}
65
66pub type Result<T> = std::result::Result<T, MempoolError>;