Skip to content

[Feature]: Make number of hop hints when creating an invoice more configurable. #9641

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

Open
rolznz opened this issue Mar 25, 2025 · 5 comments
Labels
feature request Requests for new features invoices

Comments

@rolznz
Copy link

rolznz commented Mar 25, 2025

Background

User has all private channels, and when they create an invoice (lncli addinvoice --amt 1000 --private) it only has one route hint. When specifying no amount it has 3 hints.

Your environment

  • lnd 0.18.5 beta
  • umbrelOS 1.4
  • bitcoin core 28.1

Steps to reproduce

I believe the user used to have public channels and then closed them all and only opened private ones.

When we create a 0-amount invoice (lncli addinvoice --private) the invoice is payable and has 3 route hints

{
    "r_hash": "0f108b04753a3df5a1d28384bb061c8a8a22509bcbcfd4641c42c9e688b3ce6b",
    "payment_request": "lnbc1pn7y2nspp5puggkpr48g7ltgwjswztkpsu329zy5yme08agequgty7dz9nee4sdqqcqzpgxqyz5vqrzjqwryaup9lh50kkranzgcdnn2fgvx390wgj5jd07rwr3vxeje0glc7rgf8sqqxqsqqyqqqqlgqqqqqeqqjqrzjq26922n6s5n5undqrf78rjjhgpcczafws45tx8237y7pzx3fg8wwxr22kgqqcygqqqqqqqqqqqqqqqqq2qrzjqw9fu4j39mycmg440ztkraa03u5qhtuc5zfgydsv6ml38qd4azym7r2tmvqqfecqqqqqqqlgqqqq86qqjqsp5s5mj9jn60h3gghvejtrnvv4te056sdgy0xnc0f7cfpy7xz0xx25s9qxpqysgqgd6t502xff2qq7j6nhhnwk4w50y8g7um5nx34m8sdlg0gy34dk4xjdtwfj5c59s5k534asmgzpgkhcjygq2w4vzfrslz3xtv0rmve4qpu6u5cn",
    "add_index": "1367",
    "payment_addr": "853722ca7a7de2845d9992c73632abcbe9a8350479a787a7d84849e309e632a9"
}

When we create an invoice with an amount (lncli addinvoice --amt 1000 --private) we get only one route hint:

{
    "r_hash": "aff9afed879189a7df726eaa7da783c72d757d8fcfe3c0a0be6f4294453d5989",
    "payment_request": "lnbc10u1pn7yt85pp54lu6lmv8jxy60hmjd648mfurcukh2lv0el3upg97dapfg3fatxysdqqcqzpgxqyz5vqrzjqwryaup9lh50kkranzgcdnn2fgvx390wgj5jd07rwr3vxeje0glc7rgf8sqqxqsqqyqqqqlgqqqqqeqqjqsp5rhz3jr249dkw8gjrdcslyhmvxrywc37uzq8kfsue72nf6ezpr02q9qxpqysgq6ptrnsc73yysfz8502p76p04jyt880909qst6nvg4cckcdxfrc599smfdm5eul28t3fgx8jmyucjr8x3hcam60l946f8ej49sphcvjcqzuze7s",
    "add_index": "1368",
    "payment_addr": "1dc5190d552b6ce3a2436e21f25f6c30c8ec47dc100f64c399f2a69d64411bd4"
}

Expected behaviour

Multiple route hints should be in the invoice

Actual behaviour

Only one route hint is in the invoice

@rolznz rolznz added bug Unintended code behaviour needs triage labels Mar 25, 2025
@ziggie1984
Copy link
Collaborator

LND currently will only add as much hop hints as needed. Meaning that a 0 amount basically means all route hints because we don't know how much value will receive for this invoice. However if you include an invoice with an amount of 1000 sats. LND will only add one route hint which is sufficient enough to receive this value. Could you specify why you would need all 3 route hints ?

@rolznz
Copy link
Author

rolznz commented Mar 25, 2025

@ziggie1984 if one of the channels is not operating correctly it's nice for the payer to have another option to try / some redundancy.

Maybe what I am suggesting is not the root issue, but there is something definitely wrong here.

For reference: When the node invoice has 3 route hints, it has no issue receiving payments from different wallets.

When it only has one route hint no wallet seems to be able to pay to it (due to an onion error)

It seems not the best solution to just to ask impacted users to close their ACINQ channel?

@ziggie1984
Copy link
Collaborator

Do you run LITD on umbrel ? Can you updated it to the latest version ?

@ziggie1984 ziggie1984 changed the title [bug]: Only one route hint in invoice when specifying an amount [Feature]: Make number of hop hints when creating an invoice more configurable. Mar 25, 2025
@ziggie1984 ziggie1984 added feature request Requests for new features invoices and removed bug Unintended code behaviour labels Mar 25, 2025
@rolznz
Copy link
Author

rolznz commented Mar 26, 2025

@ziggie1984 they run 0.14.1-alpha version of the Lightning Terminal app on Umbrel. It is up to date.

@ziggie1984
Copy link
Collaborator

could you provide the logs for their case, so we can fix the problem, I cannot explain there behaviour with the current information.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Requests for new features invoices
Projects
None yet
Development

No branches or pull requests

2 participants