@@ -648,6 +648,7 @@ use futures_util::{dummy_waker, OptionalSelector, Selector, SelectorOutput};
648648/// # use std::sync::atomic::{AtomicBool, Ordering};
649649/// # use std::time::SystemTime;
650650/// # use lightning_background_processor::{process_events_async, GossipSync};
651+ /// # use lightning_liquidity::lsps5::service::TimeProvider;
651652/// # struct Logger {}
652653/// # impl lightning::util::logger::Logger for Logger {
653654/// # fn log(&self, _record: lightning::util::logger::Record) {}
@@ -659,6 +660,16 @@ use futures_util::{dummy_waker, OptionalSelector, Selector, SelectorOutput};
659660/// # fn remove(&self, primary_namespace: &str, secondary_namespace: &str, key: &str, lazy: bool) -> io::Result<()> { Ok(()) }
660661/// # fn list(&self, primary_namespace: &str, secondary_namespace: &str) -> io::Result<Vec<String>> { Ok(Vec::new()) }
661662/// # }
663+ /// #
664+ /// # use core::time::Duration;
665+ /// # struct DefaultTimeProvider;
666+ /// #
667+ /// # impl TimeProvider for DefaultTimeProvider {
668+ /// # fn duration_since_epoch(&self) -> Duration {
669+ /// # use std::time::{SystemTime, UNIX_EPOCH};
670+ /// # SystemTime::now().duration_since(UNIX_EPOCH).expect("system time before Unix epoch")
671+ /// # }
672+ /// # }
662673/// # struct EventHandler {}
663674/// # impl EventHandler {
664675/// # async fn handle_event(&self, _: lightning::events::Event) -> Result<(), ReplayEvent> { Ok(()) }
@@ -674,7 +685,7 @@ use futures_util::{dummy_waker, OptionalSelector, Selector, SelectorOutput};
674685/// # type P2PGossipSync<UL> = lightning::routing::gossip::P2PGossipSync<Arc<NetworkGraph>, Arc<UL>, Arc<Logger>>;
675686/// # type ChannelManager<B, F, FE> = lightning::ln::channelmanager::SimpleArcChannelManager<ChainMonitor<B, F, FE>, B, FE, Logger>;
676687/// # type OnionMessenger<B, F, FE> = lightning::onion_message::messenger::OnionMessenger<Arc<lightning::sign::KeysManager>, Arc<lightning::sign::KeysManager>, Arc<Logger>, Arc<ChannelManager<B, F, FE>>, Arc<lightning::onion_message::messenger::DefaultMessageRouter<Arc<NetworkGraph>, Arc<Logger>, Arc<lightning::sign::KeysManager>>>, Arc<ChannelManager<B, F, FE>>, lightning::ln::peer_handler::IgnoringMessageHandler, lightning::ln::peer_handler::IgnoringMessageHandler, lightning::ln::peer_handler::IgnoringMessageHandler>;
677- /// # type LiquidityManager<B, F, FE> = lightning_liquidity::LiquidityManager<Arc<lightning::sign::KeysManager>, Arc<ChannelManager<B, F, FE>>, Arc<F>>;
688+ /// # type LiquidityManager<B, F, FE> = lightning_liquidity::LiquidityManager<Arc<lightning::sign::KeysManager>, Arc<ChannelManager<B, F, FE>>, Arc<F>, Arc<DefaultTimeProvider> >;
678689/// # type Scorer = RwLock<lightning::routing::scoring::ProbabilisticScorer<Arc<NetworkGraph>, Arc<Logger>>>;
679690/// # type PeerManager<B, F, FE, UL> = lightning::ln::peer_handler::SimpleArcPeerManager<SocketDescriptor, ChainMonitor<B, F, FE>, B, FE, Arc<UL>, Logger, F, Store>;
680691/// #
@@ -1151,7 +1162,7 @@ impl Drop for BackgroundProcessor {
11511162 }
11521163}
11531164
1154- #[ cfg( all( feature = "std" , test) ) ]
1165+ #[ cfg( all( feature = "std" , feature = "time" , test) ) ]
11551166mod tests {
11561167 use super :: { BackgroundProcessor , GossipSync , FRESHNESS_TIMER } ;
11571168 use bitcoin:: constants:: { genesis_block, ChainHash } ;
@@ -1196,7 +1207,8 @@ mod tests {
11961207 use lightning:: util:: sweep:: { OutputSpendStatus , OutputSweeperSync , PRUNE_DELAY_BLOCKS } ;
11971208 use lightning:: util:: test_utils;
11981209 use lightning:: { get_event, get_event_msg} ;
1199- use lightning_liquidity:: lsps5:: service:: TimeProvider ;
1210+ #[ cfg( feature = "time" ) ]
1211+ use lightning_liquidity:: lsps5:: service:: DefaultTimeProvider ;
12001212 use lightning_liquidity:: LiquidityManager ;
12011213 use lightning_persister:: fs_store:: FilesystemStore ;
12021214 use lightning_rapid_gossip_sync:: RapidGossipSync ;
@@ -1293,8 +1305,12 @@ mod tests {
12931305 IgnoringMessageHandler ,
12941306 > ;
12951307
1296- type LM =
1297- LiquidityManager < Arc < KeysManager > , Arc < ChannelManager > , Arc < dyn Filter + Sync + Send > > ;
1308+ type LM = LiquidityManager <
1309+ Arc < KeysManager > ,
1310+ Arc < ChannelManager > ,
1311+ Arc < dyn Filter + Sync + Send > ,
1312+ Arc < DefaultTimeProvider > ,
1313+ > ;
12981314
12991315 struct Node {
13001316 node : Arc < ChannelManager > ,
@@ -1635,16 +1651,6 @@ mod tests {
16351651 path. to_str ( ) . unwrap ( ) . to_string ( )
16361652 }
16371653
1638- pub struct DefaultTimeProvider ;
1639-
1640- #[ cfg( feature = "std" ) ]
1641- impl TimeProvider for DefaultTimeProvider {
1642- fn duration_since_epoch ( & self ) -> Duration {
1643- use std:: time:: { SystemTime , UNIX_EPOCH } ;
1644- SystemTime :: now ( ) . duration_since ( UNIX_EPOCH ) . expect ( "system time before Unix epoch" )
1645- }
1646- }
1647-
16481654 fn create_nodes ( num_nodes : usize , persist_dir : & str ) -> ( String , Vec < Node > ) {
16491655 let persist_temp_path = env:: temp_dir ( ) . join ( persist_dir) ;
16501656 let persist_dir = persist_temp_path. to_string_lossy ( ) . to_string ( ) ;
@@ -1746,15 +1752,13 @@ mod tests {
17461752 Arc :: clone ( & logger) ,
17471753 Arc :: clone ( & keys_manager) ,
17481754 ) ) ;
1749- let time_provider = Arc :: new ( DefaultTimeProvider ) ;
1750- let liquidity_manager = Arc :: new ( LiquidityManager :: new_with_custom_time_provider (
1755+ let liquidity_manager = Arc :: new ( LiquidityManager :: new (
17511756 Arc :: clone ( & keys_manager) ,
17521757 Arc :: clone ( & manager) ,
17531758 None ,
17541759 None ,
17551760 None ,
17561761 None ,
1757- time_provider,
17581762 ) ) ;
17591763 let node = Node {
17601764 node : manager,
0 commit comments