freenet_stdlib/contract_interface/
error.rs

1//! Error types for contract interface operations.
2
3use serde::{Deserialize, Serialize};
4
5/// Type of errors during interaction with a contract.
6#[derive(Debug, thiserror::Error, Serialize, Deserialize)]
7pub enum ContractError {
8    #[error("de/serialization error: {0}")]
9    Deser(String),
10    #[error("invalid contract update")]
11    InvalidUpdate,
12    #[error("invalid contract update, reason: {reason}")]
13    InvalidUpdateWithInfo { reason: String },
14    #[error("trying to read an invalid state")]
15    InvalidState,
16    #[error("trying to read an invalid delta")]
17    InvalidDelta,
18    #[error("{0}")]
19    Other(String),
20}