Skip to content

Test vector metadata consideration #1938

@fselmo

Description

@fselmo

In our test vectors right now we define blocks objects with both actual block body fields and some "metadata" / extra fields:

  • block body fields: {"blockHeader", "transactions", "uncleHashes", "withdrawals"}
  • extra fields: {"rlp", "blockNumber"}

For Amsterdam, we had blockAccessList as part of the block body, but recent changes to the spec have removed it from the block body. It is still useful to reference when debugging errors against clients, otherwise we would only have the BAL hash in the block header, which doesn't give us a whole lot of information. Also this blockNumber seems to be redundant since it exists in the blockHeader.


This issue is meant as a tracker to try to reconcile how these vectors are organized into an agreeable format. I would propose that we move the extra fields into some _metadata field (underscored so that it is clearly not a part of the block body) and to remove the blockNumber field entirely- the net change being:

  • Move rlp and blockAccessList into a new blocks[i]["_metadata"] field
  • Remove blockNumber entirely since it exists at blocks[i]["blockHeader"]["number"]

I believe that moving rlp, specifically, into _metadata may break something on the client side due to expectations of where this lives, so this may require some coordination with clients or sanity checking via hive, etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-test-fixturesArea: execution_testing.fixturesC-refactorCategory: refactorC-trackerCategory: Tracker—Meta-issues that collect many issues for progress monitoring

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions