diff --git a/eth/api.go b/eth/api.go index b56b800c32b8..06326d65b730 100644 --- a/eth/api.go +++ b/eth/api.go @@ -367,6 +367,20 @@ func generateWitness(blockchain *core.BlockChain, block *types.Block) (*stateles // sure that this is always present in the execution witness. statedb.GetState(rcfg.L1GasPriceOracleAddress, rcfg.IsFeynmanSlot) + // Ensure that all access list entries are included in the witness, + // as these are always loaded by revm. + for _, tx := range block.Transactions() { + for _, accessTuple := range tx.AccessList() { + // Load account + statedb.GetBalance(accessTuple.Address) + + // Load storage entries + for _, key := range accessTuple.StorageKeys { + statedb.GetState(accessTuple.Address, key) + } + } + } + receipts, _, usedGas, err := blockchain.Processor().Process(block, statedb, *blockchain.GetVMConfig()) if err != nil { return nil, fmt.Errorf("failed to process block %d: %w", block.Number(), err) diff --git a/params/version.go b/params/version.go index dec5781425bc..2034aada3f11 100644 --- a/params/version.go +++ b/params/version.go @@ -24,7 +24,7 @@ import ( const ( VersionMajor = 5 // Major version component of the current release VersionMinor = 9 // Minor version component of the current release - VersionPatch = 14 // Patch version component of the current release + VersionPatch = 15 // Patch version component of the current release VersionMeta = "mainnet" // Version metadata to append to the version string )