util

package
v5.0.1-rc.3 Latest Latest
Warning

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

Go to latest
Published: Mar 6, 2024 License: GPL-3.0 Imports: 49 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BazelDirectoryNonEmpty

func BazelDirectoryNonEmpty(filePath string) (bool, error)

BazelDirectoryNonEmpty returns true if directory exists and is not empty.

func BazelFileBytes

func BazelFileBytes(filePaths ...string) ([]byte, error)

BazelFileBytes returns the byte array of the bazel file path given.

func BazelListDirectories

func BazelListDirectories(filepath string) ([]string, error)

BazelListDirectories lists all of the directories in the given directory. Excludes regular files. Returns error when no directories exist.

func BazelListFiles

func BazelListFiles(filepath string) ([]string, error)

BazelListFiles lists all of the file names in a given directory. Excludes directories. Returns an error when no non-directory files exist.

func BlockSignature

func BlockSignature(
	bState state.BeaconState,
	block interface{},
	privKeys []bls.SecretKey,
) (bls.Signature, error)

BlockSignature calculates the post-state root of the block and returns the signature.

func BlockSignatureAltair

func BlockSignatureAltair(
	bState state.BeaconState,
	block *ethpb.BeaconBlockAltair,
	privKeys []bls.SecretKey,
) (bls.Signature, error)

BlockSignatureAltair calculates the post-state root of the block and returns the signature.

func ConvertToCommittee

func ConvertToCommittee(inputKeys [][]byte) *ethpb.SyncCommittee

ConvertToCommittee takes a list of pubkeys and returns a SyncCommittee with these keys as members. Some keys may appear repeated

func DepositTrieFromDeposits

func DepositTrieFromDeposits(deposits []*ethpb.Deposit) (*trie.SparseMerkleTrie, [][32]byte, error)

DepositTrieFromDeposits takes an array of deposits and returns the deposit trie.

func DepositTrieSubset

func DepositTrieSubset(sparseTrie *trie.SparseMerkleTrie, size int) (*trie.SparseMerkleTrie, [][32]byte, error)

DepositTrieSubset takes in a full tree and the desired size and returns a subset of the deposit trie.

func DepositsWithBalance

func DepositsWithBalance(balances []uint64) ([]*ethpb.Deposit, *trie.SparseMerkleTrie, error)

DepositsWithBalance generates N amount of deposits with the balances taken from the passed in balances array. If an empty array is passed,

func DeterministicDepositTrie

func DeterministicDepositTrie(size int) (*trie.SparseMerkleTrie, [][32]byte, error)

DeterministicDepositTrie returns a merkle trie of the requested size from the deterministic deposits.

func DeterministicDepositsAndKeys

func DeterministicDepositsAndKeys(numDeposits uint64) ([]*ethpb.Deposit, []bls.SecretKey, error)

DeterministicDepositsAndKeys returns the entered amount of deposits and secret keys. The deposits are configured such that for deposit n the validator account is key n and the withdrawal account is key n+1. As such, if all secret keys for n validators are required then numDeposits should be n+1.

func DeterministicDepositsAndKeysSameValidator

func DeterministicDepositsAndKeysSameValidator(numDeposits uint64) ([]*ethpb.Deposit, []bls.SecretKey, error)

DeterministicDepositsAndKeysSameValidator returns the entered amount of deposits and secret keys of the same validator. This is for negative test cases such as same deposits from same validators in a block don't result in duplicated validator indices.

func DeterministicEth1Data

func DeterministicEth1Data(size int) (*ethpb.Eth1Data, error)

DeterministicEth1Data takes an array of deposits and returns the eth1Data made from the deposit trie.

func DeterministicGenesisState

func DeterministicGenesisState(t testing.TB, numValidators uint64) (state.BeaconState, []bls.SecretKey)

DeterministicGenesisState returns a genesis state made using the deterministic deposits.

func DeterministicGenesisStateAltair

func DeterministicGenesisStateAltair(t testing.TB, numValidators uint64) (state.BeaconState, []bls.SecretKey)

