@@ -15,8 +15,8 @@ use crate::peer_store::PeerStore;
1515use crate :: sweep:: OutputSweeper ;
1616use crate :: tx_broadcaster:: TransactionBroadcaster ;
1717use crate :: types:: {
18- ChainMonitor , ChannelManager , FakeMessageRouter , GossipSync , KeysManager , NetworkGraph ,
19- OnionMessenger , PeerManager ,
18+ ChainMonitor , ChannelManager , DynStore , FakeMessageRouter , GossipSync , KeysManager ,
19+ NetworkGraph , OnionMessenger , PeerManager ,
2020} ;
2121use crate :: wallet:: Wallet ;
2222use crate :: { LogLevel , Node } ;
@@ -33,7 +33,7 @@ use lightning::sign::EntropySource;
3333
3434use lightning:: util:: config:: UserConfig ;
3535use lightning:: util:: persist:: {
36- read_channel_monitors, KVStore , CHANNEL_MANAGER_PERSISTENCE_KEY ,
36+ read_channel_monitors, CHANNEL_MANAGER_PERSISTENCE_KEY ,
3737 CHANNEL_MANAGER_PERSISTENCE_PRIMARY_NAMESPACE , CHANNEL_MANAGER_PERSISTENCE_SECONDARY_NAMESPACE ,
3838} ;
3939use lightning:: util:: ser:: ReadableArgs ;
@@ -115,12 +115,18 @@ pub enum BuildError {
115115 /// The given listening addresses are invalid, e.g. too many were passed.
116116 InvalidListeningAddresses ,
117117 /// We failed to read data from the [`KVStore`].
118+ ///
119+ /// [`KVStore`]: lightning::util::persist::KVStore
118120 ReadFailed ,
119121 /// We failed to write data to the [`KVStore`].
122+ ///
123+ /// [`KVStore`]: lightning::util::persist::KVStore
120124 WriteFailed ,
121125 /// We failed to access the given `storage_dir_path`.
122126 StoragePathAccessFailed ,
123127 /// We failed to setup our [`KVStore`].
128+ ///
129+ /// [`KVStore`]: lightning::util::persist::KVStore
124130 KVStoreSetupFailed ,
125131 /// We failed to setup the onchain wallet.
126132 WalletSetupFailed ,
@@ -299,7 +305,7 @@ impl NodeBuilder {
299305
300306 /// Builds a [`Node`] instance with a [`SqliteStore`] backend and according to the options
301307 /// previously configured.
302- pub fn build ( & self ) -> Result < Node < SqliteStore > , BuildError > {
308+ pub fn build ( & self ) -> Result < Node , BuildError > {
303309 let storage_dir_path = self . config . storage_dir_path . clone ( ) ;
304310 fs:: create_dir_all ( storage_dir_path. clone ( ) )
305311 . map_err ( |_| BuildError :: StoragePathAccessFailed ) ?;
@@ -316,7 +322,7 @@ impl NodeBuilder {
316322
317323 /// Builds a [`Node`] instance with a [`FilesystemStore`] backend and according to the options
318324 /// previously configured.
319- pub fn build_with_fs_store ( & self ) -> Result < Node < FilesystemStore > , BuildError > {
325+ pub fn build_with_fs_store ( & self ) -> Result < Node , BuildError > {
320326 let mut storage_dir_path: PathBuf = self . config . storage_dir_path . clone ( ) . into ( ) ;
321327 storage_dir_path. push ( "fs_store" ) ;
322328
@@ -329,9 +335,7 @@ impl NodeBuilder {
329335 /// Builds a [`Node`] instance with a [`VssStore`] backend and according to the options
330336 /// previously configured.
331337 #[ cfg( any( vss, vss_test) ) ]
332- pub fn build_with_vss_store (
333- & self , url : String , store_id : String ,
334- ) -> Result < Node < VssStore > , BuildError > {
338+ pub fn build_with_vss_store ( & self , url : String , store_id : String ) -> Result < Node , BuildError > {
335339 let logger = setup_logger ( & self . config ) ?;
336340
337341 let seed_bytes = seed_bytes_from_config (
@@ -369,9 +373,7 @@ impl NodeBuilder {
369373 }
370374
371375 /// Builds a [`Node`] instance according to the options previously configured.
372- pub fn build_with_store < K : KVStore + Sync + Send + ' static > (
373- & self , kv_store : Arc < K > ,
374- ) -> Result < Node < K > , BuildError > {
376+ pub fn build_with_store ( & self , kv_store : Arc < DynStore > ) -> Result < Node , BuildError > {
375377 let logger = setup_logger ( & self . config ) ?;
376378 let seed_bytes = seed_bytes_from_config (
377379 & self . config ,
@@ -500,31 +502,29 @@ impl ArcedNodeBuilder {
500502
501503 /// Builds a [`Node`] instance with a [`SqliteStore`] backend and according to the options
502504 /// previously configured.
503- pub fn build ( & self ) -> Result < Arc < Node < SqliteStore > > , BuildError > {
505+ pub fn build ( & self ) -> Result < Arc < Node > , BuildError > {
504506 self . inner . read ( ) . unwrap ( ) . build ( ) . map ( Arc :: new)
505507 }
506508
507509 /// Builds a [`Node`] instance with a [`FilesystemStore`] backend and according to the options
508510 /// previously configured.
509- pub fn build_with_fs_store ( & self ) -> Result < Arc < Node < FilesystemStore > > , BuildError > {
511+ pub fn build_with_fs_store ( & self ) -> Result < Arc < Node > , BuildError > {
510512 self . inner . read ( ) . unwrap ( ) . build_with_fs_store ( ) . map ( Arc :: new)
511513 }
512514
513515 /// Builds a [`Node`] instance according to the options previously configured.
514- pub fn build_with_store < K : KVStore + Sync + Send + ' static > (
515- & self , kv_store : Arc < K > ,
516- ) -> Result < Arc < Node < K > > , BuildError > {
516+ pub fn build_with_store ( & self , kv_store : Arc < DynStore > ) -> Result < Arc < Node > , BuildError > {
517517 self . inner . read ( ) . unwrap ( ) . build_with_store ( kv_store) . map ( Arc :: new)
518518 }
519519}
520520
521521/// Builds a [`Node`] instance according to the options previously configured.
522- fn build_with_store_internal < K : KVStore + Sync + Send + ' static > (
522+ fn build_with_store_internal (
523523 config : Arc < Config > , chain_data_source_config : Option < & ChainDataSourceConfig > ,
524524 gossip_source_config : Option < & GossipSourceConfig > ,
525525 liquidity_source_config : Option < & LiquiditySourceConfig > , seed_bytes : [ u8 ; 64 ] ,
526- logger : Arc < FilesystemLogger > , kv_store : Arc < K > ,
527- ) -> Result < Node < K > , BuildError > {
526+ logger : Arc < FilesystemLogger > , kv_store : Arc < DynStore > ,
527+ ) -> Result < Node , BuildError > {
528528 // Initialize the on-chain wallet and chain access
529529 let xprv = bitcoin:: bip32:: ExtendedPrivKey :: new_master ( config. network . into ( ) , & seed_bytes)
530530 . map_err ( |e| {
@@ -604,7 +604,7 @@ fn build_with_store_internal<K: KVStore + Sync + Send + 'static>(
604604 ) ) ;
605605
606606 // Initialize the ChainMonitor
607- let chain_monitor: Arc < ChainMonitor < K > > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
607+ let chain_monitor: Arc < ChainMonitor > = Arc :: new ( chainmonitor:: ChainMonitor :: new (
608608 Some ( Arc :: clone ( & tx_sync) ) ,
609609 Arc :: clone ( & tx_broadcaster) ,
610610 Arc :: clone ( & logger) ,
@@ -735,7 +735,7 @@ fn build_with_store_internal<K: KVStore + Sync + Send + 'static>(
735735 channel_monitor_references,
736736 ) ;
737737 let ( _hash, channel_manager) =
738- <( BlockHash , ChannelManager < K > ) >:: read ( & mut reader, read_args) . map_err ( |e| {
738+ <( BlockHash , ChannelManager ) >:: read ( & mut reader, read_args) . map_err ( |e| {
739739 log_error ! ( logger, "Failed to read channel manager from KVStore: {}" , e) ;
740740 BuildError :: ReadFailed
741741 } ) ?;
0 commit comments