Skip to content

Conversation

@rustyrussell
Copy link
Contributor

@rustyrussell rustyrussell commented Sep 5, 2025

Based on #8688: this is just the last two commits.

This attempts to solve a problem we have with Phoenix clients:

This payment has been split in two many parts by the sender: 31 parts vs max 6 parts allowed for on-the-fly funding.

The problem is that we don't have any way in bolt11 or bolt12 to
specify the maximum number of HTLCs.

As a workaround, we start by restricting askrene to 6 parts if the
node is not openly reachable, and if it struggles, we remove the
restriction. This would work much better if askrene handled maxparts
more completely!

See-Also: #8331

@rustyrussell rustyrussell added this to the v25.12 milestone Sep 5, 2025
@rustyrussell rustyrussell force-pushed the guilt/xpay-phoenix-detect branch from a353419 to cccac43 Compare September 5, 2025 05:41
@Lagrang3 Lagrang3 self-requested a review September 5, 2025 06:35
@rustyrussell rustyrussell marked this pull request as draft September 6, 2025 00:27
@madelinevibes madelinevibes modified the milestones: v25.12, v26.03 Nov 12, 2025
@rustyrussell rustyrussell modified the milestones: v26.03, v25.12 Nov 12, 2025
@rustyrussell rustyrussell force-pushed the guilt/xpay-phoenix-detect branch from cccac43 to faa6643 Compare November 14, 2025 00:12
@rustyrussell rustyrussell marked this pull request as ready for review November 14, 2025 01:15
@rustyrussell rustyrussell force-pushed the guilt/xpay-phoenix-detect branch from faa6643 to 67d7d4b Compare November 14, 2025 01:15
Copy link
Collaborator

@Lagrang3 Lagrang3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is straightforward.
I only have some minor requests on the previous PR #8688.

@rustyrussell rustyrussell force-pushed the guilt/xpay-phoenix-detect branch from 67d7d4b to f2d7aa3 Compare November 17, 2025 00:36
…an unknown channel.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@rustyrussell rustyrussell force-pushed the guilt/xpay-phoenix-detect branch from f2d7aa3 to 3be730c Compare November 17, 2025 01:40
…e can't route.

This attempts to solve a problem we have with Phoenix clients:

	This payment has been split in two many parts by the sender: 31 parts vs max 6 parts allowed for on-the-fly funding.

The problem is that we don't have any way in bolt11 or bolt12 to
specify the maximum number of HTLCs.

As a workaround, we start by restricting askrene to 6 parts if the
node is not openly reachable, and if it struggles, we remove the
restriction.  This would work much better if askrene handled maxparts
more completely!

See-Also: ElementsProject#8331
Changelog-Fixed: `xpay` will not try to send too many HTLCs through unknown channels (6, as that is Phoenix's limit) unless it has no choice
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
@rustyrussell rustyrussell force-pushed the guilt/xpay-phoenix-detect branch from 3be730c to 95de3f8 Compare November 17, 2025 05:44
@rustyrussell rustyrussell merged commit 73147da into ElementsProject:master Nov 17, 2025
37 of 39 checks passed
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.

3 participants