github.com/ari-anchor/sei-tendermint@v0.0.0-20230519144642-dc826b7b56bb/internal/test/factory/validator.go (about)

     1  package factory
     2  
     3  import (
     4  	"context"
     5  	"sort"
     6  	"testing"
     7  
     8  	"github.com/stretchr/testify/require"
     9  
    10  	"github.com/ari-anchor/sei-tendermint/types"
    11  )
    12  
    13  func Validator(ctx context.Context, votingPower int64) (*types.Validator, types.PrivValidator, error) {
    14  	privVal := types.NewMockPV()
    15  	pubKey, err := privVal.GetPubKey(ctx)
    16  	if err != nil {
    17  		return nil, nil, err
    18  	}
    19  
    20  	val := types.NewValidator(pubKey, votingPower)
    21  	return val, privVal, nil
    22  }
    23  
    24  func ValidatorSet(ctx context.Context, t *testing.T, numValidators int, votingPower int64) (*types.ValidatorSet, []types.PrivValidator) {
    25  	var (
    26  		valz           = make([]*types.Validator, numValidators)
    27  		privValidators = make([]types.PrivValidator, numValidators)
    28  	)
    29  	t.Helper()
    30  
    31  	for i := 0; i < numValidators; i++ {
    32  		val, privValidator, err := Validator(ctx, votingPower)
    33  		require.NoError(t, err)
    34  		valz[i] = val
    35  		privValidators[i] = privValidator
    36  	}
    37  
    38  	sort.Sort(types.PrivValidatorsByAddress(privValidators))
    39  
    40  	return types.NewValidatorSet(valz), privValidators
    41  }