package core import ( "github.com/tendermint/tendermint/binary" ctypes "github.com/tendermint/tendermint/rpc/core/types" sm "github.com/tendermint/tendermint/state" ) func ListValidators() (*ctypes.ResponseListValidators, error) { var blockHeight uint var bondedValidators []*sm.Validator var unbondingValidators []*sm.Validator state := consensusState.GetState() blockHeight = state.LastBlockHeight state.BondedValidators.Iterate(func(index uint, val *sm.Validator) bool { bondedValidators = append(bondedValidators, val) return false }) state.UnbondingValidators.Iterate(func(index uint, val *sm.Validator) bool { unbondingValidators = append(unbondingValidators, val) return false }) return &ctypes.ResponseListValidators{blockHeight, bondedValidators, unbondingValidators}, nil } func DumpConsensusState() (*ctypes.ResponseDumpConsensusState, error) { jsonBytes := binary.JSONBytes(consensusState.GetRoundState()) return &ctypes.ResponseDumpConsensusState{string(jsonBytes)}, nil }