2022-12-03 22:09:42 +00:00
|
|
|
use crate::database::DatabaseError;
|
2021-10-21 16:51:01 +00:00
|
|
|
use super::contracts::ArtifactError;
|
2022-01-26 13:01:05 +00:00
|
|
|
use super::signatures::SignatureError;
|
|
|
|
use super::utils::AddressError;
|
2021-10-21 16:51:01 +00:00
|
|
|
|
|
|
|
#[derive(thiserror::Error, Debug)]
|
|
|
|
pub enum EthereumError {
|
2022-05-28 00:04:21 +00:00
|
|
|
#[error("{0}")]
|
|
|
|
ImproperlyConfigured(&'static str),
|
2021-10-21 16:51:01 +00:00
|
|
|
|
|
|
|
#[error("invalid address")]
|
|
|
|
InvalidAddress(#[from] AddressError),
|
|
|
|
|
|
|
|
#[error(transparent)]
|
|
|
|
Web3Error(#[from] web3::Error),
|
|
|
|
|
|
|
|
#[error("artifact error")]
|
|
|
|
ArtifactError(#[from] ArtifactError),
|
|
|
|
|
|
|
|
#[error("abi error")]
|
|
|
|
AbiError(#[from] web3::ethabi::Error),
|
|
|
|
|
|
|
|
#[error("contract error")]
|
|
|
|
ContractError(#[from] web3::contract::Error),
|
|
|
|
|
|
|
|
#[error("data conversion error")]
|
|
|
|
ConversionError,
|
|
|
|
|
|
|
|
#[error(transparent)]
|
|
|
|
DatabaseError(#[from] DatabaseError),
|
|
|
|
|
|
|
|
#[error("signature error")]
|
2022-06-14 18:55:04 +00:00
|
|
|
SignatureError(#[from] SignatureError),
|
|
|
|
|
|
|
|
#[error("{0}")]
|
|
|
|
OtherError(&'static str),
|
2021-10-21 16:51:01 +00:00
|
|
|
}
|