ChainSafe / ChainSafe/lodestar
Combine builder preferences and proposer preferences services
- Dominant language
- TypeScript
- Stars
- 1.4k
- Forks
- 483
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 156
Description
`ProposerPreferencesService` and `BuilderPreferencesService` share the same structure, both submit ahead of upcoming proposals using the same submission window, track submissions per epoch keyed by the proposer shuffling dependent root and resubmit when it shifts. They only differ in what they sign and where they submit, `SignedProposerPreferences` broadcast via the beacon node vs `BuilderPreferencesRequest` submitted to each configured builder.
The shared duty window and dependent root tracking could be extracted, or the two services combined into one.
See https://github.com/ChainSafe/lodestar/pull/9832#discussion_r3863586847
Contributor guide
Research direction
Locate ProposerPreferencesService and BuilderPreferencesService, then read the linked pull request discussion about their shared structure. Compare their duty-window and dependent-root tracking with their distinct signing and submission paths; done means the shared behavior is consolidated without changing either submission flow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- blockchain
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100