use thiserror::Error;
#[derive(Error, Debug)]
pub enum Error {
#[error("walletd_bitcoin error: {0}")]
WalletdBitcoin(#[from] walletd_bitcoin::Error),
#[error("walletd_ethereum error: {0}")]
WalletdEthereum(#[from] walletd_ethereum::Error),
#[error("walletd_hd_key error: {0}")]
WalletdHDKey(#[from] walletd_hd_key::Error),
#[error("walletd_bip39 mnemonic error: {0}")]
WalletdBip39(#[from] walletd_bip39::Error),
#[error("walletd_coin_core error: {0}")]
WalletdCoinCore(#[from] walletd_coin_core::Error),
#[error("hex error: {0}")]
Hex(#[from] hex::FromHexError),
#[error("Error deriving a wallet of a specific type from a KeyPair struct: {0}")]
DeriveWallet(String),
#[error("Missing info to generate a KeyPair struct: {0}")]
MissingKeyPairInfo(String),
}