avail_rust_core/
error.rs

1#[derive(thiserror::Error, Debug)]
2#[repr(u8)]
3pub enum Error {
4	#[cfg(feature = "subxt")]
5	#[error("{0}")]
6	Subxt(subxt::Error) = 0,
7	#[error("{0}")]
8	SubxtCore(subxt_core::Error) = 1,
9	#[error("{0}")]
10	SubxtRpcs(subxt_rpcs::Error) = 2,
11	#[error("{0}")]
12	Custom(String) = 3,
13	#[error("Transaction is not allowed. {0}")]
14	TransactionNotAllowed(String) = 4,
15}
16
17impl From<subxt_core::Error> for Error {
18	fn from(value: subxt_core::Error) -> Self {
19		Self::SubxtCore(value)
20	}
21}
22
23#[cfg(feature = "subxt")]
24impl From<subxt::Error> for Error {
25	fn from(value: subxt::Error) -> Self {
26		Self::Subxt(value)
27	}
28}
29
30impl From<subxt_rpcs::Error> for Error {
31	fn from(value: subxt_rpcs::Error) -> Self {
32		Self::SubxtRpcs(value)
33	}
34}
35
36impl From<String> for Error {
37	fn from(value: String) -> Self {
38		Self::Custom(value)
39	}
40}
41
42impl From<&str> for Error {
43	fn from(value: &str) -> Self {
44		Self::Custom(String::from(value))
45	}
46}