Repository navigation
Conversation
…on path error cases
…ion list deadline
…ss over the due time
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
Add validator client support for producing inclusion lists for validators in the inclusion list committee (per spec).
Proposed Changes
InclusionListServiceto the VC, which only starts when the Heze fork is scheduled and idles for whole epochs until Heze activatesGET validator/inclusion_list?slot={slot}SignedInclusionListPOST validator/inclusion_list(beacon-APIs#490), SSZ first, using JSON as fallbackMockBeaconNodeand adds IL mock helpers tovalidator_test_rigAdditional Info
The Beacon API endpoints are added in the following PRs:
Heze types don't exist in remote-signing-api yet, so Web3Signer path is defined ahead of the upstream spec. This only follows the existing message-type setup and may need adjusting later, once the Heze support lands
ILs are produced 1s before the IL deadline instead of at slot start. I chose this approach after trying multiple solutions. At slot start, the EL's mempool still holds the current payload's transactions, so ~92% of each IL was redundant (confirmed on a local devnet). Producing on payload reveal didn't help with this: the EL only drops those transactions after the next
forkchoiceUpdatedcall. For this case, making the BN wait for it, although it could be a solution, adds complexity to the forkchoice update path. With this approach, tested on a local devnet, I've got no redundant txs included in the inclusion lists. Additionally, all the inclusion lists broadcast were timely. On FOCIL devnet-1 (based on 24h data), 2.7% of Lighthouse IL transactions were redundant, vs ~80% for clients producing at slot start, while 97.7% of (list, node) arrivals were timely, the late ones concentrated at a single slow node (lodestar-nethermind-1).