-
Notifications
You must be signed in to change notification settings - Fork 370
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BOLT12 Offers Tracking Issue #1970
Comments
We also need to do spontaneous/unsolicited invoices, i.e., BOLT11-style invoices not in response to an I think we can punt on this for now similar to non-Bitcoin-denominated offers. Or a volunteer can work on it in parallel. It would be similar to |
For bindings, we probably only need non-builder constructors for |
Right, like BOLT11 we'll eventually have folks who want to use them, so we definitely need to support it, but it won't be the "common case". I'm not convinced we shouldn't drop the builders and replace them entirely or at least have a simple util method that calls the builder as appropriate, should be pretty trivial if we go the util method route. |
We may also eventually want utilities similar to |
FYI, I repurposed this issue to track all work for BOLT 12 Offers. @valentinewallace Could you update the route blinding portion as needed (i.e., split into more tasks and add PRs)? |
Also on the blinded path flow - #2534 (comment) |
The following tasks are required to implement BOLT 12 Offers in LDK:
Offer
encoding and building BOLT 12offer
encoding and building #1719, BOLT 12 spec updates #1972InvoiceRequest
encoding, parsing, and building BOLT 12invoice_request
encoding and building #1738invoice_request
encoding and building #1738Refund
encoding, parsing, and building BOLT 12 refund encoding and building #1908, BOLT 12 spec updates #1972Invoice
encoding, parsing, and building BOLT 12invoice
encoding and building #1926, Pre-work for BOLT 12 invoices #1927, Expose signable hashes for BOLT 11 and BOLT 12 invoices #2162, Expose description from Invoice's offer/refund #2206BlindedPath
construction Onion messages v1 #1503BlindedPath
construction Add API for constructing blinded payment paths #2412, AggregateBlindedPayInfo
for blinded routes #2514PaymentConstraint::htlc_minimum_msat
to the max min_htlc for the other nodes in its anonymity set (e.g. for a blinded route A>B>C, set B's min_htlc to the max min_htlc for A's peers)BlindedRoute
pathfinding Blinded pathfinding groundwork #2146, Remove redundantfinal_cltv_delta
param fromget_route
#2239, PrefactorPaymentParameters
for blinded recipients #2258, Respect route hintmax_htlc
in pathfinding #2305, Routing to blinded payment paths #2120PaymentParameters
similar to the existingpreviously_failed_channels
field: Avoid retrying over previously failed blinded paths #2818BlindedRoute
paymentsPaymentPathFailed::payment_failed_permanently
on blinded path fail #2576SHOULD
in the spec)PaymentParameters
(i.e. strip the blinded path off before sending the probe)InvoiceRequest
andInvoice
message handling interface BOLT 12 Offers message handling support #2294ChannelManager
implementation of message handling BOLT 12 outboundPaymentId
#2468, BOLT 12 Invoice payments #2371, BOLT 12 Offers message flow #2039Offer
andRefund
builder utilities BOLT 12 Offers utilities #2578Offer
andRefund
messages Multi-hop blinded paths in Offers #2690InvoiceRequest
onion message reply paths Multi-hop blinded paths in Offers #2690Bolt12Invoice
messages Multi-hop blinded paths in Offers #2690InvoiceError
with outbound payment using reply paths Update payment and generateEvent
fromOffersMessageHandler
#2837InvoiceRequest
retries RetryInvoiceRequest
messages #2836Offer
path_id
Authenticate use of offer blinded paths #3139BlindedPath
representation for onion messaging #2921The things left for us to ship BOLT12, in an issue so we don't lose track of things:unsolicited invoicesstruct deserialization fuzzersfuzzers for the builders, if its doableonion message handler for BOLT12 messagesMetadata storage in Offers which can be used to check the correctness of invoice requestsnon-builder offer/invoice_request/invoice constructor for bindings - cc Ability to construct an invoice from bindings #1868Blinded path paymentBlinded path receivingBlinded path forwarding (not strictly required but probably required to test the above and we need it eventually)After we go public, we should also:Support for non-Bitcoin offers (my fault, I thought the sender had to convert, vs passing no amount in the invoice_request)Anything I'm missing here @jkczyz?The text was updated successfully, but these errors were encountered: