@@ -38,12 +38,13 @@ use lightning::{
38
38
} ;
39
39
40
40
use crate :: multiesplora:: MultiEsploraClient ;
41
+ use crate :: peermanager:: LspMessageRouter ;
41
42
use crate :: utils:: get_monitor_version;
42
43
use bitcoin:: util:: bip32:: ExtendedPrivKey ;
43
44
use lightning:: events:: bump_transaction:: { BumpTransactionEventHandler , Wallet } ;
44
45
use lightning:: ln:: PaymentSecret ;
45
46
use lightning:: offers:: offer:: Offer ;
46
- use lightning:: onion_message:: { DefaultMessageRouter , OnionMessenger as LdkOnionMessenger } ;
47
+ use lightning:: onion_message:: OnionMessenger as LdkOnionMessenger ;
47
48
use lightning:: sign:: { EntropySource , InMemorySigner , NodeSigner , Recipient } ;
48
49
use lightning:: util:: config:: MaxDustHTLCExposure ;
49
50
use lightning:: {
@@ -99,7 +100,7 @@ pub(crate) type OnionMessenger<S: MutinyStorage> = LdkOnionMessenger<
99
100
Arc < PhantomKeysManager < S > > ,
100
101
Arc < PhantomKeysManager < S > > ,
101
102
Arc < MutinyLogger > ,
102
- Arc < DefaultMessageRouter > ,
103
+ Arc < LspMessageRouter > ,
103
104
Arc < PhantomChannelManager < S > > ,
104
105
IgnoringMessageHandler ,
105
106
> ;
@@ -325,24 +326,6 @@ impl<S: MutinyStorage> Node<S> {
325
326
logger : logger. clone ( ) ,
326
327
} ) ;
327
328
328
- let onion_message_handler = Arc :: new ( OnionMessenger :: new (
329
- keys_manager. clone ( ) ,
330
- keys_manager. clone ( ) ,
331
- logger. clone ( ) ,
332
- Arc :: new ( DefaultMessageRouter { } ) ,
333
- channel_manager. clone ( ) ,
334
- IgnoringMessageHandler { } ,
335
- ) ) ;
336
-
337
- // init peer manager
338
- let scb_message_handler = Arc :: new ( SCBMessageHandler :: new ( ) ) ;
339
- let ln_msg_handler = MessageHandler {
340
- chan_handler : channel_manager. clone ( ) ,
341
- route_handler,
342
- onion_message_handler,
343
- custom_message_handler : scb_message_handler. clone ( ) ,
344
- } ;
345
-
346
329
log_info ! ( logger, "creating lsp client" ) ;
347
330
let lsp_client: Option < LspClient > = match node_index. lsp {
348
331
None => {
@@ -360,6 +343,25 @@ impl<S: MutinyStorage> Node<S> {
360
343
Some ( ref lsp) => lsp_clients. iter ( ) . find ( |c| & c. url == lsp) . cloned ( ) ,
361
344
} ;
362
345
346
+ let message_router = Arc :: new ( LspMessageRouter :: new ( lsp_client. as_ref ( ) . map ( |l| l. pubkey ) ) ) ;
347
+ let onion_message_handler = Arc :: new ( OnionMessenger :: new (
348
+ keys_manager. clone ( ) ,
349
+ keys_manager. clone ( ) ,
350
+ logger. clone ( ) ,
351
+ message_router,
352
+ channel_manager. clone ( ) ,
353
+ IgnoringMessageHandler { } ,
354
+ ) ) ;
355
+
356
+ // init peer manager
357
+ let scb_message_handler = Arc :: new ( SCBMessageHandler :: new ( ) ) ;
358
+ let ln_msg_handler = MessageHandler {
359
+ chan_handler : channel_manager. clone ( ) ,
360
+ route_handler,
361
+ onion_message_handler,
362
+ custom_message_handler : scb_message_handler. clone ( ) ,
363
+ } ;
364
+
363
365
let bump_tx_event_handler = Arc :: new ( BumpTransactionEventHandler :: new (
364
366
Arc :: clone ( & chain) ,
365
367
Arc :: new ( Wallet :: new ( Arc :: clone ( & wallet) , Arc :: clone ( & logger) ) ) ,
0 commit comments