revm_interpreter/
lib.rs

1//! # revm-interpreter
2//!
3//! Interpreter is part of the project that executes EVM instructions.
4#![cfg_attr(not(test), warn(unused_crate_dependencies))]
5#![cfg_attr(not(feature = "std"), no_std)]
6
7#[cfg(not(feature = "std"))]
8extern crate alloc as std;
9
10#[macro_use]
11mod macros;
12
13pub mod gas;
14pub mod host;
15mod instruction_result;
16pub mod instructions;
17pub mod interpreter;
18pub mod interpreter_action;
19pub mod interpreter_types;
20
21// Reexport primary types.
22pub use context_interface::{
23    context::{SStoreResult, SelfDestructResult, StateLoad},
24    CreateScheme,
25};
26pub use gas::{Gas, InitialAndFloorGas};
27pub use host::Host;
28pub use instruction_result::*;
29pub use instructions::{instruction_table, Instruction, InstructionTable};
30pub use interpreter::{
31    num_words, InputsImpl, Interpreter, InterpreterResult, MemoryGetter, SharedMemory, Stack,
32    EMPTY_SHARED_MEMORY, STACK_LIMIT,
33};
34pub use interpreter_action::{
35    CallInputs, CallOutcome, CallScheme, CallValue, CreateInputs, CreateOutcome, EOFCreateInputs,
36    EOFCreateKind, FrameInput, InterpreterAction,
37};
38pub use interpreter_types::InterpreterTypes;
39pub use primitives::{constants::MAX_INITCODE_SIZE, eip170::MAX_CODE_SIZE};