Skip to content

Commit ff00711

Browse files
committed
Drop Arcs around lightning-liquidity's DefaultTimeProvider
There's no need for these given `DefaultTimeProvider` is a unit struct.
1 parent 603f901 commit ff00711

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

lightning-background-processor/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,7 @@ mod tests {
19531953
Arc<ChannelManager>,
19541954
Arc<dyn Filter + Sync + Send>,
19551955
Arc<Persister>,
1956-
Arc<DefaultTimeProvider>,
1956+
DefaultTimeProvider,
19571957
>;
19581958

19591959
struct Node {

lightning-liquidity/src/manager.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ impl<
318318
CM: Deref + Clone,
319319
C: Deref + Clone,
320320
K: Deref + Clone,
321-
> LiquidityManager<ES, NS, CM, C, K, Arc<DefaultTimeProvider>>
321+
> LiquidityManager<ES, NS, CM, C, K, DefaultTimeProvider>
322322
where
323323
ES::Target: EntropySource,
324324
NS::Target: NodeSigner,
@@ -335,7 +335,6 @@ where
335335
service_config: Option<LiquidityServiceConfig>,
336336
client_config: Option<LiquidityClientConfig>,
337337
) -> Result<Self, lightning::io::Error> {
338-
let time_provider = Arc::new(DefaultTimeProvider);
339338
Self::new_with_custom_time_provider(
340339
entropy_source,
341340
node_signer,
@@ -345,7 +344,7 @@ where
345344
kv_store,
346345
service_config,
347346
client_config,
348-
time_provider,
347+
DefaultTimeProvider,
349348
)
350349
.await
351350
}
@@ -1046,7 +1045,7 @@ impl<
10461045
CM: Deref + Clone,
10471046
C: Deref + Clone,
10481047
KS: Deref + Clone,
1049-
> LiquidityManagerSync<ES, NS, CM, C, KS, Arc<DefaultTimeProvider>>
1048+
> LiquidityManagerSync<ES, NS, CM, C, KS, DefaultTimeProvider>
10501049
where
10511050
ES::Target: EntropySource,
10521051
NS::Target: NodeSigner,

lightning-liquidity/src/utils/time.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
//! Utilities for time handling in LSPS5 service.
22
3+
use core::ops::Deref;
34
use core::time::Duration;
45

56
/// Trait defining a time provider for LSPS5 service.
@@ -12,6 +13,11 @@ pub trait TimeProvider {
1213
}
1314

1415
/// Default time provider using the system clock.
16+
///
17+
/// You likely don't need to use this directly, it is used automatically with
18+
/// [`LiquidityManager::new`]
19+
///
20+
/// [`LiquidityManager::new`]: crate::manager::LiquidityManager::new
1521
#[derive(Clone, Debug)]
1622
#[cfg(feature = "time")]
1723
pub struct DefaultTimeProvider;
@@ -23,3 +29,10 @@ impl TimeProvider for DefaultTimeProvider {
2329
SystemTime::now().duration_since(UNIX_EPOCH).expect("system time before Unix epoch")
2430
}
2531
}
32+
#[cfg(feature = "time")]
33+
impl Deref for DefaultTimeProvider {
34+
type Target = Self;
35+
fn deref(&self) -> &Self {
36+
self
37+
}
38+
}

0 commit comments

Comments
 (0)