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	#[error("{0}")]
16	Codec(codec::Error) = 5,
17}
18
19impl From<subxt_core::Error> for Error {
20	fn from(value: subxt_core::Error) -> Self {
21		Self::SubxtCore(value)
22	}
23}
24
25#[cfg(feature = "subxt")]
26impl From<subxt::Error> for Error {
27	fn from(value: subxt::Error) -> Self {
28		Self::Subxt(value)
29	}
30}
31
32impl From<subxt_rpcs::Error> for Error {
33	fn from(value: subxt_rpcs::Error) -> Self {
34		Self::SubxtRpcs(value)
35	}
36}
37
38impl From<String> for Error {
39	fn from(value: String) -> Self {
40		Self::Custom(value)
41	}
42}
43
44impl From<&str> for Error {
45	fn from(value: &str) -> Self {
46		Self::Custom(String::from(value))
47	}
48}
49
50impl From<codec::Error> for Error {
51	fn from(value: codec::Error) -> Self {
52		Self::Codec(value)
53	}
54}