revm_interpreter/
lib.rs

1//! # revm-interpreter
2//!
3//! REVM Interpreter.
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
13// silence lint
14#[cfg(test)]
15use serde_json as _;
16
17#[cfg(test)]
18use walkdir as _;
19
20pub mod gas;
21mod instruction_result;
22pub mod instructions;
23pub mod interpreter;
24pub mod interpreter_action;
25pub mod interpreter_types;
26pub mod table;
27
28// Reexport primary types.
29pub use context_interface::{
30    host::{Host, SStoreResult, SelfDestructResult, StateLoad},
31    CreateScheme,
32};
33pub use gas::{Gas, InitialAndFloorGas};
34pub use instruction_result::*;
35pub use interpreter::{
36    num_words, InputsImpl, Interpreter, InterpreterResult, MemoryGetter, SharedMemory, Stack,
37    EMPTY_SHARED_MEMORY, STACK_LIMIT,
38};
39pub use interpreter_action::{
40    CallInputs, CallOutcome, CallScheme, CallValue, CreateInputs, CreateOutcome, EOFCreateInputs,
41    EOFCreateKind, FrameInput, InterpreterAction,
42};
43pub use interpreter_types::InterpreterTypes;
44pub use specification::constants::{MAX_CODE_SIZE, MAX_INITCODE_SIZE};
45pub use table::Instruction;