Evm
Extends
EVM
Constructors
new Evm()
protected
new Evm(opts
,bn128
):Evm
Creates new EVM object
Parameters
• opts: EVMOpts
The EVM options
• bn128: bn128
Initialized bn128 WASM object for precompile usage (internal)
Returns
Inherited from
EthereumEVM.constructor
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:78
Properties
_block?
protected
optional
_block:Block
Inherited from
EthereumEVM._block
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:27
_bls?
protected
readonly
optional
_bls:EVMBLSInterface
Inherited from
EthereumEVM._bls
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:47
_customOpcodes?
protected
readonly
optional
_customOpcodes:CustomOpcode
[]
Inherited from
EthereumEVM._customOpcodes
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:37
_customPrecompiles
protected
_customPrecompiles:CustomPrecompile
[]
Overrides
EthereumEVM._customPrecompiles
Defined in
packages/evm/src/EvmType.ts:14
_dynamicGasHandlers
protected
_dynamicGasHandlers:Map
<number
,AsyncDynamicGasHandler
|SyncDynamicGasHandler
>
Inherited from
EthereumEVM._dynamicGasHandlers
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:40
_emit()
protected
readonly
_emit: (topic
,data
) =>Promise
<void
>
Parameters
• topic: string
• data: any
Returns
Promise
<void
>
Inherited from
EthereumEVM._emit
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:57
_handlers
protected
_handlers:Map
<number
,OpHandler
>
Inherited from
EthereumEVM._handlers
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:39
_opcodeMap
protected
_opcodeMap:OpcodeMap
Inherited from
EthereumEVM._opcodeMap
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:41
_opcodes
protected
_opcodes:OpcodeList
Inherited from
EthereumEVM._opcodes
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:34
_optsCached
protected
readonly
_optsCached:EVMOpts
Inherited from
EthereumEVM._optsCached
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:43
_precompiles
protected
_precompiles:Map
<string
,PrecompileFunc
>
Inherited from
EthereumEVM._precompiles
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:42
_tx?
protected
optional
_tx:object
gasPrice
gasPrice:
bigint
origin
origin:
EthjsAddress
Inherited from
EthereumEVM._tx
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:23
allowUnlimitedContractSize
readonly
allowUnlimitedContractSize:boolean
Inherited from
EthereumEVM.allowUnlimitedContractSize
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:35
allowUnlimitedInitCodeSize
readonly
allowUnlimitedInitCodeSize:boolean
Inherited from
EthereumEVM.allowUnlimitedInitCodeSize
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:36
blockchain
blockchain:
Blockchain
Inherited from
EthereumEVM.blockchain
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:31
common
readonly
common:Common
Inherited from
EthereumEVM.common
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:28
events
readonly
events:AsyncEventEmitter
<EVMEvents
>
Inherited from
EthereumEVM.events
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:29
journal
journal:
Journal
Inherited from
EthereumEVM.journal
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:32
performanceLogger
protected
performanceLogger:EVMPerformanceLogger
Inherited from
EthereumEVM.performanceLogger
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:44
stateManager
stateManager:
StateManager
Overrides
EthereumEVM.stateManager
Defined in
packages/evm/src/EvmType.ts:13
transientStorage
readonly
transientStorage:TransientStorage
Inherited from
EthereumEVM.transientStorage
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:33
supportedHardforks
protected
static
supportedHardforks:Hardfork
[]
Inherited from
EthereumEVM.supportedHardforks
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:22
Accessors
opcodes
get
opcodes():OpcodeList
Returns
OpcodeList
Inherited from
EthereumEVM.opcodes
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:46
precompiles
get
precompiles():Map
<string
,PrecompileFunc
>
Returns
Map
<string
, PrecompileFunc
>
Inherited from
EthereumEVM.precompiles
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:45
Methods
_addToBalance()
protected
_addToBalance(toAccount
,message
):Promise
<void
>
Parameters
• toAccount: EthjsAccount
• message: MessageWithTo
Returns
Promise
<void
>
Inherited from
EthereumEVM._addToBalance
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:113
_executeCall()
protected
_executeCall(message
):Promise
<EvmResult
>
Parameters
• message: MessageWithTo
Returns
Promise
<EvmResult
>
Inherited from
EthereumEVM._executeCall
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:84
_executeCreate()
protected
_executeCreate(message
):Promise
<EvmResult
>
Parameters
• message: EthjsMessage
Returns
Promise
<EvmResult
>
Inherited from
EthereumEVM._executeCreate
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:85
_generateAddress()
protected
_generateAddress(message
):Promise
<EthjsAddress
>
Parameters
• message: EthjsMessage
Returns
Promise
<EthjsAddress
>
Inherited from
EthereumEVM._generateAddress
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:111
_loadCode()
protected
_loadCode(message
):Promise
<void
>
Parameters
• message: EthjsMessage
Returns
Promise
<void
>
Inherited from
EthereumEVM._loadCode
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:110
_reduceSenderBalance()
protected
_reduceSenderBalance(account
,message
):Promise
<void
>
Parameters
• account: EthjsAccount
• message: EthjsMessage
Returns
Promise
<void
>
Inherited from
EthereumEVM._reduceSenderBalance
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:112
addCustomPrecompile()
addCustomPrecompile(
precompile
):void
Parameters
• precompile: CustomPrecompile
Returns
void
Defined in
packages/evm/src/EvmType.ts:16
clearPerformanceLogs()
clearPerformanceLogs():
void
Returns
void
Inherited from
EthereumEVM.clearPerformanceLogs
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:132
getActiveOpcodes()
getActiveOpcodes():
OpcodeList
Returns a list with the currently activated opcodes available for EVM execution
Returns
OpcodeList
Inherited from
EthereumEVM.getActiveOpcodes
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:83
getPerformanceLogs()
getPerformanceLogs():
object
Returns
object
opcodes
opcodes:
EVMPerformanceLogOutput
[]
precompiles
precompiles:
EVMPerformanceLogOutput
[]
Inherited from
EthereumEVM.getPerformanceLogs
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:128
getPrecompile()
getPrecompile(
address
):undefined
|PrecompileFunc
Returns code for precompile at the given address, or undefined if no such precompile exists.
Parameters
• address: EthjsAddress
Returns
undefined
| PrecompileFunc
Inherited from
EthereumEVM.getPrecompile
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:105
removeCustomPrecompile()
removeCustomPrecompile(
precompile
):void
Parameters
• precompile: CustomPrecompile
Returns
void
Defined in
packages/evm/src/EvmType.ts:17
runCall()
runCall(
opts
):Promise
<EvmResult
>
Executes an EVM message, determining whether it’s a call or create
based on the to
address. It checkpoints the state and reverts changes
if an exception happens during the message execution.
Parameters
• opts: EvmRunCallOpts
Returns
Promise
<EvmResult
>
Inherited from
EthereumEVM.runCall
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:95
runCode()
runCode(
opts
):Promise
<ExecResult
>
Bound to the global VM and therefore shouldn’t be used directly from the evm class
Parameters
• opts: EVMRunCodeOpts
Returns
Promise
<ExecResult
>
Inherited from
EthereumEVM.runCode
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:100
runInterpreter()
protected
runInterpreter(message
,opts
?):Promise
<ExecResult
>
Starts the actual bytecode processing for a CALL or CREATE
Parameters
• message: EthjsMessage
• opts?: InterpreterOpts
Returns
Promise
<ExecResult
>
Inherited from
EthereumEVM.runInterpreter
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:89
runPrecompile()
protected
runPrecompile(code
,data
,gasLimit
):ExecResult
|Promise
<ExecResult
>
Executes a precompiled contract with given data and gas limit.
Parameters
• code: PrecompileFunc
• data: Uint8Array
• gasLimit: bigint
Returns
ExecResult
| Promise
<ExecResult
>
Inherited from
EthereumEVM.runPrecompile
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:109
shallowCopy()
shallowCopy():
EVM
This method copies the EVM, current HF and EIP settings and returns a new EVM instance.
Note: this is only a shallow copy and both EVM instances will point to the same underlying state DB.
Returns
EVM
EVM
Inherited from
EthereumEVM.shallowCopy
Defined in
node_modules/.pnpm/@ethereumjs+evm@3.1.0/node_modules/@ethereumjs/evm/dist/esm/evm.d.ts:127
create()
static
create(options
?):Promise
<Evm
>
Use this async static constructor for the initialization of an EVM object
Parameters
• options?: EVMOpts
Returns
Promise
<Evm
>
A new EVM
Overrides
EthereumEVM.create