DeterministicGenesisStateAltair returns a genesis state in hard fork 1 format made using the deterministic deposits.

func DeterministicGenesisStateBellatrix

func DeterministicGenesisStateBellatrix(t testing.TB, numValidators uint64) (state.BeaconState, []bls.SecretKey)

DeterministicGenesisStateBellatrix returns a genesis state in Bellatrix format made using the deterministic deposits.

func DeterministicGenesisStateCapella

func DeterministicGenesisStateCapella(t testing.TB, numValidators uint64) (state.BeaconState, []bls.SecretKey)

DeterministicGenesisStateCapella returns a genesis state in Capella format made using the deterministic deposits.

func DeterministicGenesisStateDeneb

func DeterministicGenesisStateDeneb(t testing.TB, numValidators uint64) (state.BeaconState, []bls.SecretKey)

DeterministicGenesisStateDeneb returns a genesis state in Deneb format made using the deterministic deposits.

func DeterministicGenesisStateWithGenesisBlock

func DeterministicGenesisStateWithGenesisBlock(
	t *testing.T,
	ctx context.Context,
	db iface.HeadAccessDatabase,
	numValidators uint64,
) (state.BeaconState, [32]byte, []bls.SecretKey)

DeterministicGenesisStateWithGenesisBlock creates a genesis state, saves the genesis block, genesis state and head block root. It returns the genesis state, genesis block's root and validator private keys.

func ExtendBlocksPlusBlobs

func ExtendBlocksPlusBlobs(t *testing.T, blks []blocks.ROBlock, size int) ([]blocks.ROBlock, []blocks.ROBlob)

func FillRootsNaturalOpt

func FillRootsNaturalOpt(state *ethpb.BeaconState) error

FillRootsNaturalOpt is meant to be used as an option when calling NewBeaconState. It fills state and block roots with hex representations of natural numbers starting with 0. Example: 16 becomes 0x00...0f.

func FillRootsNaturalOptAltair

func FillRootsNaturalOptAltair(state *ethpb.BeaconStateAltair) error

FillRootsNaturalOptAltair is meant to be used as an option when calling NewBeaconStateAltair. It fills state and block roots with hex representations of natural numbers starting with 0. Example: 16 becomes 0x00...0f.

func FillRootsNaturalOptBellatrix

func FillRootsNaturalOptBellatrix(state *ethpb.BeaconStateBellatrix) error

FillRootsNaturalOptBellatrix is meant to be used as an option when calling NewBeaconStateBellatrix. It fills state and block roots with hex representations of natural numbers starting with 0. Example: 16 becomes 0x00...0f.

func FillRootsNaturalOptCapella

func FillRootsNaturalOptCapella(state *ethpb.BeaconStateCapella) error

FillRootsNaturalOptCapella is meant to be used as an option when calling NewBeaconStateCapella. It fills state and block roots with hex representations of natural numbers starting with 0. Example: 16 becomes 0x00...0f.

func FillRootsNaturalOptDeneb

func FillRootsNaturalOptDeneb(state *ethpb.BeaconStateDeneb) error

FillRootsNaturalOptDeneb is meant to be used as an option when calling NewBeaconStateDeneb. It fills state and block roots with hex representations of natural numbers starting with 0. Example: 16 becomes 0x00...0f.

func GenerateAttestations

func GenerateAttestations(
	bState state.BeaconState, privs []bls.SecretKey, numToGen uint64, slot primitives.Slot, randomRoot bool,
) ([]*ethpb.Attestation, error)

GenerateAttestations creates attestations that are entirely valid, for all the committees of the current state slot. This function expects attestations requested to be cleanly divisible by committees per slot. If there is 1 committee in the slot, and numToGen is set to 4, then it will return 4 attestations for the same data with their aggregation bits split uniformly.

If you request 4 attestations, but there are 8 committees, you will get 4 fully aggregated attestations.

func GenerateAttesterSlashingForValidator

