Skip to content

Commit 9b9d683

Browse files
committed
Let LiquidityManager take a KVStore and add Sync wrapper
We add `KVStore` to `LiquidityManager`, which will be used in the next commits. We also add a `LiquidityManagerSync` wrapper that wraps a the `LiquidityManager` interface which will soon become async due to usage of the async `KVStore`.
1 parent ecce859 commit 9b9d683

File tree

7 files changed

+421
-32
lines changed

7 files changed

+421
-32
lines changed

fuzz/src/lsps_message.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use lightning::util::test_utils::{
2121
};
2222

2323
use lightning_liquidity::lsps0::ser::LSPS_MESSAGE_TYPE_ID;
24-
use lightning_liquidity::LiquidityManager;
24+
use lightning_liquidity::LiquidityManagerSync;
2525

2626
use core::time::Duration;
2727

@@ -77,12 +77,13 @@ pub fn do_test(data: &[u8]) {
7777
genesis_block.header.time,
7878
));
7979

80-
let liquidity_manager = Arc::new(LiquidityManager::new(
80+
let liquidity_manager = Arc::new(LiquidityManagerSync::new(
8181
Arc::clone(&keys_manager),
8282
Arc::clone(&keys_manager),
8383
Arc::clone(&manager),
8484
None::<Arc<dyn Filter + Send + Sync>>,
8585
None,
86+
kv_store,
8687
None,
8788
None,
8889
));

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 & 8 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,12 +2242,13 @@ mod tests {
22422242
Arc::clone(&logger),
22432243
Arc::clone(&keys_manager),
22442244
));
2245-
let liquidity_manager = Arc::new(LiquidityManager::new(
2245+
let liquidity_manager = Arc::new(LiquidityManagerSync::new(
22462246
Arc::clone(&keys_manager),
22472247
Arc::clone(&keys_manager),
22482248
Arc::clone(&manager),
22492249
None,
22502250
None,
2251+
Arc::clone(&kv_store) as Arc<dyn KVStoreSync + Sync + Send>,
22512252
None,
22522253
None,
22532254
));
@@ -2627,7 +2628,7 @@ mod tests {
26272628
Some(Arc::clone(&nodes[0].messenger)),
26282629
nodes[0].rapid_gossip_sync(),
26292630
Arc::clone(&nodes[0].peer_manager),
2630-
Some(Arc::clone(&nodes[0].liquidity_manager)),
2631+
Some(nodes[0].liquidity_manager.get_lm_async()),
26312632
Some(nodes[0].sweeper.sweeper_async()),
26322633
Arc::clone(&nodes[0].logger),
26332634
Some(Arc::clone(&nodes[0].scorer)),
@@ -3136,7 +3137,7 @@ mod tests {
31363137
Some(Arc::clone(&nodes[0].messenger)),
31373138
nodes[0].rapid_gossip_sync(),
31383139
Arc::clone(&nodes[0].peer_manager),
3139-
Some(Arc::clone(&nodes[0].liquidity_manager)),
3140+
Some(nodes[0].liquidity_manager.get_lm_async()),
31403141
Some(nodes[0].sweeper.sweeper_async()),
31413142
Arc::clone(&nodes[0].logger),
31423143
Some(Arc::clone(&nodes[0].scorer)),
@@ -3351,7 +3352,7 @@ mod tests {
33513352
Some(Arc::clone(&nodes[0].messenger)),
33523353
nodes[0].no_gossip_sync(),
33533354
Arc::clone(&nodes[0].peer_manager),
3354-
Some(Arc::clone(&nodes[0].liquidity_manager)),
3355+
Some(nodes[0].liquidity_manager.get_lm_async()),
33553356
Some(nodes[0].sweeper.sweeper_async()),
33563357
Arc::clone(&nodes[0].logger),
33573358
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,
77+
LiquidityManagerSync, LiquidityServiceConfig,
7778
};

0 commit comments

Comments
 (0)