rust-lightning icon indicating copy to clipboard operation
rust-lightning copied to clipboard

Async Payments

Open valentinewallace opened this issue 2 years ago • 1 comments

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_available OM paths, cc https://github.com/lightningdevkit/rust-lightning/pull/3408#discussion_r1882834347
  • [ ] Fuzz StaticInvoice message

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 RecentPaymentDetails variant for async payments (see https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1651187509)
  • [ ] Support shortening the HTLC’s CLTV at sending-time

valentinewallace avatar May 15 '23 19:05 valentinewallace

Also https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1760132719 and https://github.com/lightningdevkit/rust-lightning/pull/3140#discussion_r1759425911

TheBlueMatt avatar Sep 15 '24 16:09 TheBlueMatt