Skip to content

test(fc): finalization prunes stale aggregated payloads from store#603

Merged
tcoratger merged 3 commits intoleanEthereum:mainfrom
d4m014:test/finalization_prunes
Apr 13, 2026
Merged

test(fc): finalization prunes stale aggregated payloads from store#603
tcoratger merged 3 commits intoleanEthereum:mainfrom
d4m014:test/finalization_prunes

Conversation

@d4m014
Copy link
Copy Markdown
Contributor

@d4m014 d4m014 commented Apr 13, 2026

🗒️ Description

  • Adds test_finalization_prunes_stale_aggregated_payloads in tests/consensus/devnet/fc/test_store_pruning.py - a spec filler test demonstrating that prune_stale_attestation_data removes aggregated attestation payloads whose target slot is at or below the finalized slot
  • Fixes a subtle timing issue: aggregate() at slot interval 2 discards lone child proofs from latest_new_aggregated_payloads, so gossip must be submitted after that
    interval fires on an empty pool; a TickStep is inserted to advance past the aggregate interval before submitting gossip
  • Reformats tests/consensus/devnet/fc/test_block_production.py to fix a pre-existing ruff format violation (required to keep CI green)

🔗 Related Issues or PRs

Closes #568

✅ 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.

@tcoratger
Copy link
Copy Markdown
Collaborator

@d4m014 Can you solve conflicts?

@d4m014
Copy link
Copy Markdown
Contributor Author

d4m014 commented Apr 13, 2026

@d4m014 Can you solve conflicts?

just did

@tcoratger
Copy link
Copy Markdown
Collaborator

@d4m014 Looks like there is an error that is not normal in the test vectors.

Interop test failures can be normal since some tests are flaky but not test vectors usually.

@d4m014
Copy link
Copy Markdown
Contributor Author

d4m014 commented Apr 13, 2026

@d4m014 Looks like there is an error that is not normal in the test vectors.

Interop test failures can be normal since some tests are flaky but not test vectors usually.

my bad, looks like the problem is the conflict resolution went the wrong way. my local test_block_production.py added for #566 has test_produce_block_rejects_unauthorized_proposer but main doesn't .
i have sync my test_block_production.py with main everything should work perfectly now, also dont forget to check #566 when you have the time and let me know what you think!

@tcoratger tcoratger merged commit 393f7a8 into leanEthereum:main Apr 13, 2026
12 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(fc): finalization prunes stale aggregated payloads from store

2 participants