evm v0.1.1 API Reference

Modules

Documentation for EVM

Implements the built-in functions as defined in Appendix E of the Yellow Paper. These are contract functions that natively exist in Ethereum

Stores information about the execution environment which led to this EVM being called. This is, for instance, the sender of a payment or message to a contract, or a sub-contract call

Set of functions defined in the Yellow Paper that do not logically fit in other modules

Functions for interacting wth gas and costs of opscodes

Various helper functions with no other home

Code to handle encoding and decoding instructions from opcodes

Reference implementation for all opcodes in the Ethereum VM

When calling instructions, we may adjust the number of active words in the machine state. These functions provide a simple way to determine the number of words after an instruction would be called. This wraps anywhere you might see μ'_i in the Yellow Paper

A simple struct to store metadata about all VM instructions

Functions for helping read a contract’s machine code

Module for tracking the current machine state, which is roughly equivilant to the VM state for an executing contract

Functions to help us handle memory operations in the MachineState of the VM

Operations to read / write to the EVM’s stack

Functions for handling the sub-state that exists only between operations in an execution for a contract

The core of the EVM which runs operations based on the opcodes of a contract during a transfer or message call

Functions for handling wei and conversions

Simple functions to help with common math functions