Browse Source

remove this error

thesimplekid 1 year ago
parent
commit
df9fd59dd3
3 changed files with 59 additions and 23 deletions
  1. 0 1
      Cargo.toml
  2. 2 2
      src/client.rs
  3. 57 20
      src/error.rs

+ 0 - 1
Cargo.toml

@@ -25,7 +25,6 @@ rand = "0.8.5"
 getrandom = { version = "0.2", features = ["js"] }
 serde = { version = "1.0.160", features = ["derive"]}
 serde_json = "1.0.96"
-thiserror = "1.0.40"
 url = "2.3.1"
 
 [dev-dependencies]

+ 2 - 2
src/client.rs

@@ -71,7 +71,7 @@ impl Client {
 
         match response {
             Ok(res) => Ok(res),
-            Err(_) => Err(Error::CustomError(res.to_string())),
+            Err(_) => Err(MintError::from_json(&res.to_string())?.into()),
         }
     }
 
@@ -88,7 +88,7 @@ impl Client {
 
         match response {
             Ok(res) => Ok(res),
-            Err(_) => Err(Error::CustomError(res.to_string())),
+            Err(_) => Err(MintError::from_json(&res.to_string())?.into()),
         }
     }
 

+ 57 - 20
src/error.rs

@@ -2,37 +2,74 @@ use std::string::FromUtf8Error;
 
 use crate::types::MintError;
 
-#[derive(Debug, thiserror::Error)]
+#[derive(Debug)]
 pub enum Error {
     ///  Min req error
-    #[error("minreq error: {0}")]
-    MinReqError(#[from] minreq::Error),
+    MinReqError(minreq::Error),
     /// Parse Url Error
-    #[error("minreq error: {0}")]
-    UrlParseError(#[from] url::ParseError),
+    UrlParseError(url::ParseError),
     /// Unsupported Token
-    #[error("Unsupported Token")]
     UnsupportedToken,
     /// Utf8 parse error
-    #[error("utf8error error: {0}")]
-    Utf8ParseError(#[from] FromUtf8Error),
+    Utf8ParseError(FromUtf8Error),
     /// Serde Json error
-    #[error("Serde Json error: {0}")]
-    SerdeJsonError(#[from] serde_json::Error),
+    SerdeJsonError(serde_json::Error),
     /// Base64 error
-    #[error("Base64 error: {0}")]
-    Base64Error(#[from] base64::DecodeError),
+    Base64Error(base64::DecodeError),
     /// Insufficaint Funds
-    #[error("Not enough funds")]
     InsufficantFunds,
-    #[error("Custom error: {0}")]
     CustomError(String),
     /// From hex error
-    #[error("From Hex Error: {0}")]
-    HexError(#[from] hex::FromHexError),
+    HexError(hex::FromHexError),
     /// From elliptic curve
-    #[error("From Elliptic: {0}")]
-    EllipticError(#[from] k256::elliptic_curve::Error),
-    #[error("Mint Error: {0}")]
-    MintError(#[from] MintError),
+    EllipticError(k256::elliptic_curve::Error),
+    CrabMintError(MintError),
+}
+
+impl From<minreq::Error> for Error {
+    fn from(err: minreq::Error) -> Error {
+        Error::MinReqError(err)
+    }
+}
+
+impl From<url::ParseError> for Error {
+    fn from(err: url::ParseError) -> Error {
+        Error::UrlParseError(err)
+    }
+}
+
+impl From<FromUtf8Error> for Error {
+    fn from(err: FromUtf8Error) -> Error {
+        Error::Utf8ParseError(err)
+    }
+}
+
+impl From<serde_json::Error> for Error {
+    fn from(err: serde_json::Error) -> Error {
+        Error::SerdeJsonError(err)
+    }
+}
+
+impl From<base64::DecodeError> for Error {
+    fn from(err: base64::DecodeError) -> Error {
+        Error::Base64Error(err)
+    }
+}
+
+impl From<hex::FromHexError> for Error {
+    fn from(err: hex::FromHexError) -> Error {
+        Error::HexError(err)
+    }
+}
+
+impl From<k256::elliptic_curve::Error> for Error {
+    fn from(err: k256::elliptic_curve::Error) -> Error {
+        Error::EllipticError(err)
+    }
+}
+
+impl From<MintError> for Error {
+    fn from(err: MintError) -> Error {
+        Error::CrabMintError(err)
+    }
 }