Skip to content

tests: align test vectors with proposal/attestation key split behavior#461

Merged
tcoratger merged 5 commits intoleanEthereum:mainfrom
unnawut:gossip-proposer-attestation
Mar 20, 2026
Merged

tests: align test vectors with proposal/attestation key split behavior#461
tcoratger merged 5 commits intoleanEthereum:mainfrom
unnawut:gossip-proposer-attestation

Conversation

@unnawut
Copy link
Collaborator

@unnawut unnawut commented Mar 20, 2026

🗒️ Description

After #449, the tests no longer gets a free proposer attestation included in each block. While the reftests were passing, they were passing because we introduced gossip_proposer_attestation and include_store_attestations that are opaque to the clients.

There were also some test cases where we assumed that a block always has an attestation, and so an additional fork depth guarantees an additional fork weight. But it's misleading to rely on fork depth because the fork choice rule doesn't consider depth at all.

This PR brings back the visibility by:

  1. Explicitly including proposer's attestation in the next block
  2. Remove gossip_proposer_attestation and include_store_attestations, so that when clients parse a BlockStep, it only needs to process it through store.on_block() and no other ops.
  3. Rewrote tests that were relying on fork depth as fork weight

Also removed test_auto_collect_* test because those are testing behaviors only specific to having proposer_attestation

Some review notes: If you see non-obvious changes in this PR, they're from (3) above because fork depths are replaced with attestations. The rest are just turning the implicit proposer attestations into explicit block.attestations.

🔗 Related Issues or PRs

✅ Checklist

  • Ran tox checks to avoid unnecessary CI fails:
    uvx tox
  • Considered adding appropriate tests for the changes.
  • Considered updating the online docs in the ./docs/ directory.

@unnawut unnawut added this to the pq-devnet-4 milestone Mar 20, 2026
@unnawut unnawut self-assigned this Mar 20, 2026
@unnawut unnawut added the tests Scope: Changes to the spec tests label Mar 20, 2026
Copy link
Collaborator

@tcoratger tcoratger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot!

@tcoratger tcoratger merged commit 2bde68e into leanEthereum:main Mar 20, 2026
12 checks passed
@unnawut unnawut deleted the gossip-proposer-attestation branch March 20, 2026 23:20
@unnawut unnawut mentioned this pull request Mar 23, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tests Scope: Changes to the spec tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants