#[derive(Debug, thiserror::Error)]
pub enum CoreError {
#[error("invalid bech32 address: {0}")]
InvalidBech32(String),
#[error("invalid address length: expected 32 bytes, got {0}")]
InvalidAddressLength(usize),
#[error("empty address")]
EmptyAddress,
#[error("invalid mnemonic: {0}")]
InvalidMnemonic(String),
#[error("invalid private key: {0}")]
InvalidPrivateKey(String),
#[error("failed to create wallet: {0}")]
WalletCreation(String),
#[error("invalid numeric value: {0}")]
InvalidNumeric(String),
#[error("invalid BigIntCaster encoding: {0}")]
InvalidBigIntEncoding(String),
#[error("invalid base64: {0}")]
InvalidBase64(String),
#[error("invalid hex: {0}")]
InvalidHex(String),
#[error("bech32 encode failed: {0}")]
Bech32Encode(String),
#[error("{0}")]
InvalidHrp(String),
}