Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion rocketpool-cli/service/config/settings-commit-boost.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ type CommitBoostConfigPage struct {
externalItems []*parameterizedFormItem
flashbotsBox *parameterizedFormItem
bloxrouteRegulatedBox *parameterizedFormItem
aestusBox *parameterizedFormItem
titanGlobalBox *parameterizedFormItem
titanRegionalBox *parameterizedFormItem
ultrasoundFilteredBox *parameterizedFormItem
btcsOfacBox *parameterizedFormItem
Expand Down Expand Up @@ -78,13 +80,15 @@ func (configPage *CommitBoostConfigPage) createContent() {
// Relay checkboxes - using CommitBoost's own relay parameters
configPage.flashbotsBox = createParameterizedCheckbox(&configPage.masterConfig.CommitBoost.FlashbotsRelay)
configPage.bloxrouteRegulatedBox = createParameterizedCheckbox(&configPage.masterConfig.CommitBoost.BloxRouteRegulatedRelay)
configPage.aestusBox = createParameterizedCheckbox(&configPage.masterConfig.CommitBoost.AestusRelay)
configPage.titanGlobalBox = createParameterizedCheckbox(&configPage.masterConfig.CommitBoost.TitanGlobalRelay)
configPage.titanRegionalBox = createParameterizedCheckbox(&configPage.masterConfig.CommitBoost.TitanRegionalRelay)
configPage.ultrasoundFilteredBox = createParameterizedCheckbox(&configPage.masterConfig.CommitBoost.UltrasoundFilteredRelay)
configPage.btcsOfacBox = createParameterizedCheckbox(&configPage.masterConfig.CommitBoost.BtcsOfacRelay)

// Map the parameters to the form items in the layout
configPage.layout.mapParameterizedFormItems(configPage.enableBox, configPage.modeBox, configPage.selectionModeBox)
configPage.layout.mapParameterizedFormItems(configPage.flashbotsBox, configPage.bloxrouteRegulatedBox, configPage.titanRegionalBox, configPage.ultrasoundFilteredBox, configPage.btcsOfacBox)
configPage.layout.mapParameterizedFormItems(configPage.flashbotsBox, configPage.bloxrouteRegulatedBox, configPage.aestusBox, configPage.titanGlobalBox, configPage.titanRegionalBox, configPage.ultrasoundFilteredBox, configPage.btcsOfacBox)
configPage.layout.mapParameterizedFormItems(configPage.localItems...)
configPage.layout.mapParameterizedFormItems(configPage.externalItems...)

Expand Down Expand Up @@ -177,6 +181,10 @@ func (configPage *CommitBoostConfigPage) handleSelectionModeChanged() {
configPage.layout.form.AddFormItem(configPage.flashbotsBox.item)
case cfgtypes.MevRelayID_BloxrouteRegulated:
configPage.layout.form.AddFormItem(configPage.bloxrouteRegulatedBox.item)
case cfgtypes.MevRelayID_Aestus:
configPage.layout.form.AddFormItem(configPage.aestusBox.item)
case cfgtypes.MevRelayID_TitanGlobal:
configPage.layout.form.AddFormItem(configPage.titanGlobalBox.item)
case cfgtypes.MevRelayID_TitanRegional:
configPage.layout.form.AddFormItem(configPage.titanRegionalBox.item)
case cfgtypes.MevRelayID_UltrasoundFiltered:
Expand Down
45 changes: 42 additions & 3 deletions shared/services/config/commit-boost-config.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ type CommitBoostConfig struct {
// bloXroute regulated relay
BloxRouteRegulatedRelay config.Parameter `yaml:"cbBloxRouteRegulatedEnabled,omitempty"`

// Aestus relay
AestusRelay config.Parameter `yaml:"cbAestusEnabled,omitempty"`

// Titan global relay
TitanGlobalRelay config.Parameter `yaml:"cbTitanGlobalEnabled,omitempty"`

// Titan regional relay
TitanRegionalRelay config.Parameter `yaml:"cbTitanRegionalEnabled,omitempty"`

Expand Down Expand Up @@ -113,15 +119,15 @@ func NewCommitBoostConfig(cfg *RocketPoolConfig) *CommitBoostConfig {
RelaySelectionMode: config.Parameter{
ID: "relaySelectionMode",
Name: "Relay Selection Mode",
Description: "Select how the TUI shows you the options for which PBS relays to enable.\n\nNote that all of the built-in relays support regional sanction lists (such as the US OFAC list) and are compliant with regulations.",
Description: "Select how the TUI shows you the options for which PBS relays to enable.",
Type: config.ParameterType_Choice,
Default: map[config.Network]interface{}{config.Network_All: PbsRelaySelectionMode_All},
AffectsContainers: []config.ContainerID{config.ContainerID_CommitBoost},
CanBeBlank: false,
OverwriteOnUpgrade: false,
Options: []config.ParameterOption{{
Name: "Use All Relays",
Description: "Use this if you simply want to enable all of the built-in relays without needing to read about each individual relay. If new relays get added, you'll automatically start using those too.\n\nNote that all of the built-in relays support regional sanction lists (such as the US OFAC list) and are compliant with regulations.",
Description: "Use this if you simply want to enable all of the built-in relays without needing to read about each individual relay. If new relays get added, you'll automatically start using those too.",
Value: PbsRelaySelectionMode_All,
}, {
Name: "Manual Mode",
Expand All @@ -132,6 +138,8 @@ func NewCommitBoostConfig(cfg *RocketPoolConfig) *CommitBoostConfig {

FlashbotsRelay: generateCbRelayParameter("cbFlashbotsEnabled", relayMap[config.MevRelayID_Flashbots]),
BloxRouteRegulatedRelay: generateCbRelayParameter("cbBloxRouteRegulatedEnabled", relayMap[config.MevRelayID_BloxrouteRegulated]),
AestusRelay: generateCbRelayParameter("cbAestusEnabled", relayMap[config.MevRelayID_Aestus]),
TitanGlobalRelay: generateCbRelayParameter("cbTitanGlobalEnabled", relayMap[config.MevRelayID_TitanGlobal]),
TitanRegionalRelay: generateCbRelayParameter("cbTitanRegionalEnabled", relayMap[config.MevRelayID_TitanRegional]),
UltrasoundFilteredRelay: generateCbRelayParameter("cbUltrasoundFilteredEnabled", relayMap[config.MevRelayID_UltrasoundFiltered]),
BtcsOfacRelay: generateCbRelayParameter("cbBtcsOfacEnabled", relayMap[config.MevRelayID_BTCSOfac]),
Expand Down Expand Up @@ -203,6 +211,8 @@ func (cfg *CommitBoostConfig) GetParameters() []*config.Parameter {
&cfg.RelaySelectionMode,
&cfg.FlashbotsRelay,
&cfg.BloxRouteRegulatedRelay,
&cfg.AestusRelay,
&cfg.TitanGlobalRelay,
&cfg.TitanRegionalRelay,
&cfg.UltrasoundFilteredRelay,
&cfg.BtcsOfacRelay,
Expand Down Expand Up @@ -290,6 +300,8 @@ func (cfg *CommitBoostConfig) getEnabledRelays() []config.MevRelay {
case PbsRelaySelectionMode_Manual:
relays = cfg.maybeAddRelay(relays, cfg.FlashbotsRelay, config.MevRelayID_Flashbots, currentNetwork)
relays = cfg.maybeAddRelay(relays, cfg.BloxRouteRegulatedRelay, config.MevRelayID_BloxrouteRegulated, currentNetwork)
relays = cfg.maybeAddRelay(relays, cfg.AestusRelay, config.MevRelayID_Aestus, currentNetwork)
relays = cfg.maybeAddRelay(relays, cfg.TitanGlobalRelay, config.MevRelayID_TitanGlobal, currentNetwork)
relays = cfg.maybeAddRelay(relays, cfg.TitanRegionalRelay, config.MevRelayID_TitanRegional, currentNetwork)
relays = cfg.maybeAddRelay(relays, cfg.UltrasoundFilteredRelay, config.MevRelayID_UltrasoundFiltered, currentNetwork)
relays = cfg.maybeAddRelay(relays, cfg.BtcsOfacRelay, config.MevRelayID_BTCSOfac, currentNetwork)
Expand Down Expand Up @@ -349,6 +361,17 @@ func (cfg *CommitBoostConfig) GetContainerTag() string {

// Create the default Commit-Boost PBS relays. URLs come from the loaded network YAML.
func createCommitBoostRelays(networks *NetworksConfig) []config.MevRelay {
// Keep the production relay catalog unchanged while adding Hoodi's relays.
hoodiRelayUrls := func(id config.MevRelayID) config.UrlMap {
urls := relayUrlMap(networks, id)
for network := range urls {
if networks.GetNetwork(network).BeaconNetwork != "hoodi" {
delete(urls, network)
}
}
return urls
}

return []config.MevRelay{
{
ID: config.MevRelayID_Flashbots,
Expand All @@ -364,6 +387,20 @@ func createCommitBoostRelays(networks *NetworksConfig) []config.MevRelay {
Urls: relayUrlMap(networks, config.MevRelayID_BloxrouteRegulated),
Regulated: true,
},
{
ID: config.MevRelayID_Aestus,
Name: "Aestus",
Description: "The Aestus MEV-Boost Relay is an independent and non-censoring relay. It is committed to neutrality and the development of a healthy MEV-Boost ecosystem.",
Urls: hoodiRelayUrls(config.MevRelayID_Aestus),
Regulated: false,
},
{
ID: config.MevRelayID_TitanGlobal,
Name: "Titan Global (non-filtering)",
Description: "Titan Relay is a neutral, Rust-based PBS Relay optimized for low latency throughput, geographical distribution, and robustness. This is the non-filtering version.",
Urls: hoodiRelayUrls(config.MevRelayID_TitanGlobal),
Regulated: false,
},
{
ID: config.MevRelayID_TitanRegional,
Name: "Titan Regional",
Expand Down Expand Up @@ -391,7 +428,9 @@ func createCommitBoostRelays(networks *NetworksConfig) []config.MevRelay {
// Generate one of the relay parameters for Commit-Boost
func generateCbRelayParameter(id string, relay config.MevRelay) config.Parameter {
description := fmt.Sprintf("[lime]NOTE: You can enable multiple options.\n\n[white]%s\n\n", relay.Description)
description += "Complies with Regulations: YES\n"
if relay.Regulated {
description += "Complies with Regulations: YES\n"
}

return config.Parameter{
ID: id,
Expand Down
10 changes: 4 additions & 6 deletions shared/services/rocketpool/assets/install/networks-default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ networks:
beaconNetwork: hoodi
commitBoostChainName: Hoodi
clientTagSet: test
supportsMevBoost: false
supportsMevBoost: true
allowNonBlsWithdrawalCredentials: false
isProduction: false
nethermindPruneThresholdMb: 51200
Expand All @@ -109,12 +109,10 @@ networks:
startInterval: 0
consensusBonusCutoffInterval: 140
mevRelays:
flashbots: https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-hoodi.flashbots.net?id=rocketpool
ultrasound: https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-hoodi.ultrasound.money?id=rocketpool
ultrasoundFiltered: https://0xb1559beef7b5ba3127485bbbb090362d9f497ba64e177ee2c8e7db74746306efad687f2cf8574e38d70067d40ef136dc@relay-filtered-hoodi.ultrasound.money?id=rocketpool
aestus: https://0x98f0ef62f00780cf8eb06701a7d22725b9437d4768bb19b363e882ae87129945ec206ec2dc16933f31d983f8225772b6@hoodi.aestus.live?id=rocketpool
flashbots: https://0xafa4c6985aa049fb79dd37010438cfebeb0f2bd42b115b89dd678dab0670c1de38da0c4e9138c9290a398ecd9a0b3110@boost-relay-hoodi.flashbots.net
bloxrouteRegulated: https://0x821f2a65afb70e7f2e820a925a9b4c80a159620582c1766b1b09729fec178b11ea22abb3a51f07b288be815a1a2ff516@bloxroute.hoodi.blxrbdn.com
aestus: https://0x98f0ef62f00780cf8eb06701a7d22725b9437d4768bb19b363e882ae87129945ec206ec2dc16933f31d983f8225772b6@hoodi.aestus.live
titanGlobal: https://0xaa58208899c6105603b74396734a6263cc7d947f444f396a90f7b7d3e65d102aec7e5e5291b27e08d02c50a050825c2f@hoodi.titanrelay.xyz
titanRegional: https://0xaa58208899c6105603b74396734a6263cc7d947f444f396a90f7b7d3e65d102aec7e5e5291b27e08d02c50a050825c2f@hoodi.titanrelay.xyz
addresses:
storage: "0x594Fb75D3dc2DFa0150Ad03F99F97817747dd4E1"
rocketSignerRegistry: "0xE3FbfaD4A11777E6271921E7EC1A5a1345684F4E"
Expand Down
Loading