starknet_devnet_types/
error.rs1use blockifier::transaction::errors::TransactionExecutionError;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum Error {
6 #[error(transparent)]
7 StarknetApiError(#[from] starknet_api::StarknetApiError),
8 #[error("Conversion error: {0}")]
9 ConversionError(#[from] ConversionError),
10 #[error(transparent)]
11 JsonError(#[from] JsonError),
12 #[error(transparent)]
13 IoError(#[from] std::io::Error),
14 #[error(transparent)]
15 FromHexError(#[from] starknet_rs_core::types::eth_address::FromHexError),
16 #[error(transparent)]
17 TransactionExecutionError(#[from] TransactionExecutionError),
18 #[error("Sierra compilation error: {reason}")]
21 SierraCompilationError { reason: String },
22 #[error("Program error")]
23 ProgramError,
24}
25
26#[derive(Error, Debug)]
27pub enum ConversionError {
28 #[error("Byte array invalid")]
29 FromByteArrayError,
30 #[error("Invalid format")]
31 InvalidFormat,
32 #[error("Invalid internal structure: {0}")]
33 InvalidInternalStructure(String),
34 #[error("Value is out of range: {0}")]
35 OutOfRangeError(String),
36 #[error("Error converting from hex string: {0}")]
37 CustomFromHexError(String),
38}
39
40#[derive(Error, Debug)]
41pub enum JsonError {
42 #[error(transparent)]
43 SerdeJsonError(#[from] serde_json::Error),
44 #[error("Error: {msg}")]
45 Custom { msg: String },
46}
47
48pub type DevnetResult<T, E = Error> = Result<T, E>;