config

package
v1.6.3 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2022 License: GPL-3.0 Imports: 22 Imported by: 3

Documentation

Index

Constants

View Source
const (
	ApiContainerName          string = "api"
	Eth1ContainerName         string = "eth1"
	Eth1FallbackContainerName string = "eth1-fallback"
	Eth2ContainerName         string = "eth2"
	ExporterContainerName     string = "exporter"
	GrafanaContainerName      string = "grafana"
	MevBoostContainerName     string = "mev-boost"
	NodeContainerName         string = "node"
	PrometheusContainerName   string = "prometheus"
	ValidatorContainerName    string = "validator"
	WatchtowerContainerName   string = "watchtower"

	FeeRecipientFileEnvVar string = "FEE_RECIPIENT_FILE"
	FeeRecipientEnvVar     string = "FEE_RECIPIENT"
)

Constants

View Source
const (
	NetworkID                          string = "network"
	ProjectNameID                      string = "projectName"
	SnapshotID                         string = "rocketpool-dao.eth"
	RewardsTreeFilenameFormat          string = "rp-rewards-%s-%d.json"
	MinipoolPerformanceFilenameFormat  string = "rp-minipool-performance-%s-%d.json"
	RewardsTreeIpfsExtension           string = ".zst"
	RewardsTreesFolder                 string = "rewards-trees"
	DaemonDataPath                     string = "/.rocketpool/data"
	WatchtowerFolder                   string = "watchtower"
	WatchtowerStateFile                string = "state.yml"
	RegenerateRewardsTreeRequestSuffix string = ".request"
	RegenerateRewardsTreeRequestFormat string = "%d" + RegenerateRewardsTreeRequestSuffix
	PrimaryRewardsFileUrl              string = "https://%s.ipfs.dweb.link/%s"
	SecondaryRewardsFileUrl            string = "https://ipfs.io/ipfs/%s/%s"
	FeeRecipientFilename               string = "rp-fee-recipient.txt"
	NativeFeeRecipientFilename         string = "rp-fee-recipient-env.txt"
)

Constants

View Source
const ApiPortID string = "apiPort"
View Source
const CheckpointSyncUrlID string = "checkpointSyncUrl"
View Source
const CustomGraffitiEnvVar string = "CUSTOM_GRAFFITI"

Env var names

View Source
const DoppelgangerDetectionID string = "doppelgangerDetection"
View Source
const GraffitiID string = "graffiti"

Param IDs

View Source
const OpenApiPortID string = "openApiPort"
View Source
const P2pPortID string = "p2pPort"

Variables

This section is empty.

Functions

func ValidateDefaults added in v1.0.0

func ValidateDefaults(Chain Chain, ChainName string) error

Make sure the default parameter values can be parsed into the parameter types

func ValidateMetricDefaults added in v1.0.0

func ValidateMetricDefaults(Params []ClientParam) error

Make sure the default parameter values for the metrics section can be parsed into the parameter types

Types

type BesuConfig added in v1.4.0

