chainregistry: remove txindex requirement for btcd and bitcoind

Now that we have a fallback method for when the transaction index is not
enabled, its requirement to be enabled for a full node is no longer
needed, so we can safely remove this check.
This commit is contained in:
Wilmer Paulino 2018-02-09 19:57:45 -05:00
parent 13fb866574
commit ead9555d40
No known key found for this signature in database
GPG Key ID: 6DF57B9F9514972F

@ -163,7 +163,6 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB,
var ( var (
err error err error
cleanUp func() cleanUp func()
btcdConn *chain.RPCClient
bitcoindConn *chain.BitcoindClient bitcoindConn *chain.BitcoindClient
) )
@ -446,7 +445,6 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB,
} }
walletConfig.ChainSource = chainRPC walletConfig.ChainSource = chainRPC
btcdConn = chainRPC
// If we're not in simnet or regtest mode, then we'll attempt // If we're not in simnet or regtest mode, then we'll attempt
// to use a proper fee estimator for testnet. // to use a proper fee estimator for testnet.
@ -522,41 +520,6 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB,
cc.wallet = wallet cc.wallet = wallet
// As a final check, if we're using the RPC backend, we'll ensure that
// the btcd node has the txindex set. Atm, this is required in order to
// properly perform historical confirmation+spend dispatches.
if homeChainConfig.Node != "neutrino" {
// In order to check to see if we have the txindex up to date
// and active, we'll try to fetch the first transaction in the
// latest block via the index. If this doesn't succeed, then we
// know it isn't active (or just not yet up to date).
bestHash, _, err := cc.chainIO.GetBestBlock()
if err != nil {
return nil, nil, fmt.Errorf("unable to get current "+
"best hash: %v", err)
}
bestBlock, err := cc.chainIO.GetBlock(bestHash)
if err != nil {
return nil, nil, fmt.Errorf("unable to get current "+
"block hash: %v", err)
}
firstTxHash := bestBlock.Transactions[0].TxHash()
switch homeChainConfig.Node {
case "btcd":
_, err = btcdConn.GetRawTransaction(&firstTxHash)
case "bitcoind":
_, err = bitcoindConn.GetRawTransactionVerbose(&firstTxHash)
}
if err != nil {
// If the node doesn't have the txindex set, then we'll
// halt startup, as we can't proceed in this state.
return nil, nil, fmt.Errorf("%s detected to not "+
"have --txindex active, cannot proceed",
homeChainConfig.Node)
}
}
return cc, cleanUp, nil return cc, cleanUp, nil
} }