* validate EL block hash when running consensus block tests
We currently don't have an easy way to test EL block hash computation.
As the EL block hash in consensus-spec-tests is computed correctly,
update the test runners that load block from test files to also verify
the EL block hash. This increases missing test coverage.
Requires https://github.com/ethereum/consensus-specs/pull/3829
* fix
* resolve merge conflicts
* fix genesis case, and deal with `incorrect_block_hash` test
* add missing export marker
* fix import
* htr mutates underlying data, messing with differ, create copy in test
* Handle payloads with empty tx (unsupported in ordered trie tool)
* Update copyright years
---------
Co-authored-by: tersec <tersec@users.noreply.github.com>
The templates for `BeaconBlock`, `BeaconBlockBody` and `BeaconState`
are the only ones using a `macro` mechanism for code generation.
This prevents using the dot-syntax style `consensusFork.BeaconFoo`
in some situations, and also tends to trigger naming conflicts,
requiring the `Type` suffix. Furthermore, the `macro` only works
for types that are re-defined in every single `ConsensusFork`.
Replacing with the simpler but more verbose approach used for other
types for consistency and to avoid the downsides of the `macro`.
Furthermore, simplify `test_fixture_sanity_blocks` to use `forks` sugar.
Suite names were not being used because `test` has to have access to it
during instantiation - this PR cleans things up a little while at the
same time upgrading unittest2.
* consolidate consensus spec transition test fixtures
* include capella
* consoliate fork test fixtures
* note change in EIP-4844 process_block in alpha.2