From e5142fead1a1c1ba2a640c69e46bb0b07c828a6f Mon Sep 17 00:00:00 2001 From: talgya Date: Sun, 5 Jul 2026 10:11:45 -0700 Subject: [PATCH] Fall back to p2p gossip on signet when no RGS URL is configured MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit With neither RGS nor p2p configured, a signet wallet has an empty network graph and can only pay route-hinted invoices — anything from a node with an announced channel fails with RouteNotFound before an HTLC is dispatched. No public RGS server exists for arbitrary signets, and small deployments (LSP + mint + wallets) often never propagate their announcements into any public graph, so even Mutinynet's RGS cannot teach a wallet its own island's topology. P2P gossip from the wallet's peers (its LSP) provides exactly the local topology it needs, matching the existing regtest behavior; an explicitly configured rgs_url still takes precedence. Fixes #86 --- orange-sdk/src/lightning_wallet.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/orange-sdk/src/lightning_wallet.rs b/orange-sdk/src/lightning_wallet.rs index a9b7b20..acb9844 100644 --- a/orange-sdk/src/lightning_wallet.rs +++ b/orange-sdk/src/lightning_wallet.rs @@ -92,7 +92,18 @@ impl LightningWallet { ); }, Network::Testnet4 => {}, - Network::Signet => {}, + // No public RGS server exists for arbitrary signet networks, and + // small signet deployments (an LSP + a mint + phones) often never + // reach any public graph at all — so with no gossip source the + // wallet can only pay route-hinted invoices; anything from a node + // with an announced channel fails with RouteNotFound before an + // HTLC is even dispatched. P2P gossip from the wallet's own peers + // (its LSP) teaches it exactly the local topology it needs, and + // signet graphs are small enough that sync cost is negligible. + // An explicitly configured rgs_url still takes precedence above. + Network::Signet => { + builder.set_gossip_source_p2p(); + }, Network::Regtest => { // We don't want to run an RGS server in tests so just enable p2p gossip builder.set_gossip_source_p2p();