Skip to main content

atp_caip/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum CaipError {
5    #[error("Invalid CAIP-2 format: {0}")]
6    InvalidChainId(String),
7
8    #[error("Invalid CAIP-10 format: {0}")]
9    InvalidAccountId(String),
10
11    #[error("Invalid CAIP-19 format: {0}")]
12    InvalidAssetId(String),
13
14    #[error("Unknown chain namespace: {0}")]
15    UnknownChainNamespace(String),
16
17    #[error("Unknown asset namespace: {0}")]
18    UnknownAssetNamespace(String),
19
20    #[error("Invalid TokenPair string format: {0}")]
21    InvalidTokenPairString(String),
22
23    #[error("Decimal overflow: max {max}, got {got}")]
24    DecimalOverflow { max: u8, got: u8 },
25
26    #[error("Invalid amount: {0}")]
27    InvalidAmount(String),
28}
29
30pub type Result<T> = std::result::Result<T, CaipError>;