Skip to content

Bump ldk-node dependency to 00dba456a10cb60172eaa74e0a8b11c5e0473dcc#230

Open
enigbe wants to merge 3 commits into
lightningdevkit:mainfrom
enigbe:2026-06-bump-ldk-node
Open

Bump ldk-node dependency to 00dba456a10cb60172eaa74e0a8b11c5e0473dcc#230
enigbe wants to merge 3 commits into
lightningdevkit:mainfrom
enigbe:2026-06-bump-ldk-node

Conversation

@enigbe

@enigbe enigbe commented Jun 9, 2026

Copy link
Copy Markdown

What this PR does:

Bumps the ldk-node dependency to revision 47dad6d, which, among other changes, contains the prerequisite for exposing NodeFeatures to ldk-server callers via the node status endpoint. We need this for callers interested in querying the features supported by the node.

Notable upstream changes adapted here

  • Bolt11Jit merged into Bolt11: ldk-node folded the JIT payment variant into Bolt11, adding a counterparty_skimmed_fee_msat field. The Bolt11Jit proto message, its serde attribute in build.rs, and the corresponding proto_adapter arm are all removed. The original proto tag numbers for Bolt12Offer (4), Bolt12Refund (5), and Spontaneous (6) are preserved — tag 3 is reserved to avoid wire-compatibility issues with previously-serialized Bolt11Jit data.

  • PaymentForwarded event restructured around HTLCLocator: The six flat channel/node/user-channel-id fields are replaced by prev_htlcs and next_htlcs (Vec<HTLCLocator>), supporting multi-HTLC forwards. The legacy scalar fields are retained in the proto as deprecated, populated from the first element of each vec for backward compatibility (not sure if this is the correct way to handle this).

@ldk-reviews-bot

ldk-reviews-bot commented Jun 9, 2026

Copy link
Copy Markdown

👋 Thanks for assigning @benthecarman as a reviewer!
I'll wait for their review and will help manage the review process.
Once they submit their review, I'll check if a second reviewer would be helpful.

@benthecarman

Copy link
Copy Markdown
Collaborator

Can you bump to 00dba456a10cb60172eaa74e0a8b11c5e0473dcc? This will have some of the async persistence fixes and includes the new kv stores that I want to add

Comment thread ldk-server-grpc/src/proto/types.proto Outdated
Comment on lines +33 to +34
reserved 3;
reserved "bolt11_jit";

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

we aren't worrying about backwards compat yet so you can remove this

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Noted. I'll remove all code that considered backwards compatibility.

Comment thread ldk-server-grpc/src/proto/types.proto Outdated
// See more: https://docs.rs/ldk-node/latest/ldk_node/enum.Event.html#variant.PaymentForwarded
message ForwardedPayment{
// The channel id of the incoming channel between the previous node and us.
// Deprecated: use `prev_htlcs` instead. This is populated from `prev_htlcs[0]`

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

if these fields are deprecated it's probably best if we drop them all

Comment thread ldk-server-grpc/src/proto/types.proto Outdated
//
// Will only be `Some` once we received the payment.
optional uint64 counterparty_skimmed_fee_msat = 5;
// Replaces the former `PaymentKind.bolt11_jit.counterparty_skimmed_fee_msat`

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

we dont need to mention the old format, we haven't released yet so no one knows the former one

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

this doc still talks about old format

@enigbe

enigbe commented Jun 11, 2026

Copy link
Copy Markdown
Author

Can you bump to 00dba456a10cb60172eaa74e0a8b11c5e0473dcc? This will have some of the async persistence fixes and includes the new kv stores that I want to add

Sure thing. Working on this now.

@enigbe enigbe force-pushed the 2026-06-bump-ldk-node branch 3 times, most recently from 94e233f to f936ac6 Compare June 11, 2026 22:41
@enigbe enigbe marked this pull request as ready for review June 11, 2026 22:42
@ldk-reviews-bot ldk-reviews-bot requested a review from tankyleo June 11, 2026 22:43
@enigbe

enigbe commented Jun 11, 2026

Copy link
Copy Markdown
Author

Hi @benthecarman
This is ready for another look.

@enigbe enigbe requested a review from benthecarman June 11, 2026 22:43
@benthecarman benthecarman changed the title Bump ldk-node dependency to 47dad6d909af0fbb53e76d07740c04df5abdde3b Bump ldk-node dependency to 00dba456a10cb60172eaa74e0a8b11c5e0473dcc Jun 12, 2026

@benthecarman benthecarman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

otherwise lgtm

Comment thread ldk-server-grpc/src/proto/types.proto Outdated
//
// Will only be `Some` once we received the payment.
optional uint64 counterparty_skimmed_fee_msat = 5;
// Replaces the former `PaymentKind.bolt11_jit.counterparty_skimmed_fee_msat`

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

this doc still talks about old format

@enigbe enigbe force-pushed the 2026-06-bump-ldk-node branch from f936ac6 to 30e04a1 Compare June 12, 2026 07:31
@enigbe

enigbe commented Jun 12, 2026

Copy link
Copy Markdown
Author

otherwise lgtm

Cleaned up the documentation still referencing Bolt11Jit. Should be good to go now.
Thanks for the review @benthecarman

@enigbe enigbe requested a review from benthecarman June 12, 2026 07:34
- Update ldk-node to a newer revision and adapt ldk-server to the
changed payment event surface. PaymentForwarded now preserves the full
prev_htlcs and next_htlcs vectors in the gRPC model.

- Remove the Bolt11Jit payment kind as a breaking API change. JIT BOLT 11
payments are now represented as regular Bolt11 payments with
counterparty_skimmed_fee_msat set when applicable.

- Regenerate protobuf bindings and drop the obsolete Bolt11Jit serde
attribute.

AI-Assisted-By: OpenAI Codex
@enigbe enigbe force-pushed the 2026-06-bump-ldk-node branch from 30e04a1 to d41f6fd Compare June 12, 2026 07:47
enigbe added 2 commits June 12, 2026 10:15
LDK may render invoice and offer descriptions through safe display wrappers
before CLI output sanitization sees them. In that case, bidi controls are
replaced instead of escaped as \uXXXX.

Update the tests to check the behavior that matters: decoded CLI output must
not contain raw bidi override characters.
Build the test TLS server config with rustls's ring provider explicitly instead
of relying on process-global provider auto-detection. This avoids panics when
rustls cannot infer a single CryptoProvider from the compiled feature set.
@enigbe enigbe force-pushed the 2026-06-bump-ldk-node branch from e407a43 to 1020c46 Compare June 12, 2026 09:15
@enigbe

enigbe commented Jun 12, 2026

Copy link
Copy Markdown
Author

Added a couple more commits to address failing tests. If you consider them out of scope for this PR, I am happy to move them to another.

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