Repository navigation
Add the InclusionListsByIndices req/resp protocol - #10072
Open
rahulbarmann wants to merge 18 commits into
Open
rahulbarmann wants to merge 18 commits into
rahulbarmann wants to merge 18 commits into
Conversation
…ices # Conflicts: # beacon_node/network/src/network_beacon_processor/tests.rs
…ices # Conflicts: # beacon_node/lighthouse_network/src/rpc/codec.rs
conache
added a commit
to conache/lighthouse
that referenced
this pull request
Oct 13, 2026
conache
added a commit
to conache/lighthouse
that referenced
this pull request
Oct 13, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue Addressed
Part of FOCIL (EIP-7805). This adds the
InclusionListsByIndicesreq/resp protocol from heze/p2p-interface.md which is used by peers to fetch inclusion lists they missed on gossip.Proposed Changes
/eth2/beacon_chain/req/inclusion_lists_by_indices/1/protocol and register it once Heze is scheduled. The request is a fixed 42-byte container, and each response chunk contains oneSignedInclusionList. The fork digest is taken from the list's own slot.InclusionListBitstoconsensus/typesfor the requestindices, along withmin_sizeandmax_sizeonSignedInclusionListfor the response bounds.minimum_request_slotwithResourceUnavailable, then resolve the committee to turn the requested positions into validator indices and return whatever the store has for(slot, dependent_root).This is only the server side, the client side for block production backfill will be built by @conache.
Additional Info
SignedInclusionListstype. The spec has it as the response content, but since the response is chunked, I enforce theMAX_REQUEST_INCLUSION_LISTlimit throughmax_responsesinstead.MAX_SIGNED_INCLUSION_LIST_SIZE. Once Wire the inclusion_list gossip topic #9846 lands, this can useE::max_signed_inclusion_list_size()directly.InclusionListBitsis 16 bits wide andMAX_REQUEST_INCLUSION_LISTis also 16, so the request can't exceed the limit anyway.BitVectorfor the same spec type. Whichever PR lands second should switch over to the shared type.