attestations

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2024 License: GPL-3.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidAttestationCount = errors.New("invalid number of attestations")

ErrInvalidAttestationCount is returned when insufficient number of attestations is provided for aggregation.

Functions

func Aggregate

func Aggregate(atts []*ethpb.Attestation) ([]*ethpb.Attestation, error)

Aggregate aggregates attestations. The minimal number of attestations is returned. Aggregation occurs in-place i.e. contents of input array will be modified. Should you need to preserve input attestations, clone them before aggregating:

clonedAtts := make([]*ethpb.Attestation, len(atts))
for i, a := range atts {
    clonedAtts[i] = stateTrie.CopyAttestation(a)
}
aggregatedAtts, err := attaggregation.Aggregate(clonedAtts)

func AggregateDisjointOneBitAtts

func AggregateDisjointOneBitAtts(atts []*ethpb.Attestation) (*ethpb.Attestation, error)

AggregateDisjointOneBitAtts aggregates unaggregated attestations with the exact same attestation data.

func AggregatePair

func AggregatePair(a1, a2 *ethpb.Attestation) (*ethpb.Attestation, error)

AggregatePair aggregates pair of attestations a1 and a2 together.

func MaxCoverAttestationAggregation

func MaxCoverAttestationAggregation(atts []*ethpb.Attestation) ([]*ethpb.Attestation, error)

MaxCoverAttestationAggregation relies on Maximum Coverage greedy algorithm for aggregation. Aggregation occurs in many rounds, up until no more aggregation is possible (all attestations are overlapping). See https://hackmd.io/@farazdagi/in-place-attagg for design and rationale.

func NewMaxCover

func NewMaxCover(atts []*ethpb.Attestation) *aggregation.MaxCoverProblem

NewMaxCover returns initialized Maximum Coverage problem for attestations aggregation.

Types

This section is empty.

Jump to

Keyboard shortcuts

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