v1

package
v0.9.3 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2022 License: Apache-2.0 Imports: 11 Imported by: 169

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SupportedEventTopics = map[string]bool{
	"attestation":            true,
	"block":                  true,
	"chain_reorg":            true,
	"finalized_checkpoint":   true,
	"head":                   true,
	"voluntary_exit":         true,
	"contribution_and_proof": true,
}

SupportedEventTopics is a map of supported event topics.

Functions

This section is empty.

Types

type AttesterDuty

type AttesterDuty struct {
	// PubKey is the public key of the validator that should attest.
	PubKey phase0.BLSPubKey
	// Slot is the slot in which the validator should attest.
	Slot phase0.Slot
	// ValidatorIndex is the index of the validator that should attest.
	ValidatorIndex phase0.ValidatorIndex
	// CommitteeIndex is the index of the committee in which the attesting validator has been placed.
	CommitteeIndex phase0.CommitteeIndex
	// CommitteeLength is the length of the committee in which the attesting validator has been placed.
	CommitteeLength uint64
	// CommitteesAtSlot is the number of committees in the slot.
	CommitteesAtSlot uint64
	// ValidatorCommitteeIndex is the index of the validator in the list of validators in the committee.
	ValidatorCommitteeIndex uint64
}

AttesterDuty is the data regarding which validators have the duty to attest in a slot.

func (*AttesterDuty) MarshalJSON

func (a *AttesterDuty) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*AttesterDuty) String

func (a *AttesterDuty) String() string

String returns a string version of the structure.

func (*AttesterDuty) UnmarshalJSON

func (a *AttesterDuty) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BeaconBlockHeader added in v0.6.9

type BeaconBlockHeader struct {
	// Root is the root of the beacon block.
	Root phase0.Root
	// Canonical is true if the block is considered canonical.
	Canonical bool
	// Header is the beacon block header.
	Header *phase0.SignedBeaconBlockHeader
}

BeaconBlockHeader is the data providing information about beacon blocks.

func (*BeaconBlockHeader) MarshalJSON added in v0.6.9

func (b *BeaconBlockHeader) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BeaconBlockHeader) String added in v0.6.9

func (b *BeaconBlockHeader) String() string

String returns a string version of the structure.

func (*BeaconBlockHeader) UnmarshalJSON added in v0.6.9

func (b *BeaconBlockHeader) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BeaconCommittee

type BeaconCommittee struct {
	// Slot is the slot in which the committee attests.
	Slot phase0.Slot
	// Index is the index of the committee.
	Index phase0.CommitteeIndex
	// Validators is the list of validator indices in the committee.
	Validators []phase0.ValidatorIndex
}

BeaconCommittee is the data providing information validator membership of committees.

func (*BeaconCommittee) MarshalJSON

func (b *BeaconCommittee) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BeaconCommittee) String

func (b *BeaconCommittee) String() string

String returns a string version of the structure.

func (*BeaconCommittee) UnmarshalJSON

func (b *BeaconCommittee) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BeaconCommitteeSubscription

type BeaconCommitteeSubscription struct {
	// ValidatorIdex is the index of the validator making the subscription request.
	ValidatorIndex phase0.ValidatorIndex
	// Slot is the slot for which the validator is attesting.
	Slot phase0.Slot
	// CommitteeIndex is the index of the committee of which the validator is a member at the given slot.
	CommitteeIndex phase0.CommitteeIndex
	// CommitteesAtSlot is the number of committees at the given slot.
	CommitteesAtSlot uint64
	// IsAggregator is true if the validator that wishes to subscribe is required to aggregate attestations.
	IsAggregator bool
}

BeaconCommitteeSubscription is the data required for a beacon committee subscription.

func (*BeaconCommitteeSubscription) MarshalJSON

func (b *BeaconCommitteeSubscription) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BeaconCommitteeSubscription) String

func (b *BeaconCommitteeSubscription) String() string

String returns a string version of the structure.

func (*BeaconCommitteeSubscription) UnmarshalJSON

func (b *BeaconCommitteeSubscription) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type BlockEvent added in v0.6.9

