tuweni / org.apache.tuweni.evm / EthereumVirtualMachine

EthereumVirtualMachine

class EthereumVirtualMachine (source)

An Ethereum Virtual Machine.

Parameters

repository - the blockchain repository

evmVmFactory - factory to create the EVM

options - the options to set on the EVM, specific to the library

Constructors

<init>

An Ethereum Virtual Machine.

EthereumVirtualMachine(repository: BlockchainRepository, evmVmFactory: () -> EvmVm, options: Map<String, String> = mapOf())

Functions

capabilities

Provides the capabilities exposed by the underlying EVM library

fun capabilities(): Int

execute

Execute an operation in the EVM.

suspend fun execute(sender: Address, destination: Address, value: Bytes, code: Bytes, inputData: Bytes, gas: Gas, gasPrice: Wei, currentCoinbase: Address, currentNumber: Long, currentTimestamp: Long, currentGasLimit: Long, currentDifficulty: UInt256, callKind: CallKind = CallKind.CALL, revision: HardFork = latestHardFork, depth: Int = 0): EVMResult

start

Start the EVM

suspend fun start(): Unit

stop

Stop the EVM

suspend fun stop(): Unit

version

Provides the version of the EVM

fun version(): String