From 481dfe21bccf4ae70de94a107ad6d2d06fb91b8f 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 0cc787028..52baa401f 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, @@ -2120,6 +2126,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