starknet_in_rust 0.4.0

A Rust implementation of Starknet execution logic
Documentation
use crate::services::api::contract_classes::deprecated_contract_class::EntryPointType;
use crate::{
    core::errors::{
        contract_address_errors::ContractAddressError, hash_errors::HashError,
        state_errors::StateError,
    },
    syscalls::syscall_handler_errors::SyscallHandlerError,
    transaction::error::TransactionError,
};
use thiserror::Error;

#[derive(Debug, Error)]
pub enum ParserError {
    #[error(transparent)]
    Io(#[from] std::io::Error),
    #[error(transparent)]
    ContractAddress(#[from] ContractAddressError),
    #[error(transparent)]
    Syscall(#[from] SyscallHandlerError),
    #[error(transparent)]
    Hashes(#[from] HashError),
    #[error("Failed to convert {0} to Felt")]
    ParseFelt(String),
    #[error("Failed to get entry point for function `{0}`")]
    FunctionEntryPoint(String),
    #[error("Failed to get entry point selector by type`{0:?}`")]
    EntryPointType(EntryPointType),
    #[error("Failed to get entry point at array position `{0}`")]
    EntryPointIndex(usize),
    #[error(transparent)]
    State(#[from] StateError),
    #[error(transparent)]
    Transaction(#[from] TransactionError),
}