ethereumjs-monorepo

@ethereumjs/evm


@ethereumjs/evm / EVMInterface

Interface: EVMInterface

Defined in: types.ts:160

Properties

binaryTreeAccessWitness?

optional binaryTreeAccessWitness: BinaryTreeAccessWitness

Defined in: types.ts:183


blockLevelAccessList?

optional blockLevelAccessList: BlockLevelAccessList

Defined in: types.ts:190

Accumulated block access list when EIP-7928 is active.

Remarks

Experimental (Amsterdam): may change on patch releases.


common

common: Common

Defined in: types.ts:161


eip7928CallPostTargetOog?

optional eip7928CallPostTargetOog: boolean

Defined in: types.ts:209

EIP-7928: set during CALL post-target OOG so runTx can drain the state-gas reservoir on exceptional halt. Optional for custom EVMInterface implementations.

Remarks

Experimental (Amsterdam): may change on patch releases.


events?

optional events: EventEmitter<EVMEvent, any>

Defined in: types.ts:182


executionStateGasUsed

executionStateGasUsed: bigint

Defined in: types.ts:202

EIP-8037 per-tx cumulative state-gas used.

Remarks

Experimental (Amsterdam): may change on patch releases.


journal

journal: object

Defined in: types.ts:162

accessList?

optional accessList: Map<string, Set<string>>

preimages?

optional preimages: Map<`0x${string}`, Uint8Array<ArrayBufferLike>>

addAlwaysWarmAddress()

addAlwaysWarmAddress(address, addToAccessList?): void

Parameters
address

string

addToAccessList?

boolean

Returns

void

addAlwaysWarmSlot()

addAlwaysWarmSlot(address, slot, addToAccessList?): void

Parameters
address

string

slot

string

addToAccessList?

boolean

Returns

void

checkpoint()

checkpoint(): Promise<void>

Returns

Promise<void>

cleanJournal()

cleanJournal(): void

Returns

void

cleanup()

cleanup(): Promise<void>

Returns

Promise<void>

commit()

commit(): Promise<void>

Returns

Promise<void>

deleteAccount()

deleteAccount(address): Promise<void>

Parameters
address

Address

Returns

Promise<void>

putAccount()

putAccount(address, account): Promise<void>

Parameters
address

Address

account

Account

Returns

Promise<void>

revert()

revert(): Promise<void>

Returns

Promise<void>

startReportingAccessList()

startReportingAccessList(): void

Returns

void

startReportingPreimages()?

optional startReportingPreimages(): void

Returns

void


precompiles

precompiles: Map<string, PrecompileFunc>

Defined in: types.ts:178


stateGasReservoir

stateGasReservoir: bigint

Defined in: types.ts:196

EIP-8037 per-tx state-gas reservoir (set by runTx, read/written by opcodes).

Remarks

Experimental (Amsterdam): may change on patch releases.


stateManager

stateManager: StateManagerInterface

Defined in: types.ts:177


systemBinaryTreeAccessWitness?

optional systemBinaryTreeAccessWitness: BinaryTreeAccessWitness

Defined in: types.ts:184

Methods

getPrecompile()?

optional getPrecompile(address): PrecompileFunc | undefined

Defined in: types.ts:179

Parameters

address
`0x${string}` Address

Returns

PrecompileFunc | undefined


runCall()

runCall(opts): Promise<EVMResult>

Defined in: types.ts:180

Parameters

opts

EVMRunCallOpts

Returns

Promise<EVMResult>


runCode()

runCode(opts): Promise<ExecResult>

Defined in: types.ts:181

Parameters

opts

EVMRunCodeOpts

Returns

Promise<ExecResult>