1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum StreamError {
5 #[error("connection failed: {0}")]
6 Connect(String),
7
8 #[error("subscribe failed: {0}")]
9 Subscribe(String),
10
11 #[error("invalid base58 pubkey '{0}': {1}")]
12 InvalidPubkey(String, String),
13
14 #[error("websocket send failed: {0}")]
15 Send(String),
16
17 #[error("websocket receive failed: {0}")]
18 Recv(String),
19}
20
21impl From<tungstenite::Error> for StreamError {
22 fn from(e: tungstenite::Error) -> Self {
23 StreamError::Recv(e.to_string())
24 }
25}