|
@@ -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)
|
|
|
+ }
|
|
|
}
|