awaken_runtime_contract/contract/outbox.rs
1//! Outbox error type.
2//!
3//! The outbox is a server/store concern: the `OutboxStore` trait, message/draft
4//! data, status enum and lane/target constants all live in
5//! `awaken-server-contract`. The runtime-contract surface keeps only
6//! `OutboxError`, which the commit-coordinator write boundary names in its
7//! result types.
8
9use thiserror::Error;
10
11#[derive(Debug, Error, Clone, PartialEq, Eq)]
12pub enum OutboxError {
13 #[error("validation error: {0}")]
14 Validation(String),
15 #[error("conflict: {0}")]
16 Conflict(String),
17 #[error("io error: {0}")]
18 Io(String),
19 #[error("serialization error: {0}")]
20 Serialization(String),
21}