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 }