func GenerateAttesterSlashingForValidator(
	bState state.BeaconState,
	priv bls.SecretKey,
	idx primitives.ValidatorIndex,
) (*ethpb.AttesterSlashing, error)

GenerateAttesterSlashingForValidator for a specific validator index.

func GenerateBLSToExecutionChange

func GenerateBLSToExecutionChange(st state.BeaconState, priv bls.SecretKey, val primitives.ValidatorIndex) (*ethpb.SignedBLSToExecutionChange, error)

GenerateBLSToExecutionChange generates a valid bls to exec changae for validator `val` and its private key `priv` with the given beacon state `st`.

func GenerateFullBlock

func GenerateFullBlock(
	bState state.BeaconState,
	privs []bls.SecretKey,
	conf *BlockGenConfig,
	slot primitives.Slot,
) (*ethpb.SignedBeaconBlock, error)

GenerateFullBlock generates a fully valid block with the requested parameters. Use BlockGenConfig to declare the conditions you would like the block generated under.

func GenerateFullBlockAltair

func GenerateFullBlockAltair(
	bState state.BeaconState,
	privs []bls.SecretKey,
	conf *BlockGenConfig,
	slot primitives.Slot,
) (*ethpb.SignedBeaconBlockAltair, error)

GenerateFullBlockAltair generates a fully valid Altair block with the requested parameters. Use BlockGenConfig to declare the conditions you would like the block generated under.

func GenerateFullBlockBellatrix

func GenerateFullBlockBellatrix(
	bState state.BeaconState,
	privs []bls.SecretKey,
	conf *BlockGenConfig,
	slot primitives.Slot,
) (*ethpb.SignedBeaconBlockBellatrix, error)

func GenerateFullBlockCapella

func GenerateFullBlockCapella(
	bState state.BeaconState,
	privs []bls.SecretKey,
	conf *BlockGenConfig,
	slot primitives.Slot,
) (*ethpb.SignedBeaconBlockCapella, error)

func GenerateProposerSlashingForValidator

func GenerateProposerSlashingForValidator(
	bState state.BeaconState,
	priv bls.SecretKey,
	idx primitives.ValidatorIndex,
) (*ethpb.ProposerSlashing, error)

GenerateProposerSlashingForValidator for a specific validator index.

func GenerateTestDenebBlobSidecar

func GenerateTestDenebBlobSidecar(t *testing.T, root [32]byte, header *ethpb.SignedBeaconBlockHeader, index int, commitment []byte, incProof [][]byte) blocks.ROBlob

func GenerateTestDenebBlockWithSidecar

func GenerateTestDenebBlockWithSidecar(t *testing.T, parent [32]byte, slot primitives.Slot, nblobs int, opts ...DenebBlockGeneratorOption) (blocks.ROBlock, []blocks.ROBlob)

func GenesisBeaconState

func GenesisBeaconState(ctx context.Context, deposits []*ethpb.Deposit, genesisTime uint64, eth1Data *ethpb.Eth1Data) (state.BeaconState, error)

GenesisBeaconState returns the genesis beacon state.

func HackDenebMaxuint

func HackDenebMaxuint(t *testing.T) func()

HackDenebMaxuint is helpful for tests that need to set up cases where the deneb fork has passed. We have unit tests that assert our config matches the upstream config, where the next fork is always set to MaxUint64 until the fork epoch is formally set. This creates an issue for tests that want to work with slots that are defined to be after deneb because converting the max epoch to a slot leads to multiplication overflow. Monkey patching tests with this function is the simplest workaround in these cases.

func HydrateAttestation

func HydrateAttestation(a *ethpb.Attestation) *ethpb.Attestation

HydrateAttestation hydrates an attestation object with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateAttestationData

func HydrateAttestationData(d *ethpb.AttestationData) *ethpb.AttestationData

HydrateAttestationData hydrates an attestation data object with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlock

func HydrateBeaconBlock(b *ethpb.BeaconBlock) *ethpb.BeaconBlock

HydrateBeaconBlock hydrates a beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockAltair

