From f903e16c47cec7dc4b1f89b4a6a14d20125adf22 Mon Sep 17 00:00:00 2001 From: ffranr Date: Tue, 23 Apr 2024 14:38:47 +0100 Subject: [PATCH] lnd: initialize invoice settlement interceptor at server startup This commit initiates the invoice settlement interceptor during the main server startup, assigning it a handle within the server. --- server.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/server.go b/server.go index ac96c520d..b336036f0 100644 --- a/server.go +++ b/server.go @@ -263,6 +263,8 @@ type server struct { invoices *invoices.InvoiceRegistry + invoiceHtlcModifier *invoices.HtlcModificationInterceptor + channelNotifier *channelnotifier.ChannelNotifier peerNotifier *peernotifier.PeerNotifier @@ -561,6 +563,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr, return nil, err } + invoiceHtlcModifier := invoices.NewHtlcModificationInterceptor() registryConfig := invoices.RegistryConfig{ FinalCltvRejectDelta: lncfg.DefaultFinalCltvRejectDelta, HtlcHoldDuration: invoices.DefaultHtlcHoldDuration, @@ -570,6 +573,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr, GcCanceledInvoicesOnStartup: cfg.GcCanceledInvoicesOnStartup, GcCanceledInvoicesOnTheFly: cfg.GcCanceledInvoicesOnTheFly, KeysendHoldTime: cfg.KeysendHoldTime, + HtlcInterceptor: invoiceHtlcModifier, } s := &server{ @@ -618,6 +622,8 @@ func newServer(cfg *Config, listenAddrs []net.Addr, peerConnectedListeners: make(map[string][]chan<- lnpeer.Peer), peerDisconnectedListeners: make(map[string][]chan<- struct{}), + invoiceHtlcModifier: invoiceHtlcModifier, + customMessageServer: subscribe.NewServer(), tlsManager: tlsManager, @@ -2089,6 +2095,12 @@ func (s *server) Start() error { return } + cleanup = cleanup.add(s.invoiceHtlcModifier.Stop) + if err := s.invoiceHtlcModifier.Start(); err != nil { + startErr = err + return + } + cleanup = cleanup.add(s.chainArb.Stop) if err := s.chainArb.Start(); err != nil { startErr = err