Documentation ¶
Index ¶
- Variables
- type AttesterDuty
- type BeaconBlockHeader
- type BeaconCommittee
- type BeaconCommitteeSubscription
- type BlockEvent
- type ChainReorgEvent
- type DepositContract
- type Event
- type Finality
- type FinalizedCheckpointEvent
- type Genesis
- type HeadEvent
- type ProposerDuty
- type SyncState
- type Validator
- type ValidatorBalance
- type ValidatorState
- func (v ValidatorState) HasActivated() bool
- func (v ValidatorState) HasBalance() bool
- func (v ValidatorState) HasExited() bool
- func (v ValidatorState) IsActive() bool
- func (v ValidatorState) IsAttesting() bool
- func (v ValidatorState) IsExited() bool
- func (v ValidatorState) IsPending() bool
- func (v *ValidatorState) MarshalJSON() ([]byte, error)
- func (v ValidatorState) String() string
- func (v *ValidatorState) UnmarshalJSON(input []byte) error
Constants ¶
This section is empty.
Variables ¶
var SupportedEventTopics = map[string]bool{ "attestation": true, "block": true, "chain_reorg": true, "finalized_checkpoint": true, "head": true, "voluntary_exit": 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 spec.BLSPubKey // Slot is the slot in which the validator should attest. Slot spec.Slot // ValidatorIndex is the index of the validator that should attest. ValidatorIndex spec.ValidatorIndex // CommitteeIndex is the index of the committee in which the attesting validator has been placed. CommitteeIndex spec.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 spec.Root // Canonical is true if the block is considered canonical. Canonical bool // Header is the beacon block header. Header *spec.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 spec.Slot // Index is the index of the committee. Index spec.CommitteeIndex // Validators is the list of validator indices in the committee. Validators []spec.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 spec.ValidatorIndex // Slot is the slot for which the validator is attesting. Slot spec.Slot // CommitteeIndex is the index of the committee of which the validator is a member at the given slot. CommitteeIndex spec.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
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 spec.Slot Depth uint64 OldHeadBlock spec.Root NewHeadBlock spec.Root OldHeadState spec.Root NewHeadState spec.Root Epoch spec.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
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
MarshalJSON implements json.Marshaler.
func (*Event) UnmarshalJSON ¶ added in v0.6.20
UnmarshalJSON implements json.Unmarshaler.
type Finality ¶ added in v0.6.4
type Finality struct { // Finalized is the finalized checkpoint. Finalized *spec.Checkpoint // Justified is the justified checkpoint. Justified *spec.Checkpoint // PreviousJustified is the previous justified checkpoint. PreviousJustified *spec.Checkpoint }
Finality is the data regarding finality checkpoints at a given state.
func (*Finality) MarshalJSON ¶ added in v0.6.4
MarshalJSON implements json.Marshaler.
func (*Finality) UnmarshalJSON ¶ added in v0.6.4
UnmarshalJSON implements json.Unmarshaler.
type FinalizedCheckpointEvent ¶ added in v0.6.9
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 spec.Root GenesisForkVersion spec.Version }
Genesis provides information about the genesis of a chain.
func (*Genesis) MarshalJSON ¶ added in v0.6.2
MarshalJSON implements json.Marshaler.
func (*Genesis) UnmarshalJSON ¶ added in v0.6.2
UnmarshalJSON implements json.Unmarshaler.
type HeadEvent ¶ added in v0.6.9
type HeadEvent struct { Slot spec.Slot Block spec.Root State spec.Root EpochTransition bool CurrentDutyDependentRoot spec.Root PreviousDutyDependentRoot spec.Root }
HeadEvent is the data for the head event.
func (*HeadEvent) MarshalJSON ¶ added in v0.6.9
MarshalJSON implements json.Marshaler.
func (*HeadEvent) UnmarshalJSON ¶ added in v0.6.9
UnmarshalJSON implements json.Unmarshaler.
type ProposerDuty ¶
type ProposerDuty struct { PubKey spec.BLSPubKey Slot spec.Slot ValidatorIndex spec.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 SyncState ¶
type SyncState struct { // HeadSlot is the head slot of the chain as understood by the node. HeadSlot spec.Slot // SyncDistance is the distance between the node's highest synced slot and the head slot. SyncDistance spec.Slot }
SyncState is the data regarding the node's synchronization state to the chain.
func (*SyncState) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*SyncState) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type Validator ¶
type Validator struct { Index spec.ValidatorIndex Balance spec.Gwei Status ValidatorState Validator *spec.Validator }
Validator contains the spec validator plus additional fields.
func (*Validator) MarshalJSON ¶
MarshalJSON implements json.Marshaler.
func (*Validator) UnmarshalJSON ¶
UnmarshalJSON implements json.Unmarshaler.
type ValidatorBalance ¶ added in v0.6.9
type ValidatorBalance struct { Index spec.ValidatorIndex Balance spec.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 *spec.Validator, currentEpoch spec.Epoch, farFutureEpoch spec.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.
Source Files ¶
- attesterduty.go
- beaconblockheader.go
- beaconcommittee.go
- beaconcommitteesubscription.go
- blockevent.go
- chainreorgevent.go
- consts.go
- depositcontract.go
- event.go
- finality.go
- finalizedcheckpointevent.go
- genesis.go
- headevent.go
- proposerduty.go
- syncstate.go
- validator.go
- validatorbalance.go
- validatorstate.go