Skip to main content

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}