Expand description
The environment module provides abstractions and functionality for
handling the Ethereum execution environment. This includes managing its
state, interfacing with the EVM, and broadcasting events to subscribers.
Other features include the ability to control block rate and gas settings
and execute other database modifications from external agents.
The key integration for the environment is the Rust EVM revm.
This is an implementation of the EVM in Rust that we utilize for processing
raw smart contract bytecode.
Core structures:
Environment: Represents the Ethereum execution environment, allowing for its management (e.g., starting, stopping) and interfacing with agents.EnvironmentParameters: Parameters necessary for creating or modifying anEnvironment.- [
Instruction]: Enum indicating the type of instruction that is being sent to the EVM.
Modules§
- instruction
- This module contains the
InstructionandOutcomeenums that are used to communicate instructions and their outcomes between themiddleware::ArbiterMiddlewareand theEnvironment.
Structs§
- Environment
- Represents a sandboxed EVM environment.
- Environment
Builder - A builder for creating an
Environment. - Environment
Parameters - Parameters to create
Environments with different settings.
Enums§
- Broadcast
- Enum representing the types of broadcasts that can be sent.