1use thiserror::Error;
2
3#[derive(Error, Debug, Clone)]
5pub enum Error {
6 #[error("Invalid CAIP-2 Chain ID: {0}")]
8 InvalidChainId(String),
9
10 #[error("Invalid namespace: {0}")]
12 InvalidNamespace(String),
13
14 #[error("Invalid reference: {0}")]
16 InvalidReference(String),
17
18 #[error("Invalid CAIP-10 Account ID: {0}")]
20 InvalidAccountId(String),
21
22 #[error("Invalid address format for chain {0}: {1}")]
24 InvalidAddressFormat(String, String),
25
26 #[error("Invalid CAIP-19 Asset ID: {0}")]
28 InvalidAssetId(String),
29
30 #[error("Invalid asset namespace: {0}")]
32 InvalidAssetNamespace(String),
33
34 #[error("Invalid asset reference: {0}")]
36 InvalidAssetReference(String),
37
38 #[error("Unrecognized CAIP format: {0}")]
40 UnrecognizedFormat(String),
41
42 #[error("Invalid Ethereum address: {0}")]
44 InvalidEthereumAddress(String),
45
46 #[error("Invalid Bitcoin address: {0}")]
48 InvalidBitcoinAddress(String),
49}