Documentation
¶
Index ¶
- func CreateDutyExecuteMsg(duty *spectypes.Duty, pubKey phase0.BLSPubKey, domain spectypes.DomainType) (*spectypes.SSVMessage, error)
- func SetupRunners(ctx context.Context, logger *zap.Logger, options validator.Options) runner.DutyRunners
- type Controller
- type ControllerOptions
- type GetRecipientDataFunc
- type Nonce
- type P2PNetwork
- type Recipients
- type ShareEventHandlerFunc
- type SharesStorage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateDutyExecuteMsg ¶ added in v1.1.0
func CreateDutyExecuteMsg(duty *spectypes.Duty, pubKey phase0.BLSPubKey, domain spectypes.DomainType) (*spectypes.SSVMessage, error)
CreateDutyExecuteMsg returns ssvMsg with event type of duty execute
func SetupRunners ¶ added in v0.4.0
func SetupRunners(ctx context.Context, logger *zap.Logger, options validator.Options) runner.DutyRunners
SetupRunners initializes duty runners for the given validator
Types ¶
type Controller ¶
type Controller interface {
StartValidators()
CommitteeActiveIndices(epoch phase0.Epoch) []phase0.ValidatorIndex
AllActiveIndices(epoch phase0.Epoch, afterInit bool) []phase0.ValidatorIndex
GetValidator(pubKey string) (*validator.Validator, bool)
ExecuteDuty(logger *zap.Logger, duty *spectypes.Duty)
UpdateValidatorMetaDataLoop()
StartNetworkHandlers()
// GetValidatorStats returns stats of validators, including the following:
// - the amount of validators in the network
// - the amount of active validators (i.e. not slashed or existed)
// - the amount of validators assigned to this operator
GetValidatorStats() (uint64, uint64, uint64, error)
IndicesChangeChan() chan struct{}
ValidatorExitChan() <-chan duties.ExitDescriptor
StartValidator(share *ssvtypes.SSVShare) error
StopValidator(pubKey spectypes.ValidatorPK) error
LiquidateCluster(owner common.Address, operatorIDs []uint64, toLiquidate []*ssvtypes.SSVShare) error
ReactivateCluster(owner common.Address, operatorIDs []uint64, toReactivate []*ssvtypes.SSVShare) error
UpdateFeeRecipient(owner, recipient common.Address) error
ExitValidator(pubKey phase0.BLSPubKey, blockNumber uint64, validatorIndex phase0.ValidatorIndex) error
}
Controller represent the validators controller, it takes care of bootstrapping, updating and managing existing validators and their shares
func NewController ¶
func NewController(logger *zap.Logger, options ControllerOptions) Controller
NewController creates a new validator controller instance
type ControllerOptions ¶
type ControllerOptions struct {
Context context.Context
DB basedb.Database
SignatureCollectionTimeout time.Duration `` /* 152-byte string literal not displayed */
MetadataUpdateInterval time.Duration `` /* 127-byte string literal not displayed */
HistorySyncBatchSize int `` /* 145-byte string literal not displayed */
MinPeers int `yaml:"MinimumPeers" env:"MINIMUM_PEERS" env-default:"2" env-description:"The required minimum peers for sync"`
BeaconNetwork beaconprotocol.Network
Network P2PNetwork
Beacon beaconprotocol.BeaconNode
FullNode bool `yaml:"FullNode" env:"FULLNODE" env-default:"false" env-description:"Save decided history rather than just highest messages"`
Exporter bool `yaml:"Exporter" env:"EXPORTER" env-default:"false" env-description:""`
BuilderProposals bool `yaml:"BuilderProposals" env:"BUILDER_PROPOSALS" env-default:"false" env-description:"Use external builders to produce blocks"`
KeyManager spectypes.KeyManager
OperatorDataStore operatordatastore.OperatorDataStore
RegistryStorage nodestorage.Storage
RecipientsStorage Recipients
NewDecidedHandler qbftcontroller.NewDecidedHandler
DutyRoles []spectypes.BeaconRole
StorageMap *storage.QBFTStores
Metrics validator.Metrics
MessageValidator validation.MessageValidator
ValidatorsMap *validatorsmap.ValidatorsMap
// worker flags
WorkersCount int `` /* 130-byte string literal not displayed */
QueueBufferSize int `yaml:"MsgWorkerBufferSize" env:"MSG_WORKER_BUFFER_SIZE" env-default:"1024" env-description:"Buffer size for message workers"`
GasLimit uint64
}
ControllerOptions for creating a validator controller
type GetRecipientDataFunc ¶ added in v0.4.7
type GetRecipientDataFunc func(r basedb.Reader, owner common.Address) (*registrystorage.RecipientData, bool, error)
type P2PNetwork ¶ added in v1.3.0
type P2PNetwork interface {
Broadcast(message *spectypes.SSVMessage) error
UseMessageRouter(router network.MessageRouter)
Peers(pk spectypes.ValidatorPK) ([]peer.ID, error)
SubscribeRandoms(logger *zap.Logger, numSubnets int) error
RegisterHandlers(logger *zap.Logger, handlers ...*p2pprotocol.SyncHandler)
}
type Recipients ¶ added in v1.3.0
type Recipients interface {
GetRecipientData(r basedb.Reader, owner common.Address) (*registrystorage.RecipientData, bool, error)
}
type ShareEventHandlerFunc ¶
ShareEventHandlerFunc is a function that handles event in an extended mode
type SharesStorage ¶ added in v1.3.0
type SharesStorage interface {
}
Click to show internal directories.
Click to hide internal directories.