ethereumjs-monorepo

@ethereumjs/evm


@ethereumjs/evm / BinaryTreeAccessWitness

Class: BinaryTreeAccessWitness

Defined in: binaryTreeAccessWitness.ts:93

Tracks binary-tree stem and chunk accesses for EIP-7864 witness costing.

Implements

Constructors

Constructor

new BinaryTreeAccessWitness(opts): BinaryTreeAccessWitness

Defined in: binaryTreeAccessWitness.ts:99

Parameters

opts
chunks?

Map<`0x${string}`, BinaryChunkAccessEvent>

hashFunction

(msg) => Uint8Array

stems?

Map<`0x${string}`, BinaryStemAccessEvent & BinaryStemMeta>

Returns

BinaryTreeAccessWitness

Properties

chunkCache

chunkCache: ChunkCache

Defined in: binaryTreeAccessWitness.ts:97


chunks

chunks: Map<`0x${string}`, BinaryChunkAccessEvent>

Defined in: binaryTreeAccessWitness.ts:95


hashFunction

hashFunction: (msg) => Uint8Array

Defined in: binaryTreeAccessWitness.ts:98

Parameters

msg

Uint8Array

Returns

Uint8Array


stemCache

stemCache: StemCache

Defined in: binaryTreeAccessWitness.ts:96


stems

stems: Map<`0x${string}`, BinaryStemAccessEvent & BinaryStemMeta>

Defined in: binaryTreeAccessWitness.ts:94

Methods

accesses()

accesses(): Generator<BinaryTreeAccessedStateWithAddress>

Defined in: binaryTreeAccessWitness.ts:376

Returns

Generator<BinaryTreeAccessedStateWithAddress>

Implementation of

BinaryTreeAccessWitnessInterface.accesses


commit()

commit(): void

Defined in: binaryTreeAccessWitness.ts:311

Returns

void

Implementation of

BinaryTreeAccessWitnessInterface.commit


debugWitnessCost()

debugWitnessCost(): void

Defined in: binaryTreeAccessWitness.ts:328

Returns

void

Implementation of

BinaryTreeAccessWitnessInterface.debugWitnessCost


merge()

merge(accessWitness): void

Defined in: binaryTreeAccessWitness.ts:286

Parameters

accessWitness

BinaryTreeAccessWitness

Returns

void

Implementation of

BinaryTreeAccessWitnessInterface.merge


rawAccesses()

rawAccesses(): Generator<RawBinaryTreeAccessedState>

Defined in: binaryTreeAccessWitness.ts:361

Returns

Generator<RawBinaryTreeAccessedState>

Implementation of

BinaryTreeAccessWitnessInterface.rawAccesses


readAccountBasicData()

readAccountBasicData(address): bigint

Defined in: binaryTreeAccessWitness.ts:109

Parameters

address

Address

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.readAccountBasicData


readAccountCodeChunks()

readAccountCodeChunks(contract, startPc, endPc): bigint

Defined in: binaryTreeAccessWitness.ts:143

Parameters

contract

Address

startPc

number

endPc

number

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.readAccountCodeChunks


readAccountCodeHash()

readAccountCodeHash(address): bigint

Defined in: binaryTreeAccessWitness.ts:117

Parameters

address

Address

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.readAccountCodeHash


readAccountHeader()

readAccountHeader(address): bigint

Defined in: binaryTreeAccessWitness.ts:125

Parameters

address

Address

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.readAccountHeader


readAccountStorage()

readAccountStorage(address, storageSlot): bigint

Defined in: binaryTreeAccessWitness.ts:161

Parameters

address

Address

storageSlot

bigint

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.readAccountStorage


revert()

revert(): void

Defined in: binaryTreeAccessWitness.ts:323

Returns

void

Implementation of

BinaryTreeAccessWitnessInterface.revert


touchAddress()

touchAddress(address, treeIndex, subIndex, __namedParameters?): AccessEventFlags

Defined in: binaryTreeAccessWitness.ts:230

Parameters

address

Address

treeIndex

number | bigint

subIndex

number | Uint8Array<ArrayBufferLike>

__namedParameters?
isWrite?

boolean

Returns

AccessEventFlags


touchAddressAndComputeGas()

touchAddressAndComputeGas(address, treeIndex, subIndex, __namedParameters): bigint

Defined in: binaryTreeAccessWitness.ts:191

Parameters

address

Address

treeIndex

number | bigint

subIndex

number | Uint8Array<ArrayBufferLike>

__namedParameters
isWrite?

boolean

Returns

bigint


touchAddressOnReadAndComputeGas()

touchAddressOnReadAndComputeGas(address, treeIndex, subIndex): bigint

Defined in: binaryTreeAccessWitness.ts:181

Parameters

address

Address

treeIndex

number | bigint

subIndex

number | Uint8Array<ArrayBufferLike>

Returns

bigint


touchAddressOnWriteAndComputeGas()

touchAddressOnWriteAndComputeGas(address, treeIndex, subIndex): bigint

Defined in: binaryTreeAccessWitness.ts:171

Parameters

address

Address

treeIndex

number | bigint

subIndex

number | Uint8Array<ArrayBufferLike>

Returns

bigint


writeAccountBasicData()

writeAccountBasicData(address): bigint

Defined in: binaryTreeAccessWitness.ts:113

Parameters

address

Address

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.writeAccountBasicData


writeAccountCodeChunks()

writeAccountCodeChunks(contract, startPc, endPc): bigint

Defined in: binaryTreeAccessWitness.ts:152

Parameters

contract

Address

startPc

number

endPc

number

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.writeAccountCodeChunks


writeAccountCodeHash()

writeAccountCodeHash(address): bigint

Defined in: binaryTreeAccessWitness.ts:121

Parameters

address

Address

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.writeAccountCodeHash


writeAccountHeader()

writeAccountHeader(address): bigint

Defined in: binaryTreeAccessWitness.ts:134

Parameters

address

Address

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.writeAccountHeader


writeAccountStorage()

writeAccountStorage(address, storageSlot): bigint

Defined in: binaryTreeAccessWitness.ts:166

Parameters

address

Address

storageSlot

bigint

Returns

bigint

Implementation of

BinaryTreeAccessWitnessInterface.writeAccountStorage