group

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	MinBalance                 uint64 = 31.95 * 1e9
	ExpectedStatuses                  = []string{"active_online", "active_offline"}
	WithdrawalCredentialsCodes        = []int64{1}
)

Functions

func GetWithdrawalCredentialsCode

func GetWithdrawalCredentialsCode(withdrawalCredentials string) (*int64, error)

Types

type Config

type Config struct {
	Name    string   `yaml:"name"`
	Pubkeys []string `yaml:"pubkeys"`
}

func (*Config) Validate

func (c *Config) Validate() error

type Group

type Group struct {
	// contains filtered or unexported fields
}

func NewGroup

func NewGroup(ctx context.Context, log logrus.FieldLogger, monitor string, conf *Config, ethereumPool *ethereum.Pool, bc beaconchain.Client, publisher *notifier.Publisher) (*Group, error)

func (*Group) Start

func (g *Group) Start(ctx context.Context)

func (*Group) Stop

func (g *Group) Stop(ctx context.Context) error

type Metrics

type Metrics struct {
	// contains filtered or unexported fields
}

func GetMetricsInstance

func GetMetricsInstance(namespace, monitor string) *Metrics

func (Metrics) UpdateBalance

func (m Metrics) UpdateBalance(balance float64, labels []string)

func (Metrics) UpdateCredentialsCode

func (m Metrics) UpdateCredentialsCode(code float64, labels []string)

func (Metrics) UpdateLastAttestationSlot

func (m Metrics) UpdateLastAttestationSlot(slot float64, labels []string)

func (Metrics) UpdateStatus

func (m Metrics) UpdateStatus(status MetricsStatus, labels []string)

func (Metrics) UpdateTotalWithdrawals

func (m Metrics) UpdateTotalWithdrawals(total float64, labels []string)

type MetricsStatus

type MetricsStatus string
const (
	MetricsStatusUnknown         MetricsStatus = "unknown"
	MetricsStatusMempool         MetricsStatus = "mempool"
	MetricsStatusDeposited       MetricsStatus = "deposited"
	MetricsStatusPending         MetricsStatus = "pending"
	MetricsStatusDepositInvalid  MetricsStatus = "deposit_invalid"
	MetricsStatusActiveOnline    MetricsStatus = "active_online"
	MetricsStatusActiveOffline   MetricsStatus = "active_offline"
	MetricsStatusExitingOnline   MetricsStatus = "exiting_online"
	MetricsStatusExitingOffline  MetricsStatus = "exiting_offline"
	MetricsStatusSlashingOnline  MetricsStatus = "slashing_online"
	MetricsStatusSlashingOffline MetricsStatus = "slashing_offline"
	MetricsStatusExitedUnslashed MetricsStatus = "exited_unslashed"
	MetricsStatusExitedSlashed   MetricsStatus = "exited_slashed"
)

func BeaconAPIToMetricsStatus

func BeaconAPIToMetricsStatus(status v1.ValidatorState, slashed bool) MetricsStatus

Current statuses no supported by BeaconAPI

  • mempool
  • deposit_invalid
  • active_offline
  • exiting_offline
  • slashing_offline

offline could be supported by checking the last 3 epochs

func BeaconchainToMetricsStatus

func BeaconchainToMetricsStatus(status beaconchain.Status) MetricsStatus

type State

type State struct {
	Validators map[string]*Validators
	// contains filtered or unexported fields
}

func NewState

func NewState(log logrus.FieldLogger) *State

func (*State) Merge

func (s *State) Merge(other *State) (changedPubkeys []string)

func (*State) UpdateValidator

func (s *State) UpdateValidator(source, pubkey string, balance uint64, status MetricsStatus, withdrawalCredentialsCode int64)

type Validator

type Validator struct {
	Balance                   uint64
	Status                    MetricsStatus
	WithdrawalCredentialsCode int64
}

type Validators

type Validators struct {
	Sources map[string]*Validator
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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