5
5
// http://opensource.org/licenses/MIT>, at your option. You may not use this file except in
6
6
// accordance with one or both of these licenses.
7
7
8
- use crate :: om_mailbox:: OnionMessageMailbox ;
8
+ use crate :: payment :: asynchronous :: om_mailbox:: OnionMessageMailbox ;
9
9
use crate :: types:: { CustomTlvRecord , DynStore , OnionMessenger , PaymentStore , Sweeper , Wallet } ;
10
10
use crate :: {
11
11
hex_utils, BumpTransactionEventHandler , ChannelManager , Error , Graph , PeerInfo , PeerStore ,
@@ -461,7 +461,7 @@ where
461
461
config : Arc < Config > ,
462
462
static_invoice_store : Option < StaticInvoiceStore > ,
463
463
onion_messenger : Arc < OnionMessenger > ,
464
- om_mailbox : Arc < OnionMessageMailbox > ,
464
+ om_mailbox : Option < Arc < OnionMessageMailbox > > ,
465
465
}
466
466
467
467
impl < L : Deref + Clone + Sync + Send + ' static > EventHandler < L >
@@ -476,7 +476,7 @@ where
476
476
liquidity_source : Option < Arc < LiquiditySource < Arc < Logger > > > > ,
477
477
payment_store : Arc < PaymentStore > , peer_store : Arc < PeerStore < L > > ,
478
478
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 ,
480
480
config : Arc < Config > ,
481
481
) -> Self {
482
482
Self {
@@ -1498,13 +1498,22 @@ where
1498
1498
self . bump_tx_event_handler . handle_event ( & bte) . await ;
1499
1499
} ,
1500
1500
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
+ }
1502
1509
} ,
1503
1510
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) ;
1505
1513
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
+ }
1508
1517
}
1509
1518
} ,
1510
1519
0 commit comments