@ethereumjs/util / BlockLevelAccessList
Defined in: packages/util/src/bal/index.ts:117
In-memory EIP-7928 block access list with canonical RLP/JSON encoding, checkpointing, and mutation helpers used by the VM during execution.
Experimental (Amsterdam): public API and behaviour may change on patch releases.
See @ethereumjs/vm README section Amsterdam hardfork (experimental) for release ↔ spec tracking.
new BlockLevelAccessList(
accesses):BlockLevelAccessList
Defined in: packages/util/src/bal/index.ts:128
Accesses = {}
BlockLevelAccessList
accesses:
Accesses
Defined in: packages/util/src/bal/index.ts:119
Account-level access entries keyed by address.
blockAccessIndex:
number
Defined in: packages/util/src/bal/index.ts:121
Current block access index (transaction or system phase) for new change records.
addAddress(
address):void
Defined in: packages/util/src/bal/index.ts:287
`0x${string}`
void
addBalanceChange(
address,balance,blockAccessIndex,originalBalance?):void
Defined in: packages/util/src/bal/index.ts:378
`0x${string}`
bigint
number
bigint
void
addCodeChange(
address,code,blockAccessIndex,originalCode?):void
Defined in: packages/util/src/bal/index.ts:435
`0x${string}`
BALByteCodeBytes
number
BALByteCodeBytes
void
addNonceChange(
address,nonce,blockAccessIndex):void
Defined in: packages/util/src/bal/index.ts:424
`0x${string}`
bigint
number
void
addStorageRead(
address,storageKey):void
Defined in: packages/util/src/bal/index.ts:366
`0x${string}`
BALStorageKeyBytes
void
addStorageWrite(
address,storageKey,value,blockAccessIndex,originalValue?):void
Defined in: packages/util/src/bal/index.ts:300
`0x${string}`
BALStorageKeyBytes
BALStorageValueBytes
number
BALStorageValueBytes
void
checkpoint():
void
Defined in: packages/util/src/bal/index.ts:151
void
cleanupNetZeroBalanceChanges():
void
Defined in: packages/util/src/bal/index.ts:402
EIP-7928: Remove balance changes for addresses where final balance equals first balance. Call this at the end of each transaction to clean up net-zero balance changes.
void
cleanupSelfdestructed(
addresses):void
Defined in: packages/util/src/bal/index.ts:551
For selfdestructed accounts, drop state changes while preserving read footprints.
Any storageChanges are converted to storageReads. Per EIP-7928, a positive
pre-transaction balance reduced to zero via SELFDESTRUCT keeps the balance change.
`0x${string}`[]
void
Experimental (Amsterdam): may change on patch releases.
commit():
void
Defined in: packages/util/src/bal/index.ts:158
void
hash():
Uint8Array
Defined in: packages/util/src/bal/index.ts:147
Header commitment keccak256(serialize()) used as blockAccessListHash.
Uint8Array
Experimental (Amsterdam): may change on patch releases.
raw():
BALRawBlockAccessList
Defined in: packages/util/src/bal/index.ts:234
Canonical sorted tuple view used for RLP and validation.
BALRawBlockAccessList
Experimental (Amsterdam): may change on patch releases.
revert():
void
Defined in: packages/util/src/bal/index.ts:164
void
serialize():
Uint8Array
Defined in: packages/util/src/bal/index.ts:138
Canonical RLP encoding of the access list (RLP.encode(raw())).
Uint8Array
Experimental (Amsterdam): may change on patch releases.
toJSON():
BALJSONBlockAccessList
Defined in: packages/util/src/bal/index.ts:485
Converts the internal representation to JSON fixture / Engine API form. Inverse of createBlockLevelAccessListFromJSON.
Experimental (Amsterdam): may change on patch releases.