plonky2/evm/src/witness/errors.rs
2023-12-20 14:28:38 +01:00

42 lines
848 B
Rust

use ethereum_types::U256;
#[derive(Debug)]
pub enum ProgramError {
OutOfGas,
InvalidOpcode,
StackUnderflow,
InvalidRlp,
InvalidJumpDestination,
InvalidJumpiDestination,
StackOverflow,
KernelPanic,
MemoryError(MemoryError),
GasLimitError,
InterpreterError,
IntegerTooLarge,
ProverInputError(ProverInputError),
UnknownContractCode,
}
#[allow(clippy::enum_variant_names)]
#[derive(Debug)]
pub enum MemoryError {
ContextTooLarge { context: U256 },
SegmentTooLarge { segment: U256 },
VirtTooLarge { virt: U256 },
}
#[derive(Debug)]
pub enum ProverInputError {
OutOfMptData,
OutOfRlpData,
OutOfWithdrawalData,
CodeHashNotFound,
InvalidMptInput,
InvalidInput,
InvalidFunction,
NumBitsError,
InvalidJumpDestination,
InvalidJumpdestSimulation,
}