Skip to content

Conversation

@vincenzopalazzo
Copy link
Contributor

With this PR I am proposing the first implementation for the BLIP 42 implementation that allow to send a "contact" with a contact secret for verification when making an invoice request during a pay_for_offer.

The current implementation is injecting the BLIP 42 information by default and there is no way to op out to this feature (and IMHO would be could to have a way to disable it).

In addition this RFC it is just a way to collect the first comments on API and design choice that I made and to collect feedback on how I manage stuff on the ldk internal stuff, probably there is some more simple way of doing the same thing.

However, this PR has already two problem:

  • What is the offer that we are considering good to be a "long living" offer that can be store as a contact? We have also the onion size limitation (where currently it is failing the test)
  • Supporting the BIP 325

…et, invreq_payer_offer, invreq_payer_bip_353_name

Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Implements BIP 353 human-readable contact addresses and bLIP 42
contact secret derivation for mutual authentication in Lightning
Network payments.

The implementation supports both offers with issuer_signing_pubkey and
offers using blinded paths for privacy-preserving contact management.

Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
…for offer

Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Implements a public accessor method to retrieve the payer_offer field
from invoice requests. This completes the interface for accessing the
invreq_payer_offer experimental TLV field that was added in commit
61799bf.

Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Implements automatic injection of the payer's offer into invoice requests
to support BLIP-42 contact management. This allows recipients to identify
which specific offer is being paid, enabling better contact tracking and
payment relationship management.

Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
…ment

This commit implements the infrastructure to expose BLIP-42 contact
information through the PaymentSent event, allowing applications to
manage contact relationships when BOLT12 offer payments complete.
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
@ldk-reviews-bot
Copy link

ldk-reviews-bot commented Nov 6, 2025

I've assigned @wpaulino as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants