From 62a2f64eb7bd32fad53ba85a0edb6c48fe2b9041 Mon Sep 17 00:00:00 2001 From: Elle Mouton Date: Tue, 7 Nov 2023 09:30:18 +0200 Subject: [PATCH] netann: give ChanStatusManager access to BestBlockView --- netann/chan_status_manager.go | 4 ++++ netann/chan_status_manager_test.go | 10 ++++++++++ server.go | 1 + 3 files changed, 15 insertions(+) diff --git a/netann/chan_status_manager.go b/netann/chan_status_manager.go index de1dc4277..d927a8100 100644 --- a/netann/chan_status_manager.go +++ b/netann/chan_status_manager.go @@ -7,6 +7,7 @@ import ( "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/wire" + "github.com/lightningnetwork/lnd/chainntnfs" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/keychain" "github.com/lightningnetwork/lnd/lnwallet" @@ -51,6 +52,9 @@ type ChanStatusConfig struct { // MessageSigner signs messages that validate under OurPubKey. MessageSigner lnwallet.MessageSigner + // BestBlockView gives access to the current best block. + BestBlockView chainntnfs.BestBlockView + // IsChannelActive checks whether the channel identified by the provided // ChannelID is considered active. This should only return true if the // channel has been sufficiently confirmed, the channel has received diff --git a/netann/chan_status_manager_test.go b/netann/chan_status_manager_test.go index 1288056a8..f0025d7eb 100644 --- a/netann/chan_status_manager_test.go +++ b/netann/chan_status_manager_test.go @@ -15,6 +15,7 @@ import ( "github.com/btcsuite/btcd/btcec/v2" "github.com/btcsuite/btcd/btcec/v2/ecdsa" "github.com/btcsuite/btcd/wire" + "github.com/lightningnetwork/lnd/chainntnfs" "github.com/lightningnetwork/lnd/channeldb" "github.com/lightningnetwork/lnd/channeldb/models" "github.com/lightningnetwork/lnd/keychain" @@ -344,6 +345,7 @@ func newManagerCfg(t *testing.T, numChannels int, ApplyChannelUpdate: graph.ApplyChannelUpdate, DB: graph, Graph: graph, + BestBlockView: &mockBlockView{}, } return cfg, graph, htlcSwitch @@ -937,3 +939,11 @@ func TestChanStatusManagerStateMachine(t *testing.T) { }) } } + +type mockBlockView struct { + chainntnfs.BestBlockView +} + +func (m *mockBlockView) BestHeight() (uint32, error) { + return 0, nil +} diff --git a/server.go b/server.go index 763c1e618..157e82881 100644 --- a/server.go +++ b/server.go @@ -717,6 +717,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr, ApplyChannelUpdate: s.applyChannelUpdate, DB: s.chanStateDB, Graph: dbs.GraphDB.ChannelGraph(), + BestBlockView: s.cc.BestBlockTracker, } chanStatusMgr, err := netann.NewChanStatusManager(chanStatusMgrCfg)