55// http://opensource.org/licenses/MIT>, at your option. You may not use this file except in
66// accordance with one or both of these licenses.
77
8- use crate :: om_mailbox:: OnionMessageMailbox ;
8+ use crate :: payment :: asynchronous :: om_mailbox:: OnionMessageMailbox ;
99use crate :: types:: { CustomTlvRecord , DynStore , OnionMessenger , PaymentStore , Sweeper , Wallet } ;
1010use crate :: {
1111 hex_utils, BumpTransactionEventHandler , ChannelManager , Error , Graph , PeerInfo , PeerStore ,
@@ -461,7 +461,7 @@ where
461461 config : Arc < Config > ,
462462 static_invoice_store : Option < StaticInvoiceStore > ,
463463 onion_messenger : Arc < OnionMessenger > ,
464- om_mailbox : Arc < OnionMessageMailbox > ,
464+ om_mailbox : Option < Arc < OnionMessageMailbox > > ,
465465}
466466
467467impl < L : Deref + Clone + Sync + Send + ' static > EventHandler < L >
@@ -476,7 +476,7 @@ where
476476 liquidity_source : Option < Arc < LiquiditySource < Arc < Logger > > > > ,
477477 payment_store : Arc < PaymentStore > , peer_store : Arc < PeerStore < L > > ,
478478 static_invoice_store : Option < StaticInvoiceStore > , onion_messenger : Arc < OnionMessenger > ,
479- om_mailbox : Arc < OnionMessageMailbox > , runtime : Arc < Runtime > , logger : L ,
479+ om_mailbox : Option < Arc < OnionMessageMailbox > > , runtime : Arc < Runtime > , logger : L ,
480480 config : Arc < Config > ,
481481 ) -> Self {
482482 Self {
@@ -1498,13 +1498,22 @@ where
14981498 self . bump_tx_event_handler . handle_event ( & bte) . await ;
14991499 } ,
15001500 LdkEvent :: OnionMessageIntercepted { peer_node_id, message } => {
1501- self . om_mailbox . onion_message_intercepted ( peer_node_id, message) ;
1501+ if let Some ( om_mailbox) = self . om_mailbox . as_ref ( ) {
1502+ om_mailbox. onion_message_intercepted ( peer_node_id, message) ;
1503+ } else {
1504+ log_trace ! (
1505+ self . logger,
1506+ "Onion message intercepted, but no onion message mailbox available"
1507+ ) ;
1508+ }
15021509 } ,
15031510 LdkEvent :: OnionMessagePeerConnected { peer_node_id } => {
1504- let messages = self . om_mailbox . onion_message_peer_connected ( peer_node_id) ;
1511+ if let Some ( om_mailbox) = self . om_mailbox . as_ref ( ) {
1512+ let messages = om_mailbox. onion_message_peer_connected ( peer_node_id) ;
15051513
1506- for message in messages {
1507- let _ = self . onion_messenger . forward_onion_message ( message, & peer_node_id) ;
1514+ for message in messages {
1515+ let _ = self . onion_messenger . forward_onion_message ( message, & peer_node_id) ;
1516+ }
15081517 }
15091518 } ,
15101519
0 commit comments