@@ -9,9 +9,11 @@ use persist::KVStoreWalletPersister;
99
1010use crate :: logger:: { log_debug, log_error, log_info, log_trace, FilesystemLogger , Logger } ;
1111
12+ use crate :: event:: EventQueue ;
1213use crate :: fee_estimator:: { ConfirmationTarget , FeeEstimator } ;
1314use crate :: payment:: store:: { ConfirmationStatus , PaymentStore } ;
1415use crate :: payment:: { PaymentDetails , PaymentDirection , PaymentStatus } ;
16+ use crate :: types:: ChannelManager ;
1517use crate :: Error ;
1618
1719use lightning:: chain:: chaininterface:: BroadcasterInterface ;
6870 // A BDK on-chain wallet.
6971 inner : Mutex < PersistedWallet < KVStoreWalletPersister > > ,
7072 persister : Mutex < KVStoreWalletPersister > ,
73+ channel_manager : Mutex < Option < Arc < ChannelManager > > > ,
7174 broadcaster : B ,
7275 fee_estimator : E ,
7376 payment_store : Arc < PaymentStore < Arc < FilesystemLogger > > > ,
77+ event_queue : Arc < EventQueue < Arc < FilesystemLogger > > > ,
7478 logger : L ,
7579}
7680
@@ -83,13 +87,27 @@ where
8387 pub ( crate ) fn new (
8488 wallet : bdk_wallet:: PersistedWallet < KVStoreWalletPersister > ,
8589 wallet_persister : KVStoreWalletPersister , broadcaster : B , fee_estimator : E ,
86- payment_store : Arc < PaymentStore < Arc < FilesystemLogger > > > , logger : L ,
90+ payment_store : Arc < PaymentStore < Arc < FilesystemLogger > > > ,
91+ event_queue : Arc < EventQueue < Arc < FilesystemLogger > > > , logger : L ,
8792 ) -> Self {
8893 let inner = Mutex :: new ( wallet) ;
8994 let persister = Mutex :: new ( wallet_persister) ;
90- Self { inner, persister, broadcaster, fee_estimator, payment_store, logger }
95+ let channel_manager = Mutex :: new ( None ) ;
96+ Self {
97+ inner,
98+ persister,
99+ channel_manager,
100+ broadcaster,
101+ fee_estimator,
102+ payment_store,
103+ event_queue,
104+ logger,
105+ }
91106 }
92107
108+ pub ( crate ) fn set_channel_manager ( & self , channel_manager : Arc < ChannelManager > ) {
109+ * self . channel_manager . lock ( ) . unwrap ( ) = Some ( channel_manager) ;
110+ }
93111 pub ( crate ) fn get_full_scan_request ( & self ) -> FullScanRequest < KeychainKind > {
94112 self . inner . lock ( ) . unwrap ( ) . start_full_scan ( ) . build ( )
95113 }
0 commit comments