use crate::sqlite::Error as DbError;
pub type StoreResult<T> = Result<T, StoreError>;
#[derive(Debug, thiserror::Error)]
pub enum StoreError {
#[error("keystore error: {0}")]
Keystore(String),
#[error("blob store error: {0}")]
BlobStore(String),
#[error("storage lock error: {0}")]
Lock(String),
#[error("serialization error: {0}")]
Serialization(String),
#[error("crypto error: {0}")]
Crypto(String),
#[error("invalid envelope: {0}")]
InvalidEnvelope(String),
#[error("unsupported envelope version: {0}")]
UnsupportedEnvelopeVersion(u32),
#[error("database error: {0}")]
Db(#[from] DbError),
#[error("integrity check failed: {0}")]
IntegrityCheckFailed(String),
}