Skip to content
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

The ability to build a ReplyPath to send messages outside of ChannelManager #3669

Open
TheBlueMatt opened this issue Mar 17, 2025 · 1 comment

Comments

@TheBlueMatt
Copy link
Collaborator

Currently we lean on ChannelManager to build all the reply paths we need to receive replies to our onion messages. As a part of the ongoing OffersFlow work that should change, but one specific feature we should have is the ability to somehow build a reply path from outside of ChannelManager. I currently want this because I was trying to implement DNSSEC proof resolution outside of ChannelManager (to drive conversion of HRNs to offers from outside of LDK "core") and ran into this blocking me.

cc @shaavan @jkczyz

@shaavan
Copy link
Member

shaavan commented Mar 19, 2025

Hi Matt!
We were brainstorming some ideas around this and wanted to get your thoughts on something.

As we understand it, creating a reply_path mainly involves two pieces:

  1. Selecting a set of peers for the blinded path, and
  2. Using MessageRouter::create_blinded_path to build the path using those peers.

Since MessageRouter is already a trait decoupled from ChannelManager, it seems like — in principle — one could implement this outside ChannelManager, assuming they have their own peer storage and a way to retrieve a suitable Vec<Pubkey>.

So we were wondering — is there something specific that ChannelManager is doing beyond just peer selection and calling create_blinded_path that makes this hard to do externally? Or is the blocker more about how we currently rely on ChannelManager to produce the peer list in practice?

Would love to hear your thoughts — thanks!

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

No branches or pull requests

2 participants