chainntnfs/bitcoind: fallback to scan manually only in case of err != nil

This commit is contained in:
Johan T. Halseth 2018-08-24 14:45:12 +02:00
parent 01d8953737
commit f82fd5fe86
No known key found for this signature in database
GPG Key ID: 15BAADA29DA20D26

View File

@ -458,6 +458,14 @@ func (b *BitcoindNotifier) historicalConfDetails(txid *chainhash.Hash,
// We'll then check the status of the transaction lookup returned to
// determine whether we should proceed with any fallback methods.
switch {
// We failed querying the index for the transaction, fall back to
// scanning manually.
case err != nil:
chainntnfs.Log.Debugf("Failed getting conf details from "+
"index (%v), scanning manually", err)
return b.confDetailsManually(txid, heightHint, currentHeight)
// The transaction was found within the node's mempool.
case txStatus == chainntnfs.TxFoundMempool:
@ -465,12 +473,12 @@ func (b *BitcoindNotifier) historicalConfDetails(txid *chainhash.Hash,
case txStatus == chainntnfs.TxFoundIndex:
// The transaction was not found within the node's mempool or txindex.
case err == nil && txStatus == chainntnfs.TxNotFoundIndex:
case txStatus == chainntnfs.TxNotFoundIndex:
// We failed to look up the transaction within the node's mempool or
// txindex, so we'll proceed to scan the chain manually.
// Unexpected txStatus returned.
default:
return b.confDetailsManually(txid, heightHint, currentHeight)
return nil, txStatus,
fmt.Errorf("Got unexpected txConfStatus: %v", txStatus)
}
return txConf, txStatus, nil