beacon

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2021 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RoleUnknown = iota
	RoleAttester
	RoleAggregator
	RoleProposer
)

List of roles

Variables

This section is empty.

Functions

This section is empty.

Types

type Beacon

type Beacon interface {
	// StreamDuties returns channel with duties stream
	StreamDuties(ctx context.Context, pubKey [][]byte) (<-chan *ethpb.DutiesResponse_Duty, error)

	// GetAttestationData returns attestation data by the given slot and committee index
	GetAttestationData(ctx context.Context, slot, committeeIndex uint64) (*ethpb.AttestationData, error)

	// SignAttestation signs the given attestation
	SignAttestation(ctx context.Context, data *ethpb.AttestationData, duty *ethpb.DutiesResponse_Duty, key *bls.SecretKey) (*ethpb.Attestation, []byte, error)

	// SubmitAttestation submits attestation fo the given slot using the given public key
	SubmitAttestation(ctx context.Context, attestation *ethpb.Attestation, validatorIndex uint64, key *bls.PublicKey) error

	// GetAggregationData returns aggregation data for the given slot and committee index
	GetAggregationData(ctx context.Context, duty *ethpb.DutiesResponse_Duty, key *bls.PublicKey, shareKey *bls.SecretKey) (*ethpb.AggregateAttestationAndProof, error)

	// SignAggregation signs the given aggregation data
	SignAggregation(ctx context.Context, data *ethpb.AggregateAttestationAndProof, secretKey *bls.SecretKey) (*ethpb.SignedAggregateAttestationAndProof, error)

	// SubmitAggregation submits the given signed aggregation data
	SubmitAggregation(ctx context.Context, data *ethpb.SignedAggregateAttestationAndProof) error

	// GetProposalData returns proposal block for the given slot
	GetProposalData(ctx context.Context, slot uint64, shareKey *bls.SecretKey) (*ethpb.BeaconBlock, error)

	// SignProposal signs the given proposal block
	SignProposal(ctx context.Context, domain *ethpb.DomainResponse, block *ethpb.BeaconBlock, shareKey *bls.SecretKey) (*ethpb.SignedBeaconBlock, error)

	// SubmitProposal submits the given signed block
	SubmitProposal(ctx context.Context, block *ethpb.SignedBeaconBlock) error

	// RolesAt slot returns the validator roles at the given slot. Returns nil if the
	// validator is known to not have a roles at the at slot. Returns UNKNOWN if the
	// validator assignments are unknown. Otherwise returns a valid validatorRole map.
	RolesAt(ctx context.Context, slot uint64, duty *ethpb.DutiesResponse_Duty, key *bls.PublicKey, shareKey *bls.SecretKey) ([]Role, error)
}

Beacon represents the behavior of the beacon node connector

type Role

type Role int

Role represents the validator role for a specific duty

func (Role) String

func (r Role) String() string

String returns name of the role

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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