kv

package
v5.2.0-rc.3 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2024 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.Att

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) AggregatedAttestationsBySlotIndexElectra added in v5.1.0

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

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

func (*AttCaches) BlockAttestations

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

BlockAttestations returns the block attestations in cache.

func (*AttCaches) DeleteAggregatedAttestation

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

DeleteAggregatedAttestation deletes the aggregated attestations in cache.

func (*AttCaches) DeleteBlockAttestation

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

DeleteBlockAttestation deletes a block attestation in cache.

func (*AttCaches) DeleteForkchoiceAttestation

func (c *AttCaches) DeleteForkchoiceAttestation(att ethpb.Att) 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.Att) 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.Att

ForkchoiceAttestations returns the forkchoice attestations in cache.

func (*AttCaches) HasAggregatedAttestation

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

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

func (*AttCaches) SaveAggregatedAttestation

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

SaveAggregatedAttestation saves an aggregated attestation in cache.

func (*AttCaches) SaveAggregatedAttestations

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

SaveAggregatedAttestations saves a list of aggregated attestations in cache.

func (*AttCaches) SaveBlockAttestation

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

SaveBlockAttestation saves an block attestation in cache.

func (*AttCaches) SaveForkchoiceAttestation

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

SaveForkchoiceAttestation saves an forkchoice attestation in cache.

func (*AttCaches) SaveForkchoiceAttestations

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

SaveForkchoiceAttestations saves a list of forkchoice attestations in cache.

func (*AttCaches) SaveUnaggregatedAttestation

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

SaveUnaggregatedAttestation saves an unaggregated attestation in cache.

func (*AttCaches) SaveUnaggregatedAttestations

func (c *AttCaches) SaveUnaggregatedAttestations(atts []ethpb.Att) 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.Att, 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.

func (*AttCaches) UnaggregatedAttestationsBySlotIndexElectra added in v5.1.0

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

UnaggregatedAttestationsBySlotIndexElectra 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