Skip to content

Commit 65758a0

Browse files
committed
Add LiquidityManagerSync wrapper
.. that wraps a the `LiquidityManager` interface which will soon become async due to usage of the async `KVStore`.
1 parent f322c1a commit 65758a0

File tree

6 files changed

+404
-33
lines changed

6 files changed

+404
-33
lines changed

lightning-background-processor/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ possiblyrandom = { version = "0.2", path = "../possiblyrandom", default-features
3131
tokio = { version = "1.35", features = [ "macros", "rt", "rt-multi-thread", "sync", "time" ] }
3232
lightning = { version = "0.2.0", path = "../lightning", features = ["_test_utils"] }
3333
lightning-invoice = { version = "0.34.0", path = "../lightning-invoice" }
34+
lightning-liquidity = { version = "0.2.0", path = "../lightning-liquidity", default-features = false, features = ["_test_utils"] }
3435
lightning-persister = { version = "0.2.0", path = "../lightning-persister" }
3536

3637
[lints]

lightning-background-processor/src/lib.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ use lightning::util::sweep::OutputSweeperSync;
6868
use lightning::util::wakers::Sleeper;
6969
use lightning_rapid_gossip_sync::RapidGossipSync;
7070

71-
use lightning_liquidity::ALiquidityManager;
71+
use lightning_liquidity::{ALiquidityManager, ALiquidityManagerSync};
7272

7373
use core::ops::Deref;
7474
use core::time::Duration;
@@ -1350,7 +1350,7 @@ impl BackgroundProcessor {
13501350
CM::Target: AChannelManager,
13511351
OM::Target: AOnionMessenger,
13521352
PM::Target: APeerManager,
1353-
LM::Target: ALiquidityManager,
1353+
LM::Target: ALiquidityManagerSync,
13541354
D::Target: ChangeDestinationSourceSync,
13551355
O::Target: 'static + OutputSpender,
13561356
K::Target: 'static + KVStoreSync,
@@ -1693,7 +1693,7 @@ mod tests {
16931693
use lightning::util::test_utils;
16941694
use lightning::{get_event, get_event_msg};
16951695
use lightning_liquidity::utils::time::DefaultTimeProvider;
1696-
use lightning_liquidity::LiquidityManager;
1696+
use lightning_liquidity::{ALiquidityManagerSync, LiquidityManagerSync};
16971697
use lightning_persister::fs_store::FilesystemStore;
16981698
use lightning_rapid_gossip_sync::RapidGossipSync;
16991699
use std::collections::VecDeque;
@@ -1790,7 +1790,7 @@ mod tests {
17901790
IgnoringMessageHandler,
17911791
>;
17921792

1793-
type LM = LiquidityManager<
1793+
type LM = LiquidityManagerSync<
17941794
Arc<KeysManager>,
17951795
Arc<KeysManager>,
17961796
Arc<ChannelManager>,
@@ -2242,14 +2242,13 @@ mod tests {
22422242
Arc::clone(&logger),
22432243
Arc::clone(&keys_manager),
22442244
));
2245-
let kv_store_sync = Arc::new(KVStoreSyncWrapper(Arc::clone(&kv_store)));
2246-
let liquidity_manager = Arc::new(LiquidityManager::new(
2245+
let liquidity_manager = Arc::new(LiquidityManagerSync::new(
22472246
Arc::clone(&keys_manager),
22482247
Arc::clone(&keys_manager),
22492248
Arc::clone(&manager),
22502249
None,
22512250
None,
2252-
kv_store_sync,
2251+
Arc::clone(&kv_store) as Arc<dyn KVStoreSync + Sync + Send>,
22532252
None,
22542253
None,
22552254
));
@@ -2629,7 +2628,7 @@ mod tests {
26292628
Some(Arc::clone(&nodes[0].messenger)),
26302629
nodes[0].rapid_gossip_sync(),
26312630
Arc::clone(&nodes[0].peer_manager),
2632-
Some(Arc::clone(&nodes[0].liquidity_manager)),
2631+
Some(nodes[0].liquidity_manager.get_lm_async()),
26332632
Some(nodes[0].sweeper.sweeper_async()),
26342633
Arc::clone(&nodes[0].logger),
26352634
Some(Arc::clone(&nodes[0].scorer)),
@@ -3138,7 +3137,7 @@ mod tests {
31383137
Some(Arc::clone(&nodes[0].messenger)),
31393138
nodes[0].rapid_gossip_sync(),
31403139
Arc::clone(&nodes[0].peer_manager),
3141-
Some(Arc::clone(&nodes[0].liquidity_manager)),
3140+
Some(nodes[0].liquidity_manager.get_lm_async()),
31423141
Some(nodes[0].sweeper.sweeper_async()),
31433142
Arc::clone(&nodes[0].logger),
31443143
Some(Arc::clone(&nodes[0].scorer)),
@@ -3353,7 +3352,7 @@ mod tests {
33533352
Some(Arc::clone(&nodes[0].messenger)),
33543353
nodes[0].no_gossip_sync(),
33553354
Arc::clone(&nodes[0].peer_manager),
3356-
Some(Arc::clone(&nodes[0].liquidity_manager)),
3355+
Some(nodes[0].liquidity_manager.get_lm_async()),
33573356
Some(nodes[0].sweeper.sweeper_async()),
33583357
Arc::clone(&nodes[0].logger),
33593358
Some(Arc::clone(&nodes[0].scorer)),

lightning-liquidity/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ default = ["std", "time"]
1818
std = ["lightning/std"]
1919
time = ["std"]
2020
backtrace = ["dep:backtrace"]
21+
_test_utils = []
2122

2223
[dependencies]
2324
lightning = { version = "0.2.0", path = "../lightning", default-features = false }

lightning-liquidity/src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,6 @@ mod tests;
7373
pub mod utils;
7474

7575
pub use manager::{
76-
ALiquidityManager, LiquidityClientConfig, LiquidityManager, LiquidityServiceConfig,
76+
ALiquidityManager, ALiquidityManagerSync, LiquidityClientConfig, LiquidityManager, LiquidityManagerSync,
77+
LiquidityServiceConfig,
7778
};

0 commit comments

Comments
 (0)