Skip to content

Don't require *offer_issuer_id* for BOLT12 offers with blinded paths #8326

@nullama

Description

@nullama

I am trying to create a BOLT12 offer to configure lightning payments at OCEAN. Offers created with Core Lightning work fine, as the site uses CLN to validate them, but offers created with phoenixd fail with "error decoding lightning_bolt12", as reported here.

Based on the details shared in that issue, it seems that the key problem is that Core Lightning always requires an offer_issuer_id, even when the offer has blinded paths, in which case the offer_issuer_id should be treated as optional. Moreover, here it is argued that it is actually better to not include an offer_issuer_id when the offer has blinded paths for better privacy.

Phoenixd chooses not to include the offer_issuer_id, which is valid, but Core Lightning decodes this offer as invalid, returning an error, and therefore making it impossible to configure the lightning payment at OCEAN with phoenixd.

This PR seems promising, but it seems that the main issue is still unsolved:

There is a missing piece however in plugins/offers_invreq_hook.c, which causes an error in plugins/fetchinvoice.c when trying to fetch an invoice for an offer without offer_issuer _id

That is basically what is happening at the moment. That error is not making it possible to use phoenixd with OCEAN.

Based on all these discussions, I think it makes sense to not require offer_issuer_id for BOLT12 offers with blinded paths.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions