@@ -260,6 +260,8 @@ type server struct {
260260
261261 invoices * invoices.InvoiceRegistry
262262
263+ invoiceSettlementInterceptor * invoices.SettlementInterceptor
264+
263265 channelNotifier * channelnotifier.ChannelNotifier
264266
265267 peerNotifier * peernotifier.PeerNotifier
@@ -556,6 +558,8 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
556558 return nil , err
557559 }
558560
561+ invoiceSettlementInterceptor := invoices .NewSettlementInterceptor ()
562+
559563 registryConfig := invoices.RegistryConfig {
560564 FinalCltvRejectDelta : lncfg .DefaultFinalCltvRejectDelta ,
561565 HtlcHoldDuration : invoices .DefaultHtlcHoldDuration ,
@@ -565,6 +569,7 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
565569 GcCanceledInvoicesOnStartup : cfg .GcCanceledInvoicesOnStartup ,
566570 GcCanceledInvoicesOnTheFly : cfg .GcCanceledInvoicesOnTheFly ,
567571 KeysendHoldTime : cfg .KeysendHoldTime ,
572+ SettlementInterceptor : invoiceSettlementInterceptor ,
568573 }
569574
570575 s := & server {
@@ -613,6 +618,8 @@ func newServer(cfg *Config, listenAddrs []net.Addr,
613618 peerConnectedListeners : make (map [string ][]chan <- lnpeer.Peer ),
614619 peerDisconnectedListeners : make (map [string ][]chan <- struct {}),
615620
621+ invoiceSettlementInterceptor : invoiceSettlementInterceptor ,
622+
616623 customMessageServer : subscribe .NewServer (),
617624
618625 tlsManager : tlsManager ,
@@ -2006,6 +2013,12 @@ func (s *server) Start() error {
20062013 }
20072014 cleanup = cleanup .add (s .interceptableSwitch .Stop )
20082015
2016+ if err := s .invoiceSettlementInterceptor .Start (); err != nil {
2017+ startErr = err
2018+ return
2019+ }
2020+ cleanup = cleanup .add (s .invoiceSettlementInterceptor .Stop )
2021+
20092022 if err := s .chainArb .Start (); err != nil {
20102023 startErr = err
20112024 return
0 commit comments