Crate revm_interpreter

Source
Expand description

§revm-interpreter

REVM Interpreter.

Re-exports§

pub use gas::Gas;
pub use interpreter::analysis;
pub use interpreter::num_words;
pub use interpreter::Contract;
pub use interpreter::Interpreter;
pub use interpreter::InterpreterResult;
pub use interpreter::SharedMemory;
pub use interpreter::Stack;
pub use interpreter::EMPTY_SHARED_MEMORY;
pub use interpreter::STACK_LIMIT;
pub use interpreter_action::CallInputs;
pub use interpreter_action::CallOutcome;
pub use interpreter_action::CallScheme;
pub use interpreter_action::CallValue;
pub use interpreter_action::CreateInputs;
pub use interpreter_action::CreateOutcome;
pub use interpreter_action::EOFCreateInputs;
pub use interpreter_action::EOFCreateKind;
pub use interpreter_action::InterpreterAction;
pub use opcode::Instruction;
pub use opcode::OpCode;
pub use opcode::OPCODE_INFO_JUMPTABLE;

Modules§

gas
EVM gas calculation utilities.
instructions
EVM opcode implementations.
interpreter
interpreter_action
opcode
EVM opcode definitions and utilities.

Macros§

as_isize_saturated
Converts a U256 value to a isize, saturating to isize::MAX if the value is too large.
as_u64_saturated
Converts a U256 value to a u64, saturating to MAX if the value is too large.
as_usize_or_fail
Converts a U256 value to a usize, failing the instruction if the value is too large.
as_usize_or_fail_ret
Converts a U256 value to a usize and returns ret, failing the instruction if the value is too large.
as_usize_saturated
Converts a U256 value to a usize, saturating to MAX if the value is too large.
check
Check if the SPEC is enabled, and fail the instruction if it is not.
gas
Records a gas cost and fails the instruction if it would exceed the available gas.
gas_or_fail
Same as gas!, but with gas as an option.
pop
Pops U256 values from the stack. Fails the instruction if the stack is too small.
pop_address
Pops Address values from the stack. Fails the instruction if the stack is too small.
pop_address_ret
Pop Address values from the stack, returns ret on stack underflow.
pop_ret
Pops U256 values from the stack, and returns ret. Fails the instruction if the stack is too small.
pop_top
Pops U256 values from the stack, and returns a reference to the top of the stack. Fails the instruction if the stack is too small.
push
Pushes a B256 value onto the stack. Fails the instruction if the stack is full.
push_b256
Pushes B256 values onto the stack. Fails the instruction if the stack is full.
refund
Records a gas refund.
require_eof
Error if the current call is executing EOF.
require_init_eof
Error if not init eof call.
require_non_staticcall
Fails the instruction if the current call is static.
resize_memory
Resizes the interpreter memory if necessary. Fails the instruction if the memory or gas limit is exceeded.
return_error
return_ok
return_revert

Structs§

AccountLoad
Result of the account load from Journal state.
DummyHost
A dummy Host implementation.
Eip7702CodeLoad
EIP-7702 code load result that contains optional delegation is_cold information.
FunctionReturnFrame
Function return frame. Needed information for returning from a function.
FunctionStack
Function Stack
SStoreResult
Represents the result of an sstore operation.
SelfDestructResult
Result of a selfdestruct action.
StateLoad
State load information that contains the data and if the account or storage is cold loaded.

Enums§

CreateScheme
Create scheme.
InstructionResult
InternalResult
Internal result that are not ex
SuccessOrHalt

Constants§

MAX_CODE_SIZE
EIP-170: Contract code size limit
MAX_INITCODE_SIZE
EIP-3860: Limit and meter initcode

Traits§

Host
EVM context host.