func HydrateBeaconBlockAltair(b *ethpb.BeaconBlockAltair) *ethpb.BeaconBlockAltair

HydrateBeaconBlockAltair hydrates a beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockBellatrix

func HydrateBeaconBlockBellatrix(b *ethpb.BeaconBlockBellatrix) *ethpb.BeaconBlockBellatrix

HydrateBeaconBlockBellatrix hydrates a beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockBody

func HydrateBeaconBlockBody(b *ethpb.BeaconBlockBody) *ethpb.BeaconBlockBody

HydrateBeaconBlockBody hydrates a beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockBodyAltair

func HydrateBeaconBlockBodyAltair(b *ethpb.BeaconBlockBodyAltair) *ethpb.BeaconBlockBodyAltair

HydrateBeaconBlockBodyAltair hydrates a beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockBodyBellatrix

func HydrateBeaconBlockBodyBellatrix(b *ethpb.BeaconBlockBodyBellatrix) *ethpb.BeaconBlockBodyBellatrix

HydrateBeaconBlockBodyBellatrix hydrates a beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockBodyCapella

func HydrateBeaconBlockBodyCapella(b *ethpb.BeaconBlockBodyCapella) *ethpb.BeaconBlockBodyCapella

HydrateBeaconBlockBodyCapella hydrates a beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockBodyDeneb

func HydrateBeaconBlockBodyDeneb(b *ethpb.BeaconBlockBodyDeneb) *ethpb.BeaconBlockBodyDeneb

HydrateBeaconBlockBodyDeneb hydrates a beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockCapella

func HydrateBeaconBlockCapella(b *ethpb.BeaconBlockCapella) *ethpb.BeaconBlockCapella

HydrateBeaconBlockCapella hydrates a beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconBlockDeneb

func HydrateBeaconBlockDeneb(b *ethpb.BeaconBlockDeneb) *ethpb.BeaconBlockDeneb

HydrateBeaconBlockDeneb hydrates a beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBeaconHeader

func HydrateBeaconHeader(h *ethpb.BeaconBlockHeader) *ethpb.BeaconBlockHeader

HydrateBeaconHeader hydrates a beacon block header with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBlindedBeaconBlockBellatrix

func HydrateBlindedBeaconBlockBellatrix(b *ethpb.BlindedBeaconBlockBellatrix) *ethpb.BlindedBeaconBlockBellatrix

HydrateBlindedBeaconBlockBellatrix hydrates a blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBlindedBeaconBlockBodyBellatrix

func HydrateBlindedBeaconBlockBodyBellatrix(b *ethpb.BlindedBeaconBlockBodyBellatrix) *ethpb.BlindedBeaconBlockBodyBellatrix

HydrateBlindedBeaconBlockBodyBellatrix hydrates a blinded beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBlindedBeaconBlockBodyCapella

func HydrateBlindedBeaconBlockBodyCapella(b *ethpb.BlindedBeaconBlockBodyCapella) *ethpb.BlindedBeaconBlockBodyCapella

HydrateBlindedBeaconBlockBodyCapella hydrates a blinded beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBlindedBeaconBlockBodyDeneb

func HydrateBlindedBeaconBlockBodyDeneb(b *ethpb.BlindedBeaconBlockBodyDeneb) *ethpb.BlindedBeaconBlockBodyDeneb

HydrateBlindedBeaconBlockBodyDeneb hydrates a blinded beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBlindedBeaconBlockCapella

func HydrateBlindedBeaconBlockCapella(b *ethpb.BlindedBeaconBlockCapella) *ethpb.BlindedBeaconBlockCapella

HydrateBlindedBeaconBlockCapella hydrates a blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBlindedBeaconBlockDeneb

func HydrateBlindedBeaconBlockDeneb(b *ethpb.BlindedBeaconBlockDeneb) *ethpb.BlindedBeaconBlockDeneb

HydrateBlindedBeaconBlockDeneb hydrates a blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateBlobSidecar

func HydrateBlobSidecar(b *ethpb.BlobSidecar) *ethpb.BlobSidecar