type BlockEvent struct {
	Slot  phase0.Slot
	Block phase0.Root
}

BlockEvent is the data for the block event.

func (*BlockEvent) MarshalJSON added in v0.6.9

func (e *BlockEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*BlockEvent) String added in v0.6.9

func (e *BlockEvent) String() string

String returns a string version of the structure.

func (*BlockEvent) UnmarshalJSON added in v0.6.9

func (e *BlockEvent) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ChainReorgEvent added in v0.6.9

type ChainReorgEvent struct {
	Slot         phase0.Slot
	Depth        uint64
	OldHeadBlock phase0.Root
	NewHeadBlock phase0.Root
	OldHeadState phase0.Root
	NewHeadState phase0.Root
	Epoch        phase0.Epoch
}

ChainReorgEvent is the data for the head event.

func (*ChainReorgEvent) MarshalJSON added in v0.6.9

func (e *ChainReorgEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ChainReorgEvent) String added in v0.6.9

func (e *ChainReorgEvent) String() string

String returns a string version of the structure.

func (*ChainReorgEvent) UnmarshalJSON added in v0.6.9

func (e *ChainReorgEvent) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type DepositContract added in v0.6.2

type DepositContract struct {
	ChainID uint64
	Address []byte
}

DepositContract represents the details of the Ethereum 1 deposit contract for a chain.

func (*DepositContract) MarshalJSON added in v0.6.2

func (d *DepositContract) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*DepositContract) String added in v0.6.2

func (d *DepositContract) String() string

String returns a string version of the structure.

func (*DepositContract) UnmarshalJSON added in v0.6.2

func (d *DepositContract) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Event added in v0.6.9

type Event struct {
	// Topic is the topic of the event.
	Topic string
	// Data is the data of the event.
	Data interface{}
}

Event is the container for events sent from the API.

func (*Event) MarshalJSON added in v0.6.20

func (e *Event) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Event) String added in v0.6.20

func (e *Event) String() string

String returns a string version of the structure.

func (*Event) UnmarshalJSON added in v0.6.20

func (e *Event) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Finality added in v0.6.4

type Finality struct {
	// Finalized is the finalized checkpoint.
	Finalized *phase0.Checkpoint
	// Justified is the justified checkpoint.
	Justified *phase0.Checkpoint
	// PreviousJustified is the previous justified checkpoint.
	PreviousJustified *phase0.Checkpoint
}

Finality is the data regarding finality checkpoints at a given state.

func (*Finality) MarshalJSON added in v0.6.4

func (f *Finality) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Finality) String added in v0.6.4

func (f *Finality) String() string

String returns a string version of the structure.

func (*Finality) UnmarshalJSON added in v0.6.4

func (f *Finality) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type FinalizedCheckpointEvent added in v0.6.9

type FinalizedCheckpointEvent struct {
	Block phase0.Root
	State phase0.Root
	Epoch phase0.Epoch
}

FinalizedCheckpointEvent is the data for the finalized checkpoint event.

func (*FinalizedCheckpointEvent) MarshalJSON added in v0.6.9

func (e *FinalizedCheckpointEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*FinalizedCheckpointEvent) String added in v0.6.9

func (e *FinalizedCheckpointEvent) String() string

String returns a string version of the structure.

func (*FinalizedCheckpointEvent) UnmarshalJSON added in v0.6.9

func (e *FinalizedCheckpointEvent) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Genesis

type Genesis struct {
	GenesisTime           time.Time
	GenesisValidatorsRoot phase0.Root
	GenesisForkVersion    phase0.Version
}

Genesis provides information about the genesis of a chain.

func (*Genesis) MarshalJSON added in v0.6.2

func (g *Genesis) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Genesis) String added in v0.6.2

func (g *Genesis) String() string

String returns a string version of the structure.

func (*Genesis) UnmarshalJSON added in v0.6.2

func (g *Genesis) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type HeadEvent added in v0.6.9

type HeadEvent struct {
	Slot                      phase0.Slot
	Block                     phase0.Root
	State                     phase0.Root
	EpochTransition           bool
	CurrentDutyDependentRoot  phase0.Root
	PreviousDutyDependentRoot phase0.Root
}

