Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Caplin: beacon committee subscription api #9721

Merged
merged 40 commits into from
Apr 4, 2024

Conversation

domiwei
Copy link
Contributor

@domiwei domiwei commented Mar 15, 2024

This pr implements following beacon api
https://ethereum.github.io/beacon-APIs/#/Validator/prepareBeaconCommitteeSubnet
Steps:

  1. once receive committee subscription request, record this subscription info associated with validator index.
  2. if isAggregator flag is on, prepare internal data structure to collect and aggregate incoming attestation.
  3. set expiry and begin to subscribe beacon_attestation_{subnet}, so we are capable of receiving attestation data from peer.
  4. whenever receive attestation data, try aggregate it if needed.

@domiwei domiwei changed the title [WIP] Beacon committee subscription [WIP] Caplin: beacon committee subscription api Mar 15, 2024
@Giulio2002
Copy link
Collaborator

Giulio2002 commented Mar 25, 2024

General feedback: Maybe for aggregating signatures and public key it is better to do another AttestationAggregator struct. the reason is that we can get that from different sources such as: aggregates topic, attestation topics or from the beacon API.

@domiwei domiwei changed the title [WIP] Caplin: beacon committee subscription api Caplin: beacon committee subscription api Mar 27, 2024
@domiwei domiwei requested a review from Giulio2002 March 27, 2024 11:53
@domiwei domiwei requested a review from Giulio2002 March 29, 2024 06:54
cl/aggregation/pool.go Outdated Show resolved Hide resolved
cl/aggregation/pool_impl.go Outdated Show resolved Hide resolved
cl/aggregation/pool_impl.go Outdated Show resolved Hide resolved
cl/aggregation/pool_impl.go Outdated Show resolved Hide resolved
cl/phase1/network/gossip_manager.go Show resolved Hide resolved
@domiwei domiwei requested a review from Giulio2002 April 1, 2024 17:07
cl/aggregation/mocks/AggregationPool.go Outdated Show resolved Hide resolved
cl/phase1/forkchoice/on_attestation.go Show resolved Hide resolved
Copy link

sonarcloud bot commented Apr 4, 2024

Quality Gate Passed Quality Gate passed

Issues
4 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarCloud

@Giulio2002 Giulio2002 merged commit b359c26 into devel Apr 4, 2024
7 checks passed
@Giulio2002 Giulio2002 deleted the beacon_committee_subscription branch April 4, 2024 21:44
@ghost ghost mentioned this pull request Jun 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants