diff --git a/staticaddr/loopin/actions.go b/staticaddr/loopin/actions.go index b411e824..42ac7f1e 100644 --- a/staticaddr/loopin/actions.go +++ b/staticaddr/loopin/actions.go @@ -765,12 +765,22 @@ func (f *FSM) MonitorInvoiceAndHtlcTxAction(ctx context.Context, return f.HandleError(err) - case update := <-invoiceUpdateChan: + case update, ok := <-invoiceUpdateChan: + if !ok { + invoiceUpdateChan = nil + continue + } + if event, done := f.handleInvoiceUpdate(update); done { return event } - case err = <-invoiceErrChan: + case err, ok := <-invoiceErrChan: + if !ok { + invoiceErrChan = nil + continue + } + f.Errorf("invoice subscription error: %v", err) case <-ctx.Done():