#[cfg(not(feature = "std"))]
use alloc::string::String;
use core::{error, fmt};
#[derive(Clone, Debug, Eq, PartialEq)]
pub enum Error {
BadWordCount(usize),
BadEntropyBitCount(usize),
UnknownWord(String),
InvalidChecksum,
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Error::BadWordCount(count) => {
write!(f, "BIP-0039 mnemonic only supports 12/15/18/21/24 words: {count}")
},
Error::BadEntropyBitCount(count) => write!(
f,
"entropy was not between 128-256 bits or not a multiple of 32 bits: {count} bits"
),
Error::UnknownWord(word) => write!(f, "mnemonic contains an unknown word: {word}"),
Error::InvalidChecksum => write!(f, "mnemonic has an invalid checksum"),
}
}
}
impl error::Error for Error {}