Documentation
¶
Index ¶
- Variables
- type Attestation
- type AttestationData
- type AttestationDataAndCustodyBit
- type AttestationDeltasFeature
- type AttestationFeature
- type AttestationProcessor
- type AttestationSlotMeta
- type AttestationValidator
- type AttestationsState
- type AttesterStatusFeature
- type AttestersData
- type CommitteeBits
- func (cb CommitteeBits) BitLen() uint64
- func (cb CommitteeBits) FilterNonParticipants(committee []ValidatorIndex) []ValidatorIndex
- func (cb CommitteeBits) FilterParticipants(committee []ValidatorIndex) []ValidatorIndex
- func (cb CommitteeBits) GetBit(i uint64) bool
- func (cb *CommitteeBits) Limit() uint64
- func (cb CommitteeBits) Or(other CommitteeBits)
- func (cb CommitteeBits) SetBit(i uint64, v bool)
- type CommitteeIndices
- type CrosslinkingEpoch
- type CrosslinkingFeature
- type CrosslinkingStatus
- type EpochPendingAttestations
- type IndexedAttestation
- type LinkWinner
- type PendingAttestation
Constants ¶
This section is empty.
Variables ¶
View Source
var AttestationDataAndCustodyBitSSZ = zssz.GetSSZ((*AttestationDataAndCustodyBit)(nil))
View Source
var AttestationSSZ = zssz.GetSSZ((*Attestation)(nil))
Functions ¶
This section is empty.
Types ¶
type Attestation ¶
type Attestation struct { AggregationBits CommitteeBits Data AttestationData CustodyBits CommitteeBits Signature BLSSignature }
func (*Attestation) ConvertToIndexed ¶
func (attestation *Attestation) ConvertToIndexed(committee []ValidatorIndex) (*IndexedAttestation, error)
Convert attestation to (almost) indexed-verifiable form
type AttestationData ¶
type AttestationData struct { // LMD GHOST vote BeaconBlockRoot Root // FFG vote Source Checkpoint Target Checkpoint // Crosslink vote Crosslink Crosslink }
func (*AttestationData) GetAttestationSlot ¶
func (attData *AttestationData) GetAttestationSlot(m AttestationSlotMeta) Slot
type AttestationDataAndCustodyBit ¶
type AttestationDataAndCustodyBit struct { Data AttestationData CustodyBit bool // Challengeable bit (SSZ-bool, 1 byte) for the custody of crosslink data }
type AttestationDeltasFeature ¶
type AttestationDeltasFeature struct { Meta interface { meta.Versioning meta.RegistrySize meta.Staking meta.EffectiveBalances meta.AttesterStatuses meta.Finality } }
func (*AttestationDeltasFeature) AttestationDeltas ¶
func (f *AttestationDeltasFeature) AttestationDeltas() *Deltas
type AttestationFeature ¶
type AttestationFeature struct { State *AttestationsState Meta interface { meta.Versioning meta.CrosslinkCommittees meta.CrosslinkTiming meta.CommitteeCount meta.Crosslinks meta.Finality meta.RegistrySize meta.Pubkeys meta.Proposers } }
func (*AttestationFeature) ProcessAttestation ¶
func (f *AttestationFeature) ProcessAttestation(attestation *Attestation) error
func (*AttestationFeature) ProcessAttestations ¶
func (f *AttestationFeature) ProcessAttestations(ops []Attestation) error
type AttestationProcessor ¶
type AttestationProcessor interface { ProcessAttestations(ops []Attestation) error ProcessAttestation(attestation *Attestation) error }
type AttestationSlotMeta ¶
type AttestationSlotMeta interface { meta.CrosslinkTiming meta.CommitteeCount }
type AttestationValidator ¶
type AttestationValidator interface { meta.RegistrySize meta.Pubkeys meta.Versioning }
type AttestationsState ¶
type AttestationsState struct { PreviousEpochAttestations EpochPendingAttestations CurrentEpochAttestations EpochPendingAttestations }
func (*AttestationsState) RotateEpochAttestations ¶
func (state *AttestationsState) RotateEpochAttestations()
Rotate current/previous epoch attestations
type AttesterStatusFeature ¶
type AttesterStatusFeature struct { State *AttestationsState Meta interface { meta.Versioning meta.RegistrySize meta.CrosslinkTiming meta.CommitteeCount meta.CrosslinkCommittees meta.EffectiveBalances meta.History meta.SlashedIndices meta.ActiveIndices meta.ValidatorEpochData } }
func (*AttesterStatusFeature) LoadAttesterStatuses ¶
func (f *AttesterStatusFeature) LoadAttesterStatuses() (out *AttestersData)
type AttestersData ¶
type AttestersData struct { Epoch Epoch Statuses []AttesterStatus TotalStake Gwei PrevTotalStake EpochStake CurrTotalStake EpochStake }
func (AttestersData) GetAttesterStatus ¶
func (atd AttestersData) GetAttesterStatus(index ValidatorIndex) AttesterStatus
func (AttestersData) GetTotalEpochStake ¶
func (atd AttestersData) GetTotalEpochStake(epoch Epoch) EpochStake
func (AttestersData) GetTotalStake ¶
func (atd AttestersData) GetTotalStake() Gwei
type CommitteeBits ¶
type CommitteeBits []byte
func (CommitteeBits) BitLen ¶
func (cb CommitteeBits) BitLen() uint64
func (CommitteeBits) FilterNonParticipants ¶
func (cb CommitteeBits) FilterNonParticipants(committee []ValidatorIndex) []ValidatorIndex
In-place filters a list of committees indices to only keep the bitfield NON-participants. The result is not sorted. Returns the re-sliced filtered non-participants list.
func (CommitteeBits) FilterParticipants ¶
func (cb CommitteeBits) FilterParticipants(committee []ValidatorIndex) []ValidatorIndex
In-place filters a list of committees indices to only keep the bitfield participants. The result is not sorted. Returns the re-sliced filtered participants list.
func (CommitteeBits) GetBit ¶
func (cb CommitteeBits) GetBit(i uint64) bool
func (*CommitteeBits) Limit ¶
func (cb *CommitteeBits) Limit() uint64
func (CommitteeBits) Or ¶
func (cb CommitteeBits) Or(other CommitteeBits)
Sets the bits to true that are true in other. (in place)
func (CommitteeBits) SetBit ¶
func (cb CommitteeBits) SetBit(i uint64, v bool)
type CommitteeIndices ¶
type CommitteeIndices []ValidatorIndex
func (*CommitteeIndices) Limit ¶
func (ci *CommitteeIndices) Limit() uint64
type CrosslinkingEpoch ¶
type CrosslinkingEpoch struct { Epoch Epoch WinningLinks [SHARD_COUNT]LinkWinner }
type CrosslinkingFeature ¶
type CrosslinkingFeature struct { State *AttestationsState Meta interface { meta.Versioning meta.Crosslinks meta.EffectiveBalances meta.CrosslinkCommittees meta.SlashedIndices } }
func (*CrosslinkingFeature) LoadCrosslinkEpoch ¶
func (f *CrosslinkingFeature) LoadCrosslinkEpoch(epoch Epoch) *CrosslinkingEpoch
func (*CrosslinkingFeature) LoadCrosslinkingStatus ¶
func (f *CrosslinkingFeature) LoadCrosslinkingStatus() *CrosslinkingStatus
type CrosslinkingStatus ¶
type CrosslinkingStatus struct { Previous *CrosslinkingEpoch Current *CrosslinkingEpoch }
func (*CrosslinkingStatus) GetWinningCrosslinkAndAttesters ¶
func (s *CrosslinkingStatus) GetWinningCrosslinkAndAttesters(epoch Epoch, shard Shard) (*Crosslink, ValidatorSet)
type EpochPendingAttestations ¶
type EpochPendingAttestations []*PendingAttestation
func (*EpochPendingAttestations) Limit ¶
func (*EpochPendingAttestations) Limit() uint64
type IndexedAttestation ¶
type IndexedAttestation struct { // Indices with custody bit equal to 0 CustodyBit0Indices CommitteeIndices // Indices with custody bit equal to 1 CustodyBit1Indices CommitteeIndices Data AttestationData Signature BLSSignature }
func (*IndexedAttestation) Validate ¶
func (indexedAttestation *IndexedAttestation) Validate(m AttestationValidator) error
Verify validity of slashable_attestation fields.
type LinkWinner ¶
type LinkWinner struct { Crosslink *Crosslink // nil when there are no crosslinks for the shard. Attesters ValidatorSet // nil-slice when there are no attestations for the shard. }
type PendingAttestation ¶
type PendingAttestation struct { AggregationBits CommitteeBits Data AttestationData InclusionDelay Slot ProposerIndex ValidatorIndex }
Click to show internal directories.
Click to hide internal directories.