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.
This commit is contained in:
ffranr 2024-04-23 14:38:47 +01:00 committed by Oliver Gugger
parent c58b6a25a2
commit 481dfe21bc
No known key found for this signature in database
GPG Key ID: 8E4256593F177720

View File

@ -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