majority

package
v1.9.1 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

package majority is a strategy that obtains attestation from multiple nodes and selects the best one.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Parameter

type Parameter interface {
	// contains filtered or unexported methods
}

Parameter is the interface for service parameters.

func WithAttestationDataProviders

func WithAttestationDataProviders(providers map[string]eth2client.AttestationDataProvider) Parameter

WithAttestationDataProviders sets the beacon block proposal providers.

func WithBlockRootToSlotCache

func WithBlockRootToSlotCache(cache cache.BlockRootToSlotProvider) Parameter

WithBlockRootToSlotCache sets the block root to slot cache.

func WithChainTime

func WithChainTime(chainTime chaintime.Service) Parameter

WithChainTime sets the chain time provider for this service.

func WithClientMonitor

func WithClientMonitor(monitor metrics.ClientMonitor) Parameter

WithClientMonitor sets the client monitor for the service.

func WithLogLevel

func WithLogLevel(logLevel zerolog.Level) Parameter

WithLogLevel sets the log level for the module.

func WithProcessConcurrency

func WithProcessConcurrency(concurrency int64) Parameter

WithProcessConcurrency sets the concurrency for the service.

func WithThreshold

func WithThreshold(minimumMajority int) Parameter

WithThreshold sets the minimum number of providers who must agree for data to be considered acceptable.

func WithTimeout

func WithTimeout(timeout time.Duration) Parameter

WithTimeout sets the timeout for requests.

type Service

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

Service is the provider for attestation data.

func New

func New(_ context.Context, params ...Parameter) (*Service, error)

New creates a new attestation data strategy.

func (*Service) AttestationData

func (s *Service) AttestationData(ctx context.Context,
	opts *api.AttestationDataOpts,
) (
	*api.Response[*phase0.AttestationData],
	error,
)

AttestationData provides the consensus attestation data from a number of beacon nodes.

Jump to

Keyboard shortcuts

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