Crate revm_interpreter

Source
Expand description

§revm-interpreter

Interpreter is part of the project that executes EVM instructions.

Re-exports§

pub use gas::Gas;
pub use gas::InitialAndFloorGas;
pub use host::Host;
pub use instructions::instruction_table;
pub use instructions::Instruction;
pub use instructions::InstructionTable;
pub use interpreter::num_words;
pub use interpreter::InputsImpl;
pub use interpreter::Interpreter;
pub use interpreter::InterpreterResult;
pub use interpreter::MemoryGetter;
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::FrameInput;
pub use interpreter_action::InterpreterAction;
pub use interpreter_types::InterpreterTypes;

Modules§

gas
EVM gas calculation utilities.
host
instructions
EVM opcode implementations.
interpreter
interpreter_action
interpreter_types

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.
assume
check
Check if the SPEC is enabled, and fail the instruction if it is not.
debug_unreachable
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.
otry
popn
Pops n values from the stack. Fails the instruction if n values can’t be popped.
popn_top
Pops n values from the stack and returns the top value. Fails the instruction if n values can’t be popped.
push
Pushes a B256 value onto the stack. Fails the instruction if the stack is full.
require_eof
Error if the current call is executing EOF.
require_non_staticcall
Fails the instruction if the current call is static.
resize_memory
Resizes the interpreterreter memory if necessary. Fails the instruction if the memory or gas limit is exceeded.
return_error
return_ok
return_revert
tri
const Option ?.

Structs§

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 results that are not exposed externally
SuccessOrHalt

Constants§

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