geth

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 30, 2022 License: LGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetPrecompiles

func GetPrecompiles(cfg *params.ChainConfig, blockNumber *big.Int) evm.PrecompiledContracts

GetPrecompiles returns all the precompiled contracts defined given the current chain configuration and block height.

func NewEVM

func NewEVM(
	blockCtx vm.BlockContext,
	txCtx vm.TxContext,
	stateDB vm.StateDB,
	chainConfig *params.ChainConfig,
	config vm.Config,
	_ evm.PrecompiledContracts,
) evm.EVM

NewEVM defines the constructor function for the go-ethereum (geth) EVM. It uses the default precompiled contracts and the EVM concrete implementation from geth.

Types

type EVM

type EVM struct {
	*vm.EVM
}

EVM is the wrapper for the go-ethereum EVM.

func (EVM) ActivePrecompiles

func (EVM) ActivePrecompiles(rules params.Rules) []common.Address

ActivePrecompiles returns a list of all the active precompiled contract addresses for the current chain configuration.

func (EVM) Config

func (e EVM) Config() vm.Config

Config returns the configuration options for the EVM.

func (EVM) Context

func (e EVM) Context() vm.BlockContext

Context returns the EVM's Block Context

func (EVM) Precompile

func (e EVM) Precompile(addr common.Address) (p vm.PrecompiledContract, found bool)

Precompile returns the precompiled contract associated with the given address and the current chain configuration. If the contract cannot be found it returns nil.

func (EVM) RunPrecompiledContract

func (EVM) RunPrecompiledContract(
	p evm.StatefulPrecompiledContract,
	_ common.Address,
	input []byte,
	suppliedGas uint64,
	_ *big.Int,
) (ret []byte, remainingGas uint64, err error)

RunPrecompiledContract runs a stateless precompiled contract and ignores the address and value arguments. It uses the RunPrecompiledContract function from the geth vm package.

func (EVM) TxContext

func (e EVM) TxContext() vm.TxContext

TxContext returns the EVM's Tx Context

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL