crosschain_connect/
error.rs1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum Error {
5 #[error("EVM RPC error: {0}")]
6 EvmRpcError(String),
7
8 #[error("Bitcoin error: {0}")]
9 BitcoinError(String),
10
11 #[error("Monero error: {0}")]
12 MoneroError(String),
13
14 #[error("Invalid address: {0}")]
15 InvalidAddress(String),
16
17 #[error("Invalid signature")]
18 InvalidSignature,
19
20 #[error("Crypto error: {0}")]
21 CryptoError(String),
22
23 #[error("Session not found")]
24 SessionNotFound,
25
26 #[error("Session expired")]
27 SessionExpired,
28
29 #[error("Serialization error: {0}")]
30 SerializationError(#[from] serde_json::Error),
31
32 #[error("Network error: {0}")]
33 NetworkError(String),
34
35 #[error("Unknown error: {0}")]
36 Unknown(String),
37}
38
39pub type Result<T> = std::result::Result<T, Error>;