lnd/invoices
Olaoluwa Osuntokun 530059f18b
invoices: force MPP payload inclusion for non-keysend payments
In this commit, we move to start rejecting any normal payments that
aren't keysend, if they don't also include the MPP invoice payload. With
this change, we require that some sort of e2e secret (either the payment
addr or the keysend pre-image) is present in a payload before we'll
accept the payment.

The second portion of the commit also updates all current tests in the
package. We kept the base `TestSettleInvoice` test in-tact as it still
exercises some useful behavior. However, we've removed all cases that
allow an overpayment, as the new MPP logic doesn't allow overpayment for
various reasons. In addition to this, some of the returned errors are
slightly different, tho the actual behavior is equivalent.
2020-11-25 16:31:59 -08:00
..
interface.go record: move CustomRecordSet 2019-12-12 00:12:19 +01:00
invoice_expiry_watcher_test.go invoices: reduce heap usage when starting the expiry watcher 2020-10-28 16:26:47 +01:00
invoice_expiry_watcher.go invoices: reduce heap usage when starting the expiry watcher 2020-10-28 16:26:47 +01:00
invoiceregistry_test.go invoices: force MPP payload inclusion for non-keysend payments 2020-11-25 16:31:59 -08:00
invoiceregistry.go invoices: reduce heap usage when starting the expiry watcher 2020-10-28 16:26:47 +01:00
log.go invoices: remove dead code from logger 2020-04-24 19:15:08 +02:00
resolution_result.go invoices: add String() method to failure resolution outcome 2020-07-12 17:25:53 -07:00
resolution.go invoices: split resolution result into settle, fail and accept enums 2020-02-06 19:41:39 +02:00
test_utils_test.go invoices: force MPP payload inclusion for non-keysend payments 2020-11-25 16:31:59 -08:00
update.go invoices: force MPP payload inclusion for non-keysend payments 2020-11-25 16:31:59 -08:00