kv

package
v4.0.0-...-ae7b6de Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Overview

Package kv includes a key-value store implementation of an attestation cache used to satisfy important use-cases such as aggregation in a beacon node runtime.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AttCaches

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

AttCaches defines the caches used to satisfy attestation pool interface. These caches are KV store for various attestations such are unaggregated, aggregated or attestations within a block.

func NewAttCaches

func NewAttCaches() *AttCaches

NewAttCaches initializes a new attestation pool consists of multiple KV store in cache for various kind of attestations.

func (*AttCaches) AggregateUnaggregatedAttestations

func (c *AttCaches) AggregateUnaggregatedAttestations(ctx context.Context) error

AggregateUnaggregatedAttestations aggregates the unaggregated attestations and saves the newly aggregated attestations in the pool. It tracks the unaggregated attestations that weren't able to aggregate to prevent the deletion of unaggregated attestations in the pool.

func (*AttCaches) AggregatedAttestationCount

func (c *AttCaches) AggregatedAttestationCount() int

AggregatedAttestationCount returns the number of aggregated attestations key in the pool.

func (*AttCaches) AggregatedAttestations

func (c *AttCaches) AggregatedAttestations() []*ethpb.Attestation

AggregatedAttestations returns the aggregated attestations in cache.

func (*AttCaches) AggregatedAttestationsBySlotIndex

func (c *AttCaches) AggregatedAttestationsBySlotIndex(ctx context.Context, slot primitives.Slot, committeeIndex primitives.CommitteeIndex) []*ethpb.Attestation

AggregatedAttestationsBySlotIndex returns the aggregated attestations in cache, filtered by committee index and slot.

func (*AttCaches) BlockAttestations

func (c *AttCaches) BlockAttestations() []*ethpb.Attestation

BlockAttestations returns the block attestations in cache.

func (*AttCaches) DeleteAggregatedAttestation

func (c *AttCaches) DeleteAggregatedAttestation(att *ethpb.Attestation) error

DeleteAggregatedAttestation deletes the aggregated attestations in cache.

func (*AttCaches) DeleteBlockAttestation

func (c *AttCaches) DeleteBlockAttestation(att *ethpb.Attestation) error

DeleteBlockAttestation deletes a block attestation in cache.

func (*AttCaches) DeleteForkchoiceAttestation

func (c *AttCaches) DeleteForkchoiceAttestation(att *ethpb.Attestation) error

DeleteForkchoiceAttestation deletes a forkchoice attestation in cache.

func (*AttCaches) DeleteSeenUnaggregatedAttestations

func (c *AttCaches) DeleteSeenUnaggregatedAttestations() (int, error)

DeleteSeenUnaggregatedAttestations deletes the unaggregated attestations in cache that have been already processed once. Returns number of attestations deleted.

func (*AttCaches) DeleteUnaggregatedAttestation

func (c *AttCaches) DeleteUnaggregatedAttestation(att *ethpb.Attestation) error

DeleteUnaggregatedAttestation deletes the unaggregated attestations in cache.

func (*AttCaches) ForkchoiceAttestationCount

func (c *AttCaches) ForkchoiceAttestationCount() int

ForkchoiceAttestationCount returns the number of fork choice attestations key in the pool.

func (*AttCaches) ForkchoiceAttestations

func (c *AttCaches) ForkchoiceAttestations() []*ethpb.Attestation

ForkchoiceAttestations returns the forkchoice attestations in cache.

func (*AttCaches) HasAggregatedAttestation

func (c *AttCaches) HasAggregatedAttestation(att *ethpb.Attestation) (bool, error)

HasAggregatedAttestation checks if the input attestations has already existed in cache.

func (*AttCaches) SaveAggregatedAttestation

func (c *AttCaches) SaveAggregatedAttestation(att *ethpb.Attestation) error

SaveAggregatedAttestation saves an aggregated attestation in cache.

func (*AttCaches) SaveAggregatedAttestations

func (c *AttCaches) SaveAggregatedAttestations(atts []*ethpb.Attestation) error

SaveAggregatedAttestations saves a list of aggregated attestations in cache.

func (*AttCaches) SaveBlockAttestation

func (c *AttCaches) SaveBlockAttestation(att *ethpb.Attestation) error

SaveBlockAttestation saves an block attestation in cache.

func (*AttCaches) SaveForkchoiceAttestation

func (c *AttCaches) SaveForkchoiceAttestation(att *ethpb.Attestation) error

SaveForkchoiceAttestation saves an forkchoice attestation in cache.

func (*AttCaches) SaveForkchoiceAttestations

func (c *AttCaches) SaveForkchoiceAttestations(atts []*ethpb.Attestation) error

SaveForkchoiceAttestations saves a list of forkchoice attestations in cache.

func (*AttCaches) SaveUnaggregatedAttestation

func (c *AttCaches) SaveUnaggregatedAttestation(att *ethpb.Attestation) error

SaveUnaggregatedAttestation saves an unaggregated attestation in cache.

func (*AttCaches) SaveUnaggregatedAttestations

func (c *AttCaches) SaveUnaggregatedAttestations(atts []*ethpb.Attestation) error

SaveUnaggregatedAttestations saves a list of unaggregated attestations in cache.

func (*AttCaches) UnaggregatedAttestationCount

func (c *AttCaches) UnaggregatedAttestationCount() int

UnaggregatedAttestationCount returns the number of unaggregated attestations key in the pool.

func (*AttCaches) UnaggregatedAttestations

func (c *AttCaches) UnaggregatedAttestations() ([]*ethpb.Attestation, error)

UnaggregatedAttestations returns all the unaggregated attestations in cache.

func (*AttCaches) UnaggregatedAttestationsBySlotIndex

func (c *AttCaches) UnaggregatedAttestationsBySlotIndex(ctx context.Context, slot primitives.Slot, committeeIndex primitives.CommitteeIndex) []*ethpb.Attestation

UnaggregatedAttestationsBySlotIndex returns the unaggregated attestations in cache, filtered by committee index and slot.

Jump to

Keyboard shortcuts

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