abstract

package
v0.0.0-...-1f8a15b Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2023 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BeaconStateBasic

type BeaconStateBasic interface {
	BeaconStateMinimal
	BeaconStateExtra
	BeaconStateMutator
	BeaconStateSSZ

	Clone() clonable.Clonable
	DebugPrint(prefix string)
}

type BeaconStateCopying

type BeaconStateCopying interface {
}

TODO figure this out

type BeaconStateExtension

type BeaconStateExtension interface {
	SlashValidator(slashedInd uint64, whistleblowerInd *uint64) error
	InitiateValidatorExit(index uint64) error
	GetActiveValidatorsIndices(epoch uint64) (indicies []uint64)
	GetTotalActiveBalance() uint64
	ComputeCommittee(indicies []uint64, slot uint64, index, count uint64) ([]uint64, error)
	GetBeaconProposerIndex() (uint64, error)
	BaseRewardPerIncrement() uint64
	BaseReward(index uint64) (uint64, error)
	SyncRewards() (proposerReward, participantReward uint64, err error)
	CommitteeCount(epoch uint64) uint64
	GetAttestationParticipationFlagIndicies(data solid.AttestationData, inclusionDelay uint64) ([]uint8, error)
	GetBeaconCommitee(slot, committeeIndex uint64) ([]uint64, error)
	ComputeNextSyncCommittee() (*solid.SyncCommittee, error)
	GetAttestingIndicies(attestation solid.AttestationData, aggregationBits []byte, checkBitsLength bool) ([]uint64, error)
	GetValidatorChurnLimit() uint64
	ValidatorIndexByPubkey(key [48]byte) (uint64, bool)
	PreviousStateRoot() common.Hash
	SetPreviousStateRoot(root common.Hash)
}

type BeaconStateExtra

type BeaconStateExtra interface {
	ValidatorLength() int
	ValidatorBalance(index int) (uint64, error)
	RandaoMixes() solid.HashVectorSSZ
	ForEachBalance(fn func(v uint64, idx int, total int) bool)
	ValidatorExitEpoch(index int) (uint64, error)
	ValidatorWithdrawableEpoch(index int) (uint64, error)
	ValidatorEffectiveBalance(index int) (uint64, error)
	ValidatorMinCurrentInclusionDelayAttestation(index int) (*solid.PendingAttestation, error)
	ValidatorMinPreviousInclusionDelayAttestation(index int) (*solid.PendingAttestation, error)
	ValidatorIsCurrentMatchingSourceAttester(idx int) (bool, error)
	ValidatorIsCurrentMatchingTargetAttester(idx int) (bool, error)
	ValidatorIsCurrentMatchingHeadAttester(idx int) (bool, error)
	ValidatorIsPreviousMatchingSourceAttester(idx int) (bool, error)
	ValidatorIsPreviousMatchingTargetAttester(idx int) (bool, error)
	ValidatorIsPreviousMatchingHeadAttester(idx int) (bool, error)
	GetRandaoMixes(epoch uint64) [32]byte
	GetRandaoMix(index int) [32]byte
	EpochParticipationForValidatorIndex(isCurrentEpoch bool, index int) cltypes.ParticipationFlags
	GetBlockRootAtSlot(slot uint64) (common.Hash, error)
	GetDomain(domainType [4]byte, epoch uint64) ([]byte, error)
}

type BeaconStateMinimal

type BeaconStateMinimal interface {
	BeaconConfig() *clparams.BeaconChainConfig
	Version() clparams.StateVersion
	GenesisTime() uint64
	GenesisValidatorsRoot() common.Hash
	Slot() uint64
	PreviousSlot() uint64
	Fork() *cltypes.Fork
	LatestBlockHeader() cltypes.BeaconBlockHeader
	BlockRoots() solid.HashVectorSSZ
	StateRoots() solid.HashVectorSSZ
	Eth1Data() *cltypes.Eth1Data
	Eth1DataVotes() *solid.ListSSZ[*cltypes.Eth1Data]
	Eth1DepositIndex() uint64

	ForEachValidator(fn func(v solid.Validator, idx int, total int) bool)
	ValidatorForValidatorIndex(index int) (solid.Validator, error)

	ForEachSlashingSegment(fn func(idx int, v uint64, total int) bool)
	SlashingSegmentAt(pos int) uint64

	EpochParticipation(currentEpoch bool) *solid.BitList
	JustificationBits() cltypes.JustificationBits

	PreviousJustifiedCheckpoint() solid.Checkpoint
	CurrentJustifiedCheckpoint() solid.Checkpoint
	FinalizedCheckpoint() solid.Checkpoint
	ValidatorInactivityScore(index int) (uint64, error)
	CurrentSyncCommittee() *solid.SyncCommittee
	NextSyncCommittee() *solid.SyncCommittee
	LatestExecutionPayloadHeader() *cltypes.Eth1Header
	NextWithdrawalIndex() uint64
	NextWithdrawalValidatorIndex() uint64

	CurrentEpochAttestations() *solid.ListSSZ[*solid.PendingAttestation]
	CurrentEpochAttestationsLength() int
	PreviousEpochAttestations() *solid.ListSSZ[*solid.PendingAttestation]
	PreviousEpochAttestationsLength() int
}

