1use ows_signer::hd::HdError;
2use ows_signer::mnemonic::MnemonicError;
3use ows_signer::{CryptoError, SignerError};
4
5#[derive(Debug, thiserror::Error)]
7pub enum OwsLibError {
8 #[error("wallet not found: '{0}'")]
9 WalletNotFound(String),
10
11 #[error("ambiguous wallet name '{name}' matches {count} wallets; use the wallet ID instead")]
12 AmbiguousWallet { name: String, count: usize },
13
14 #[error("wallet name already exists: '{0}'")]
15 WalletNameExists(String),
16
17 #[error("invalid input: {0}")]
18 InvalidInput(String),
19
20 #[error("broadcast failed: {0}")]
21 BroadcastFailed(String),
22
23 #[error("{0}")]
24 Crypto(#[from] CryptoError),
25
26 #[error("{0}")]
27 Signer(#[from] SignerError),
28
29 #[error("{0}")]
30 Mnemonic(#[from] MnemonicError),
31
32 #[error("{0}")]
33 Hd(#[from] HdError),
34
35 #[error("{0}")]
36 Core(#[from] ows_core::OwsError),
37
38 #[error("I/O error: {0}")]
39 Io(#[from] std::io::Error),
40
41 #[error("JSON error: {0}")]
42 Json(#[from] serde_json::Error),
43}