Agg comm improvements#594
Conversation
…alidator consensus data tests)
GalRogozinski
left a comment
There was a problem hiding this comment.
Please go over unresolved comments
thanks!
GalRogozinski
left a comment
There was a problem hiding this comment.
Add a test that checks that a preconsensus quorum was completed but not aggregator was found, but then later comes another message that completes the missing validator that may be an aggregator
…subnet for contribution)
|
@GalRogozinski added the tests. Let me know if you agree with it |
| @@ -133,14 +133,6 @@ func AggregatorCommitteeValueCheckF( | |||
| return errors.Wrap(err, "invalid value") | |||
| } | |||
|
|
|||
| // Basic validation - consensus data should have either aggregator or sync committee data | |||
There was a problem hiding this comment.
did this move to somewhere or we don't need this check?
There was a problem hiding this comment.
This was done when ValidatorConsensusData had aggregator or scc type and we wanted to validate that the encoded obj was of the correct type. Here, AggregatorCommitteeConsensusData already has some decoded data. At most, we could decode every attestation, which is currently []byte to confirm they are correct. Wdyt @GalRogozinski ?
GalRogozinski
left a comment
There was a problem hiding this comment.
LGTM
just quickly answer unresolved comments
GalRogozinski
left a comment
There was a problem hiding this comment.
@MatheusFranco99
After you answer the comments, feel free to merge to the base branch if you think it will help you with conflict management
* draft * fix aggregator committee - sync committee contribution only test * bug fix * bug fix * add 20-validator test for sync committee aggregator * add test for aggregator and sync committee contribution duties * lint * merge with main * missing tests * support fulu in GetAggregateAndProofs * fix fulu aggregate and proof * fix missing fulu cases * fix leftovers * fix passing slot in contributionProofMsg * Revert "fix passing slot in contributionProofMsg" This reverts commit 226659d. * Aggregator Committee - Drop previous runners and align tests (#592) * remove aggregatorCommittee from BeaconRole * remove aggregator and scc roles * remove agg and scc from ValidatorConsensusData * generate ssz encoding * align testingutils to remove reference to agg and scc alone * add agg committee consensus data tests (and remove agg and scc from validator consensus data tests) * generate types JSON tests * drop agg and scc runners; fix agg committee runner issue * align testingutils for agg committee tests * value check tests * preconsensus tests * post consensus tests * duties tests * runner construction tests * consensus tests * happy flow test * dutyexe tests * add test docs; fix msg processing test * add all tests * generate JSON tests * apply suggestions * Aggregator Committee Mixed Duties Tests (#593) * remove aggregatorCommittee from BeaconRole * remove aggregator and scc roles * remove agg and scc from ValidatorConsensusData * generate ssz encoding * align testingutils to remove reference to agg and scc alone * add agg committee consensus data tests (and remove agg and scc from validator consensus data tests) * generate types JSON tests * drop agg and scc runners; fix agg committee runner issue * align testingutils for agg committee tests * value check tests * preconsensus tests * post consensus tests * duties tests * runner construction tests * consensus tests * happy flow test * dutyexe tests * add test docs; fix msg processing test * add all tests * generate JSON tests * drop weird json tests in unintended directory * add mixed agg+scc pre-consensus tests * generate JSON tests * add error code * increase number of Contributors * add post-consensus mixed agg committee tests * generate JSON tests * fixed remaining mixed tests * generate JSON tests * fix lint (remove unused functions) * avoid in-place sorting * update ssz hash tags * apply suggestions * solve TODOs * revert deleted Alan runner roles * revert deleted ValidatorConsensusData methods * generate tests * Revert "generate tests" This reverts commit 441a53a. * Revert "revert deleted ValidatorConsensusData methods" This reverts commit cb04d43. * Revert "revert deleted Alan runner roles" This reverts commit 69a6a65. * Agg comm improvements (#594) * remove aggregatorCommittee from BeaconRole * remove aggregator and scc roles * remove agg and scc from ValidatorConsensusData * generate ssz encoding * align testingutils to remove reference to agg and scc alone * add agg committee consensus data tests (and remove agg and scc from validator consensus data tests) * generate types JSON tests * drop agg and scc runners; fix agg committee runner issue * align testingutils for agg committee tests * value check tests * preconsensus tests * post consensus tests * duties tests * runner construction tests * consensus tests * happy flow test * dutyexe tests * add test docs; fix msg processing test * add all tests * generate JSON tests * drop weird json tests in unintended directory * add mixed agg+scc pre-consensus tests * generate JSON tests * add error code * increase number of Contributors * add post-consensus mixed agg committee tests * generate JSON tests * add agg committee duty validation; add psgi msg sorting; * add sorting and duty validation tests * generate JSON tests * fixed remaining mixed tests * generate JSON tests * fix lint (remove unused functions) * change AggregatorCommitteeConsensusData to reduce duplicated data overhead * align tests * generate JSON tests * fix maximum ssz sizes * avoid in-place sorting * add test docs * remove unused test docs * fix maximum-size tests * generate JSON tests * fix test: duty with diff slots * add max size test for aggCommCD * add size tests for phase0 and electra attestations; fix ssz max size for attestation in AggCommCD * fix lint issues * fix test dir (no multiple duty) * fix versions data * maximum duty possible test * fix lint * apply suggestions (remove sorting feature; remove unused errors; use subnet for contribution) * clarify validator sync committee index usage * change subnetID computation to avoid errors * generate JSON tests * tests for: invalid quorum; invalid quorum then valid quorum; * generate JSON tests * generate JSON tests with new error numbers * remove deprecated partial signature types * generate JSON tests * generate SSZ files * value check att decoding check * generate JSON tests * apply suggestions * Rename ValidatorConsensusData to ProposerConsensusData (#596) * remove aggregatorCommittee from BeaconRole * remove aggregator and scc roles * remove agg and scc from ValidatorConsensusData * generate ssz encoding * align testingutils to remove reference to agg and scc alone * add agg committee consensus data tests (and remove agg and scc from validator consensus data tests) * generate types JSON tests * drop agg and scc runners; fix agg committee runner issue * align testingutils for agg committee tests * value check tests * preconsensus tests * post consensus tests * duties tests * runner construction tests * consensus tests * happy flow test * dutyexe tests * add test docs; fix msg processing test * add all tests * generate JSON tests * drop weird json tests in unintended directory * add mixed agg+scc pre-consensus tests * generate JSON tests * add error code * increase number of Contributors * add post-consensus mixed agg committee tests * generate JSON tests * add agg committee duty validation; add psgi msg sorting; * add sorting and duty validation tests * generate JSON tests * fixed remaining mixed tests * generate JSON tests * fix lint (remove unused functions) * change AggregatorCommitteeConsensusData to reduce duplicated data overhead * align tests * generate JSON tests * fix maximum ssz sizes * avoid in-place sorting * add test docs * remove unused test docs * fix maximum-size tests * generate JSON tests * fix test: duty with diff slots * add max size test for aggCommCD * add size tests for phase0 and electra attestations; fix ssz max size for attestation in AggCommCD * fix lint issues * fix test dir (no multiple duty) * fix versions data * maximum duty possible test * fix lint * apply suggestions (remove sorting feature; remove unused errors; use subnet for contribution) * clarify validator sync committee index usage * change subnetID computation to avoid errors * generate JSON tests * tests for: invalid quorum; invalid quorum then valid quorum; * generate JSON tests * generate JSON tests with new error numbers * rename ValidatorConsensusData -> ProposerConsensusData * align tests * generate JSON tests * fix renaming on merge * make runner role explicit * generate JSON tests * Aggregator Committee - Fix committee runners management (#597) * remove aggregatorCommittee from BeaconRole * remove aggregator and scc roles * remove agg and scc from ValidatorConsensusData * generate ssz encoding * align testingutils to remove reference to agg and scc alone * add agg committee consensus data tests (and remove agg and scc from validator consensus data tests) * generate types JSON tests * drop agg and scc runners; fix agg committee runner issue * align testingutils for agg committee tests * value check tests * preconsensus tests * post consensus tests * duties tests * runner construction tests * consensus tests * happy flow test * dutyexe tests * add test docs; fix msg processing test * add all tests * generate JSON tests * drop weird json tests in unintended directory * add mixed agg+scc pre-consensus tests * generate JSON tests * add error code * increase number of Contributors * add post-consensus mixed agg committee tests * generate JSON tests * add agg committee duty validation; add psgi msg sorting; * add sorting and duty validation tests * generate JSON tests * fixed remaining mixed tests * generate JSON tests * fix lint (remove unused functions) * change AggregatorCommitteeConsensusData to reduce duplicated data overhead * align tests * generate JSON tests * fix maximum ssz sizes * avoid in-place sorting * add test docs * remove unused test docs * fix maximum-size tests * generate JSON tests * fix test: duty with diff slots * add max size test for aggCommCD * add size tests for phase0 and electra attestations; fix ssz max size for attestation in AggCommCD * fix lint issues * fix test dir (no multiple duty) * fix versions data * maximum duty possible test * fix lint * apply suggestions (remove sorting feature; remove unused errors; use subnet for contribution) * clarify validator sync committee index usage * change subnetID computation to avoid errors * generate JSON tests * tests for: invalid quorum; invalid quorum then valid quorum; * generate JSON tests * generate JSON tests with new error numbers * remove deprecated partial signature types * generate JSON tests * generate SSZ files * fix committee to have agg and comm runners * align testing utils. Fix Committee constructor to a common one, and align tests execution * add test for comm + agg comm duties in the same slot * generate JSON tests * remove unused function * add tests for error cases in committee * add test for mixed duties for multiple slots * remove unused parameter * set fork-persistent values for psig types * generate JSON tests * set max ssz sizes exportable --------- Co-authored-by: Alan <alan@ssvlabs.io> Co-authored-by: Nikita Kryuchkov <nkryuchkov10@gmail.com> Co-authored-by: MatheusFranco99 <48058141+MatheusFranco99@users.noreply.github.com>
Overview
This PR adds improvements to the Aggregator Commmittee Runner: