headertest

package
v0.32.1-mocha Latest Latest
Warning

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

Go to latest
Published: Sep 1, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtendedHeaderFromEDS added in v0.11.0

func ExtendedHeaderFromEDS(t testing.TB, height uint64, eds *rsmt2d.ExtendedDataSquare) *header.ExtendedHeader

func ExtendedHeadersFromEdsses added in v0.15.0

func ExtendedHeadersFromEdsses(t testing.TB, edsses []*rsmt2d.ExtendedDataSquare) []*header.ExtendedHeader

func MakeCommit

func MakeCommit(
	blockID types.BlockID,
	height int64,
	round int32,
	voteSet *types.VoteSet,
	validators []types.PrivValidator,
	now time.Time,
) (*types.Commit, error)

func NewCustomStore added in v0.14.0

func NewCustomStore(
	t *testing.T,
	generator headertest.Generator[*header.ExtendedHeader],
	numHeaders int,
) libhead.Store[*header.ExtendedHeader]

func NewStore added in v0.9.0

func NewStore(t *testing.T) libhead.Store[*header.ExtendedHeader]

func NewSubscriber added in v0.26.4

func NewSubscriber(
	t *testing.T,
	store libhead.Store[*header.ExtendedHeader],
	suite *TestSuite,
	num int,
) *headertest.Subscriber[*header.ExtendedHeader]

func RandBlockID

func RandBlockID(testing.TB) types.BlockID

RandBlockID provides a BlockID fixture.

func RandExtendedHeader

func RandExtendedHeader(t testing.TB) *header.ExtendedHeader

RandExtendedHeader provides an ExtendedHeader fixture.

func RandExtendedHeaderAtTimestamp added in v0.14.0

func RandExtendedHeaderAtTimestamp(t testing.TB, timestamp time.Time) *header.ExtendedHeader

func RandExtendedHeaderWithRoot added in v0.11.0

func RandExtendedHeaderWithRoot(t testing.TB, dah *da.DataAvailabilityHeader) *header.ExtendedHeader

func RandRawHeader

func RandRawHeader(t testing.TB) *header.RawHeader

RandRawHeader provides a RawHeader fixture.

func RandValidator

func RandValidator(randPower bool, minPower int64) (*types.Validator, types.PrivValidator)

func RandValidatorSet

func RandValidatorSet(numValidators int, votingPower int64) (*types.ValidatorSet, []types.PrivValidator)

Types

type Option added in v0.32.1

type Option func(*TestSuite)

Option configures a TestSuite.

func WithBlockTime added in v0.32.1

func WithBlockTime(blockTime time.Duration) Option

WithBlockTime sets the spacing between generated block timestamps. When left at zero (the default), generated headers are timestamped with the current time instead of a fixed interval.

func WithStartTime added in v0.32.1

func WithStartTime(startTime time.Time) Option

WithStartTime sets the genesis timestamp of the suite.

func WithTail added in v0.32.1

func WithTail(tail *header.ExtendedHeader) Option

WithTail sets the tail header the suite starts generating from.

func WithValidators added in v0.32.1

func WithValidators(numValidators int) Option

WithValidators sets the number of validators in the suite's validator set.

type Subscriber added in v0.9.0

type Subscriber struct {
	headertest.Subscriber[*header.ExtendedHeader]
}

type TestSuite

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

TestSuite provides everything you need to test chain of Headers. If not, please don't hesitate to extend it for your case.

func NewTestSuite

func NewTestSuite(t *testing.T, opts ...Option) *TestSuite

NewTestSuite sets up a new TestSuite for generating a chain of Headers. By default it uses 3 validators, the current time as genesis and no block-time spacing. Pass Options to override these defaults.

func (*TestSuite) Commit

func (s *TestSuite) Commit(h *header.RawHeader) *types.Commit

func (*TestSuite) GenExtendedHeaders

func (s *TestSuite) GenExtendedHeaders(num int) []*header.ExtendedHeader

func (*TestSuite) GenRawHeader

func (s *TestSuite) GenRawHeader(
	height uint64, lastHeader, lastCommit, dataHash libhead.Hash,
) *header.RawHeader

func (*TestSuite) Head

func (s *TestSuite) Head() *header.ExtendedHeader

func (*TestSuite) NextHeader added in v0.9.0

func (s *TestSuite) NextHeader() *header.ExtendedHeader

func (*TestSuite) Tail added in v0.26.4

func (s *TestSuite) Tail() *header.ExtendedHeader

Jump to

Keyboard shortcuts

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