1#[derive(Debug, thiserror::Error)]
2pub enum ZamError {
3 #[error("IO error: {0}")]
4 Io(#[from] std::io::Error),
5 #[error("Data corruption detected: {0}")]
6 Corruption(String),
7 #[error("Serialization error: {0}")]
8 Serialization(String),
9 #[error("Protocol error: {0}")]
10 Protocol(String),
11 #[error("Invalid configuration: {0}")]
12 Config(String),
13 #[error("Storage engine error: {0}")]
14 Storage(String),
15 #[error("Payload validation failed: {0}")]
16 Validation(String),
17}
18
19pub type ZamResult<T> = Result<T, ZamError>;