1use thiserror::Error;
2pub type Result<T = ()> = std::result::Result<T, Error>;
3
4#[derive(Error, Debug)]
5pub enum Error {
6 #[error("request error")]
7 Request(#[from] reqwest::Error),
8 #[error("unexpected value")]
9 Value(serde_json::Value),
10 #[error("invalid decimals in {0}, only 8 allowed")]
11 Decimals(String),
12 #[error("unexpected or invalid number {0}")]
13 Number(String),
14}
15
16impl Error {
17 pub fn value(value: serde_json::Value) -> Self {
18 Self::Value(value)
19 }
20
21 pub fn decimals(value: &str) -> Self {
22 Self::Decimals(value.to_string())
23 }
24
25 pub fn number(value: &str) -> Self {
26 Self::Number(value.to_string())
27 }
28}