From e4f847871b1ab87dcc28071e180feaada3f1d640 Mon Sep 17 00:00:00 2001 From: Jared Wasinger Date: Mon, 23 Mar 2026 13:01:00 -0400 Subject: [PATCH] core/types: don't include BAL in rlp encoding of full block. Set access list hash on block header when calling 'Block.WithAccessList' --- core/types/block.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/types/block.go b/core/types/block.go index 3bb3c5f89c..b8200486f5 100644 --- a/core/types/block.go +++ b/core/types/block.go @@ -224,8 +224,7 @@ type extblock struct { Header *Header Txs []*Transaction Uncles []*Header - Withdrawals []*Withdrawal `rlp:"optional"` - AccessList *bal.BlockAccessList `rlp:"optional"` + Withdrawals []*Withdrawal `rlp:"optional"` } // NewBlock creates a new block. The input data is copied, changes to header and to the @@ -353,7 +352,7 @@ func (b *Block) DecodeRLP(s *rlp.Stream) error { if err := s.Decode(&eb); err != nil { return err } - b.header, b.uncles, b.transactions, b.withdrawals, b.accessList = eb.Header, eb.Uncles, eb.Txs, eb.Withdrawals, eb.AccessList + b.header, b.uncles, b.transactions, b.withdrawals = eb.Header, eb.Uncles, eb.Txs, eb.Withdrawals b.size.Store(rlp.ListSize(size)) return nil } @@ -365,7 +364,6 @@ func (b *Block) EncodeRLP(w io.Writer) error { Txs: b.transactions, Uncles: b.uncles, Withdrawals: b.withdrawals, - AccessList: b.accessList, }) } @@ -543,8 +541,13 @@ func (b *Block) WithAccessList(accessList *bal.BlockAccessList) *Block { // embedded. Note that the access list is not deep-copied; use WithAccessList // if the provided list may be modified by other actors. func (b *Block) WithAccessListUnsafe(accessList *bal.BlockAccessList) *Block { + headerCopy := CopyHeader(b.header) + if accessList != nil { + alHash := accessList.Hash() + headerCopy.BlockAccessListHash = &alHash + } return &Block{ - header: b.header, + header: headerCopy, transactions: b.transactions, uncles: b.uncles, withdrawals: b.withdrawals,