[NOD-601] Omit nil selected parent in GetBlockVerboseResult (#561)

This commit is contained in:
Ori Newman 2019-12-30 18:44:17 +02:00 committed by stasatdaglabs
parent 66a92a243c
commit cf37f733ef
3 changed files with 9 additions and 2 deletions

View File

@ -1575,6 +1575,9 @@ func (dag *BlockDAG) SelectedParentHash(blockHash *daghash.Hash) (*daghash.Hash,
} }
if node.selectedParent == nil {
return nil, nil
}
return node.selectedParent.hash, nil return node.selectedParent.hash, nil
} }

View File

@ -48,7 +48,7 @@ type GetBlockVerboseResult struct {
Bits string `json:"bits"` Bits string `json:"bits"`
Difficulty float64 `json:"difficulty"` Difficulty float64 `json:"difficulty"`
ParentHashes []string `json:"parentHashes"` ParentHashes []string `json:"parentHashes"`
SelectedParentHash string `json:"selectedParentHash"` SelectedParentHash string `json:"selectedParentHash,omitempty"`
NextHashes []string `json:"nextHashes,omitempty"` NextHashes []string `json:"nextHashes,omitempty"`
} }

View File

@ -245,6 +245,10 @@ func buildGetBlockVerboseResult(s *Server, block *util.Block, isVerboseTx bool)
context := "Could not get block selected parent" context := "Could not get block selected parent"
return nil, internalRPCError(err.Error(), context) return nil, internalRPCError(err.Error(), context)
} }
selectedParentHashStr := ""
if selectedParentHash != nil {
selectedParentHashStr = selectedParentHash.String()
}
isChainBlock := s.cfg.DAG.IsInSelectedParentChain(hash) isChainBlock := s.cfg.DAG.IsInSelectedParentChain(hash)
@ -256,7 +260,7 @@ func buildGetBlockVerboseResult(s *Server, block *util.Block, isVerboseTx bool)
AcceptedIDMerkleRoot: blockHeader.AcceptedIDMerkleRoot.String(), AcceptedIDMerkleRoot: blockHeader.AcceptedIDMerkleRoot.String(),
UTXOCommitment: blockHeader.UTXOCommitment.String(), UTXOCommitment: blockHeader.UTXOCommitment.String(),
ParentHashes: daghash.Strings(blockHeader.ParentHashes), ParentHashes: daghash.Strings(blockHeader.ParentHashes),
SelectedParentHash: selectedParentHash.String(), SelectedParentHash: selectedParentHashStr,
Nonce: blockHeader.Nonce, Nonce: blockHeader.Nonce,
Time: blockHeader.Timestamp.Unix(), Time: blockHeader.Timestamp.Unix(),
Confirmations: blockConfirmations, Confirmations: blockConfirmations,