HydrateBlobSidecar hydrates a blob sidecar with correct field length sizes to comply with SSZ marshalling and unmarshalling rules.

func HydrateCommitmentInclusionProofs

func HydrateCommitmentInclusionProofs() [][]byte

HydrateCommitmentInclusionProofs returns 2d byte slice of Commitment Inclusion Proofs

func HydrateIndexedAttestation

func HydrateIndexedAttestation(a *ethpb.IndexedAttestation) *ethpb.IndexedAttestation

HydrateIndexedAttestation hydrates an indexed attestation with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBeaconBlock

func HydrateSignedBeaconBlock(b *ethpb.SignedBeaconBlock) *ethpb.SignedBeaconBlock

HydrateSignedBeaconBlock hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBeaconBlockAltair

func HydrateSignedBeaconBlockAltair(b *ethpb.SignedBeaconBlockAltair) *ethpb.SignedBeaconBlockAltair

HydrateSignedBeaconBlockAltair hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBeaconBlockBellatrix

func HydrateSignedBeaconBlockBellatrix(b *ethpb.SignedBeaconBlockBellatrix) *ethpb.SignedBeaconBlockBellatrix

HydrateSignedBeaconBlockBellatrix hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBeaconBlockCapella

func HydrateSignedBeaconBlockCapella(b *ethpb.SignedBeaconBlockCapella) *ethpb.SignedBeaconBlockCapella

HydrateSignedBeaconBlockCapella hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBeaconBlockContentsDeneb

func HydrateSignedBeaconBlockContentsDeneb(b *ethpb.SignedBeaconBlockContentsDeneb) *ethpb.SignedBeaconBlockContentsDeneb

HydrateSignedBeaconBlockContentsDeneb hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBeaconBlockDeneb

func HydrateSignedBeaconBlockDeneb(b *ethpb.SignedBeaconBlockDeneb) *ethpb.SignedBeaconBlockDeneb

HydrateSignedBeaconBlockDeneb hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBeaconHeader

func HydrateSignedBeaconHeader(h *ethpb.SignedBeaconBlockHeader) *ethpb.SignedBeaconBlockHeader

HydrateSignedBeaconHeader hydrates a signed beacon block header with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBlindedBeaconBlockBellatrix

func HydrateSignedBlindedBeaconBlockBellatrix(b *ethpb.SignedBlindedBeaconBlockBellatrix) *ethpb.SignedBlindedBeaconBlockBellatrix

HydrateSignedBlindedBeaconBlockBellatrix hydrates a signed blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBlindedBeaconBlockCapella

func HydrateSignedBlindedBeaconBlockCapella(b *ethpb.SignedBlindedBeaconBlockCapella) *ethpb.SignedBlindedBeaconBlockCapella

HydrateSignedBlindedBeaconBlockCapella hydrates a signed blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSignedBlindedBeaconBlockDeneb

func HydrateSignedBlindedBeaconBlockDeneb(b *ethpb.SignedBlindedBeaconBlockDeneb) *ethpb.SignedBlindedBeaconBlockDeneb

HydrateSignedBlindedBeaconBlockDeneb hydrates a signed blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateSyncCommittee

func HydrateSyncCommittee(s *ethpb.SyncCommitteeMessage) *ethpb.SyncCommitteeMessage

HydrateSyncCommittee hydrates the provided sync committee message.

func HydrateV1Attestation

func HydrateV1Attestation(a *attv1.Attestation) *attv1.Attestation

HydrateV1Attestation hydrates a v1 attestation object with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV1AttestationData

func HydrateV1AttestationData(d *attv1.AttestationData) *attv1.AttestationData

HydrateV1AttestationData hydrates a v1 attestation data object with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV1BeaconBlock

func HydrateV1BeaconBlock(b *v1.BeaconBlock) *v1.BeaconBlock

HydrateV1BeaconBlock hydrates a beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV1BeaconBlockBody

func HydrateV1BeaconBlockBody(b *v1.BeaconBlockBody) *v1.BeaconBlockBody

