Skip to content

Conversation

@vincenzopalazzo
Copy link
Owner

No description provided.

…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>
vincenzopalazzo and others added 4 commits November 5, 2025 17:17
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.

Changes:
- Add invreq_payer_offer field to InvoiceRequestContentsWithoutPayerSigningPubkey
- Update TryFrom implementation to store invreq_payer_offer value
- Add payer_offer() accessor method to InvoiceRequestContents
- Expose payer_offer() via invoice_request_accessors macro
- Update as_tlv_stream() to use stored invreq_payer_offer value

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
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.

Changes:
- Add payer_offer() builder method to InvoiceRequestBuilder that accepts
  an Offer and serializes its bytes into invreq_payer_offer TLV field
- Automatically inject the offer in pay_for_offer_intern() immediately
  after contact secrets injection
- Update test to verify the injected offer can be deserialized and matches
  the original offer

The payer offer is now always injected when paying for an offer, similar
to how contact secrets are always injected. This provides recipients with
full context about the payment relationship.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
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>
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