Skip to content

Devnet 4#446

Open
anshalshukla wants to merge 1 commit intoleanEthereum:mainfrom
anshalshukla:devnet-4
Open

Devnet 4#446
anshalshukla wants to merge 1 commit intoleanEthereum:mainfrom
anshalshukla:devnet-4

Conversation

@anshalshukla
Copy link
Collaborator

@anshalshukla anshalshukla commented Mar 10, 2026

🗒️ Description

Implements recursive aggregation. Spec for devnet-4 (draft):

- updates aggregation API to support recursive aggregation
- INV_PROOF_SIZE is defined as a protocol parameter
- changes aggregate_gossip_signatures to aggregate as it will no longer just aggregates gossip signatures but also recursively aggregates children_payloads with them.
- changes aggregate_committee_signatures to aggregate_committee_signatures_and_payloads, it includes both committee gossip signatures and payloads (no committee) and recursively aggregate them using aggregate

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

@anshalshukla anshalshukla mentioned this pull request Mar 10, 2026
3 tasks
return
sorted_proofs = sorted(
proofs,
key=lambda proof: len(proof.participants.to_validator_indices()),
Copy link
Contributor

Choose a reason for hiding this comment

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

calc and sort them here with participants - covered directly, this is what really will give greedy coverage which imo would be the best coverage algo on average

return self.model_copy(update={"safe_target": safe_target})

def aggregate_committee_signatures(self) -> tuple["Store", list[SignedAggregatedAttestation]]:
def aggregate_committee_signatures_and_payloads(self) -> tuple["Store", list[SignedAggregatedAttestation]]:
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
def aggregate_committee_signatures_and_payloads(self) -> tuple["Store", list[SignedAggregatedAttestation]]:
def aggregate_signatures_and_payloads(self) -> tuple["Store", list[SignedAggregatedAttestation]]:

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.

2 participants