diff --git a/core/types/bal/bal.go b/core/types/bal/bal.go index 8c92d9d924..fca54f7681 100644 --- a/core/types/bal/bal.go +++ b/core/types/bal/bal.go @@ -76,7 +76,7 @@ type ConstructionBlockAccessList struct { Accounts map[common.Address]*ConstructionAccountAccess } -// NewBlockAccessList instantiates an empty access list. +// NewConstructionBlockAccessList instantiates an empty access list. func NewConstructionBlockAccessList() ConstructionBlockAccessList { return ConstructionBlockAccessList{ Accounts: make(map[common.Address]*ConstructionAccountAccess), diff --git a/core/types/bal/bal_encoding.go b/core/types/bal/bal_encoding.go index 31fcd81901..d7d08801b1 100644 --- a/core/types/bal/bal_encoding.go +++ b/core/types/bal/bal_encoding.go @@ -19,16 +19,16 @@ package bal import ( "bytes" "cmp" + "errors" "fmt" "io" "maps" "slices" "strings" + "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/params" - - "github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/rlp" "github.com/holiman/uint256" ) @@ -47,19 +47,15 @@ type BlockAccessList struct { // according to the spec or any code changes are contained which exceed protocol // max code size. func (e *BlockAccessList) Validate() error { - var ( - prev *[20]byte - ) + if !slices.IsSortedFunc(e.Accesses, func(a, b AccountAccess) int { + return bytes.Compare(a.Address[:], b.Address[:]) + }) { + return errors.New("block access list accounts not in lexicographic order") + } for _, entry := range e.Accesses { - if prev != nil { - if bytes.Compare(entry.Address[:], (*prev)[:]) <= 0 { - return fmt.Errorf("block access list accounts not in lexicographic order") - } - } if err := entry.validate(); err != nil { return err } - prev = &entry.Address } return nil } @@ -115,16 +111,12 @@ type encodingSlotWrites struct { // validate returns an instance of the encoding-representation slot writes in // working representation. func (e *encodingSlotWrites) validate() error { - var prev *uint16 - for _, write := range e.Accesses { - if prev != nil { - if *prev >= write.TxIdx { - return fmt.Errorf("storage write tx indices not in order") - } - } - prev = &write.TxIdx + if slices.IsSortedFunc(e.Accesses, func(a, b encodingStorageWrite) int { + return cmp.Compare[uint16](a.TxIdx, b.TxIdx) + }) { + return nil } - return nil + return errors.New("storage write tx indices not in order") } // AccountAccess is the encoding format of ConstructionAccountAccess. @@ -141,52 +133,37 @@ type AccountAccess struct { // If any of the keys in the encoding object are not ordered according to the // spec, an error is returned. func (e *AccountAccess) validate() error { - // Convert slot writes - var prevSlotWrite *[32]byte + // Check the storage write slots are sorted in order + if !slices.IsSortedFunc(e.StorageWrites, func(a, b encodingSlotWrites) int { + return bytes.Compare(a.Slot[:], b.Slot[:]) + }) { + return errors.New("storage writes slots not in lexicographic order") + } for _, write := range e.StorageWrites { - if prevSlotWrite != nil { - if bytes.Compare((*prevSlotWrite)[:], write.Slot[:]) >= 0 { - return fmt.Errorf("storage writes slots not in lexicographic order") - } - } - prevSlotWrite = &write.Slot - if err := write.validate(); err != nil { return err } } - // Convert slot reads - var prevSlotRead *[32]byte - for _, read := range e.StorageReads { - if prevSlotRead != nil { - if bytes.Compare((*prevSlotRead)[:], read[:]) >= 0 { - return fmt.Errorf("storage read slots not in lexicographic order") - } - } - prevSlotRead = &read + // Check the storage read slots are sorted in order + if !slices.IsSortedFunc(e.StorageReads, func(a, b [32]byte) int { + return bytes.Compare(a[:], b[:]) + }) { + return errors.New("storage read slots not in lexicographic order") } - // Convert balance changes - var prevBalanceIndex *uint16 - for _, balanceChange := range e.BalanceChanges { - if prevBalanceIndex != nil { - if *prevBalanceIndex >= balanceChange.TxIdx { - return fmt.Errorf("balance changes not in ascending order by tx index") - } - } - prevBalanceIndex = &balanceChange.TxIdx + // Check the balance changes are sorted in order + if !slices.IsSortedFunc(e.BalanceChanges, func(a, b encodingBalanceChange) int { + return cmp.Compare[uint16](a.TxIdx, b.TxIdx) + }) { + return errors.New("balance changes not in ascending order by tx index") } - // Convert nonce changes - var prevNonceIndex *uint16 - for _, nonceChange := range e.NonceChanges { - if prevNonceIndex != nil { - if *prevNonceIndex >= nonceChange.TxIdx { - return fmt.Errorf("nonce diffs not in ascending order by tx index") - } - } - prevNonceIndex = &nonceChange.TxIdx + // Check the nonce changes are sorted in order + if !slices.IsSortedFunc(e.NonceChanges, func(a, b encodingAccountNonce) int { + return cmp.Compare[uint16](a.TxIdx, b.TxIdx) + }) { + return errors.New("nonce changes not in ascending order by tx index") } // Convert code change @@ -201,36 +178,15 @@ func (e *AccountAccess) validate() error { // Copy returns a deep copy of the account access func (e *AccountAccess) Copy() AccountAccess { res := AccountAccess{ - Address: e.Address, + Address: e.Address, + StorageReads: slices.Clone(e.StorageReads), + BalanceChanges: slices.Clone(e.BalanceChanges), + NonceChanges: slices.Clone(e.NonceChanges), } - for _, storageWrite := range e.StorageWrites { - cpy := encodingSlotWrites{ + res.StorageWrites = append(res.StorageWrites, encodingSlotWrites{ Slot: storageWrite.Slot, Accesses: slices.Clone(storageWrite.Accesses), - } - for _, slotWrite := range storageWrite.Accesses { - cpy.Accesses = append(cpy.Accesses, encodingStorageWrite{ - TxIdx: slotWrite.TxIdx, - ValueAfter: slotWrite.ValueAfter, - }) - } - res.StorageWrites = append(res.StorageWrites, cpy) - } - - res.StorageReads = slices.Clone(e.StorageReads) - - for _, balanceChange := range e.BalanceChanges { - res.BalanceChanges = append(res.BalanceChanges, encodingBalanceChange{ - TxIdx: balanceChange.TxIdx, - Balance: balanceChange.Balance, - }) - } - - for _, nonceChange := range e.NonceChanges { - res.NonceChanges = append(res.NonceChanges, encodingAccountNonce{ - TxIdx: nonceChange.TxIdx, - Nonce: nonceChange.Nonce, }) } if len(e.Code) == 1 { diff --git a/core/types/bal/bal_test.go b/core/types/bal/bal_test.go index 5db3009b31..29414e414e 100644 --- a/core/types/bal/bal_test.go +++ b/core/types/bal/bal_test.go @@ -18,10 +18,13 @@ package bal import ( "bytes" + "cmp" "reflect" + "slices" "testing" "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/internal/testrand" "github.com/ethereum/go-ethereum/rlp" "github.com/holiman/uint256" ) @@ -33,7 +36,7 @@ func equalBALs(a *BlockAccessList, b *BlockAccessList) bool { return true } -func makeTestBAL() *ConstructionBlockAccessList { +func makeTestConstructionBAL() *ConstructionBlockAccessList { return &ConstructionBlockAccessList{ map[common.Address]*ConstructionAccountAccess{ common.BytesToAddress([]byte{0xff, 0xff}): { @@ -90,7 +93,7 @@ func makeTestBAL() *ConstructionBlockAccessList { // TestBALEncoding tests that a populated access list can be encoded/decoded correctly. func TestBALEncoding(t *testing.T) { var buf bytes.Buffer - bal := makeTestBAL() + bal := makeTestConstructionBAL() err := bal.EncodeRLP(&buf) if err != nil { t.Fatalf("encoding failed: %v\n", err) @@ -107,22 +110,143 @@ func TestBALEncoding(t *testing.T) { } } -// TestBALEncoding tests that a populated access list can be encoded/decoded correctly. -func TestBALFullRLPEncoding(t *testing.T) { - var buf bytes.Buffer - bal := makeTestBAL() - err := bal.EncodeRLP(&buf) - if err != nil { - t.Fatalf("encoding failed: %v\n", err) +func makeTestAccountAccess(sort bool) AccountAccess { + var ( + storageWrites []encodingSlotWrites + storageReads [][32]byte + balances []encodingBalanceChange + nonces []encodingAccountNonce + ) + for i := 0; i < 5; i++ { + slot := encodingSlotWrites{ + Slot: testrand.Hash(), + } + for j := 0; j < 3; j++ { + slot.Accesses = append(slot.Accesses, encodingStorageWrite{ + TxIdx: uint16(2 * j), + ValueAfter: testrand.Hash(), + }) + } + if sort { + slices.SortFunc(slot.Accesses, func(a, b encodingStorageWrite) int { + return cmp.Compare[uint16](a.TxIdx, b.TxIdx) + }) + } + storageWrites = append(storageWrites, slot) } - var dec BlockAccessList - if err := dec.DecodeRLP(rlp.NewStream(bytes.NewReader(buf.Bytes()), 10000000)); err != nil { - t.Fatalf("decoding failed: %v\n", err) + if sort { + slices.SortFunc(storageWrites, func(a, b encodingSlotWrites) int { + return bytes.Compare(a.Slot[:], b.Slot[:]) + }) } - if dec.Hash() != bal.toEncodingObj().Hash() { - t.Fatalf("encoded block hash doesn't match decoded") + + for i := 0; i < 5; i++ { + storageReads = append(storageReads, testrand.Hash()) } - if !equalBALs(bal.toEncodingObj(), &dec) { - t.Fatal("decoded BAL doesn't match") + if sort { + slices.SortFunc(storageReads, func(a, b [32]byte) int { + return bytes.Compare(a[:], b[:]) + }) + } + + for i := 0; i < 5; i++ { + balances = append(balances, encodingBalanceChange{ + TxIdx: uint16(2 * i), + Balance: [16]byte(testrand.Bytes(16)), + }) + } + if sort { + slices.SortFunc(balances, func(a, b encodingBalanceChange) int { + return cmp.Compare[uint16](a.TxIdx, b.TxIdx) + }) + } + + for i := 0; i < 5; i++ { + nonces = append(nonces, encodingAccountNonce{ + TxIdx: uint16(2 * i), + Nonce: uint64(i + 100), + }) + } + if sort { + slices.SortFunc(nonces, func(a, b encodingAccountNonce) int { + return cmp.Compare[uint16](a.TxIdx, b.TxIdx) + }) + } + + return AccountAccess{ + Address: [20]byte(testrand.Bytes(20)), + StorageWrites: storageWrites, + StorageReads: storageReads, + BalanceChanges: balances, + NonceChanges: nonces, + Code: []CodeChange{ + { + TxIndex: 100, + Code: testrand.Bytes(256), + }, + }, + } +} + +func makeTestBAL(sort bool) BlockAccessList { + list := BlockAccessList{} + for i := 0; i < 5; i++ { + list.Accesses = append(list.Accesses, makeTestAccountAccess(sort)) + } + if sort { + slices.SortFunc(list.Accesses, func(a, b AccountAccess) int { + return bytes.Compare(a.Address[:], b.Address[:]) + }) + } + return list +} + +func TestBlockAccessListCopy(t *testing.T) { + list := makeTestBAL(true) + cpy := list.Copy() + cpyCpy := cpy.Copy() + + if !reflect.DeepEqual(list, cpy) { + t.Fatal("block access mismatch") + } + if !reflect.DeepEqual(cpy, cpyCpy) { + t.Fatal("block access mismatch") + } + + // Make sure the mutations on copy won't affect the origin + for _, aa := range cpyCpy.Accesses { + for i := 0; i < len(aa.StorageReads); i++ { + aa.StorageReads[i] = [32]byte(testrand.Bytes(32)) + } + } + if !reflect.DeepEqual(list, cpy) { + t.Fatal("block access mismatch") + } +} + +func TestBlockAccessListValidation(t *testing.T) { + // Validate the block access list after RLP decoding + enc := makeTestBAL(true) + if err := enc.Validate(); err != nil { + t.Fatalf("Unexpected validation error: %v", err) + } + var buf bytes.Buffer + if err := enc.EncodeRLP(&buf); err != nil { + t.Fatalf("Unexpected encoding error: %v", err) + } + + var dec BlockAccessList + if err := dec.DecodeRLP(rlp.NewStream(bytes.NewReader(buf.Bytes()), 0)); err != nil { + t.Fatalf("Unexpected RLP-decode error: %v", err) + } + if err := dec.Validate(); err != nil { + t.Fatalf("Unexpected validation error: %v", err) + } + + // Validate the derived block access list + cBAL := makeTestConstructionBAL() + listB := cBAL.toEncodingObj() + if err := listB.Validate(); err != nil { + t.Fatalf("Unexpected validation error: %v", err) } } diff --git a/core/types/bal/testdata/ssz/22615532_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615532_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index a3f23822a8..0000000000 Binary files a/core/types/bal/testdata/ssz/22615532_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615542_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615542_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 2504d8ce28..0000000000 Binary files a/core/types/bal/testdata/ssz/22615542_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615552_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615552_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 9de4952b87..0000000000 Binary files a/core/types/bal/testdata/ssz/22615552_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615562_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615562_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index c27802c5b3..0000000000 Binary files a/core/types/bal/testdata/ssz/22615562_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615572_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615572_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index fed7949edb..0000000000 Binary files a/core/types/bal/testdata/ssz/22615572_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615582_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615582_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index a3d5bd8e36..0000000000 Binary files a/core/types/bal/testdata/ssz/22615582_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615592_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615592_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 133eab3c31..0000000000 Binary files a/core/types/bal/testdata/ssz/22615592_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615602_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615602_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 9e3c3d7c6d..0000000000 Binary files a/core/types/bal/testdata/ssz/22615602_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615612_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615612_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index a768dd1f83..0000000000 Binary files a/core/types/bal/testdata/ssz/22615612_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615622_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615622_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 48191d3449..0000000000 Binary files a/core/types/bal/testdata/ssz/22615622_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615632_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615632_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 271855be76..0000000000 Binary files a/core/types/bal/testdata/ssz/22615632_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615642_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615642_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index c2574d7b31..0000000000 Binary files a/core/types/bal/testdata/ssz/22615642_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615652_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615652_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index cb74d4d93f..0000000000 Binary files a/core/types/bal/testdata/ssz/22615652_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615662_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615662_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 84c60acb6a..0000000000 Binary files a/core/types/bal/testdata/ssz/22615662_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615672_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615672_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index a4a0684c3e..0000000000 Binary files a/core/types/bal/testdata/ssz/22615672_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615682_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615682_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index d537bee64f..0000000000 Binary files a/core/types/bal/testdata/ssz/22615682_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615692_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615692_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 4ddb9783e3..0000000000 Binary files a/core/types/bal/testdata/ssz/22615692_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615702_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615702_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 8e1ac6e688..0000000000 Binary files a/core/types/bal/testdata/ssz/22615702_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615712_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615712_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 82b193779d..0000000000 Binary files a/core/types/bal/testdata/ssz/22615712_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615722_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615722_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 18d32d7124..0000000000 Binary files a/core/types/bal/testdata/ssz/22615722_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615732_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615732_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index bec34697cf..0000000000 Binary files a/core/types/bal/testdata/ssz/22615732_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615742_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615742_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 01dbcea44b..0000000000 Binary files a/core/types/bal/testdata/ssz/22615742_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615752_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615752_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 5413226a8a..0000000000 Binary files a/core/types/bal/testdata/ssz/22615752_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615762_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615762_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index c2671565f0..0000000000 Binary files a/core/types/bal/testdata/ssz/22615762_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615772_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615772_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 44802a320e..0000000000 Binary files a/core/types/bal/testdata/ssz/22615772_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615782_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615782_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index c5ccff6ee4..0000000000 Binary files a/core/types/bal/testdata/ssz/22615782_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615792_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615792_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 3c78efc546..0000000000 Binary files a/core/types/bal/testdata/ssz/22615792_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615802_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615802_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 5c656bd0f4..0000000000 Binary files a/core/types/bal/testdata/ssz/22615802_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615812_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615812_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 12e71d0100..0000000000 Binary files a/core/types/bal/testdata/ssz/22615812_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615822_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615822_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index a5befeea8e..0000000000 Binary files a/core/types/bal/testdata/ssz/22615822_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615832_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615832_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 5f90c86d4a..0000000000 Binary files a/core/types/bal/testdata/ssz/22615832_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615842_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615842_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 06cd0b543f..0000000000 Binary files a/core/types/bal/testdata/ssz/22615842_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615852_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615852_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 5137afea42..0000000000 Binary files a/core/types/bal/testdata/ssz/22615852_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615862_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615862_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 54e9153bdc..0000000000 Binary files a/core/types/bal/testdata/ssz/22615862_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615872_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615872_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index f8087c33e8..0000000000 Binary files a/core/types/bal/testdata/ssz/22615872_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615882_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615882_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 9ce522dccb..0000000000 Binary files a/core/types/bal/testdata/ssz/22615882_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615892_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615892_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index fe23dae4cf..0000000000 Binary files a/core/types/bal/testdata/ssz/22615892_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615902_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615902_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index bec96c3d1a..0000000000 Binary files a/core/types/bal/testdata/ssz/22615902_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615912_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615912_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 1b919a2715..0000000000 Binary files a/core/types/bal/testdata/ssz/22615912_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615922_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615922_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 4f369b81f0..0000000000 Binary files a/core/types/bal/testdata/ssz/22615922_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615932_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615932_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 5f73a9a5d1..0000000000 Binary files a/core/types/bal/testdata/ssz/22615932_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615942_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615942_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 737740a81c..0000000000 Binary files a/core/types/bal/testdata/ssz/22615942_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615952_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615952_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 59699f6bc6..0000000000 Binary files a/core/types/bal/testdata/ssz/22615952_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615962_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615962_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 84ae548dd5..0000000000 Binary files a/core/types/bal/testdata/ssz/22615962_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615972_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615972_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 29d50e9964..0000000000 Binary files a/core/types/bal/testdata/ssz/22615972_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615982_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615982_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 53691e60b8..0000000000 Binary files a/core/types/bal/testdata/ssz/22615982_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22615992_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22615992_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 13d4c35c2d..0000000000 Binary files a/core/types/bal/testdata/ssz/22615992_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22616002_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22616002_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index dddcfe7bce..0000000000 Binary files a/core/types/bal/testdata/ssz/22616002_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22616012_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22616012_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 4a63bd6be4..0000000000 Binary files a/core/types/bal/testdata/ssz/22616012_block_access_list_with_reads_eip7928.txt and /dev/null differ diff --git a/core/types/bal/testdata/ssz/22616022_block_access_list_with_reads_eip7928.txt b/core/types/bal/testdata/ssz/22616022_block_access_list_with_reads_eip7928.txt deleted file mode 100644 index 61fa0aaf93..0000000000 Binary files a/core/types/bal/testdata/ssz/22616022_block_access_list_with_reads_eip7928.txt and /dev/null differ