Skip to content

Commit

Permalink
chains+server: if not in simnet mode, use BtcdFeeEstimator
Browse files Browse the repository at this point in the history
  • Loading branch information
Roasbeef committed Nov 24, 2017
1 parent 5a51600 commit ad364ae
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
22 changes: 22 additions & 0 deletions chainregistry.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
"github.com/lightningnetwork/lnd/routing/chainview"
"github.com/roasbeef/btcd/chaincfg/chainhash"
"github.com/roasbeef/btcd/rpcclient"
"github.com/roasbeef/btcutil"
"github.com/roasbeef/btcwallet/chain"
"github.com/roasbeef/btcwallet/walletdb"
)
Expand Down Expand Up @@ -268,6 +269,27 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB,
}

walletConfig.ChainSource = chainRPC

// If we're not in simnet mode, then we'll attempt to use a
// proper fee estimator for testnet.
if !cfg.Bitcoin.SimNet && !cfg.Litecoin.SimNet {
ltndLog.Infof("Initializing btcd backed fee estimator")

// Finally, we'll re-initialize the fee estimator, as
// if we're using btcd as a backend, then we can use
// live fee estimates, rather than a statically coded
// value.
fallBackFeeRate := btcutil.Amount(25)
cc.feeEstimator, err = lnwallet.NewBtcdFeeEstimator(
*rpcConfig, fallBackFeeRate,
)
if err != nil {
return nil, nil, err
}
if err := cc.feeEstimator.Start(); err != nil {
return nil, nil, err
}
}
}

wc, err := btcwallet.New(*walletConfig)
Expand Down
2 changes: 1 addition & 1 deletion rpcserver.go
Original file line number Diff line number Diff line change
Expand Up @@ -841,7 +841,7 @@ func (r *rpcServer) CloseChannel(in *lnrpc.CloseChannelRequest,
// TODO(roasbeef): actually get the active channel
// instead too?
// * so only need to grab from database
peer.WipeChannel(channel)
peer.WipeChannel(channel.ChannelPoint())
} else {
chanID := lnwire.NewChanIDFromOutPoint(channel.ChannelPoint())
r.server.htlcSwitch.RemoveLink(chanID)
Expand Down
6 changes: 5 additions & 1 deletion server.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import (
"github.com/lightningnetwork/lnd/lnrpc"
"github.com/lightningnetwork/lnd/lnwire"
"github.com/lightningnetwork/lnd/routing"
"github.com/roasbeef/btcd/blockchain"
"github.com/roasbeef/btcd/btcec"
"github.com/roasbeef/btcd/chaincfg/chainhash"
"github.com/roasbeef/btcd/connmgr"
Expand Down Expand Up @@ -329,7 +330,7 @@ func newServer(listenAddrs []string, chanDB *channeldb.DB, cc *chainControl,
closureType htlcswitch.ChannelCloseType) {
// TODO(conner): Properly respect the update and error channels
// returned by CloseLink.
s.htlcSwitch.CloseLink(chanPoint, closureType)
s.htlcSwitch.CloseLink(chanPoint, closureType, 0)
}

s.breachArbiter = newBreachArbiter(&BreachConfig{
Expand Down Expand Up @@ -454,6 +455,7 @@ func (s *server) Stop() error {
s.cc.wallet.Shutdown()
s.cc.chainView.Stop()
s.connMgr.Stop()
s.cc.feeEstimator.Stop()

// Disconnect from each active peers to ensure that
// peerTerminationWatchers signal completion to each peer.
Expand Down Expand Up @@ -1435,6 +1437,8 @@ type openChanReq struct {

pushAmt lnwire.MilliSatoshi

fundingFeePerWeight btcutil.Amount

// TODO(roasbeef): add ability to specify channel constraints as well

updates chan *lnrpc.OpenStatusUpdate
Expand Down

0 comments on commit ad364ae

Please sign in to comment.