zksync_error/error/
mod.rs

1//
2// AUTOGENERATED BASED ON A SET OF JSON FILES, DO NOT EDIT MANUALLY
3//
4pub(crate) mod definitions;
5pub(crate) mod domains;
6use crate::error::domains::AnvilZksync;
7use crate::error::domains::Compiler;
8use crate::error::domains::Core;
9use crate::error::domains::Foundry;
10use crate::error::domains::Hardhat;
11use crate::error::domains::ZksyncError;
12use crate::identifier::Identifier;
13#[cfg(not(feature = "std"))]
14use alloc::string::String;
15use core::error::Error;
16pub trait IError<ContainedType>: Error
17where
18    ContainedType: Clone,
19{
20    fn get_identifier(&self) -> Identifier;
21    fn get_message(&self) -> String;
22    fn get_data(&self) -> ContainedType;
23}
24#[cfg(not(feature = "use_serde"))]
25pub trait IUnifiedError<ContainedType>: IError<ContainedType>
26where
27    ContainedType: Clone,
28{
29}
30#[cfg(feature = "use_serde")]
31pub trait IUnifiedError<ContainedType>:
32    serde::Serialize + for<'de> serde::Deserialize<'de> + IError<ContainedType>
33where
34    ContainedType: Clone,
35{
36}
37pub trait ICustomError<U, C>
38where
39    U: IUnifiedError<C>,
40    C: Clone,
41{
42    fn to_unified(&self) -> U;
43}
44pub trait CustomErrorMessage {
45    fn get_message(&self) -> String;
46}
47pub trait NamedError {
48    fn get_error_name(&self) -> String;
49}
50impl IError<ZksyncError> for ZksyncError {
51    fn get_identifier(&self) -> Identifier {
52        Identifier {
53            kind: self.get_kind(),
54            code: self.get_code(),
55        }
56    }
57    fn get_message(&self) -> String {
58        match self {
59            ZksyncError::AnvilZksync(AnvilZksync::AnvilEnvironment(error)) => error.get_message(),
60            ZksyncError::AnvilZksync(AnvilZksync::AnvilGeneric(error)) => error.get_message(),
61            ZksyncError::AnvilZksync(AnvilZksync::AnvilNode(error)) => error.get_message(),
62            ZksyncError::AnvilZksync(AnvilZksync::GasEstimation(error)) => error.get_message(),
63            ZksyncError::AnvilZksync(AnvilZksync::Halt(error)) => error.get_message(),
64            ZksyncError::AnvilZksync(AnvilZksync::Revert(error)) => error.get_message(),
65            ZksyncError::AnvilZksync(AnvilZksync::StateLoader(error)) => error.get_message(),
66            ZksyncError::AnvilZksync(AnvilZksync::TransactionValidation(error)) => {
67                error.get_message()
68            }
69            ZksyncError::Compiler(Compiler::LLVM_EVM(error)) => error.get_message(),
70            ZksyncError::Compiler(Compiler::LLVM_Era(error)) => error.get_message(),
71            ZksyncError::Compiler(Compiler::Solc(error)) => error.get_message(),
72            ZksyncError::Compiler(Compiler::SolcFork(error)) => error.get_message(),
73            ZksyncError::Compiler(Compiler::Zksolc(error)) => error.get_message(),
74            ZksyncError::Compiler(Compiler::Zkvyper(error)) => error.get_message(),
75            ZksyncError::Core(Core::API(error)) => error.get_message(),
76            ZksyncError::Core(Core::EraVM(error)) => error.get_message(),
77            ZksyncError::Core(Core::ExecutionPlatform(error)) => error.get_message(),
78            ZksyncError::Core(Core::Sequencer(error)) => error.get_message(),
79            ZksyncError::Foundry(Foundry::FoundryUpstream(error)) => error.get_message(),
80            ZksyncError::Foundry(Foundry::FoundryZksync(error)) => error.get_message(),
81            ZksyncError::Hardhat(Hardhat::HardhatUpstream(error)) => error.get_message(),
82            ZksyncError::Hardhat(Hardhat::HardhatZksync(error)) => error.get_message(),
83        }
84    }
85    fn get_data(&self) -> ZksyncError {
86        self.clone()
87    }
88}