diff --git a/channeldb/invoices.go b/channeldb/invoices.go index 3614532ba..38f27aa27 100644 --- a/channeldb/invoices.go +++ b/channeldb/invoices.go @@ -432,6 +432,12 @@ func settleInvoice(invoices *bolt.Bucket, invoiceNum []byte) error { return err } + // Add idempotency to duplicate settles, return here to avoid + // overwriting the previous info. + if invoice.Terms.Settled { + return nil + } + invoice.Terms.Settled = true invoice.SettleDate = time.Now()