rust-lightning
rust-lightning copied to clipboard
Async Payments
Async-receive:
- [ ] Support being the async receiver’s channel counterparty (eg LSP) per the spec PR
- [ ] Support store-and-forward mailbox for onion messages #2950
- [ ] Notify sender via OM when receiver comes online
- [ ] Support being the always-online (for now) sender
- [x] Notify the receiver that an HTLC is being held for them #3140
- [x] Send HTLC when notified by the receiver #3140, #3207
- [ ] Support manual handling for static invoices
- [ ] Time out async payments prior to invoice expiry (cc https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1760132719)
- [x] Don't
take()invoice requests on retry (cc https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1759425911): #3408
- [ ] Support being the async receiver
- [x] Support receiving keysend payments to blinded paths #2935, #2956, #3383
- [x] Support creating a AP BOLT12 offer + keysend invoice that signals that the recipient is often-offline + their LSP’s contact info #3408
- [ ] Support receiving async payments to static invoices #3517, #3440
- [ ] Spec the above https://github.com/lightning/bolts/pull/1149
- [ ] Update the spec for static invoices having a different default relative expiry than non-static
- [x] Authenticate async payment blinded payment paths, cc https://github.com/lightningdevkit/rust-lightning/pull/3408#discussion_r1859034387: fixed in #3435
- [ ] Time out
held_htlc_availableOM paths, cc https://github.com/lightningdevkit/rust-lightning/pull/3408#discussion_r1882834347
- [ ] Fuzz
StaticInvoicemessage
Async-send:
- [ ] Trampoline #2299
- [ ] Router for LSP clients that routes to LSP node as the direct Trampoline hop
- [ ] Parse AP BOLT12 invoices
- [ ] Support sending an async HTLC and corresponding OM
- [ ] Support retrying the OM or spec out+implement an ACK OM
- [ ] Generate event when an async payment is pending (see https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1673235584)
- [ ] Add
RecentPaymentDetailsvariant for async payments (see https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1651187509) - [ ] Support shortening the HTLC’s CLTV at sending-time
Also https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1760132719 and https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1759425911