HeadEvent is the data for the head event.

func (*HeadEvent) MarshalJSON added in v0.6.9

func (e *HeadEvent) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*HeadEvent) String added in v0.6.9

func (e *HeadEvent) String() string

String returns a string version of the structure.

func (*HeadEvent) UnmarshalJSON added in v0.6.9

func (e *HeadEvent) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ProposerDuty

type ProposerDuty struct {
	PubKey         phase0.BLSPubKey
	Slot           phase0.Slot
	ValidatorIndex phase0.ValidatorIndex
}

ProposerDuty represents a duty of a validator to propose a slot.

func (*ProposerDuty) MarshalJSON

func (p *ProposerDuty) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ProposerDuty) String

func (p *ProposerDuty) String() string

String returns a string version of the structure.

func (*ProposerDuty) UnmarshalJSON

func (p *ProposerDuty) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SyncCommittee added in v0.7.0

type SyncCommittee struct {
	// Validators is the list of validator indices in the committee.
	Validators []phase0.ValidatorIndex
	// ValidatorAggregates are the lists of validators in each aggregate.
	ValidatorAggregates [][]phase0.ValidatorIndex
}

SyncCommittee is the data providing validator membership of sync committees.

func (*SyncCommittee) MarshalJSON added in v0.7.0

func (s *SyncCommittee) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SyncCommittee) String added in v0.7.0

func (s *SyncCommittee) String() string

String returns a string version of the structure.

func (*SyncCommittee) UnmarshalJSON added in v0.7.0

func (s *SyncCommittee) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SyncCommitteeDuty added in v0.7.0

type SyncCommitteeDuty struct {
	// PubKey is the public key of the validator that should contribute.
	PubKey phase0.BLSPubKey
	// ValidatorIndex is the index of the validator that should contribute.
	ValidatorIndex phase0.ValidatorIndex
	// ValidatorSyncCommitteeIndices is the index of the validator in the list of validators in the committee.
	ValidatorSyncCommitteeIndices []phase0.CommitteeIndex
}

SyncCommitteeDuty is the data regarding which validators have the duty to contribute to sync committees in a slot.

func (*SyncCommitteeDuty) MarshalJSON added in v0.7.0

func (s *SyncCommitteeDuty) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SyncCommitteeDuty) String added in v0.7.0

func (s *SyncCommitteeDuty) String() string

String returns a string version of the structure.

func (*SyncCommitteeDuty) UnmarshalJSON added in v0.7.0

func (s *SyncCommitteeDuty) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SyncCommitteeSubscription added in v0.7.0

type SyncCommitteeSubscription struct {
	// ValidatorIdex is the index of the validator making the subscription request.
	ValidatorIndex phase0.ValidatorIndex
	// SyncCommitteeIndices are the indices of the sync committees of which the validator is a member.
	SyncCommitteeIndices []phase0.CommitteeIndex
	// UntilEpoch is the epoch at which the subscription no longer applies.
	UntilEpoch phase0.Epoch
}

SyncCommitteeSubscription is the data required for a sync committee subscription.

func (*SyncCommitteeSubscription) MarshalJSON added in v0.7.0

func (s *SyncCommitteeSubscription) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SyncCommitteeSubscription) String added in v0.7.0

func (s *SyncCommitteeSubscription) String() string

String returns a string version of the structure.

func (*SyncCommitteeSubscription) UnmarshalJSON added in v0.7.0

func (s *SyncCommitteeSubscription) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type SyncState

type SyncState struct {
	// HeadSlot is the head slot of the chain as understood by the node.
	HeadSlot phase0.Slot
	// SyncDistance is the distance between the node's highest synced slot and the head slot.
	SyncDistance phase0.Slot
	// IsSyncing is true if the node is syncing.
	IsSyncing bool
}

SyncState is the data regarding the node's synchronization state to the chain.

func (*SyncState) MarshalJSON

func (s *SyncState) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*SyncState) String

func (s *SyncState) String() string

String returns a string version of the structure.

func (*SyncState) UnmarshalJSON