type BesuConfig struct {
	Title string `yaml:"-"`

	// Common parameters that Besu doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Compatible consensus clients
	CompatibleConsensusClients []config.ConsensusClient `yaml:"-"`

	// Max number of P2P peers to connect to
	JvmHeapSize config.Parameter `yaml:"jvmHeapSize,omitempty"`

	// The max number of events to query in a single event log query
	EventLogInterval int `yaml:"-"`

	// Max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Historical state block regeneration limit
	MaxBackLayers config.Parameter `yaml:"maxBackLayers,omitempty"`

	// The Docker Hub tag for Besu
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Besu

func NewBesuConfig added in v1.4.0

func NewBesuConfig(cfg *RocketPoolConfig) *BesuConfig

Generates a new Besu configuration

func (*BesuConfig) GetConfigTitle added in v1.4.0

func (cfg *BesuConfig) GetConfigTitle() string

The the title for the config

func (*BesuConfig) GetParameters added in v1.4.0

func (cfg *BesuConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type BitflyNodeMetricsConfig added in v1.4.0

type BitflyNodeMetricsConfig struct {
	Title string `yaml:"-"`

	Secret config.Parameter `yaml:"secret,omitempty"`

	Endpoint config.Parameter `yaml:"endpoint,omitempty"`

	MachineName config.Parameter `yaml:"machineName,omitempty"`
}

Configuration for Bitfly Node Metrics

func NewBitflyNodeMetricsConfig added in v1.4.0

func NewBitflyNodeMetricsConfig(cfg *RocketPoolConfig) *BitflyNodeMetricsConfig

Generates a new Bitfly Node Metrics config

func (*BitflyNodeMetricsConfig) GetConfigTitle added in v1.4.0

func (cfg *BitflyNodeMetricsConfig) GetConfigTitle() string

The the title for the config

func (*BitflyNodeMetricsConfig) GetParameters added in v1.4.0

func (cfg *BitflyNodeMetricsConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type Chain

type Chain struct {
	Provider           string `yaml:"provider,omitempty"`
	WsProvider         string `yaml:"wsProvider,omitempty"`
	FallbackProvider   string `yaml:"fallbackProvider,omitempty"`
	FallbackWsProvider string `yaml:"fallbackWsProvider,omitempty"`
	ReconnectDelay     string `yaml:"reconnectDelay,omitempty"`
	PruneProvisioner   string `yaml:"pruneProvisioner,omitempty"`
	ChainID            string `yaml:"chainID,omitempty"`
	Client             struct {
		Options  []ClientOption `yaml:"options,omitempty"`
		Selected string         `yaml:"selected,omitempty"`
		Params   []UserParam    `yaml:"params,omitempty"`
	} `yaml:"client,omitempty"`
}

func (*Chain) GetClientById added in v1.0.0

func (chain *Chain) GetClientById(id string) *ClientOption

Get a client by it's ID

func (*Chain) GetSelectedClient

func (chain *Chain) GetSelectedClient() *ClientOption

type ClientOption

type ClientOption struct {
	ID                    string        `yaml:"id,omitempty"`
	Name                  string        `yaml:"name,omitempty"`
	Desc                  string        `yaml:"desc,omitempty"`
	Image                 string        `yaml:"image,omitempty"`
	BeaconImage           string        `yaml:"beaconImage,omitempty"`
	ValidatorImage        string        `yaml:"validatorImage,omitempty"`
	Link                  string        `yaml:"link,omitempty"`
	CompatibleEth2Clients string        `yaml:"compatibleEth2Clients,omitempty"`
	EventLogInterval      string        `yaml:"eventLogInterval,omitempty"`
	Supermajority         bool          `yaml:"supermajority,omitempty"`
	Params                []ClientParam `yaml:"params,omitempty"`
	Fallback              bool          `yaml:"fallback,omitempty"`
}

func (*ClientOption) GetBeaconImage

func (client *ClientOption) GetBeaconImage() string

Get the beacon & validator images for a client

func (*ClientOption) GetParamByEnvName added in v1.0.0

func (client *ClientOption) GetParamByEnvName(env string) *ClientParam

Get a client parameter by its environment variable name

func (*ClientOption) GetValidatorImage

func (client *ClientOption) GetValidatorImage() string

type ClientParam

type ClientParam struct {
	Name      string `yaml:"name,omitempty"`
	Desc      string `yaml:"desc,omitempty"`
	Env       string `yaml:"env,omitempty"`
	Required  bool   `yaml:"required,omitempty"`
	Regex     string `yaml:"regex,omitempty"`
	Type      string `yaml:"type,omitempty"`
	Default   string `yaml:"default,omitempty"`
	Max       string `yaml:"max,omitempty"`
	BlankText string `yaml:"blankText,omitempty"`
	Advanced  bool   `yaml:"advanced,omitempty"`
}

type ConsensusCommonConfig added in v1.3.0

type ConsensusCommonConfig struct {
	Title string `yaml:"-"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// The checkpoint sync URL if used
	CheckpointSyncProvider config.Parameter `yaml:"checkpointSyncProvider,omitempty"`

	// The port to use for gossip traffic
	P2pPort config.Parameter `yaml:"p2pPort,omitempty"`

	// The port to expose the HTTP API on
	ApiPort config.Parameter `yaml:"apiPort,omitempty"`

	// Toggle for forwarding the HTTP API port outside of Docker
	OpenApiPort config.Parameter `yaml:"openApiPort,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`
}

Common parameters shared by all of the Beacon Clients

func NewConsensusCommonConfig added in v1.3.0

func NewConsensusCommonConfig(cfg *RocketPoolConfig) *ConsensusCommonConfig

Create a new ConsensusCommonParams struct

func (*ConsensusCommonConfig) GetConfigTitle added in v1.3.0

func (cfg *ConsensusCommonConfig) GetConfigTitle() string

The the title for the config

func (*ConsensusCommonConfig) GetParameters added in v1.3.0

func (cfg *ConsensusCommonConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ExecutionCommonConfig added in v1.3.0

type ExecutionCommonConfig struct {
	Title string `yaml:"-"`

	// The HTTP API port
	HttpPort config.Parameter `yaml:"httpPort,omitempty"`

	// The Websocket API port
	WsPort config.Parameter `yaml:"wsPort,omitempty"`

	// The Engine API port
	EnginePort config.Parameter `yaml:"enginePort,omitempty"`

	// Toggle for forwarding the HTTP and Websocket API ports outside of Docker
	OpenRpcPorts config.Parameter `yaml:"openRpcPorts,omitempty"`

	// P2P traffic port
	P2pPort config.Parameter `yaml:"p2pPort,omitempty"`

	// Label for Ethstats
	EthstatsLabel config.Parameter `yaml:"ethstatsLabel,omitempty"`

	// Login info for Ethstats
	EthstatsLogin config.Parameter `yaml:"ethstatsLogin,omitempty"`
}

Configuration for the Execution client

func NewExecutionCommonConfig added in v1.3.0

func NewExecutionCommonConfig(cfg *RocketPoolConfig) *ExecutionCommonConfig

Create a new ExecutionCommonConfig struct

func (*ExecutionCommonConfig) GetConfigTitle added in v1.3.0

func (cfg *ExecutionCommonConfig) GetConfigTitle() string

The the title for the config

func (*ExecutionCommonConfig) GetParameters added in v1.3.0

func (cfg *ExecutionCommonConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ExporterConfig added in v1.3.0

type ExporterConfig struct {
	Title string `yaml:"-"`

	// Toggle for enabling access to the root filesystem (for multiple disk usage metrics)
	RootFs config.Parameter `yaml:"rootFs,omitempty"`

	// The Docker Hub tag for Prometheus
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Exporter

func NewExporterConfig added in v1.3.0

func NewExporterConfig(cfg *RocketPoolConfig) *ExporterConfig

Generates a new Exporter config

func (*ExporterConfig) GetConfigTitle added in v1.3.0

func (cfg *ExporterConfig) GetConfigTitle() string

The the title for the config

func (*ExporterConfig) GetParameters added in v1.3.0

func (cfg *ExporterConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ExternalExecutionConfig added in v1.3.0

type ExternalExecutionConfig struct {
	Title string `yaml:"-"`

	// The URL of the HTTP endpoint
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// The URL of the websocket endpoint
	WsUrl config.Parameter `yaml:"wsUrl,omitempty"`
}

Configuration for external Execution clients

func NewExternalExecutionConfig added in v1.3.0

func NewExternalExecutionConfig(cfg *RocketPoolConfig) *ExternalExecutionConfig

Generates a new ExternalExecutionConfig configuration

func (*ExternalExecutionConfig) GetConfigTitle added in v1.3.0

func (cfg *ExternalExecutionConfig) GetConfigTitle() string

The the title for the config

func (*ExternalExecutionConfig) GetParameters added in v1.3.0

func (cfg *ExternalExecutionConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type ExternalLighthouseConfig added in v1.3.0

type ExternalLighthouseConfig struct {
	Title string `yaml:"-"`

	// The URL of the HTTP endpoint
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`

	// The Docker Hub tag for Lighthouse
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for external Consensus clients

func NewExternalLighthouseConfig added in v1.3.0

func NewExternalLighthouseConfig(cfg *RocketPoolConfig) *ExternalLighthouseConfig

Generates a new ExternalLighthouseClient configuration

func (*ExternalLighthouseConfig) GetApiUrl added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetApiUrl() string

Get the API url from the config

func (*ExternalLighthouseConfig) GetConfigTitle added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetConfigTitle() string

The the title for the config

func (*ExternalLighthouseConfig) GetName added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetName() string

Get the name of the client

func (*ExternalLighthouseConfig) GetParameters added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*ExternalLighthouseConfig) GetValidatorImage added in v1.3.0

func (cfg *ExternalLighthouseConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type ExternalPrysmConfig added in v1.3.0

type ExternalPrysmConfig struct {
	Title string `yaml:"-"`

	// The URL of the gRPC (REST) endpoint for the Beacon API
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// Toggle for enabling doppelganger detection
	DoppelgangerDetection config.Parameter `yaml:"doppelgangerDetection,omitempty"`

	// The URL of the JSON-RPC endpoint for the Validator client
	JsonRpcUrl config.Parameter `yaml:"jsonRpcUrl,omitempty"`

	// The Docker Hub tag for Prysm's VC
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for an external Prysm clients

func NewExternalPrysmConfig added in v1.3.0

func NewExternalPrysmConfig(cfg *RocketPoolConfig) *ExternalPrysmConfig

Generates a new ExternalPrysmConfig configuration

func (*ExternalPrysmConfig) GetApiUrl added in v1.3.0

func (cfg *ExternalPrysmConfig) GetApiUrl() string

Get the API url from the config

func (*ExternalPrysmConfig) GetConfigTitle added in v1.3.0

func (cfg *ExternalPrysmConfig) GetConfigTitle() string

The the title for the config

func (*ExternalPrysmConfig) GetName added in v1.3.0

func (cfg *ExternalPrysmConfig) GetName() string

Get the name of the client

func (*ExternalPrysmConfig) GetParameters added in v1.3.0

func (cfg *ExternalPrysmConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*ExternalPrysmConfig) GetValidatorImage added in v1.3.0

func (cfg *ExternalPrysmConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type ExternalTekuConfig added in v1.3.0

type ExternalTekuConfig struct {
	Title string `yaml:"-"`

	// The URL of the HTTP endpoint
	HttpUrl config.Parameter `yaml:"httpUrl,omitempty"`

	// Custom proposal graffiti
	Graffiti config.Parameter `yaml:"graffiti,omitempty"`

	// The Docker Hub tag for Teku
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for an external Teku client

func NewExternalTekuConfig added in v1.3.0

func NewExternalTekuConfig(cfg *RocketPoolConfig) *ExternalTekuConfig

Generates a new ExternalTekuClient configuration

func (*ExternalTekuConfig) GetApiUrl added in v1.3.0

func (cfg *ExternalTekuConfig) GetApiUrl() string

Get the API url from the config

func (*ExternalTekuConfig) GetConfigTitle added in v1.3.0

func (cfg *ExternalTekuConfig) GetConfigTitle() string

The the title for the config

func (*ExternalTekuConfig) GetName added in v1.3.0

func (cfg *ExternalTekuConfig) GetName() string

Get the name of the client

func (*ExternalTekuConfig) GetParameters added in v1.3.0

func (cfg *ExternalTekuConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*ExternalTekuConfig) GetValidatorImage added in v1.3.0

func (cfg *ExternalTekuConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type FallbackNormalConfig added in v1.5.0

type FallbackNormalConfig struct {
	Title string `yaml:"-"`

	// The URL of the Execution Client HTTP endpoint
	EcHttpUrl config.Parameter `yaml:"ecHttpUrl,omitempty"`

	// The URL of the Beacon Node HTTP endpoint
	CcHttpUrl config.Parameter `yaml:"ccHttpUrl,omitempty"`
}

Configuration for fallback Lighthouse

func NewFallbackNormalConfig added in v1.5.0

func NewFallbackNormalConfig(cfg *RocketPoolConfig) *FallbackNormalConfig

Generates a new FallbackNormalConfig configuration

func (*FallbackNormalConfig) GetConfigTitle added in v1.5.0

func (config *FallbackNormalConfig) GetConfigTitle() string

The the title for the config

func (*FallbackNormalConfig) GetParameters added in v1.5.0

func (cfg *FallbackNormalConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

type FallbackPrysmConfig added in v1.5.0

type FallbackPrysmConfig struct {
	Title string `yaml:"-"`

	// The URL of the Execution Client HTTP endpoint
	EcHttpUrl config.Parameter `yaml:"ecHttpUrl,omitempty"`

	// The URL of the Beacon Node HTTP endpoint
	CcHttpUrl config.Parameter `yaml:"ccHttpUrl,omitempty"`

	// The URL of the JSON-RPC endpoint for the Validator client
	JsonRpcUrl config.Parameter `yaml:"jsonRpcUrl,omitempty"`
}

Configuration for fallback Prysm

func NewFallbackPrysmConfig added in v1.5.0

func NewFallbackPrysmConfig(cfg *RocketPoolConfig) *FallbackPrysmConfig

Generates a new FallbackPrysmConfig configuration

func (*FallbackPrysmConfig) GetConfigTitle added in v1.5.0

func (config *FallbackPrysmConfig) GetConfigTitle() string

The the title for the config

func (*FallbackPrysmConfig) GetParameters added in v1.5.0

func (cfg *FallbackPrysmConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

type GethConfig added in v1.3.0

type GethConfig struct {
	Title string `yaml:"-"`

	// Common config.Parameters that Geth doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Compatible consensus clients
	CompatibleConsensusClients []config.ConsensusClient `yaml:"-"`

	// The max number of events to query in a single event log query
	EventLogInterval int `yaml:"-"`

	// Size of Geth's Cache
	CacheSize config.Parameter `yaml:"cacheSize,omitempty"`

	// Max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// The Docker Hub tag for Geth
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Geth

func NewGethConfig added in v1.3.0

func NewGethConfig(cfg *RocketPoolConfig) *GethConfig

Generates a new Geth configuration

func (*GethConfig) GetConfigTitle added in v1.3.0

func (cfg *GethConfig) GetConfigTitle() string

The the title for the config

func (*GethConfig) GetParameters added in v1.3.0

func (cfg *GethConfig) GetParameters() []*config.Parameter

Get the config.Parameters for this config

type GrafanaConfig added in v1.3.0

type GrafanaConfig struct {
	Title string `yaml:"-"`

	// The HTTP port to serve on
	Port config.Parameter `yaml:"port,omitempty"`

	// The Docker Hub tag for Grafana
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`
}

Configuration for Grafana

func NewGrafanaConfig added in v1.3.0

func NewGrafanaConfig(cfg *RocketPoolConfig) *GrafanaConfig

Generates a new Grafana config

func (*GrafanaConfig) GetConfigTitle added in v1.3.0

func (cfg *GrafanaConfig) GetConfigTitle() string

The the title for the config

func (*GrafanaConfig) GetParameters added in v1.3.0

func (cfg *GrafanaConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type LegacyRocketPoolConfig added in v1.3.0

type LegacyRocketPoolConfig struct {
	Rocketpool struct {
		StorageAddress       string `yaml:"storageAddress,omitempty"`
		OneInchOracleAddress string `yaml:"oneInchOracleAddress,omitempty"`
		RplTokenAddress      string `yaml:"rplTokenAddress,omitempty"`
		RPLFaucetAddress     string `yaml:"rplFaucetAddress,omitempty"`
	} `yaml:"rocketpool,omitempty"`
	Smartnode struct {
		ProjectName               string  `yaml:"projectName,omitempty"`
		GraffitiVersion           string  `yaml:"graffitiVersion,omitempty"`
		Image                     string  `yaml:"image,omitempty"`
		PasswordPath              string  `yaml:"passwordPath,omitempty"`
		WalletPath                string  `yaml:"walletPath,omitempty"`
		ValidatorKeychainPath     string  `yaml:"validatorKeychainPath,omitempty"`
		ValidatorRestartCommand   string  `yaml:"validatorRestartCommand,omitempty"`
		MaxFee                    float64 `yaml:"maxFee,omitempty"`
		MaxPriorityFee            float64 `yaml:"maxPriorityFee,omitempty"`
		GasLimit                  uint64  `yaml:"gasLimit,omitempty"`
		RplClaimGasThreshold      float64 `yaml:"rplClaimGasThreshold,omitempty"`
		MinipoolStakeGasThreshold float64 `yaml:"minipoolStakeGasThreshold,omitempty"`
		TxWatchUrl                string  `yaml:"txWatchUrl,omitempty"`
		StakeUrl                  string  `yaml:"stakeUrl,omitempty"`
	} `yaml:"smartnode,omitempty"`
	Chains struct {
		Eth1         Chain `yaml:"eth1,omitempty"`
		Eth1Fallback Chain `yaml:"eth1Fallback,omitempty"`
		Eth2         Chain `yaml:"eth2,omitempty"`
	} `yaml:"chains,omitempty"`
	Metrics Metrics `yaml:"metrics,omitempty"`
}

Rocket Pool config

func Load

Load merged config from files

func Merge

Merge configs

func Parse

func Parse(bytes []byte) (LegacyRocketPoolConfig, error)

Parse a config from yaml bytes

func (*LegacyRocketPoolConfig) GetGasLimit added in v1.3.0

func (config *LegacyRocketPoolConfig) GetGasLimit() (uint64, error)

Parse and return the gas limit

func (*LegacyRocketPoolConfig) GetMaxFee added in v1.3.0

func (config *LegacyRocketPoolConfig) GetMaxFee() (*big.Int, error)

Parse and return the max fee in wei

func (*LegacyRocketPoolConfig) GetMaxPriorityFee added in v1.3.0

func (config *LegacyRocketPoolConfig) GetMaxPriorityFee() (*big.Int, error)

Parse and return the max priority fee in wei

func (*LegacyRocketPoolConfig) GetSelectedEth1Client added in v1.3.0

func (config *LegacyRocketPoolConfig) GetSelectedEth1Client() *ClientOption

Get the selected clients from a config

func (*LegacyRocketPoolConfig) GetSelectedEth1FallbackClient added in v1.3.0

func (config *LegacyRocketPoolConfig) GetSelectedEth1FallbackClient() *ClientOption

func (*LegacyRocketPoolConfig) GetSelectedEth2Client added in v1.3.0

func (config *LegacyRocketPoolConfig) GetSelectedEth2Client() *ClientOption

func (*LegacyRocketPoolConfig) Serialize added in v1.3.0

func (config *LegacyRocketPoolConfig) Serialize() ([]byte, error)

Serialize a config to yaml bytes

type LighthouseConfig added in v1.3.0

type LighthouseConfig struct {
	Title string `yaml:"-"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Common parameters that Lighthouse doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// The Docker Hub tag for Lighthouse
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the BN
	AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for Lighthouse

func NewLighthouseConfig added in v1.3.0

func NewLighthouseConfig(cfg *RocketPoolConfig) *LighthouseConfig

Generates a new Lighthouse configuration

func (*LighthouseConfig) GetConfigTitle added in v1.3.0

func (cfg *LighthouseConfig) GetConfigTitle() string

The the title for the config

func (*LighthouseConfig) GetName added in v1.3.0

func (cfg *LighthouseConfig) GetName() string

Get the name of the client

func (*LighthouseConfig) GetParameters added in v1.3.0

func (cfg *LighthouseConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*LighthouseConfig) GetUnsupportedCommonParams added in v1.3.0

func (cfg *LighthouseConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*LighthouseConfig) GetValidatorImage added in v1.3.0

func (cfg *LighthouseConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type Metrics added in v1.0.0

type Metrics struct {
	Enabled  bool          `yaml:"enabled,omitempty"`
	Params   []ClientParam `yaml:"params,omitempty"`
	Settings []UserParam   `yaml:"settings,omitempty"`
}

func (*Metrics) GetParamByEnvName added in v1.0.0

func (metrics *Metrics) GetParamByEnvName(env string) *ClientParam

Get a metrics parameter by its environment variable name

type MevBoostConfig added in v1.5.0

type MevBoostConfig struct {
	Title string `yaml:"-"`

	// Ownership mode
	Mode config.Parameter `yaml:"mode,omitempty"`

	// Flashbots relay
	FlashbotsRelay config.Parameter `yaml:"flashbotsEnabled,omitempty"`

	// bloXroute ethical relay
	BloxRouteEthicalRelay config.Parameter `yaml:"bloxRouteEthicalEnabled,omitempty"`

	// bloXroute max profit relay
	BloxRouteMaxProfitRelay config.Parameter `yaml:"bloxRouteMaxProfitEnabled,omitempty"`

	// bloXroute regulated relay
	BloxRouteRegulatedRelay config.Parameter `yaml:"bloxRouteRegulatedEnabled,omitempty"`

	// The RPC port
	Port config.Parameter `yaml:"port,omitempty"`

	// Toggle for forwarding the HTTP port outside of Docker
	OpenRpcPort config.Parameter `yaml:"openRpcPort,omitempty"`

	// The Docker Hub tag for MEV-Boost
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`

	// The URL of an external MEV-Boost client
	ExternalUrl config.Parameter `yaml:"externalUrl"`
	// contains filtered or unexported fields
}

Configuration for MEV-Boost

func NewMevBoostConfig added in v1.5.0

func NewMevBoostConfig(cfg *RocketPoolConfig) *MevBoostConfig

Generates a new MEV-Boost configuration

func (*MevBoostConfig) GetConfigTitle added in v1.5.0

func (config *MevBoostConfig) GetConfigTitle() string

The the title for the config

func (*MevBoostConfig) GetParameters added in v1.5.0

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

Get the config.Parameters for this config

type NativeConfig added in v1.3.0

type NativeConfig struct {
	Title string `yaml:"-"`

	// The URL of the EC HTTP endpoint
	EcHttpUrl config.Parameter `yaml:"ecHttpUrl,omitempty"`

	// The selected CC
	ConsensusClient config.Parameter `yaml:"consensusClient,omitempty"`

	// The URL of the CC HTTP endpoint
	CcHttpUrl config.Parameter `yaml:"ccHttpUrl,omitempty"`

	// The command for restarting the validator container in native mode
	ValidatorRestartCommand config.Parameter `yaml:"validatorRestartCommand,omitempty"`

	// The command for stopping the validator container in native mode
	ValidatorStopCommand config.Parameter `yaml:"validatorStopCommand,omitempty"`
}

Configuration for Native mode

func NewNativeConfig added in v1.3.0

func NewNativeConfig(cfg *RocketPoolConfig) *NativeConfig

Generates a new Smartnode configuration

func (*NativeConfig) GetConfigTitle added in v1.3.0

func (cfg *NativeConfig) GetConfigTitle() string

The the title for the config

func (*NativeConfig) GetParameters added in v1.3.0

func (cfg *NativeConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type NethermindConfig added in v1.4.0

type NethermindConfig struct {
	Title string `yaml:"-"`

	// Common parameters that Nethermind doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Compatible consensus clients
	CompatibleConsensusClients []config.ConsensusClient `yaml:"-"`

	// The max number of events to query in a single event log query
	EventLogInterval int `yaml:"-"`

	// Nethermind's cache memory hint
	CacheSize config.Parameter `yaml:"cacheSize,omitempty"`

	// Max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Nethermind's memory for pruning
	PruneMemSize config.Parameter `yaml:"pruneMemSize,omitempty"`

	// The Docker Hub tag for Nethermind
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Nethermind

func NewNethermindConfig added in v1.4.0

func NewNethermindConfig(cfg *RocketPoolConfig) *NethermindConfig

Generates a new Nethermind configuration

func (*NethermindConfig) GetConfigTitle added in v1.4.0

func (cfg *NethermindConfig) GetConfigTitle() string

The the title for the config

func (*NethermindConfig) GetParameters added in v1.4.0

func (cfg *NethermindConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type NimbusConfig added in v1.3.0

type NimbusConfig struct {
	Title string `yaml:"-"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// Common parameters that Nimbus doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// The Docker Hub tag for Nimbus
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for Nimbus
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Nimbus

func NewNimbusConfig added in v1.3.0

func NewNimbusConfig(cfg *RocketPoolConfig) *NimbusConfig

Generates a new Nimbus configuration

func (*NimbusConfig) GetConfigTitle added in v1.3.0

func (cfg *NimbusConfig) GetConfigTitle() string

The the title for the config

func (*NimbusConfig) GetName added in v1.3.0

func (cfg *NimbusConfig) GetName() string

Get the name of the client

func (*NimbusConfig) GetParameters added in v1.3.0

func (cfg *NimbusConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*NimbusConfig) GetUnsupportedCommonParams added in v1.3.0

func (cfg *NimbusConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*NimbusConfig) GetValidatorImage added in v1.3.0

func (cfg *NimbusConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type PrometheusConfig added in v1.3.0

type PrometheusConfig struct {
	Title string `yaml:"-"`

	// The port to serve metrics on
	Port config.Parameter `yaml:"port,omitempty"`

	// Toggle for forwarding the API port outside of Docker
	OpenPort config.Parameter `yaml:"openPort,omitempty"`

	// The Docker Hub tag for Prometheus
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags
	AdditionalFlags config.Parameter `yaml:"additionalFlags,omitempty"`
}

Configuration for Prometheus

func NewPrometheusConfig added in v1.3.0

func NewPrometheusConfig(cfg *RocketPoolConfig) *PrometheusConfig

Generates a new Prometheus config

func (*PrometheusConfig) GetConfigTitle added in v1.3.0

func (cfg *PrometheusConfig) GetConfigTitle() string

The the title for the config

func (*PrometheusConfig) GetParameters added in v1.3.0

func (cfg *PrometheusConfig) GetParameters() []*config.Parameter

Get the parameters for this config

type PrysmConfig added in v1.3.0

type PrysmConfig struct {
	Title string `yaml:"title,omitempty"`

	// Common parameters that Prysm doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"unsupportedCommonParams,omitempty"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// The RPC port for BN / VC connections
	RpcPort config.Parameter `yaml:"rpcPort,omitempty"`

	// Toggle for forwarding the RPC API outside of Docker
	OpenRpcPort config.Parameter `yaml:"openRpcPort,omitempty"`

	// The Docker Hub tag for the Prysm BN
	BnContainerTag config.Parameter `yaml:"bnContainerTag,omitempty"`

	// The Docker Hub tag for the Prysm VC
	VcContainerTag config.Parameter `yaml:"vcContainerTag,omitempty"`

	// Custom command line flags for the BN
	AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for Prysm

func NewPrysmConfig added in v1.3.0

func NewPrysmConfig(cfg *RocketPoolConfig) *PrysmConfig

Generates a new Prysm configuration

func (*PrysmConfig) GetConfigTitle added in v1.3.0

func (cfg *PrysmConfig) GetConfigTitle() string

The the title for the config

func (*PrysmConfig) GetName added in v1.3.0

func (cfg *PrysmConfig) GetName() string

Get the name of the client

func (*PrysmConfig) GetParameters added in v1.3.0

func (cfg *PrysmConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*PrysmConfig) GetUnsupportedCommonParams added in v1.3.0

func (cfg *PrysmConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*PrysmConfig) GetValidatorImage added in v1.3.0

func (cfg *PrysmConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type RocketPoolConfig

type RocketPoolConfig struct {
	Title string `yaml:"-"`

	Version string `yaml:"-"`

	RocketPoolDirectory string `yaml:"-"`

	IsNativeMode bool `yaml:"-"`

	// Execution client settings
	ExecutionClientMode config.Parameter `yaml:"executionClientMode,omitempty"`
	ExecutionClient     config.Parameter `yaml:"executionClient,omitempty"`

	// Fallback settings
	UseFallbackClients config.Parameter `yaml:"useFallbackClients,omitempty"`
	ReconnectDelay     config.Parameter `yaml:"reconnectDelay,omitempty"`

	// Consensus client settings
	ConsensusClientMode     config.Parameter `yaml:"consensusClientMode,omitempty"`
	ConsensusClient         config.Parameter `yaml:"consensusClient,omitempty"`
	ExternalConsensusClient config.Parameter `yaml:"externalConsensusClient,omitempty"`

	// Metrics settings
	EnableMetrics           config.Parameter `yaml:"enableMetrics,omitempty"`
	EnableODaoMetrics       config.Parameter `yaml:"enableODaoMetrics,omitempty"`
	EcMetricsPort           config.Parameter `yaml:"ecMetricsPort,omitempty"`
	BnMetricsPort           config.Parameter `yaml:"bnMetricsPort,omitempty"`
	VcMetricsPort           config.Parameter `yaml:"vcMetricsPort,omitempty"`
	NodeMetricsPort         config.Parameter `yaml:"nodeMetricsPort,omitempty"`
	ExporterMetricsPort     config.Parameter `yaml:"exporterMetricsPort,omitempty"`
	WatchtowerMetricsPort   config.Parameter `yaml:"watchtowerMetricsPort,omitempty"`
	EnableBitflyNodeMetrics config.Parameter `yaml:"enableBitflyNodeMetrics,omitempty"`

	// The Smartnode configuration
	Smartnode *SmartnodeConfig `yaml:"smartnode,omitempty"`

	// Execution client configurations
	ExecutionCommon   *ExecutionCommonConfig   `yaml:"executionCommon,omitempty"`
	Geth              *GethConfig              `yaml:"geth,omitempty"`
	Nethermind        *NethermindConfig        `yaml:"nethermind,omitempty"`
	Besu              *BesuConfig              `yaml:"besu,omitempty"`
	ExternalExecution *ExternalExecutionConfig `yaml:"externalExecution,omitempty"`

	// Consensus client configurations
	ConsensusCommon    *ConsensusCommonConfig    `yaml:"consensusCommon,omitempty"`
	Lighthouse         *LighthouseConfig         `yaml:"lighthouse,omitempty"`
	Nimbus             *NimbusConfig             `yaml:"nimbus,omitempty"`
	Prysm              *PrysmConfig              `yaml:"prysm,omitempty"`
	Teku               *TekuConfig               `yaml:"teku,omitempty"`
	ExternalLighthouse *ExternalLighthouseConfig `yaml:"externalLighthouse,omitempty"`
	ExternalPrysm      *ExternalPrysmConfig      `yaml:"externalPrysm,omitempty"`
	ExternalTeku       *ExternalTekuConfig       `yaml:"externalTeku,omitempty"`

	// Fallback client configurations
	FallbackNormal *FallbackNormalConfig `yaml:"fallbackNormal,omitempty"`
	FallbackPrysm  *FallbackPrysmConfig  `yaml:"fallbackPrysm,omitempty"`

	// Metrics
	Grafana           *GrafanaConfig           `yaml:"grafana,omitempty"`
	Prometheus        *PrometheusConfig        `yaml:"prometheus,omitempty"`
	Exporter          *ExporterConfig          `yaml:"exporter,omitempty"`
	BitflyNodeMetrics *BitflyNodeMetricsConfig `yaml:"bitflyNodeMetrics,omitempty"`

	// Native mode
	Native *NativeConfig `yaml:"native,omitempty"`

	// MEV-Boost
	EnableMevBoost config.Parameter `yaml:"enableMevBoost,omitempty"`
	MevBoost       *MevBoostConfig  `yaml:"mevBoost,omitempty"`

	// Addons
	GraffitiWallWriter addontypes.SmartnodeAddon `yaml:"addon-gww,omitempty"`
}

The master configuration struct

func LoadFromFile added in v1.3.0

func LoadFromFile(path string) (*RocketPoolConfig, error)

Load configuration settings from a file

func NewRocketPoolConfig added in v1.3.0

func NewRocketPoolConfig(rpDir string, isNativeMode bool) *RocketPoolConfig

Creates a new Rocket Pool configuration instance

func (*RocketPoolConfig) ChangeNetwork added in v1.3.0

func (cfg *RocketPoolConfig) ChangeNetwork(newNetwork config.Network)

Handle a network change on all of the parameters

func (*RocketPoolConfig) CreateCopy added in v1.3.0

func (cfg *RocketPoolConfig) CreateCopy() *RocketPoolConfig

Create a copy of this configuration.

func (*RocketPoolConfig) Deserialize added in v1.3.0

func (cfg *RocketPoolConfig) Deserialize(masterMap map[string]map[string]string) error

Deserializes a settings file into this config

func (*RocketPoolConfig) GenerateEnvironmentVariables added in v1.3.0

func (cfg *RocketPoolConfig) GenerateEnvironmentVariables() map[string]string

Generates a collection of environment variables based on this config's settings

func (*RocketPoolConfig) GetChanges added in v1.3.0

func (cfg *RocketPoolConfig) GetChanges(oldConfig *RocketPoolConfig) (map[string][]config.ChangedSetting, map[config.ContainerID]bool, bool)

Get all of the settings that have changed between an old config and this config, and get all of the containers that are affected by those changes - also returns whether or not the selected network was changed

func (*RocketPoolConfig) GetConfigTitle added in v1.3.0

func (cfg *RocketPoolConfig) GetConfigTitle() string

The the title for the config

func (*RocketPoolConfig) GetEventLogInterval added in v1.5.0

func (cfg *RocketPoolConfig) GetEventLogInterval() (int, error)

Get the configuration for the selected execution client

func (*RocketPoolConfig) GetParameters added in v1.3.0

func (cfg *RocketPoolConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*RocketPoolConfig) GetSelectedConsensusClient added in v1.5.0

func (cfg *RocketPoolConfig) GetSelectedConsensusClient() (config.ConsensusClient, config.Mode)

Get the selected CC and mode

func (*RocketPoolConfig) GetSelectedConsensusClientConfig added in v1.3.0

func (cfg *RocketPoolConfig) GetSelectedConsensusClientConfig() (config.ConsensusConfig, error)

Get the configuration for the selected consensus client

func (*RocketPoolConfig) GetSubconfigs added in v1.3.0

func (cfg *RocketPoolConfig) GetSubconfigs() map[string]config.Config

Get the subconfigurations for this config

func (*RocketPoolConfig) IsDoppelgangerEnabled added in v1.4.0

func (cfg *RocketPoolConfig) IsDoppelgangerEnabled() (bool, error)

Check if doppelganger protection is enabled

func (*RocketPoolConfig) Serialize

func (cfg *RocketPoolConfig) Serialize() map[string]map[string]string

Serializes the configuration into a map of maps, compatible with a settings file

func (*RocketPoolConfig) UpdateDefaults added in v1.3.0

func (cfg *RocketPoolConfig) UpdateDefaults() error

Update the default settings for all overwrite-on-upgrade parameters

func (*RocketPoolConfig) Validate added in v1.3.0

func (cfg *RocketPoolConfig) Validate() []string

Checks to see if the current configuration is valid; if not, returns a list of errors

type SmartnodeConfig added in v1.3.0

type SmartnodeConfig struct {
	Title string `yaml:"-"`

	// Docker container prefix
	ProjectName config.Parameter `yaml:"projectName,omitempty"`

	// The path of the data folder where everything is stored
	DataPath config.Parameter `yaml:"dataPath,omitempty"`

	// The path of the watchtower's persistent state storage
	WatchtowerStatePath config.Parameter `yaml:"watchtowerStatePath"`

	// The command for restarting the validator container in native mode
	ValidatorRestartCommand config.Parameter `yaml:"validatorRestartCommand,omitempty"`

	// Which network we're on
	Network config.Parameter `yaml:"network,omitempty"`

	// The terminal total difficulty override for the Merge
	TTD config.Parameter `yaml:"ttd,omitempty"`

	// Manual max fee override
	ManualMaxFee config.Parameter `yaml:"manualMaxFee,omitempty"`

	// Manual priority fee override
	PriorityFee config.Parameter `yaml:"priorityFee,omitempty"`

	// Threshold for auto minipool stakes
	MinipoolStakeGasThreshold config.Parameter `yaml:"minipoolStakeGasThreshold,omitempty"`

	// Mode for acquiring Merkle rewards trees
	RewardsTreeMode config.Parameter `yaml:"rewardsTreeMode,omitempty"`

	// URL for an EC with archive mode, for manual rewards tree generation
	ArchiveECUrl config.Parameter `yaml:"archiveEcUrl,omitempty"`

	// Token for Oracle DAO members to use when uploading Merkle trees to Web3.Storage
	Web3StorageApiToken config.Parameter `yaml:"web3StorageApiToken,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the Smartnode

func NewSmartnodeConfig added in v1.3.0

func NewSmartnodeConfig(cfg *RocketPoolConfig) *SmartnodeConfig

Generates a new Smartnode configuration

func (*SmartnodeConfig) GetChainID added in v1.3.0

func (cfg *SmartnodeConfig) GetChainID() uint

func (*SmartnodeConfig) GetConfigTitle added in v1.3.0

func (cfg *SmartnodeConfig) GetConfigTitle() string

The the title for the config

func (*SmartnodeConfig) GetCustomKeyPasswordFilePath added in v1.4.3

func (cfg *SmartnodeConfig) GetCustomKeyPasswordFilePath() string

func (*SmartnodeConfig) GetCustomKeyPath added in v1.4.3

func (cfg *SmartnodeConfig) GetCustomKeyPath() string

func (*SmartnodeConfig) GetEcMigratorContainerTag added in v1.4.0

func (cfg *SmartnodeConfig) GetEcMigratorContainerTag() string

func (*SmartnodeConfig) GetFeeRecipientFilePath added in v1.5.1

func (cfg *SmartnodeConfig) GetFeeRecipientFilePath() string

func (*SmartnodeConfig) GetLegacyClaimNodeAddress added in v1.5.0

func (cfg *SmartnodeConfig) GetLegacyClaimNodeAddress() common.Address

func (*SmartnodeConfig) GetLegacyClaimTrustedNodeAddress added in v1.5.0

func (cfg *SmartnodeConfig) GetLegacyClaimTrustedNodeAddress() common.Address

func (*SmartnodeConfig) GetLegacyMinipoolManagerAddress added in v1.5.0

func (cfg *SmartnodeConfig) GetLegacyMinipoolManagerAddress() common.Address

func (*SmartnodeConfig) GetLegacyRewardsPoolAddress added in v1.5.0

func (cfg *SmartnodeConfig) GetLegacyRewardsPoolAddress() common.Address

func (*SmartnodeConfig) GetMinipoolPerformancePath added in v1.5.0

func (cfg *SmartnodeConfig) GetMinipoolPerformancePath(interval uint64, daemon bool) string

func (*SmartnodeConfig) GetOneInchOracleAddress added in v1.3.0

func (cfg *SmartnodeConfig) GetOneInchOracleAddress() string

func (*SmartnodeConfig) GetOptimismMessengerAddress added in v1.5.0

func (cfg *SmartnodeConfig) GetOptimismMessengerAddress() string

func (*SmartnodeConfig) GetParameters added in v1.3.0

func (cfg *SmartnodeConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*SmartnodeConfig) GetPasswordPath added in v1.3.0

func (cfg *SmartnodeConfig) GetPasswordPath() string

func (*SmartnodeConfig) GetPreviousRewardsPoolAddresses added in v1.5.0

func (cfg *SmartnodeConfig) GetPreviousRewardsPoolAddresses() map[string][]common.Address

func (*SmartnodeConfig) GetPruneProvisionerContainerTag added in v1.3.0

func (config *SmartnodeConfig) GetPruneProvisionerContainerTag() string

func (*SmartnodeConfig) GetRegenerateRewardsTreeRequestPath added in v1.5.0

func (cfg *SmartnodeConfig) GetRegenerateRewardsTreeRequestPath(interval uint64, daemon bool) string

func (*SmartnodeConfig) GetRethAddress added in v1.5.0

func (cfg *SmartnodeConfig) GetRethAddress() common.Address

func (*SmartnodeConfig) GetRewardsSubmissionBlockMaps added in v1.6.2

func (cfg *SmartnodeConfig) GetRewardsSubmissionBlockMaps() []uint64

func (*SmartnodeConfig) GetRewardsTreePath added in v1.5.0

func (cfg *SmartnodeConfig) GetRewardsTreePath(interval uint64, daemon bool) string

func (*SmartnodeConfig) GetRplFaucetAddress added in v1.3.0

func (cfg *SmartnodeConfig) GetRplFaucetAddress() string

func (*SmartnodeConfig) GetRplTokenAddress added in v1.3.0

func (cfg *SmartnodeConfig) GetRplTokenAddress() string

func (*SmartnodeConfig) GetSmartnodeContainerTag added in v1.3.0

func (cfg *SmartnodeConfig) GetSmartnodeContainerTag() string

func (*SmartnodeConfig) GetSnapshotApiDomain added in v1.6.0

func (cfg *SmartnodeConfig) GetSnapshotApiDomain() string

func (*SmartnodeConfig) GetSnapshotDelegationAddress added in v1.4.2

func (cfg *SmartnodeConfig) GetSnapshotDelegationAddress() string

func (*SmartnodeConfig) GetSnapshotID added in v1.6.0

func (config *SmartnodeConfig) GetSnapshotID() string

func (*SmartnodeConfig) GetStakeUrl added in v1.3.0

func (cfg *SmartnodeConfig) GetStakeUrl() string

func (*SmartnodeConfig) GetStorageAddress added in v1.3.0

func (cfg *SmartnodeConfig) GetStorageAddress() string

func (*SmartnodeConfig) GetTxWatchUrl added in v1.3.0

func (cfg *SmartnodeConfig) GetTxWatchUrl() string

func (*SmartnodeConfig) GetValidatorKeychainPath added in v1.3.0

func (cfg *SmartnodeConfig) GetValidatorKeychainPath() string

func (*SmartnodeConfig) GetVotingSnapshotID added in v1.4.2

func (cfg *SmartnodeConfig) GetVotingSnapshotID() [32]byte

func (*SmartnodeConfig) GetWalletPath added in v1.3.0

func (cfg *SmartnodeConfig) GetWalletPath() string

func (*SmartnodeConfig) GetWatchtowerFolder added in v1.5.0

func (cfg *SmartnodeConfig) GetWatchtowerFolder(daemon bool) string

func (*SmartnodeConfig) GetWatchtowerStatePath added in v1.5.0

func (config *SmartnodeConfig) GetWatchtowerStatePath() string

type TekuConfig added in v1.3.0

type TekuConfig struct {
	Title string `yaml:"-"`

	// Common parameters that Teku doesn't support and should be hidden
	UnsupportedCommonParams []string `yaml:"-"`

	// Max number of P2P peers to connect to
	JvmHeapSize config.Parameter `yaml:"jvmHeapSize,omitempty"`

	// The max number of P2P peers to connect to
	MaxPeers config.Parameter `yaml:"maxPeers,omitempty"`

	// The archive mode flag
	ArchiveMode config.Parameter `yaml:"archiveMode,omitempty"`

	// The Docker Hub tag for Lighthouse
	ContainerTag config.Parameter `yaml:"containerTag,omitempty"`

	// Custom command line flags for the BN
	AdditionalBnFlags config.Parameter `yaml:"additionalBnFlags,omitempty"`

	// Custom command line flags for the VC
	AdditionalVcFlags config.Parameter `yaml:"additionalVcFlags,omitempty"`
}

Configuration for Teku

func NewTekuConfig added in v1.3.0

func NewTekuConfig(cfg *RocketPoolConfig) *TekuConfig

Generates a new Teku configuration

func (*TekuConfig) GetConfigTitle added in v1.3.0

func (cfg *TekuConfig) GetConfigTitle() string

The the title for the config

func (*TekuConfig) GetName added in v1.3.0

func (cfg *TekuConfig) GetName() string

Get the name of the client

func (*TekuConfig) GetParameters added in v1.3.0

func (cfg *TekuConfig) GetParameters() []*config.Parameter

Get the parameters for this config

func (*TekuConfig) GetUnsupportedCommonParams added in v1.3.0

func (cfg *TekuConfig) GetUnsupportedCommonParams() []string

Get the common params that this client doesn't support

func (*TekuConfig) GetValidatorImage added in v1.3.0

func (cfg *TekuConfig) GetValidatorImage() string

Get the Docker container name of the validator client

type UserParam

type UserParam struct {
	Env   string `yaml:"env,omitempty"`
	Value string `yaml:"value"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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