Ethereum Virtual Machine (EVM)
Table of Contents
Introduction
The abstract computer which runs the code stored in an .fork_types.Account.
Subpackages
- EVM Instruction Encoding (Opcodes)
- Ethereum Virtual Machine (EVM) Arithmetic Instructions
- Ethereum Virtual Machine (EVM) Bitwise Instructions
- Ethereum Virtual Machine (EVM) Block Instructions
- Ethereum Virtual Machine (EVM) Comparison Instructions
- Ethereum Virtual Machine (EVM) Control Flow Instructions
- Ethereum Virtual Machine (EVM) Environmental Instructions
- Ethereum Virtual Machine (EVM) Keccak Instructions
- Ethereum Virtual Machine (EVM) Logging Instructions
- Ethereum Virtual Machine (EVM) Memory Instructions
- Ethereum Virtual Machine (EVM) Stack Instructions
- Ethereum Virtual Machine (EVM) Storage Instructions
- Ethereum Virtual Machine (EVM) System Instructions
- Precompiled Contract Addresses
Submodules
Package Contents
Classes
Items external to the virtual machine itself, provided by the environment. |
|
Items that are used by contract creation or message call. |
|
The internal state of the virtual machine. |
Package Details
Environment
Items external to the virtual machine itself, provided by the environment.
- class Environment
- caller :ethereum.spurious_dragon.fork_types.Address
- block_hashes :List[ethereum.crypto.hash.Hash32]
- origin :ethereum.spurious_dragon.fork_types.Address
- coinbase :ethereum.spurious_dragon.fork_types.Address
- number :ethereum.base_types.Uint
- gas_limit :ethereum.base_types.Uint
- gas_price :ethereum.base_types.Uint
- time :ethereum.base_types.U256
- difficulty :ethereum.base_types.Uint
- state :ethereum.spurious_dragon.state.State
- traces :List[dict]
Message
Items that are used by contract creation or message call.
- class Message
- caller :ethereum.spurious_dragon.fork_types.Address
- target :Union[ethereum.base_types.Bytes0, ethereum.spurious_dragon.fork_types.Address]
- current_target :ethereum.spurious_dragon.fork_types.Address
- gas :ethereum.base_types.Uint
- value :ethereum.base_types.U256
- data :ethereum.base_types.Bytes
- code_address :Optional[ethereum.spurious_dragon.fork_types.Address]
- code :ethereum.base_types.Bytes
- depth :ethereum.base_types.Uint
- should_transfer_value :bool
- parent_evm :Optional[Evm]
Evm
The internal state of the virtual machine.
- class Evm
- pc :ethereum.base_types.Uint
- stack :List[ethereum.base_types.U256]
- memory :bytearray
- code :ethereum.base_types.Bytes
- gas_left :ethereum.base_types.Uint
- env :Environment
- valid_jump_destinations :Set[ethereum.base_types.Uint]
- logs :Tuple[ethereum.spurious_dragon.fork_types.Log, Ellipsis]
- refund_counter :ethereum.base_types.U256
- running :bool
- message :Message
- output :ethereum.base_types.Bytes
- accounts_to_delete :Set[ethereum.spurious_dragon.fork_types.Address]
- touched_accounts :Set[ethereum.spurious_dragon.fork_types.Address]
- error :Optional[Exception]