-
Notifications
You must be signed in to change notification settings - Fork 361
BEACON_BLOCK_AND_BLOBS_SIDECAR gossip topic
#6465
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
Conversation
BEACON_BLOCK_AND_BLOBS_SIDECAR gossip topic
.../tech/pegasys/teku/networking/eth2/gossip/forks/versions/GossipForkSubscriptionsEip4844.java
Outdated
Show resolved
Hide resolved
...atetransition/src/main/java/tech/pegasys/teku/statetransition/validation/BlockValidator.java
Outdated
Show resolved
Hide resolved
...reum/statetransition/src/main/java/tech/pegasys/teku/statetransition/block/BlockManager.java
Outdated
Show resolved
Hide resolved
lucassaldanha
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have got a few comments to consider.
In terms of testing, you could look at BlsToExecutionChangeGossipIntegrationTest.java to see how I was testing the gossiping part (it isn't great but kinda gets the job done).
...atetransition/src/main/java/tech/pegasys/teku/statetransition/validation/BlockValidator.java
Outdated
Show resolved
Hide resolved
...atetransition/src/main/java/tech/pegasys/teku/statetransition/validation/BlockValidator.java
Outdated
Show resolved
Hide resolved
...ech/pegasys/teku/networking/eth2/gossip/forks/versions/GossipForkSubscriptionsBellatrix.java
Outdated
Show resolved
Hide resolved
...a/tech/pegasys/teku/networking/eth2/gossip/forks/versions/GossipForkSubscriptionsPhase0.java
Outdated
Show resolved
Hide resolved
0e3380a to
db7db32
Compare
c1a2384 to
36fea1e
Compare
BEACON_BLOCK_AND_BLOBS_SIDECAR gossip topicBEACON_BLOCK_AND_BLOBS_SIDECAR gossip topic
zilm13
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
| @Override | ||
| public void publishBlockAndBlobsSidecar( | ||
| final SignedBeaconBlockAndBlobsSidecar blockAndBlobsSidecar) { | ||
| // Does not apply to this fork. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd maybe go with interface defaults for this and all others (publishSyncCommitteeMessage, publishSyncCommitteeContribution, publishSignedBlsToExecutionChangeMessage, subscribeToSyncCommitteeSubnet, unsubscribeFromSyncCommitteeSubnet) to not leak them to Phase0 implementation but definitely up to you
| .eventChannels(eventChannels) | ||
| .recentChainData(recentChainData) | ||
| .gossipedBlockProcessor(blockManager::validateAndImportBlock) | ||
| .gossipedBlockAndBlobsProcessor(OperationProcessor.noop()) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this correct? Don't we do anything with the BlockAndBlob messages we receive?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes I did it on purpose. I want to modify BlockManager and BlockValidator (and maybe BlockImporter) in a dedicated PR
|
Where are we forwarding the |
yep, decided to have a better separation compared to the first draft. |
add missing eip4844 and capella network configuration handling
…ssor` to the super class to allow future topic re-enablement
7e38aae to
61ae503
Compare
This is the first time we have to unsubscribe to a topic and subscribe to a new one.
GossipForkSubscriptionshave been refactored to leverage class inheritance but also avoid most of the code duplication when the next fork stop using previously used topics.Basically each fork exposes methods to add
GossipManagerfor all topic that has been introduced by that fork. Than it's up to the forks to call the correspondingaddmethod (or delegate tosuperif the fork is a superset of the previous).To make sure that forks can reenable previously disabled topics, we have to make sure to pass all possible
OperationProcessors even if the current doesn't use it. It's the case ofblockProcessorthat may be re-enabled in future forks.Add missing eip4844 and capella network configuration handling
fixes #6460
Documentation
doc-change-requiredlabel to this PR if updates are required.Changelog