1use thiserror::Error;
4
5#[derive(Error, Debug)]
7pub enum ZincError {
8 #[error("Invalid word count: {0}. Must be 12 or 24.")]
10 InvalidWordCount(u8),
11
12 #[error("Mnemonic error: {0}")]
14 MnemonicError(String),
15
16 #[error("Key derivation error: {0}")]
18 KeyDerivation(String),
19
20 #[error("Wallet error: {0}")]
22 WalletError(String),
23
24 #[error("Encryption error: {0}")]
26 EncryptionError(String),
27
28 #[error("Decryption failed: wrong password or corrupted data")]
30 DecryptionError,
31
32 #[error("Serialization error: {0}")]
34 SerializationError(String),
35
36 #[error("Configuration error: {0}")]
38 ConfigError(String),
39
40 #[error("BDK error: {0}")]
42 BdkError(String),
43
44 #[error("Offer error: {0}")]
46 OfferError(String),
47}
48
49pub type ZincResult<T> = Result<T, ZincError>;