From 1dd145bc329194de86b4a6be8d24ff155d02784d Mon Sep 17 00:00:00 2001 From: Slyghtning Date: Mon, 15 Dec 2025 14:03:24 +0100 Subject: [PATCH] staticaddr: re-register on htlc tx conf error --- staticaddr/loopin/actions.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/staticaddr/loopin/actions.go b/staticaddr/loopin/actions.go index 9286485b..fce10b1a 100644 --- a/staticaddr/loopin/actions.go +++ b/staticaddr/loopin/actions.go @@ -572,7 +572,17 @@ func (f *FSM) MonitorInvoiceAndHtlcTxAction(ctx context.Context, htlcConfirmed = true case err = <-htlcErrConfChan: - f.Errorf("htlc tx conf chan error: %v", err) + f.Errorf("htlc tx conf chan error, re-registering: "+ + "%v", err) + + // Re-register for htlc confirmation. + htlcConfChan, htlcErrConfChan, err = registerHtlcConf() + if err != nil { + err = fmt.Errorf("unable to re-register for "+ + "htlc tx confirmation: %w", err) + + return f.HandleError(err) + } case <-reorgChan: // A reorg happened. We invalidate a previous htlc @@ -582,8 +592,10 @@ func (f *FSM) MonitorInvoiceAndHtlcTxAction(ctx context.Context, htlcConfChan, htlcErrConfChan, err = registerHtlcConf() if err != nil { - f.Errorf("unable to monitor htlc tx "+ + err = fmt.Errorf("unable to monitor htlc tx "+ "confirmation: %v", err) + + return f.HandleError(err) } case <-deadlineChan: