Redesign of the attestation pool (#14324)

* Rename existing AttestationCache

* Cache with simple Add

* fix import cycle

* logic for unaggregated, aggregated and block attestations

* some small fixes

* remove Seen

* finishing touches

* feature flag

* extract forkchoice atts to separate type

* gate new functionality behind feature flag

* revert test files

* preparing for review

* change Id to [32]byte

* Potuz's review

* Potuz's review pt 2

* Nishant's review

* keep flat list of atts

* fix ForkchoiceAttestations() function

* Tests for Add, GetAll, Count

* Tests for remaining functions

* use DeepEqual

* fix tests

* documentation

* changelog <3

* v2 handlers

* nil check for forkchoice atts

* guard against 0 bits set

* fix failing test

* Preston's review

* better godocs
This commit is contained in:
Radosław Kapka
2024-12-23 10:59:32 +01:00
committed by GitHub
parent 96b31a9f64
commit d04b361cc3
59 changed files with 1241 additions and 253 deletions

View File

@@ -14,7 +14,8 @@ The format is based on Keep a Changelog, and this project adheres to Semantic Ve
- `Finished building block`: Display error only if not nil.
- Added support to update target and max blob count to different values per hard fork config.
- Log before blob filesystem cache warm-up.
-
- New design for the attestation pool. [PR](https://github.com/prysmaticlabs/prysm/pull/14324)
### Changed
- Process light client finality updates only for new finalized epochs instead of doing it for every block.