type BeaconStateMutator

type BeaconStateMutator interface {
	SetVersion(version clparams.StateVersion)
	SetSlot(slot uint64)
	SetFork(fork *cltypes.Fork)
	SetLatestBlockHeader(header *cltypes.BeaconBlockHeader)
	SetBlockRootAt(index int, root common.Hash)
	SetStateRootAt(index int, root common.Hash)
	SetWithdrawalCredentialForValidatorAtIndex(index int, creds common.Hash)
	SetExitEpochForValidatorAtIndex(index int, epoch uint64)
	SetWithdrawableEpochForValidatorAtIndex(index int, epoch uint64) error
	SetEffectiveBalanceForValidatorAtIndex(index int, balance uint64)
	SetActivationEpochForValidatorAtIndex(index int, epoch uint64)
	SetActivationEligibilityEpochForValidatorAtIndex(index int, epoch uint64)
	SetEth1Data(eth1Data *cltypes.Eth1Data)
	SetEth1DepositIndex(eth1DepositIndex uint64)
	SetValidatorSlashed(index int, slashed bool) error
	SetValidatorMinCurrentInclusionDelayAttestation(index int, value *solid.PendingAttestation) error
	SetValidatorIsCurrentMatchingSourceAttester(index int, value bool) error
	SetValidatorIsCurrentMatchingTargetAttester(index int, value bool) error
	SetValidatorIsCurrentMatchingHeadAttester(index int, value bool) error
	SetValidatorMinPreviousInclusionDelayAttestation(index int, value *solid.PendingAttestation) error
	SetValidatorIsPreviousMatchingSourceAttester(index int, value bool) error
	SetValidatorIsPreviousMatchingTargetAttester(index int, value bool) error
	SetValidatorIsPreviousMatchingHeadAttester(index int, value bool) error
	SetValidatorBalance(index int, balance uint64) error
	SetRandaoMixAt(index int, mix common.Hash)
	SetSlashingSegmentAt(index int, segment uint64)
	SetEpochParticipationForValidatorIndex(isCurrentEpoch bool, index int, flags cltypes.ParticipationFlags)
	SetValidatorAtIndex(index int, validator solid.Validator)

	SetJustificationBits(justificationBits cltypes.JustificationBits)
	SetPreviousJustifiedCheckpoint(previousJustifiedCheckpoint solid.Checkpoint)
	SetCurrentJustifiedCheckpoint(currentJustifiedCheckpoint solid.Checkpoint)
	SetFinalizedCheckpoint(finalizedCheckpoint solid.Checkpoint)
	SetCurrentSyncCommittee(currentSyncCommittee *solid.SyncCommittee)
	SetNextSyncCommittee(nextSyncCommittee *solid.SyncCommittee)
	SetLatestExecutionPayloadHeader(header *cltypes.Eth1Header)
	SetNextWithdrawalIndex(index uint64)
	SetNextWithdrawalValidatorIndex(index uint64)
	SetInactivityScores(scores []uint64)
	SetValidatorInactivityScore(index int, score uint64) error
	SetCurrentEpochParticipationFlags(flags []cltypes.ParticipationFlags)
	SetPreviousEpochParticipationFlags(flags []cltypes.ParticipationFlags)
	SetPreviousEpochAttestations(attestations *solid.ListSSZ[*solid.PendingAttestation])

	AddEth1DataVote(vote *cltypes.Eth1Data)
	AddValidator(validator solid.Validator, balance uint64)
	AddHistoricalSummary(summary *cltypes.HistoricalSummary)
	AddHistoricalRoot(root common.Hash)
	AddInactivityScore(score uint64)
	AddCurrentEpochParticipationFlags(flags cltypes.ParticipationFlags)
	AddPreviousEpochParticipationFlags(flags cltypes.ParticipationFlags)
	AddPreviousEpochParticipationAt(index int, delta byte)
	AddCurrentEpochAtteastation(attestation *solid.PendingAttestation)
	AddPreviousEpochAttestation(attestation *solid.PendingAttestation)

	AppendValidator(in solid.Validator)

	ResetEth1DataVotes()
	ResetEpochParticipation()
	ResetHistoricalSummaries()
	ResetCurrentEpochAttestations()
	ResetPreviousEpochAttestations()
}

type BeaconStateSSZ

type BeaconStateSSZ interface {
	BlockRoot() ([32]byte, error)
	EncodeSSZ(buf []byte) ([]byte, error)
	DecodeSSZ(buf []byte, version int) error
	EncodingSizeSSZ() (size int)
	HashSSZ() (out [32]byte, err error)
}

type BeaconStateUpgradable

type BeaconStateUpgradable interface {
	UpgradeToAltair() error
	UpgradeToBellatrix() error
	UpgradeToCapella() error
	UpgradeToDeneb() error
}

Jump to

Keyboard shortcuts

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