diff --git a/rpc/core/status.go b/rpc/core/status.go index 9bdf9dd6..32647add 100644 --- a/rpc/core/status.go +++ b/rpc/core/status.go @@ -79,6 +79,11 @@ func Status() (*ctypes.ResultStatus, error) { latestBlockTime := time.Unix(0, latestBlockTimeNano) + var votingPower int64 + if val := validatorAtHeight(latestHeight); val != nil { + votingPower = val.VotingPower + } + result := &ctypes.ResultStatus{ NodeInfo: p2pSwitch.NodeInfo(), SyncInfo: ctypes.SyncInfo{ @@ -88,12 +93,11 @@ func Status() (*ctypes.ResultStatus, error) { LatestBlockTime: latestBlockTime, Syncing: consensusReactor.FastSync(), }, - ValidatorInfo: ctypes.ValidatorInfo{PubKey: pubKey}, - } - - // add ValidatorStatus if node is a validator - if val := validatorAtHeight(latestHeight); val != nil { - result.ValidatorInfo.VotingPower = val.VotingPower + ValidatorInfo: ctypes.ValidatorInfo{ + Address: pubKey.Address(), + PubKey: pubKey, + VotingPower: votingPower, + }, } return result, nil diff --git a/rpc/core/types/responses.go b/rpc/core/types/responses.go index 82bfceaa..ef4d7261 100644 --- a/rpc/core/types/responses.go +++ b/rpc/core/types/responses.go @@ -63,6 +63,7 @@ type SyncInfo struct { } type ValidatorInfo struct { + Address cmn.HexBytes `json:"address"` PubKey crypto.PubKey `json:"pub_key"` VotingPower int64 `json:"voting_power"` }