-
Notifications
You must be signed in to change notification settings - Fork 269
Relay multiplexing #826
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
base: develop
Are you sure you want to change the base?
Relay multiplexing #826
Conversation
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.
Pull Request Overview
This PR introduces validator-to-relay muxing functionality in mev-boost, allowing different sets of validators to be associated with specific sets of relays rather than sending all validator requests to all relays.
- Adds a new
MuxConfig
structure to define policies and validator mappings - Modifies validator registration and header/payload requests to use validator-specific relays
- Adds configuration loading and validation for YAML-based mux configuration files
Reviewed Changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
server/service.go | Adds mux configuration support to BoostService with relay selection logic |
server/register_validator.go | Implements validator-specific relay routing for registration requests |
server/mux_test.go | Comprehensive test coverage for the muxing functionality |
server/get_payload.go | Updates payload requests to use policy-based relay selection |
server/get_header.go | Modifies header requests to use validator-specific relays |
config/mux_config.go | Core mux configuration structure with YAML loading and validation |
cli/main.go | Integrates mux config setup into CLI initialization |
cli/flags.go | Adds command-line flag for mux configuration file path |
go.mod | Updates yaml.v3 dependency to direct import |
Comments suppressed due to low confidence (1)
server/register_validator.go:1
- Silent error handling here swallows potentially important configuration errors. Consider logging the error to help with debugging mux configuration issues.
package server
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
9703277
to
d549954
Compare
fe770c4
to
c3e1c7a
Compare
📝 Summary
Introduces a muxing feature to mev-boost that enables different sets of validators to connect to different sets of relays. This addresses a significant operational need for large-scale validator operations.
See also: https://collective.flashbots.net/t/muxing-in-mev-boost-to-handle-diverse-relay-sets/5231/2
Each policy contains:
Each mapping contains:
Example config:
✅ I have run these commands
make lint
make test-race
go mod tidy