From 01d8953737441525c0534cd05f49b6811a35253e Mon Sep 17 00:00:00 2001 From: "Johan T. Halseth" Date: Fri, 24 Aug 2018 14:44:41 +0200 Subject: [PATCH] chainntnfs/btcd: fallback to scan manually only in case of err != nil --- chainntnfs/btcdnotify/btcd.go | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/chainntnfs/btcdnotify/btcd.go b/chainntnfs/btcdnotify/btcd.go index 724b5656a..157c6c732 100644 --- a/chainntnfs/btcdnotify/btcd.go +++ b/chainntnfs/btcdnotify/btcd.go @@ -527,6 +527,14 @@ func (b *BtcdNotifier) 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: @@ -534,12 +542,12 @@ func (b *BtcdNotifier) historicalConfDetails(txid *chainhash.Hash, case txStatus == chainntnfs.TxFoundIndex: // The transaction was not found within the node's mempool or txindex. - case txStatus == chainntnfs.TxNotFoundIndex && err == nil: + 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