@@ -38,19 +38,16 @@ pub use error::Error;
3838pub use event:: Event ;
3939use event:: { EventHandler , EventQueue } ;
4040use peer_store:: { PeerInfo , PeerInfoStorage } ;
41- use wallet:: Wallet ;
41+ use wallet:: { Wallet , WalletKeysManager } ;
4242
4343use logger:: { log_error, log_given_level, log_info, log_internal, FilesystemLogger , Logger } ;
4444
45- use lightning:: chain:: keysinterface:: { InMemorySigner , KeysInterface , KeysManager , Recipient } ;
45+ use lightning:: chain:: keysinterface:: { InMemorySigner , KeysInterface , Recipient } ;
4646use lightning:: chain:: { chainmonitor, Access , BestBlock , Confirm , Watch } ;
4747use lightning:: ln:: channelmanager;
48- use lightning:: ln:: channelmanager:: {
49- ChainParameters , ChannelManagerReadArgs , SimpleArcChannelManager ,
50- } ;
51- use lightning:: ln:: peer_handler:: { IgnoringMessageHandler , MessageHandler , SimpleArcPeerManager } ;
48+ use lightning:: ln:: channelmanager:: { ChainParameters , ChannelManagerReadArgs } ;
49+ use lightning:: ln:: peer_handler:: { IgnoringMessageHandler , MessageHandler } ;
5250use lightning:: ln:: { PaymentHash , PaymentPreimage , PaymentSecret } ;
53- use lightning:: onion_message:: SimpleArcOnionMessenger ;
5451use lightning:: routing:: gossip;
5552use lightning:: routing:: gossip:: P2PGossipSync ;
5653use lightning:: routing:: scoring:: ProbabilisticScorer ;
@@ -262,8 +259,12 @@ impl Builder {
262259 let cur_time = SystemTime :: now ( )
263260 . duration_since ( SystemTime :: UNIX_EPOCH )
264261 . expect ( "System time error: Clock may have gone backwards" ) ;
265- let keys_manager =
266- Arc :: new ( KeysManager :: new ( & seed, cur_time. as_secs ( ) , cur_time. subsec_nanos ( ) ) ) ;
262+ let keys_manager = Arc :: new ( KeysManager :: new (
263+ & seed,
264+ cur_time. as_secs ( ) ,
265+ cur_time. subsec_nanos ( ) ,
266+ Arc :: clone ( & wallet) ,
267+ ) ) ;
267268
268269 // Step 6: Read ChannelMonitor state from disk
269270 let mut channel_monitors = persister
@@ -701,6 +702,12 @@ impl LdkLite {
701702 Ok ( funding_address)
702703 }
703704
705+ #[ cfg( test) ]
706+ /// Retrieve the current on-chain balance.
707+ pub fn on_chain_balance ( & mut self ) -> Result < bdk:: Balance , Error > {
708+ self . wallet . get_balance ( )
709+ }
710+
704711 /// Connect to a node and open a new channel. Disconnects and re-connects are handled automatically
705712 ///
706713 /// Returns a temporary channel id
@@ -1057,22 +1064,25 @@ type ChainMonitor = chainmonitor::ChainMonitor<
10571064 Arc < FilesystemPersister > ,
10581065> ;
10591066
1060- type PeerManager = SimpleArcPeerManager <
1067+ pub ( crate ) type PeerManager = lightning :: ln :: peer_handler :: PeerManager <
10611068 SocketDescriptor ,
1062- ChainMonitor ,
1063- Wallet < bdk :: sled :: Tree > ,
1064- Wallet < bdk :: sled :: Tree > ,
1065- dyn Access + Send + Sync ,
1066- FilesystemLogger ,
1069+ Arc < ChannelManager > ,
1070+ Arc < GossipSync > ,
1071+ Arc < OnionMessenger > ,
1072+ Arc < FilesystemLogger > ,
1073+ IgnoringMessageHandler ,
10671074> ;
10681075
1069- pub ( crate ) type ChannelManager = SimpleArcChannelManager <
1070- ChainMonitor ,
1071- Wallet < bdk:: sled:: Tree > ,
1072- Wallet < bdk:: sled:: Tree > ,
1073- FilesystemLogger ,
1076+ pub ( crate ) type ChannelManager = lightning:: ln:: channelmanager:: ChannelManager <
1077+ Arc < ChainMonitor > ,
1078+ Arc < Wallet < bdk:: sled:: Tree > > ,
1079+ Arc < WalletKeysManager < bdk:: sled:: Tree > > ,
1080+ Arc < Wallet < bdk:: sled:: Tree > > ,
1081+ Arc < FilesystemLogger > ,
10741082> ;
10751083
1084+ pub ( crate ) type KeysManager = WalletKeysManager < bdk:: sled:: Tree > ;
1085+
10761086type InvoicePayer < F > = payment:: InvoicePayer < Arc < ChannelManager > , Router , Arc < FilesystemLogger > , F > ;
10771087
10781088type Router = DefaultRouter < Arc < NetworkGraph > , Arc < FilesystemLogger > , Arc < Mutex < Scorer > > > ;
@@ -1085,4 +1095,8 @@ pub(crate) type NetworkGraph = gossip::NetworkGraph<Arc<FilesystemLogger>>;
10851095
10861096pub ( crate ) type PaymentInfoStorage = Mutex < HashMap < PaymentHash , PaymentInfo > > ;
10871097
1088- pub ( crate ) type OnionMessenger = SimpleArcOnionMessenger < FilesystemLogger > ;
1098+ pub ( crate ) type OnionMessenger = lightning:: onion_message:: OnionMessenger <
1099+ Arc < WalletKeysManager < bdk:: sled:: Tree > > ,
1100+ Arc < FilesystemLogger > ,
1101+ IgnoringMessageHandler ,
1102+ > ;
0 commit comments