# Functions
AssertLogsContain checks that the desired string is a subset of the current log output.
AssertLogsDoNotContain is the inverse check of AssertLogsContain.
BazelFileBytes returns the byte array of the bazel file path given.
BitLength returns the length of the bitfield for a giben number of attesters in bytes.
BitSetCount counts the number of 1s in a byte using the following algo: https://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel.
ConvertToPb converts some JSON compatible struct to given protobuf.
CreateRandaoReveal generates a epoch signature using the beacon proposer priv key.
DefaultBlockGenConfig returns the block config that utilizes the current params in the beacon config.
GenerateDepositProof takes an array of deposits and generates the deposit trie for them and proofs.
GenerateEth1Data takes an array of deposits and generates the deposit trie for them.
GenerateFullBlock generates a fully valid block with the requested parameters.
IsEmpty returns true if the struct is empty.
Random32Bytes generates a random 32 byte slice.
ResetCache clears out the old trie, private keys and deposits.
RunBlockOperationTest takes in the prestate and the beacon block body, processes it through the passed in block operation function and checks the post state with the expected post state.
RunEpochOperationTest takes in the prestate and processes it through the passed in epoch operation function and checks the post state with the expected post state.
SetupInitialDeposits prepares the entered amount of deposits, deposit data roots, and secret keys.
SignBlock generates a signed block using the block slot and the beacon proposer priv key.
TempDir returns a directory path for temporary test storage.
TestFolders sets the proper config and returns the result of ReadDir on the passed in eth2-spec-tests directory along with its path.
UnmarshalYaml using a customized json encoder that supports "spec-name" override tag.
WaitForLog waits for the desired string to appear the logs within a time period.
WaitTimeout will wait for a WaitGroup to resolve within a timeout interval.
# Structs
BlockGenConfig is used to define the requested conditions for block generation.