HydrateV1BeaconBlockBody hydrates a beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV1SignedBeaconBlock

func HydrateV1SignedBeaconBlock(b *v1.SignedBeaconBlock) *v1.SignedBeaconBlock

HydrateV1SignedBeaconBlock hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2AltairBeaconBlock

func HydrateV2AltairBeaconBlock(b *v2.BeaconBlockAltair) *v2.BeaconBlockAltair

HydrateV2AltairBeaconBlock hydrates a beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2AltairBeaconBlockBody

func HydrateV2AltairBeaconBlockBody(b *v2.BeaconBlockBodyAltair) *v2.BeaconBlockBodyAltair

HydrateV2AltairBeaconBlockBody hydrates a beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2AltairSignedBeaconBlock

func HydrateV2AltairSignedBeaconBlock(b *v2.SignedBeaconBlockAltair) *v2.SignedBeaconBlockAltair

HydrateV2AltairSignedBeaconBlock hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BeaconBlockBodyDeneb

func HydrateV2BeaconBlockBodyDeneb(b *v2.BeaconBlockBodyDeneb) *v2.BeaconBlockBodyDeneb

HydrateV2BeaconBlockBodyDeneb hydrates a v2 beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BeaconBlockDeneb

func HydrateV2BeaconBlockDeneb(b *v2.BeaconBlockDeneb) *v2.BeaconBlockDeneb

HydrateV2BeaconBlockDeneb hydrates a v2 beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BellatrixBeaconBlock

func HydrateV2BellatrixBeaconBlock(b *v2.BeaconBlockBellatrix) *v2.BeaconBlockBellatrix

HydrateV2BellatrixBeaconBlock hydrates a beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BellatrixBeaconBlockBody

func HydrateV2BellatrixBeaconBlockBody(b *v2.BeaconBlockBodyBellatrix) *v2.BeaconBlockBodyBellatrix

HydrateV2BellatrixBeaconBlockBody hydrates a beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BellatrixSignedBeaconBlock

func HydrateV2BellatrixSignedBeaconBlock(b *v2.SignedBeaconBlockBellatrix) *v2.SignedBeaconBlockBellatrix

HydrateV2BellatrixSignedBeaconBlock hydrates a signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BlindedBeaconBlockBellatrix

func HydrateV2BlindedBeaconBlockBellatrix(b *v2.BlindedBeaconBlockBellatrix) *v2.BlindedBeaconBlockBellatrix

HydrateV2BlindedBeaconBlockBellatrix hydrates a blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BlindedBeaconBlockBodyBellatrix

func HydrateV2BlindedBeaconBlockBodyBellatrix(b *v2.BlindedBeaconBlockBodyBellatrix) *v2.BlindedBeaconBlockBodyBellatrix

HydrateV2BlindedBeaconBlockBodyBellatrix hydrates a blinded beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BlindedBeaconBlockBodyCapella

func HydrateV2BlindedBeaconBlockBodyCapella(b *v2.BlindedBeaconBlockBodyCapella) *v2.BlindedBeaconBlockBodyCapella

HydrateV2BlindedBeaconBlockBodyCapella hydrates a blinded beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BlindedBeaconBlockBodyDeneb

func HydrateV2BlindedBeaconBlockBodyDeneb(b *v2.BlindedBeaconBlockBodyDeneb) *v2.BlindedBeaconBlockBodyDeneb

HydrateV2BlindedBeaconBlockBodyDeneb hydrates a blinded v2 beacon block body with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BlindedBeaconBlockCapella

func HydrateV2BlindedBeaconBlockCapella(b *v2.BlindedBeaconBlockCapella) *v2.BlindedBeaconBlockCapella

HydrateV2BlindedBeaconBlockCapella hydrates a blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2BlindedBeaconBlockDeneb

func HydrateV2BlindedBeaconBlockDeneb(b *v2.BlindedBeaconBlockDeneb) *v2.BlindedBeaconBlockDeneb

