Skip to content

Add network and feature flags to GetNodeInfoResponse#1

Closed
enigbe wants to merge 5 commits into
mainfrom
2026-02-add-network-and-node-features-to-node-info
Closed

Add network and feature flags to GetNodeInfoResponse#1
enigbe wants to merge 5 commits into
mainfrom
2026-02-add-network-and-node-features-to-node-info

Conversation

@enigbe

@enigbe enigbe commented Feb 26, 2026

Copy link
Copy Markdown
Owner

What this PR does

To run simulations of payment activity against a network with ldk-node/server, sim-ln requires knowledge of the nodes network and whether it supports keysend. These data points are not readily available on the library (node) and the daemon (server). This PR, in conjunction with exposed APIs in lightningdevkit/ldk-node#810, adds a new field: features to the GetNodeInfoResponse. We try to maintain parity with similar node info responses as does lnrpc and cln-grpc.

@enigbe enigbe force-pushed the 2026-02-add-network-and-node-features-to-node-info branch from 5bd859e to b873ddd Compare February 26, 2026 17:10
@enigbe enigbe force-pushed the 2026-02-add-network-and-node-features-to-node-info branch 2 times, most recently from b775f65 to f43b8f8 Compare June 3, 2026 21:41
@enigbe enigbe force-pushed the 2026-02-add-network-and-node-features-to-node-info branch from f43b8f8 to 464321b Compare June 11, 2026 22:51
enigbe and others added 5 commits June 12, 2026 08:47
- 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
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.
Bump ldk-node dependency to `00dba456a10cb60172eaa74e0a8b11c5e0473dcc`
We return the node-announcement feature set from GetNodeInfoResponse
so clients can inspect advertised node capabilities, such as keysend
support, directly from the node info API.

For now, only features advertised in node_announcement are populated.
We document this narrower contract explicitly while leaving the Features
message shape open for future parity with APIs such as cln-grpc, where
the default feature set may also include init, channel, and invoice features.

AI-Assisted-By: OpenAI Codex
@enigbe enigbe force-pushed the 2026-02-add-network-and-node-features-to-node-info branch from 464321b to 4222171 Compare June 12, 2026 20:41
@enigbe

enigbe commented Jun 12, 2026

Copy link
Copy Markdown
Owner Author

Closing this after opening PR on main repository.
lightningdevkit#231

@enigbe enigbe closed this Jun 12, 2026
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.

2 participants