@@ -38,19 +38,16 @@ pub use error::Error;
38
38
pub use event:: Event ;
39
39
use event:: { EventHandler , EventQueue } ;
40
40
use peer_store:: { PeerInfo , PeerInfoStorage } ;
41
- use wallet:: Wallet ;
41
+ use wallet:: { Wallet , WalletKeysManager } ;
42
42
43
43
use logger:: { log_error, log_given_level, log_info, log_internal, FilesystemLogger , Logger } ;
44
44
45
- use lightning:: chain:: keysinterface:: { InMemorySigner , KeysInterface , KeysManager , Recipient } ;
45
+ use lightning:: chain:: keysinterface:: { InMemorySigner , KeysInterface , Recipient } ;
46
46
use lightning:: chain:: { chainmonitor, Access , BestBlock , Confirm , Watch } ;
47
47
use 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 } ;
52
50
use lightning:: ln:: { PaymentHash , PaymentPreimage , PaymentSecret } ;
53
- use lightning:: onion_message:: SimpleArcOnionMessenger ;
54
51
use lightning:: routing:: gossip;
55
52
use lightning:: routing:: gossip:: P2PGossipSync ;
56
53
use lightning:: routing:: scoring:: ProbabilisticScorer ;
@@ -262,8 +259,12 @@ impl Builder {
262
259
let cur_time = SystemTime :: now ( )
263
260
. duration_since ( SystemTime :: UNIX_EPOCH )
264
261
. 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
+ ) ) ;
267
268
268
269
// Step 6: Read ChannelMonitor state from disk
269
270
let mut channel_monitors = persister
@@ -701,6 +702,12 @@ impl LdkLite {
701
702
Ok ( funding_address)
702
703
}
703
704
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
+
704
711
/// Connect to a node and open a new channel. Disconnects and re-connects are handled automatically
705
712
///
706
713
/// Returns a temporary channel id
@@ -1057,22 +1064,25 @@ type ChainMonitor = chainmonitor::ChainMonitor<
1057
1064
Arc < FilesystemPersister > ,
1058
1065
> ;
1059
1066
1060
- type PeerManager = SimpleArcPeerManager <
1067
+ pub ( crate ) type PeerManager = lightning :: ln :: peer_handler :: PeerManager <
1061
1068
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 ,
1067
1074
> ;
1068
1075
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 > ,
1074
1082
> ;
1075
1083
1084
+ pub ( crate ) type KeysManager = WalletKeysManager < bdk:: sled:: Tree > ;
1085
+
1076
1086
type InvoicePayer < F > = payment:: InvoicePayer < Arc < ChannelManager > , Router , Arc < FilesystemLogger > , F > ;
1077
1087
1078
1088
type Router = DefaultRouter < Arc < NetworkGraph > , Arc < FilesystemLogger > , Arc < Mutex < Scorer > > > ;
@@ -1085,4 +1095,8 @@ pub(crate) type NetworkGraph = gossip::NetworkGraph<Arc<FilesystemLogger>>;
1085
1095
1086
1096
pub ( crate ) type PaymentInfoStorage = Mutex < HashMap < PaymentHash , PaymentInfo > > ;
1087
1097
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