#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("{0}")]
Crypto(#[from] crypto::Error),
#[error("stronghold client error: {0}")]
Client(#[from] iota_stronghold::ClientError),
#[error("invalid stronghold password")]
InvalidPassword,
#[error("no password has been supplied, or the key has been cleared from the memory")]
KeyCleared,
#[error("stronghold memory error: {0}")]
Memory(#[from] iota_stronghold::MemoryError),
#[error("a mnemonic has already been stored in the Stronghold vault")]
MnemonicAlreadyStored,
#[error("no mnemonic has been stored into the Stronghold vault")]
MnemonicMissing,
#[error("Stronghold reported a procedure error: {0}")]
Procedure(#[from] iota_stronghold::procedures::ProcedureError),
#[error("invalid mnemonic {0}")]
InvalidMnemonic(String),
}