OSDN Git Service

chore(version): update version to 2.0.5 (#2102)
[bytom/bytom.git] / api / consensus.go
1 package api
2
3 type VoteInfo struct {
4         Vote    string `json:"vote"`
5         VoteNum uint64 `json:"vote_number"`
6 }
7
8 func (a *API) getVoteResult(req BlockReq) Response {
9         blockHash := hexBytesToHash(req.BlockHash)
10         if len(req.BlockHash) != 32 {
11                 blockHeader, err := a.chain.GetHeaderByHeight(req.BlockHeight)
12                 if err != nil {
13                         return NewErrorResponse(err)
14                 }
15
16                 blockHash = blockHeader.Hash()
17         }
18
19         validators, err := a.chain.AllValidators(&blockHash)
20         if err != nil {
21                 return NewErrorResponse(err)
22         }
23
24         voteInfos := []*VoteInfo{}
25         for _, validator := range validators {
26                 voteInfos = append(voteInfos, &VoteInfo{
27                         Vote:    validator.PubKey,
28                         VoteNum: validator.VoteNum,
29                 })
30         }
31         return NewSuccessResponse(voteInfos)
32 }