Crate revm_interpreter
source ·Expand description
§revm-interpreter
REVM Interpreter.
Re-exports§
pub use gas::Gas;pub use instructions::opcode;pub use instructions::Instruction;pub use instructions::OpCode;pub use instructions::OPCODE_JUMPMAP;pub use interpreter::analysis;pub use interpreter::next_multiple_of_32;pub use interpreter::BytecodeLocked;pub use interpreter::Contract;pub use interpreter::Interpreter;pub use interpreter::InterpreterAction;pub use interpreter::InterpreterResult;pub use interpreter::Stack;pub use interpreter::EMPTY_SHARED_MEMORY;pub use interpreter::STACK_LIMIT;
Modules§
- EVM gas calculation utilities.
- EVM opcode implementations.
Macros§
- Converts a
U256value to au64, saturating toMAXif the value is too large. - Converts a
U256value to ausize, failing the instruction if the value is too large. - Converts a
U256value to ausizeand returnsret, failing the instruction if the value is too large. - Converts a
U256value to ausize, saturating toMAXif the value is too large. - Fails the instruction if the
minis not enabled inSPEC. - Fails the instruction if the current call is static.
- Records a
gascost and fails the instruction if it would exceed the available gas. - Same as
gas!, but withgasas an option. - Pops
U256values from the stack. Fails the instruction if the stack is too small. - Pops
Addressvalues from the stack. Fails the instruction if the stack is too small. - Pops
U256values from the stack, and returnsret. Fails the instruction if the stack is too small. - Pops
U256values from the stack, and returns a reference to the top of the stack. Fails the instruction if the stack is too small. - Pushes a
B256value onto the stack. Fails the instruction if the stack is full. - Pushes
B256values onto the stack. Fails the instruction if the stack is full. - Records a
gasrefund. - Resizes the interpreter memory if necessary. Fails the instruction if the memory or gas limit is exceeded.
Structs§
- Context of a runtime call.
- Inputs for a call.
- Represents the outcome of a call operation in a virtual machine.
- Inputs for a create call.
- Represents the outcome of a create operation in an interpreter.
- A dummy Host implementation.
- Represents the result of an
sstoreoperation. - Result of a call that resulted in a self destruct.
- Transfer from source to target, with given value.
Enums§
- Call schemes.
- Create scheme.
Constants§
- EIP-170: Contract code size limit By default limit is 0x6000 (~25kb)
- EIP-3860: Limit and meter initcode
Traits§
- EVM context host.