use thiserror::Error;
#[derive(Debug, Error)]
pub enum RecoveryError {
#[error("entropy generation failed: {0}")]
EntropyGenerationFailed(String),
#[error("mnemonic generation failed: {0}")]
MnemonicGenerationFailed(String),
#[error("invalid mnemonic: {0}")]
InvalidMnemonic(String),
#[error("mnemonic checksum verification failed")]
ChecksumFailed,
#[error("key derivation failed: {0}")]
KeyDerivationFailed(String),
#[error("vault already exists for identity: {four_words}")]
VaultAlreadyExists {
four_words: String,
},
#[error("storage error: {0}")]
StorageError(String),
}
pub type RecoveryResult<T> = std::result::Result<T, RecoveryError>;