Skip to content

Cut 0.2.5.0 - #185

Merged
TheBlueMatt merged 3 commits into
lightningdevkit:0.2from
TheBlueMatt:0.2
Sep 1, 2026
Merged

Cut 0.2.5.0#185
TheBlueMatt merged 3 commits into
lightningdevkit:0.2from
TheBlueMatt:0.2

Conversation

@TheBlueMatt

Copy link
Copy Markdown
Collaborator

Synesso and others added 3 commits September 1, 2026 01:24
ChannelManagerConstructor hardcodes DefaultMessageRouter for onion
message path finding, with no way to customize it. Nodes that restrict
outbound connections cannot act on Event::ConnectionNeeded, so onion
messages (e.g. BOLT 12 invoice requests) to unconnected destinations
buffer forever. Such deployments route onion messages through a trusted
forwarding peer by prefixing the path with a connected node, which
requires substituting the MessageRouter handed to the OnionMessenger
and ChannelManager.

Add a MessageRouterWrapper hook mirroring the existing RouterWrapper
pattern: a nullable constructor parameter whose find_path and
create_blinded_paths receive the DefaultMessageRouter the constructor
would otherwise have used, so implementations can delegate any case
they don't want to customize.

To avoid changing the public API, the new parameter is added on new
constructor overloads rather than on the existing constructors, which
are retained verbatim and simply delegate with a null wrapper,
preserving existing behavior exactly.

Amp-Thread-ID: https://ampcode.com/threads/T-019fac05-3d6f-75ca-9581-2c17d12954db
Co-authored-by: Amp <amp@ampcode.com>
Further Tweaks By: Claude Opus 5
@TheBlueMatt
TheBlueMatt merged commit e0e89ad into lightningdevkit:0.2 Sep 1, 2026
3 of 11 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.

2 participants