tendermint/rpc/validators.go

31 lines
826 B
Go
Raw Normal View History

2015-01-11 18:21:17 -08:00
package rpc
import (
"net/http"
sm "github.com/tendermint/tendermint/state"
2015-01-11 18:21:17 -08:00
)
func ListValidatorsHandler(w http.ResponseWriter, r *http.Request) {
var blockHeight uint
var bondedValidators []*sm.Validator
var unbondingValidators []*sm.Validator
2015-01-11 18:21:17 -08:00
state := consensusState.GetState()
blockHeight = state.LastBlockHeight
state.BondedValidators.Iterate(func(index uint, val *sm.Validator) bool {
2015-01-11 18:21:17 -08:00
bondedValidators = append(bondedValidators, val)
return false
})
state.UnbondingValidators.Iterate(func(index uint, val *sm.Validator) bool {
2015-01-11 18:21:17 -08:00
unbondingValidators = append(unbondingValidators, val)
return false
})
WriteAPIResponse(w, API_OK, struct {
BlockHeight uint
BondedValidators []*sm.Validator
UnbondingValidators []*sm.Validator
2015-01-11 18:21:17 -08:00
}{blockHeight, bondedValidators, unbondingValidators})
}