Open mrfelton opened 6 months ago
@mrfelton thanks for giving this a test run! Yeah hopefully once the CLN issue that you pointed to is resolved we'll be able to pay CLN offers. Eclair works, and I believe LDK produced offers should work with the latest release as well, though I still need to test/confirm with ldk-sample or something
Yes - can confirm I do have this working with Eclair, so can confirm the issue looks to be with CLN specifically.
I'm having issues with CLN as well. Here are some test results.
This case fails (CLN sender: "WIRE_INVALID_ONION_BLINDING (reply from remote)"):
BOLT12 offer with blinded paths
sender receiver
+-----------+ public +-----------+ public +--------+ private +--------+
| CLN | channel | public | channel | LND | channel | CLN |
| v24.08 | ------> | network | -------> | LNDK | -------> | v24.08 |
+---------- + +-----------+ +--------+ +--------+
This case fails (LND sender: "failed: InvalidOnionHMAC"):
BOLT12 offer without blinded paths
receiver sender
+-----------+ public +-----------+ public +--------+
| CLN | channel | public | channel | LND |
| v24.08 | <------ | network | <------- | LNDK |
+---------- + +-----------+ +--------+
This case fails (Strike sender: "We were unable to find a payment route"):
BOLT12 offer without blinded paths
receiver sender
+-----------+ public +-----------+ public +--------+
| CLN | channel | public | channel | strike |
| v24.08 | <------ | network | <------- | |
+---------- + +-----------+ +--------+
This case succeeds:
BOLT12 offer without blinded paths
receiver sender
+-----------+ public +-----------+ public +--------+ private +--------+
| CLN | channel | public | channel | LND | channel | CLN |
| v24.08 | <------ | network | <------- | LNDK | <------- | v24.08 |
+---------- + +-----------+ +--------+ +--------+
This case succeeds:
BOLT12 offer with blinded paths
receiver sender
+---------------------------+ ? +-----------+ public +--------+ private +--------+
| matt@mattcorallo.com | channel | public | channel | LND | channel | CLN |
| probably LDK? | <------ | network | <------- | LNDK | <------- | |
+-------------------------- + +-----------+ +--------+ +--------+
This case succeeds:
BOLT12 offer with blinded paths
receiver sender
+---------------------------+ ? +-----------+ public +--------+
| matt@mattcorallo.com | channel | public | channel | LND |
| probably LDK? | <------ | network | <------- | LNDK |
+-------------------------- + +-----------+ +--------+
I did some more tests:
This case succeeds:
BOLT12 offer with blinded paths
receiver sender
+-------------+ ? +-----------+ public +--------+ private +--------+
| phoenix | channel | ACINQ | channel | LND | channel | CLN |
| wallet | <------ | | <------- | LNDK | <------- | |
+------------ + +-----------+ +--------+ +--------+
This case succeeds:
BOLT12 offer with blinded paths
receiver sender
+-------------+ ? +-----------+ public +--------+
| phoenix | channel | ACINQ | channel | LND |
| wallet | <------ | | <------- | LNDK |
+-------------+ +-----------+ +--------+
This case fails:
BOLT12 offer without blinded paths
receiver sender
+-----------+ public +-----------+ ? +---------+
| CLN | channel | public | channel | phoenix |
| v24.08 | <------ | network | <------- | wallet |
+---------- + +-----------+ +---------+
This case fails:
BOLT12 offer with blinded paths
sender receiver
+-------------+ ? +-----------+ public +--------+ private +--------+
| phoenix | channel | ACINQ | channel | LND | channel | CLN |
| wallet | ------> | | -------> | LNDK | -------> | |
+------------ + +-----------+ +--------+ +--------+
This case fails (also because of https://github.com/lndk-org/lndk/issues/123 ?) :
BOLT12 offer with blinded paths
sender receiver
+--------+ private +--------+
| LND | channel | CLN |
| LNDK | -------> | v24.08 |
+--------+ +--------+
@TheBlueMatt can you confirm what type of node your offer stored at matt@mattcorallo.com uses? Since I've used it as a test case above, would like to be able to clarify what that test case represented. I'm guessing this is LDK? If so, can you pay CLN offers from LDK?
Yes it's LDK. It's a bit of an old LDK but it should work I don't think we've changed any BOLT 12 compat stuff in the latest release.
Describe the bug I seem to be unable to pay to a Bolt 12 invoice generated by CLN.
Should be able to pay the offer.
Generate a Bolt 12 invoice on CLN
Decode the invoice using LNDK
Attempting to pay the offer from lndk
Logs from CLN:
Environment
Please do not include private information in bug reports!
To Reproduce
See https://github.com/LN-Zap/bolt12-playground - follow the README.