Documentation ¶
Index ¶
- func BlockWithPrevCert(cert *certificate.BlockCertificate) func(bm *BlockMaker)
- func BlockWithPrevHash(h hash.Hash) func(bm *BlockMaker)
- func BlockWithProposer(addr crypto.Address) func(bm *BlockMaker)
- func BlockWithSeed(seed sortition.VerifiableSeed) func(bm *BlockMaker)
- func BlockWithStateHash(h hash.Hash) func(bm *BlockMaker)
- func BlockWithTime(t time.Time) func(bm *BlockMaker)
- func BlockWithTransactions(txs block.Txs) func(bm *BlockMaker)
- func BlockWithVersion(ver uint8) func(bm *BlockMaker)
- func GenerateSeed() int64
- func TransactionWithAmount(amt amount.Amount) func(tm *TransactionMaker)
- func TransactionWithFee(fee amount.Amount) func(tm *TransactionMaker)
- func TransactionWithLockTime(lockTime uint32) func(tm *TransactionMaker)
- func TransactionWithSigner(signer *bls.PrivateKey) func(tm *TransactionMaker)
- type BlockMaker
- type OverrideStringer
- type TestSuite
- func (*TestSuite) DecodingHex(in string) []byte
- func (ts *TestSuite) GenerateTestAccount(number int32) (*account.Account, crypto.Address)
- func (ts *TestSuite) GenerateTestBlock(height uint32, options ...func(bm *BlockMaker)) (*block.Block, *certificate.BlockCertificate)
- func (ts *TestSuite) GenerateTestBlockCertificate(height uint32) *certificate.BlockCertificate
- func (ts *TestSuite) GenerateTestBondTx(options ...func(tm *TransactionMaker)) *tx.Tx
- func (ts *TestSuite) GenerateTestCommittee(num int) (committee.Committee, []*bls.ValidatorKey)
- func (ts *TestSuite) GenerateTestPrecommitVote(height uint32, round int16) (*vote.Vote, *bls.ValidatorKey)
- func (ts *TestSuite) GenerateTestPrepareCertificate(height uint32) *certificate.VoteCertificate
- func (ts *TestSuite) GenerateTestPrepareVote(height uint32, round int16) (*vote.Vote, *bls.ValidatorKey)
- func (ts *TestSuite) GenerateTestProposal(height uint32, round int16) (*proposal.Proposal, *bls.ValidatorKey)
- func (ts *TestSuite) GenerateTestSortitionTx(options ...func(tm *TransactionMaker)) *tx.Tx
- func (ts *TestSuite) GenerateTestTransferTx(options ...func(tm *TransactionMaker)) *tx.Tx
- func (ts *TestSuite) GenerateTestUnbondTx(options ...func(tm *TransactionMaker)) *tx.Tx
- func (ts *TestSuite) GenerateTestValidator(number int32) (*validator.Validator, *bls.ValidatorKey)
- func (ts *TestSuite) GenerateTestWithdrawTx(options ...func(tm *TransactionMaker)) *tx.Tx
- func (*TestSuite) HelperSignProposal(valKey *bls.ValidatorKey, p *proposal.Proposal)
- func (*TestSuite) HelperSignTransaction(prv crypto.PrivateKey, trx *tx.Tx)
- func (*TestSuite) HelperSignVote(valKey *bls.ValidatorKey, v *vote.Vote)
- func (ts *TestSuite) NewBlockMaker() *BlockMaker
- func (ts *TestSuite) NewTransactionMaker() *TransactionMaker
- func (ts *TestSuite) RandAccAddress() crypto.Address
- func (ts *TestSuite) RandAmount() amount.Amount
- func (ts *TestSuite) RandAmountRange(min, max amount.Amount) amount.Amount
- func (ts *TestSuite) RandBLSKeyPair() (*bls.PublicKey, *bls.PrivateKey)
- func (ts *TestSuite) RandBLSSignature() *bls.Signature
- func (ts *TestSuite) RandBool() bool
- func (ts *TestSuite) RandBytes(length int) []byte
- func (ts *TestSuite) RandFee() amount.Amount
- func (ts *TestSuite) RandHash() hash.Hash
- func (ts *TestSuite) RandHeight() uint32
- func (ts *TestSuite) RandInt(max int) int
- func (ts *TestSuite) RandInt16(max int16) int16
- func (ts *TestSuite) RandInt16NonZero(max int16) int16
- func (ts *TestSuite) RandInt32(max int32) int32
- func (ts *TestSuite) RandInt32NonZero(max int32) int32
- func (ts *TestSuite) RandInt64(max int64) int64
- func (ts *TestSuite) RandInt64NonZero(max int64) int64
- func (ts *TestSuite) RandInt8(max int8) int8
- func (ts *TestSuite) RandIntNonZero(max int) int
- func (ts *TestSuite) RandPeerID() peer.ID
- func (ts *TestSuite) RandProof() sortition.Proof
- func (ts *TestSuite) RandRound() int16
- func (ts *TestSuite) RandSeed() sortition.VerifiableSeed
- func (ts *TestSuite) RandSlice(length int) []int32
- func (ts *TestSuite) RandString(length int) string
- func (ts *TestSuite) RandUint16(max uint16) uint16
- func (ts *TestSuite) RandUint16NonZero(max uint16) uint16
- func (ts *TestSuite) RandUint32(max uint32) uint32
- func (ts *TestSuite) RandUint32NonZero(max uint32) uint32
- func (ts *TestSuite) RandUint64(max uint64) uint64
- func (ts *TestSuite) RandUint64NonZero(max uint64) uint64
- func (ts *TestSuite) RandUint8(max uint8) uint8
- func (ts *TestSuite) RandValAddress() crypto.Address
- func (ts *TestSuite) RandValKey() *bls.ValidatorKey
- type TransactionMaker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BlockWithPrevCert ¶ added in v1.4.0
func BlockWithPrevCert(cert *certificate.BlockCertificate) func(bm *BlockMaker)
BlockWithPrevCert sets previous block certificate to the block.
func BlockWithPrevHash ¶ added in v1.4.0
func BlockWithPrevHash(h hash.Hash) func(bm *BlockMaker)
BlockWithPrevHash sets previous block hash to the block.
func BlockWithProposer ¶ added in v1.4.0
func BlockWithProposer(addr crypto.Address) func(bm *BlockMaker)
BlockWithProposer sets proposer address to the block.
func BlockWithSeed ¶ added in v1.4.0
func BlockWithSeed(seed sortition.VerifiableSeed) func(bm *BlockMaker)
BlockWithSeed sets verifiable seed to the block.
func BlockWithStateHash ¶ added in v1.4.0
func BlockWithStateHash(h hash.Hash) func(bm *BlockMaker)
BlockWithStateHash sets state hash to the block.
func BlockWithTime ¶ added in v1.4.0
func BlockWithTime(t time.Time) func(bm *BlockMaker)
BlockWithTime sets block creation time to the block.
func BlockWithTransactions ¶ added in v1.4.0
func BlockWithTransactions(txs block.Txs) func(bm *BlockMaker)
BlockWithTransactions adds transactions to the block.
func BlockWithVersion ¶ added in v1.4.0
func BlockWithVersion(ver uint8) func(bm *BlockMaker)
BlockWithVersion sets version to the block.
func GenerateSeed ¶ added in v0.15.0
func GenerateSeed() int64
func TransactionWithAmount ¶ added in v1.4.0
func TransactionWithAmount(amt amount.Amount) func(tm *TransactionMaker)
TransactionWithAmount sets amount to the transaction.
func TransactionWithFee ¶ added in v1.4.0
func TransactionWithFee(fee amount.Amount) func(tm *TransactionMaker)
TransactionWithFee sets fee to the transaction.
func TransactionWithLockTime ¶ added in v1.4.0
func TransactionWithLockTime(lockTime uint32) func(tm *TransactionMaker)
TransactionWithLockTime sets lock-time to the transaction.
func TransactionWithSigner ¶ added in v1.4.0
func TransactionWithSigner(signer *bls.PrivateKey) func(tm *TransactionMaker)
TransactionWithSigner sets signer to the transaction.
Types ¶
type BlockMaker ¶ added in v1.4.0
type BlockMaker struct { Version uint8 Txs block.Txs Proposer crypto.Address Time time.Time StateHash hash.Hash PrevHash hash.Hash Seed sortition.VerifiableSeed PrevCert *certificate.BlockCertificate }
type OverrideStringer ¶ added in v0.17.0
type OverrideStringer struct {
// contains filtered or unexported fields
}
func NewOverrideStringer ¶ added in v0.17.0
func NewOverrideStringer(name string, obj fmt.Stringer) *OverrideStringer
func (*OverrideStringer) String ¶ added in v0.17.0
func (o *OverrideStringer) String() string
type TestSuite ¶
TestSuite provides a set of helper functions for testing purposes. All the random values are generated based on a logged seed. By using a pre-generated seed, it is possible to reproduce failed tests by re-evaluating all the random values. This helps in identifying and debugging failures in testing conditions.
func NewTestSuite ¶
NewTestSuite creates a new TestSuite by generating new seed.
func NewTestSuiteForSeed ¶
NewTestSuiteForSeed creates a new TestSuite with the given seed.
func (*TestSuite) DecodingHex ¶
DecodingHex decodes the input string from hexadecimal format and returns the resulting byte slice.
func (*TestSuite) GenerateTestAccount ¶
GenerateTestAccount generates an account for testing purposes.
func (*TestSuite) GenerateTestBlock ¶
func (ts *TestSuite) GenerateTestBlock(height uint32, options ...func(bm *BlockMaker)) ( *block.Block, *certificate.BlockCertificate, )
GenerateTestBlock generates a block for testing purposes with optional configuration.
func (*TestSuite) GenerateTestBlockCertificate ¶ added in v1.2.0
func (ts *TestSuite) GenerateTestBlockCertificate(height uint32) *certificate.BlockCertificate
GenerateTestBlockCertificate generates a block certificate for testing purposes.
func (*TestSuite) GenerateTestBondTx ¶
func (ts *TestSuite) GenerateTestBondTx(options ...func(tm *TransactionMaker)) *tx.Tx
GenerateTestBondTx generates a bond transaction for testing purposes.
func (*TestSuite) GenerateTestCommittee ¶
GenerateTestCommittee generates a committee for testing purposes. All committee members have the same power.
func (*TestSuite) GenerateTestPrecommitVote ¶
func (ts *TestSuite) GenerateTestPrecommitVote(height uint32, round int16) (*vote.Vote, *bls.ValidatorKey)
GenerateTestPrecommitVote generates a precommit vote for testing purposes.
func (*TestSuite) GenerateTestPrepareCertificate ¶ added in v1.2.0
func (ts *TestSuite) GenerateTestPrepareCertificate(height uint32) *certificate.VoteCertificate
GenerateTestPrepareCertificate generates a prepare certificate for testing purposes.
func (*TestSuite) GenerateTestPrepareVote ¶
func (ts *TestSuite) GenerateTestPrepareVote(height uint32, round int16) (*vote.Vote, *bls.ValidatorKey)
GenerateTestPrepareVote generates a prepare vote for testing purposes.
func (*TestSuite) GenerateTestProposal ¶
func (ts *TestSuite) GenerateTestProposal(height uint32, round int16) (*proposal.Proposal, *bls.ValidatorKey)
GenerateTestProposal generates a proposal for testing purposes.
func (*TestSuite) GenerateTestSortitionTx ¶
func (ts *TestSuite) GenerateTestSortitionTx(options ...func(tm *TransactionMaker)) *tx.Tx
GenerateTestSortitionTx generates a sortition transaction for testing purposes.
func (*TestSuite) GenerateTestTransferTx ¶
func (ts *TestSuite) GenerateTestTransferTx(options ...func(tm *TransactionMaker)) *tx.Tx
GenerateTestTransferTx generates a transfer transaction for testing purposes.
func (*TestSuite) GenerateTestUnbondTx ¶
func (ts *TestSuite) GenerateTestUnbondTx(options ...func(tm *TransactionMaker)) *tx.Tx
GenerateTestUnbondTx generates an unbond transaction for testing purposes.
func (*TestSuite) GenerateTestValidator ¶
GenerateTestValidator generates a validator for testing purposes.
func (*TestSuite) GenerateTestWithdrawTx ¶
func (ts *TestSuite) GenerateTestWithdrawTx(options ...func(tm *TransactionMaker)) *tx.Tx
GenerateTestWithdrawTx generates a withdraw transaction for testing purposes.
func (*TestSuite) HelperSignProposal ¶ added in v0.15.0
func (*TestSuite) HelperSignProposal(valKey *bls.ValidatorKey, p *proposal.Proposal)
func (*TestSuite) HelperSignTransaction ¶ added in v0.15.0
func (*TestSuite) HelperSignTransaction(prv crypto.PrivateKey, trx *tx.Tx)
func (*TestSuite) HelperSignVote ¶ added in v0.15.0
func (*TestSuite) HelperSignVote(valKey *bls.ValidatorKey, v *vote.Vote)
func (*TestSuite) NewBlockMaker ¶ added in v1.4.0
func (ts *TestSuite) NewBlockMaker() *BlockMaker
NewBlockMaker creates a new BlockMaker instance with default values.
func (*TestSuite) NewTransactionMaker ¶ added in v1.4.0
func (ts *TestSuite) NewTransactionMaker() *TransactionMaker
NewTransactionMaker creates a new TransactionMaker instance with default values.
func (*TestSuite) RandAccAddress ¶ added in v0.15.0
RandAccAddress generates a random account address for testing purposes.
func (*TestSuite) RandAmount ¶ added in v0.19.0
RandAmount returns a random amount between [0, 1000).
func (*TestSuite) RandAmountRange ¶ added in v1.2.0
RandAmountRange returns a random amount between [min, max).
func (*TestSuite) RandBLSKeyPair ¶ added in v0.15.0
func (ts *TestSuite) RandBLSKeyPair() (*bls.PublicKey, *bls.PrivateKey)
RandBLSKeyPair generates a random BLS key pair for testing purposes.
func (*TestSuite) RandBLSSignature ¶ added in v0.15.0
RandBLSSignature generates a random BLS signature for testing purposes.
func (*TestSuite) RandBytes ¶ added in v0.15.0
RandBytes returns a slice of random bytes of the given length.
func (*TestSuite) RandHash ¶ added in v0.15.0
RandHash generates a random hash for testing purposes.
func (*TestSuite) RandHeight ¶ added in v0.15.0
RandHeight returns a random number between [1000, 1000000] for block height.
func (*TestSuite) RandInt16NonZero ¶
RandInt16NonZero returns a random int16 between 1 and max+1: [1, max+1).
func (*TestSuite) RandInt32NonZero ¶
RandInt32NonZero returns a random int32 between 1 and max+1: [1, max+1).
func (*TestSuite) RandInt64NonZero ¶
RandInt64NonZero returns a random int64 between 1 and max+1: [1, max+1).
func (*TestSuite) RandInt8 ¶ added in v1.2.0
RandInt8 returns a random int8 between 0 and max: [0, max).
func (*TestSuite) RandIntNonZero ¶
RandIntNonZero returns a random int between 1 and max+1: [1, max+1).
func (*TestSuite) RandPeerID ¶ added in v0.15.0
RandPeerID returns a random peer ID.
func (*TestSuite) RandProof ¶ added in v0.15.0
RandProof generates a random Proof for testing purposes.
func (*TestSuite) RandRound ¶ added in v0.15.0
RandRound returns a random number between [0, 10) for block round.
func (*TestSuite) RandSeed ¶ added in v0.15.0
func (ts *TestSuite) RandSeed() sortition.VerifiableSeed
RandSeed generates a random VerifiableSeed for testing purposes.
func (*TestSuite) RandSlice ¶ added in v1.2.0
RandSlice generates a random non-repeating slice of int32 elements with the specified length.
func (*TestSuite) RandString ¶ added in v0.15.0
RandString generates a random string of the given length.
func (*TestSuite) RandUint16 ¶
RandUint16 returns a random uint16 between 0 and max: [0, max).
func (*TestSuite) RandUint16NonZero ¶
RandUint16NonZero returns a random uint16 between 1 and max+1: [1, max+1).
func (*TestSuite) RandUint32 ¶
RandUint32 returns a random uint32 between 0 and max: [0, max).
func (*TestSuite) RandUint32NonZero ¶
RandUint32NonZero returns a random uint32 between 1 and max+1: [1, max+1).
func (*TestSuite) RandUint64 ¶
RandUint64 returns a random uint64 between 0 and max: [0, max).
func (*TestSuite) RandUint64NonZero ¶
RandUint64NonZero returns a random uint64 between 1 and max+1: [1, max+1).
func (*TestSuite) RandUint8 ¶ added in v1.2.0
RandUint8 returns a random uint8 between 0 and max: [0, max).
func (*TestSuite) RandValAddress ¶ added in v0.15.0
RandValAddress generates a random validator address for testing purposes.
func (*TestSuite) RandValKey ¶ added in v0.15.0
func (ts *TestSuite) RandValKey() *bls.ValidatorKey
RandValKey generates a random validator key for testing purposes.