func newMockValidators(r *rand.Rand, abciVals []abci.ValidatorUpdate, params Params) mockValidators {
	validators := make(mockValidators)
	for _, validator := range abciVals {
		str := fmt.Sprintf("%v", validator.PubKey)
		liveliness := GetMemberOfInitialState(r,
			params.InitialLivenessWeightings())
		validators[str] = mockValidator{
			val:           validator,
			livenessState: liveliness,
		}
	}
	return validators
}
get mockValidators from abci validators
package simulation
import (
	"fmt"
	"math/rand"
	"sort"
	"testing"
	"time"
	abci "github.com/tendermint/tendermint/abci/types"
	tmcmn "github.com/tendermint/tendermint/libs/common"
	tmtypes "github.com/tendermint/tendermint/types"
)
type mockValidator struct {
	val           abci.ValidatorUpdate
	livenessState int
}
func (mv mockValidator) String() string {
	return fmt.Sprintf("mockValidator{%s:%X power:%v state:%v}",
		mv.val.PubKey.Type,
		mv.val.PubKey.Data,
		mv.val.Power,
		mv.livenessState)
}
type mockValidators map[string]mockValidator