Skip to main content

chio_web3/
error.rs

1#[derive(Debug, thiserror::Error, PartialEq, Eq)]
2pub enum Web3ContractError {
3    #[error("unsupported schema: {0}")]
4    UnsupportedSchema(String),
5
6    #[error("missing field: {0}")]
7    MissingField(&'static str),
8
9    #[error("duplicate id or value: {0}")]
10    DuplicateValue(String),
11
12    #[error("unknown reference: {0}")]
13    UnknownReference(String),
14
15    #[error("invalid binding: {0}")]
16    InvalidBinding(String),
17
18    #[error("invalid proof: {0}")]
19    InvalidProof(String),
20
21    #[error("invalid settlement: {0}")]
22    InvalidSettlement(String),
23
24    #[error("invalid qualification case: {0}")]
25    InvalidQualificationCase(String),
26}
27
28impl Web3ContractError {
29    pub(crate) fn invalid_settlement(message: impl Into<String>) -> Self {
30        Self::InvalidSettlement(message.into())
31    }
32}