#![cfg_attr(not(test), warn(unused_crate_dependencies))]
#![cfg_attr(not(feature = "std"), no_std)]
#[cfg(not(feature = "std"))]
extern crate alloc as std;
#[macro_use]
mod macros;
pub mod gas;
pub mod instruction_context;
mod instruction_result;
pub mod instructions;
pub mod interpreter;
pub mod interpreter_action;
pub mod interpreter_types;
pub use bytecode;
pub use context_interface;
pub use primitives;
pub use state;
pub use context_interface::{
cfg::gas::InitialAndFloorGas,
context::{SStoreResult, SelfDestructResult, StateLoad},
host, CreateScheme, Host,
};
pub use gas::Gas;
pub use instruction_context::InstructionContext;
pub use instruction_result::*;
pub use instructions::{instruction_table, Instruction, InstructionTable};
pub use interpreter::{
num_words, InputsImpl, Interpreter, InterpreterResult, SharedMemory, Stack, STACK_LIMIT,
};
pub use interpreter_action::{
CallInput, CallInputs, CallOutcome, CallScheme, CallValue, CreateInputs, CreateOutcome,
FrameInput, InterpreterAction,
};
pub use interpreter_types::InterpreterTypes;