HydrateV2BlindedBeaconBlockDeneb hydrates a v2 blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2SignedBeaconBlockDeneb

func HydrateV2SignedBeaconBlockDeneb(b *v2.SignedBeaconBlockDeneb) *v2.SignedBeaconBlockDeneb

HydrateV2SignedBeaconBlockDeneb hydrates a v2 signed beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2SignedBlindedBeaconBlockBellatrix

func HydrateV2SignedBlindedBeaconBlockBellatrix(b *v2.SignedBlindedBeaconBlockBellatrix) *v2.SignedBlindedBeaconBlockBellatrix

HydrateV2SignedBlindedBeaconBlockBellatrix hydrates a signed blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2SignedBlindedBeaconBlockCapella

func HydrateV2SignedBlindedBeaconBlockCapella(b *v2.SignedBlindedBeaconBlockCapella) *v2.SignedBlindedBeaconBlockCapella

HydrateV2SignedBlindedBeaconBlockCapella hydrates a signed blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func HydrateV2SignedBlindedBeaconBlockDeneb

func HydrateV2SignedBlindedBeaconBlockDeneb(b *v2.SignedBlindedBeaconBlockDeneb) *v2.SignedBlindedBeaconBlockDeneb

HydrateV2SignedBlindedBeaconBlockDeneb hydrates a signed v2 blinded beacon block with correct field length sizes to comply with fssz marshalling and unmarshalling rules.

func NewAttestation

func NewAttestation() *ethpb.Attestation

NewAttestation creates an attestation block with minimum marshalable fields.

func NewBeaconBlock

func NewBeaconBlock() *ethpb.SignedBeaconBlock

NewBeaconBlock creates a beacon block with minimum marshalable fields.

func NewBeaconBlockAltair

func NewBeaconBlockAltair() *ethpb.SignedBeaconBlockAltair

NewBeaconBlockAltair creates a beacon block with minimum marshalable fields.

func NewBeaconBlockBellatrix

func NewBeaconBlockBellatrix() *ethpb.SignedBeaconBlockBellatrix

NewBeaconBlockBellatrix creates a beacon block with minimum marshalable fields.

func NewBeaconBlockCapella

func NewBeaconBlockCapella() *ethpb.SignedBeaconBlockCapella

NewBeaconBlockCapella creates a beacon block with minimum marshalable fields.

func NewBeaconBlockContentsDeneb

func NewBeaconBlockContentsDeneb() *ethpb.SignedBeaconBlockContentsDeneb

NewBeaconBlockContentsDeneb creates a beacon block with minimum marshalable fields.

func NewBeaconBlockDeneb

func NewBeaconBlockDeneb() *ethpb.SignedBeaconBlockDeneb

NewBeaconBlockDeneb creates a beacon block with minimum marshalable fields.

func NewBeaconState

func NewBeaconState(options ...NewBeaconStateOption) (state.BeaconState, error)

NewBeaconState creates a beacon state with minimum marshalable fields.

func NewBeaconStateAltair

func NewBeaconStateAltair(options ...func(state *ethpb.BeaconStateAltair) error) (state.BeaconState, error)

NewBeaconStateAltair creates a beacon state with minimum marshalable fields.

func NewBeaconStateBellatrix

func NewBeaconStateBellatrix(options ...func(state *ethpb.BeaconStateBellatrix) error) (state.BeaconState, error)

NewBeaconStateBellatrix creates a beacon state with minimum marshalable fields.

func NewBeaconStateCapella

func NewBeaconStateCapella(options ...func(state *ethpb.BeaconStateCapella) error) (state.BeaconState, error)

NewBeaconStateCapella creates a beacon state with minimum marshalable fields.

func NewBeaconStateDeneb

func NewBeaconStateDeneb(options ...func(state *ethpb.BeaconStateDeneb) error) (state.BeaconState, error)

NewBeaconStateDeneb creates a beacon state with minimum marshalable fields.

func NewBlindedBeaconBlockBellatrix

func NewBlindedBeaconBlockBellatrix() *ethpb.SignedBlindedBeaconBlockBellatrix

