rpc: make getblock return orphan blocks with confirmation=-1
This commit is contained in:
parent
2d04d31894
commit
5d7a219e35
2 changed files with 6 additions and 3 deletions
|
@ -1394,8 +1394,8 @@ func (b *BlockChain) BlockAttributesByHash(hash *chainhash.Hash, prevHash *chain
|
||||||
attrs *BlockAttributes, best *BestState, err error) {
|
attrs *BlockAttributes, best *BestState, err error) {
|
||||||
best = b.BestSnapshot()
|
best = b.BestSnapshot()
|
||||||
node := b.index.LookupNode(hash)
|
node := b.index.LookupNode(hash)
|
||||||
if node == nil || !b.bestChain.Contains(node) {
|
if node == nil {
|
||||||
str := fmt.Sprintf("block %s is not in the main chain", hash)
|
str := fmt.Sprintf("block %s not found", hash)
|
||||||
return nil, best, errNotInMainChain(str)
|
return nil, best, errNotInMainChain(str)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1405,6 +1405,9 @@ func (b *BlockChain) BlockAttributesByHash(hash *chainhash.Hash, prevHash *chain
|
||||||
MedianTime: node.CalcPastMedianTime(),
|
MedianTime: node.CalcPastMedianTime(),
|
||||||
ChainWork: node.workSum,
|
ChainWork: node.workSum,
|
||||||
}
|
}
|
||||||
|
if !b.bestChain.Contains(node) {
|
||||||
|
attrs.Confirmations = -1
|
||||||
|
}
|
||||||
|
|
||||||
// Populate prev block hash if there is one.
|
// Populate prev block hash if there is one.
|
||||||
if node.height > 0 {
|
if node.height > 0 {
|
||||||
|
|
|
@ -1211,7 +1211,7 @@ func handleGetBlock(s *rpcServer, cmd interface{}, closeChan <-chan struct{}) (i
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, &btcjson.RPCError{
|
return nil, &btcjson.RPCError{
|
||||||
Code: btcjson.ErrRPCBlockNotFound,
|
Code: btcjson.ErrRPCBlockNotFound,
|
||||||
Message: "Block not found",
|
Message: "Block not found: " + err.Error(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If verbosity is 0, return the serialized block as a hex encoded string.
|
// If verbosity is 0, return the serialized block as a hex encoded string.
|
||||||
|
|
Loading…
Reference in a new issue