func (s *SyncState) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type Validator

type Validator struct {
	Index     phase0.ValidatorIndex
	Balance   phase0.Gwei
	Status    ValidatorState
	Validator *phase0.Validator
}

Validator contains the spec validator plus additional fields.

func (*Validator) MarshalJSON

func (v *Validator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*Validator) PubKey added in v0.6.1

func (v *Validator) PubKey(ctx context.Context) (phase0.BLSPubKey, error)

PubKey implements ValidatorPubKeyProvider

func (*Validator) String

func (v *Validator) String() string

String returns a string version of the structure.

func (*Validator) UnmarshalJSON

func (v *Validator) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ValidatorBalance added in v0.6.9

type ValidatorBalance struct {
	Index   phase0.ValidatorIndex
	Balance phase0.Gwei
}

ValidatorBalance contains the balance of a validator.

func (*ValidatorBalance) MarshalJSON added in v0.6.9

func (v *ValidatorBalance) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (*ValidatorBalance) String added in v0.6.9

func (v *ValidatorBalance) String() string

String returns a string version of the structure.

func (*ValidatorBalance) UnmarshalJSON added in v0.6.9

func (v *ValidatorBalance) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

type ValidatorState

type ValidatorState int

ValidatorState defines the state of the validator.

const (
	// ValidatorStateUnknown means no information can be found about the validator.
	ValidatorStateUnknown ValidatorState = iota
	// ValidatorStatePendingInitialized means the validator is not yet in the queue to be activated.
	ValidatorStatePendingInitialized
	// ValidatorStatePendingQueued means the validator is in the queue to be activated.
	ValidatorStatePendingQueued
	// ValidatorStateActiveOngoing means the validator is active.
	ValidatorStateActiveOngoing
	// ValidatorStateActiveExiting means the validator is active but exiting.
	ValidatorStateActiveExiting
	// ValidatorStateActiveSlashed means the validator is active but exiting due to being slashed.
	ValidatorStateActiveSlashed
	// ValidatorStateExitedUnslashed means the validator has exited without being slashed.
	ValidatorStateExitedUnslashed
	// ValidatorStateExitedSlashed means the validator has exited due to being slashed.
	ValidatorStateExitedSlashed
	// ValidatorStateWithdrawalPossible means it is possible to withdraw funds from the validator.
	ValidatorStateWithdrawalPossible
	// ValidatorStateWithdrawalDone means funds have been withdrawn from the validator.
	ValidatorStateWithdrawalDone
)

func ValidatorToState

func ValidatorToState(validator *phase0.Validator, currentEpoch phase0.Epoch, farFutureEpoch phase0.Epoch) ValidatorState

ValidatorToState is a helper that calculates the validator status given a validator struct.

func (ValidatorState) HasActivated added in v0.6.7

func (v ValidatorState) HasActivated() bool

HasActivated returns true if the validator has activated.

func (ValidatorState) HasBalance added in v0.6.1

func (v ValidatorState) HasBalance() bool

HasBalance returns true if the validator has a balance.

func (ValidatorState) HasExited added in v0.6.7

func (v ValidatorState) HasExited() bool

HasExited returns true if the validator has exited.

func (ValidatorState) IsActive added in v0.6.7

func (v ValidatorState) IsActive() bool

IsActive returns true if the validator is active.

func (ValidatorState) IsAttesting

func (v ValidatorState) IsAttesting() bool

IsAttesting returns true if the validator should be attesting.

func (ValidatorState) IsExited added in v0.6.7

func (v ValidatorState) IsExited() bool

IsExited returns true if the validator is exited.

func (ValidatorState) IsPending added in v0.6.7

func (v ValidatorState) IsPending() bool

IsPending returns true if the validator is pending.

func (*ValidatorState) MarshalJSON

func (v *ValidatorState) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler.

func (ValidatorState) String

func (v ValidatorState) String() string

func (*ValidatorState) UnmarshalJSON

func (v *ValidatorState) UnmarshalJSON(input []byte) error

UnmarshalJSON implements json.Unmarshaler.

Jump to

Keyboard shortcuts

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