Skip to content

Commit b47ba08

Browse files
joostjagertnull
authored andcommitted
f Account for async KVStore and async background persistence
1 parent 0fe1f3b commit b47ba08

File tree

6 files changed

+13
-8
lines changed

6 files changed

+13
-8
lines changed

src/builder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1572,7 +1572,7 @@ fn build_with_store_internal(
15721572
Ok(output_sweeper) => Arc::new(output_sweeper),
15731573
Err(e) => {
15741574
if e.kind() == std::io::ErrorKind::NotFound {
1575-
Arc::new(OutputSweeper::new(
1575+
Arc::new(OutputSweeper::new_with_kv_store_sync(
15761576
channel_manager.current_best_block(),
15771577
Arc::clone(&tx_broadcaster),
15781578
Arc::clone(&fee_estimator),

src/event.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1062,7 +1062,11 @@ where
10621062
}
10631063
},
10641064
LdkEvent::SpendableOutputs { outputs, channel_id } => {
1065-
match self.output_sweeper.track_spendable_outputs(outputs, channel_id, true, None) {
1065+
match self
1066+
.output_sweeper
1067+
.track_spendable_outputs(outputs, channel_id, true, None)
1068+
.await
1069+
{
10661070
Ok(_) => return Ok(()),
10671071
Err(_) => {
10681072
log_error!(self.logger, "Failed to track spendable outputs");

src/io/utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ pub(crate) fn read_output_sweeper(
252252
kv_store,
253253
logger.clone(),
254254
);
255-
OutputSweeper::read(&mut reader, args).map_err(|e| {
255+
OutputSweeper::read_with_kv_store_sync(&mut reader, args).map_err(|e| {
256256
log_error!(logger, "Failed to deserialize OutputSweeper: {}", e);
257257
std::io::Error::new(std::io::ErrorKind::InvalidData, "Failed to deserialize OutputSweeper")
258258
})

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ use lightning::ln::channelmanager::PaymentId;
156156
use lightning::ln::msgs::SocketAddress;
157157
use lightning::routing::gossip::NodeAlias;
158158

159-
use lightning_background_processor::process_events_async;
159+
use lightning_background_processor::process_events_async_with_kv_store_sync;
160160

161161
use bitcoin::secp256k1::PublicKey;
162162

@@ -579,7 +579,7 @@ impl Node {
579579
};
580580

581581
let handle = runtime.spawn(async move {
582-
process_events_async(
582+
process_events_async_with_kv_store_sync(
583583
background_persister,
584584
|e| background_event_handler.handle_event(e),
585585
background_chain_mon,

src/liquidity.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ where
483483
if token != Some(required) {
484484
log_error!(
485485
self.logger,
486-
"Rejecting LSPS2 request {:?} from counterparty {} as the client provided an invalid token.",
486+
"Rejecting LSPS2 request {:?} from counterparty {} as the client provided an invalid token.",
487487
request_id,
488488
counterparty_node_id
489489
);

src/types.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,10 @@ use lightning::routing::router::DefaultRouter;
2626
use lightning::routing::scoring::{ProbabilisticScorer, ProbabilisticScoringFeeParameters};
2727
use lightning::sign::InMemorySigner;
2828
use lightning::util::persist::KVStoreSync;
29+
use lightning::util::persist::KVStoreSyncWrapper;
2930
use lightning::util::ser::{Readable, Writeable, Writer};
30-
use lightning::util::sweep::OutputSweeper;
3131

32+
use lightning::util::sweep::OutputSweeper;
3233
use lightning_block_sync::gossip::{GossipVerifier, UtxoSource};
3334

3435
use lightning_net_tokio::SocketDescriptor;
@@ -131,7 +132,7 @@ pub(crate) type Sweeper = OutputSweeper<
131132
Arc<KeysManager>,
132133
Arc<OnchainFeeEstimator>,
133134
Arc<ChainSource>,
134-
Arc<DynStore>,
135+
KVStoreSyncWrapper<Arc<DynStore>>,
135136
Arc<Logger>,
136137
Arc<KeysManager>,
137138
>;

0 commit comments

Comments
 (0)