NewBlindedBeaconBlockBellatrix creates a blinded beacon block with minimum marshalable fields.

func NewBlindedBeaconBlockBellatrixV2

func NewBlindedBeaconBlockBellatrixV2() *v2.SignedBlindedBeaconBlockBellatrix

NewBlindedBeaconBlockBellatrixV2 creates a blinded beacon block with minimum marshalable fields.

func NewBlindedBeaconBlockCapella

func NewBlindedBeaconBlockCapella() *ethpb.SignedBlindedBeaconBlockCapella

NewBlindedBeaconBlockCapella creates a blinded beacon block with minimum marshalable fields.

func NewBlindedBeaconBlockCapellaV2

func NewBlindedBeaconBlockCapellaV2() *v2.SignedBlindedBeaconBlockCapella

NewBlindedBeaconBlockCapellaV2 creates a blinded beacon block with minimum marshalable fields.

func NewBlindedBeaconBlockDeneb

func NewBlindedBeaconBlockDeneb() *ethpb.SignedBlindedBeaconBlockDeneb

NewBlindedBeaconBlockDeneb creates a blinded beacon block with minimum marshalable fields.

func PrepareRoots

func PrepareRoots(size int) ([][]byte, error)

PrepareRoots returns a list of roots with hex representations of natural numbers starting with 0. Example: 16 becomes 0x00...0f.

func RandaoReveal

func RandaoReveal(beaconState state.ReadOnlyBeaconState, epoch primitives.Epoch, privKeys []bls.SecretKey) ([]byte, error)

RandaoReveal returns a signature of the requested epoch using the beacon proposer private key.

func Random32Bytes

func Random32Bytes(t *testing.T) []byte

Random32Bytes generates a random 32 byte slice.

func WaitTimeout

func WaitTimeout(wg *sync.WaitGroup, timeout time.Duration) bool

WaitTimeout will wait for a WaitGroup to resolve within a timeout interval. Returns true if the waitgroup exceeded the timeout.

Types

type BlockGenConfig

type BlockGenConfig struct {
	NumProposerSlashings uint64
	NumAttesterSlashings uint64
	NumAttestations      uint64
	NumDeposits          uint64
	NumVoluntaryExits    uint64
	NumTransactions      uint64 // Only for post Bellatrix blocks
	FullSyncAggregate    bool
	NumBLSChanges        uint64 // Only for post Capella blocks
}

BlockGenConfig is used to define the requested conditions for block generation.

func DefaultBlockGenConfig

func DefaultBlockGenConfig() *BlockGenConfig

DefaultBlockGenConfig returns the block config that utilizes the current params in the beacon config.

type DenebBlockGeneratorOption

type DenebBlockGeneratorOption func(*denebBlockGenerator)

func WithProposerSigning

func WithProposerSigning(idx primitives.ValidatorIndex, sk bls.SecretKey, valRoot []byte) DenebBlockGeneratorOption

type NewBeaconStateOption

type NewBeaconStateOption func(state *ethpb.BeaconState) error

type Waiter

type Waiter struct {
	// contains filtered or unexported fields
}

Waiter offers an alternate ux for building tests that want to ensure contexts are used in certain ways.

func NewWaiter

func NewWaiter() *Waiter

NewWaiter internally create the chan that Waiter relies on.

func (*Waiter) Done

func (w *Waiter) Done()

Done is used with RequireDoneAfter and RequireDoneBefore to make assertions that certain test code is reached before a timeout or context cancellation.

func (*Waiter) RequireDoneAfter

func (w *Waiter) RequireDoneAfter(t *testing.T, timeout time.Duration)

RequireDoneAfter forces the test to fail if the timeout is reached before Done is called.

func (*Waiter) RequireDoneBeforeCancel

func (w *Waiter) RequireDoneBeforeCancel(ctx context.Context, t *testing.T)

RequireDoneBeforeCancel forces the test to fail if the context is cancelled before Done is called.

Jump to

Keyboard shortcuts

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