attestations

package
v0.3.4 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2020 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewPool

func NewPool() *kv.AttCaches

NewPool initializes a new attestation pool.

Types

type Config

type Config struct {
	Pool Pool
}

Config options for the service.

type Pool

type Pool interface {
	// For Aggregated attestations
	SaveAggregatedAttestation(att *ethpb.Attestation) error
	SaveAggregatedAttestations(atts []*ethpb.Attestation) error
	AggregatedAttestations() []*ethpb.Attestation
	AggregatedAttestationsBySlotIndex(slot uint64, committeeIndex uint64) []*ethpb.Attestation
	DeleteAggregatedAttestation(att *ethpb.Attestation) error
	HasAggregatedAttestation(att *ethpb.Attestation) (bool, error)
	AggregatedAttestationCount() int
	// For unaggregated attestations.
	SaveUnaggregatedAttestation(att *ethpb.Attestation) error
	SaveUnaggregatedAttestations(atts []*ethpb.Attestation) error
	UnaggregatedAttestations() []*ethpb.Attestation
	DeleteUnaggregatedAttestation(att *ethpb.Attestation) error
	UnaggregatedAttestationCount() int
	// For attestations that were included in the block.
	SaveBlockAttestation(att *ethpb.Attestation) error
	SaveBlockAttestations(atts []*ethpb.Attestation) error
	BlockAttestations() []*ethpb.Attestation
	DeleteBlockAttestation(att *ethpb.Attestation) error
	// For attestations to be passed to fork choice.
	SaveForkchoiceAttestation(att *ethpb.Attestation) error
	SaveForkchoiceAttestations(atts []*ethpb.Attestation) error
	ForkchoiceAttestations() []*ethpb.Attestation
	DeleteForkchoiceAttestation(att *ethpb.Attestation) error
}

Pool defines the necessary methods for Prysm attestations pool to serve fork choice and validators. In the current design, aggregated attestations are used by proposer actor. Unaggregated attestations are used by for aggregator actor.

type Service

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

Service of attestation pool operations.

func NewService

func NewService(ctx context.Context, cfg *Config) (*Service, error)

NewService instantiates a new attestation pool service instance that will be registered into a running beacon node.

func (*Service) Start

func (s *Service) Start()

Start an attestation pool service's main event loop.

func (*Service) Status

func (s *Service) Status() error

Status returns the current service err if there's any.

func (*Service) Stop

func (s *Service) Stop() error

Stop the beacon block attestation pool service's main event loop and associated goroutines.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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