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 692395591a
commit dba195a890
No known key found for this signature in database
GPG Key ID: 8E4256593F177720

View File

@ -260,6 +260,8 @@ type server struct {
invoices *invoices.InvoiceRegistry
invoiceSettlementInterceptor *invoices.SettlementInterceptor
channelNotifier *channelnotifier.ChannelNotifier
peerNotifier *peernotifier.PeerNotifier
@ -556,6 +558,8 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
return nil, err
}
invoiceSettlementInterceptor := invoices.NewSettlementInterceptor()
registryConfig := invoices.RegistryConfig{
FinalCltvRejectDelta: lncfg.DefaultFinalCltvRejectDelta,
HtlcHoldDuration: invoices.DefaultHtlcHoldDuration,
@ -565,6 +569,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
GcCanceledInvoicesOnStartup: cfg.GcCanceledInvoicesOnStartup,
GcCanceledInvoicesOnTheFly: cfg.GcCanceledInvoicesOnTheFly,
KeysendHoldTime: cfg.KeysendHoldTime,
SettlementInterceptor: invoiceSettlementInterceptor,
}
s := &server{
@ -613,6 +618,8 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
peerConnectedListeners: make(map[string][]chan<- lnpeer.Peer),
peerDisconnectedListeners: make(map[string][]chan<- struct{}),
invoiceSettlementInterceptor: invoiceSettlementInterceptor,
customMessageServer: subscribe.NewServer(),
tlsManager: tlsManager,
@ -2018,6 +2025,12 @@ func (s *server) Start() error {
}
cleanup = cleanup.add(s.interceptableSwitch.Stop)
if err := s.invoiceSettlementInterceptor.Start(); err != nil {
startErr = err
return
}
cleanup = cleanup.add(s.invoiceSettlementInterceptor.Stop)
if err := s.chainArb.Start(); err != nil {
startErr = err
return