pbs

package
v1.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 11, 2025 License: AGPL-3.0 Imports: 5 Imported by: 3

Documentation

Index

Constants

View Source
const (
	CommitBoostConfigFile string = "cb_config.toml"
)

Constants

View Source
const (
	ContainerID_Pbs config.ContainerID = "pbs"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CommitBoostPbsConfig

type CommitBoostPbsConfig struct {
	// The Docker Hub tag for Commit-Boost PBS
	ContainerTag config.Parameter[string]

	// Custom command line flags
	AdditionalFlags config.Parameter[string]
}

Configuration for Commit-Boost's PBS service

func NewCommitBoostPbsConfig

func NewCommitBoostPbsConfig() *CommitBoostPbsConfig

Generates a new Commit-Boost PBS service configuration

func (*CommitBoostPbsConfig) GetChainName

func (cfg *CommitBoostPbsConfig) GetChainName(ethNetworkName string) (string, error)

Get the chain name for the Commit-Boost config file

func (*CommitBoostPbsConfig) GetCommitBoostConfigFilename

func (cfg *CommitBoostPbsConfig) GetCommitBoostConfigFilename() string

Get the filename for the Commit-Boost PBS config

func (*CommitBoostPbsConfig) GetParameters

func (cfg *CommitBoostPbsConfig) GetParameters() []config.IParameter

Get the Parameters for this config

func (*CommitBoostPbsConfig) GetSubconfigs

func (cfg *CommitBoostPbsConfig) GetSubconfigs() map[string]config.IConfigSection

Get the sections underneath this one

func (*CommitBoostPbsConfig) GetTitle

func (cfg *CommitBoostPbsConfig) GetTitle() string

The title for the config

type ExternalPbsClientConfig

type ExternalPbsClientConfig struct {
	// The URL of an external MEV-Boost client
	ExternalUrl config.Parameter[string]
}

Configuration for locally managed PBS services

func NewExternalPbsServiceConfig

func NewExternalPbsServiceConfig() *ExternalPbsClientConfig

Generates a new external PBS service configuration

func (*ExternalPbsClientConfig) GetParameters

func (cfg *ExternalPbsClientConfig) GetParameters() []config.IParameter

Get the Parameters for this config

func (*ExternalPbsClientConfig) GetSubconfigs

func (cfg *ExternalPbsClientConfig) GetSubconfigs() map[string]config.IConfigSection

Get the sections underneath this one

func (*ExternalPbsClientConfig) GetTitle

func (cfg *ExternalPbsClientConfig) GetTitle() string

The title for the config

type LocalPbsClientConfig

type LocalPbsClientConfig struct {
	// The PBS client to use
	Client config.Parameter[PbsClient]

	// The mode for relay selection
	RelaySelectionMode config.Parameter[PbsRelaySelectionMode]

	// Flashbots relay
	FlashbotsRelay config.Parameter[bool]

	// bloXroute max profit relay
	BloxRouteMaxProfitRelay config.Parameter[bool]

	// bloXroute regulated relay
	BloxRouteRegulatedRelay config.Parameter[bool]

	// Titan regional relay
	TitanRegionalRelay config.Parameter[bool]

	// Custom relays provided by the user
	CustomRelays config.Parameter[string]

	// The RPC port
	Port config.Parameter[uint16]

	// Toggle for forwarding the HTTP port outside of Docker
	OpenRpcPort config.Parameter[config.RpcPortMode]

	CommitBoostPbsConfig *CommitBoostPbsConfig

	MevBoostConfig *MevBoostConfig
	// contains filtered or unexported fields
}

Configuration for locally managed PBS services

func NewLocalPbsServiceConfig

func NewLocalPbsServiceConfig() *LocalPbsClientConfig

Generates a new local PBS service configuration

func (*LocalPbsClientConfig) GetAdditionalFlags

func (cfg *LocalPbsClientConfig) GetAdditionalFlags() string

Get the additional flags for the currently selected PBS client

func (*LocalPbsClientConfig) GetAvailableRelays

func (cfg *LocalPbsClientConfig) GetAvailableRelays(networkName string) []PbsRelay

Get the relays that are available for the current network

func (*LocalPbsClientConfig) GetContainerTag

func (cfg *LocalPbsClientConfig) GetContainerTag() string

Get the container tag for the currently selected PBS client

func (*LocalPbsClientConfig) GetEnabledPbsRelays

func (cfg *LocalPbsClientConfig) GetEnabledPbsRelays(networkName string) []PbsRelay

Get which PBS relays are enabled

func (*LocalPbsClientConfig) GetOpenPorts

func (cfg *LocalPbsClientConfig) GetOpenPorts() string

Used by text/template to format pbs.yml

func (*LocalPbsClientConfig) GetParameters

func (cfg *LocalPbsClientConfig) GetParameters() []config.IParameter

Get the Parameters for this config

func (*LocalPbsClientConfig) GetRelayString

func (cfg *LocalPbsClientConfig) GetRelayString(networkName string) string

func (*LocalPbsClientConfig) GetSubconfigs

func (cfg *LocalPbsClientConfig) GetSubconfigs() map[string]config.IConfigSection

Get the sections underneath this one

func (*LocalPbsClientConfig) GetTitle

func (cfg *LocalPbsClientConfig) GetTitle() string

The title for the config

func (*LocalPbsClientConfig) HasRelays

func (cfg *LocalPbsClientConfig) HasRelays(networkName string) bool

Checks if any relays are available for the current network

type MevBoostConfig

type MevBoostConfig struct {
	// The Docker Hub tag for MEV-Boost
	ContainerTag config.Parameter[string]

	// Custom command line flags
	AdditionalFlags config.Parameter[string]
}

Configuration for MEV-Boost

func NewMevBoostConfig

func NewMevBoostConfig() *MevBoostConfig

Generates a new MEV-Boost configuration

func (*MevBoostConfig) GetParameters

func (cfg *MevBoostConfig) GetParameters() []config.IParameter

Get the Parameters for this config

func (*MevBoostConfig) GetSubconfigs

func (cfg *MevBoostConfig) GetSubconfigs() map[string]config.IConfigSection

Get the sections underneath this one

func (*MevBoostConfig) GetTitle

func (cfg *MevBoostConfig) GetTitle() string

The title for the config

type PbsClient

type PbsClient string
const (
	PbsClient_CommitBoost PbsClient = "commitBoost"
	PbsClient_MevBoost    PbsClient = "mevBoost"
)

Enum to identify PBS clients

type PbsConfig

type PbsConfig struct {
	// Toggle to enable / disable
	Enable config.Parameter[bool]

	// Ownership mode
	Mode config.Parameter[config.ClientMode]

	// Local PBS client configuration
	LocalPbsClientConfig *LocalPbsClientConfig

	// External PBS client configuration
	ExternalPbsClientConfig *ExternalPbsClientConfig
}

Configuration for PBS clients

func NewPbsConfig

func NewPbsConfig() *PbsConfig

Generates a new PBS configuration

func (*PbsConfig) GetParameters

func (cfg *PbsConfig) GetParameters() []config.IParameter

Get the Parameters for this config

func (*PbsConfig) GetSubconfigs

func (cfg *PbsConfig) GetSubconfigs() map[string]config.IConfigSection

Get the sections underneath this one

func (*PbsConfig) GetTitle

func (cfg *PbsConfig) GetTitle() string

The title for the config

type PbsRelay

type PbsRelay struct {
	ID          PbsRelayID
	Name        string
	Description string
	Urls        map[string]string
}

A MEV relay

type PbsRelayID

type PbsRelayID string
const (
	MevRelayID_Unknown            PbsRelayID = ""
	PbsRelayID_Flashbots          PbsRelayID = "flashbots"
	PbsRelayID_BloxrouteMaxProfit PbsRelayID = "bloxrouteMaxProfit"
	PbsRelayID_BloxrouteRegulated PbsRelayID = "bloxrouteRegulated"
	PbsRelayID_TitanRegional      PbsRelayID = "titanRegional"
)

Enum to identify MEV-boost relays

type PbsRelaySelectionMode

type PbsRelaySelectionMode string
const (
	PbsRelaySelectionMode_All    PbsRelaySelectionMode = "all"
	PbsRelaySelectionMode_Manual PbsRelaySelectionMode = "manual"
)

Enum to describe PBS relay selection mode

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL