Skip to content

Commit 0925bb3

Browse files
committed
Log wallet sync
1 parent 01c6f49 commit 0925bb3

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

src/access.rs

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
use crate::error::LdkLiteError as Error;
2+
#[allow(unused_imports)]
3+
use crate::logger::{
4+
log_error, log_given_level, log_info, log_internal, log_trace, log_warn, FilesystemLogger,
5+
Logger,
6+
};
7+
28

39
use lightning::chain::chaininterface::{BroadcasterInterface, ConfirmationTarget, FeeEstimator};
410
use lightning::chain::WatchedOutput;
@@ -11,7 +17,8 @@ use bdk::{SignOptions, SyncOptions};
1117

1218
use bitcoin::{BlockHash, Script, Transaction, Txid};
1319

14-
use std::sync::Mutex;
20+
use std::sync::{Mutex, Arc};
21+
use std::time::Instant;
1522

1623
pub struct LdkLiteChainAccess<D>
1724
where
@@ -24,13 +31,14 @@ where
2431
queued_outputs: Mutex<Vec<WatchedOutput>>,
2532
watched_outputs: Mutex<Vec<WatchedOutput>>,
2633
last_sync_height: Mutex<Option<u32>>,
34+
logger: Arc<FilesystemLogger>,
2735
}
2836

2937
impl<D> LdkLiteChainAccess<D>
3038
where
3139
D: BatchDatabase,
3240
{
33-
pub fn new(blockchain: EsploraBlockchain, wallet: bdk::Wallet<D>) -> Self {
41+
pub(crate) fn new(blockchain: EsploraBlockchain, wallet: bdk::Wallet<D>, logger: Arc<FilesystemLogger>) -> Self {
3442
let wallet = Mutex::new(wallet);
3543
let watched_transactions = Mutex::new(Vec::new());
3644
let queued_transactions = Mutex::new(Vec::new());
@@ -45,21 +53,26 @@ where
4553
queued_outputs,
4654
watched_outputs,
4755
last_sync_height,
56+
logger,
4857
}
4958
}
5059

51-
pub fn sync_wallet(&self) -> Result<(), Error> {
60+
pub(crate) fn sync_wallet(&self) -> Result<(), Error> {
5261
let sync_options = SyncOptions { progress: None };
5362

63+
let now = Instant::now();
5464
self.wallet
5565
.lock()
5666
.unwrap()
5767
.sync(&self.blockchain, sync_options)
5868
.map_err(|e| Error::Bdk(e))?;
69+
70+
log_info!(self.logger, "On-chain wallet sync finished in {} seconds.", now.elapsed().as_secs());
71+
5972
Ok(())
6073
}
6174

62-
pub fn sync(&self, confirmables: Vec<&dyn Confirm>) -> Result<(), Error> {
75+
pub(crate) fn sync(&self, confirmables: Vec<&dyn Confirm>) -> Result<(), Error> {
6376
let client = &*self.blockchain;
6477

6578
let cur_height = client.get_height()?;
@@ -209,7 +222,7 @@ where
209222
Ok(())
210223
}
211224

212-
pub fn create_funding_transaction(
225+
pub(crate) fn create_funding_transaction(
213226
&self, output_script: &Script, value_sats: u64, confirmation_target: ConfirmationTarget,
214227
) -> Result<Transaction, Error> {
215228
let num_blocks = num_blocks_from_conf_target(confirmation_target);
@@ -238,7 +251,7 @@ where
238251
Ok(psbt.extract_tx())
239252
}
240253

241-
pub fn get_new_address(&self) -> Result<bitcoin::Address, Error> {
254+
pub(crate) fn get_new_address(&self) -> Result<bitcoin::Address, Error> {
242255
let address_info = self.wallet.lock().unwrap().get_address(AddressIndex::New)?;
243256
Ok(address_info.address)
244257
}

src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ impl LdkLiteBuilder {
220220
let blockchain = EsploraBlockchain::new(&config.esplora_server_url, BDK_CLIENT_STOP_GAP)
221221
.with_concurrency(BDK_CLIENT_CONCURRENCY);
222222

223-
let chain_access = Arc::new(LdkLiteChainAccess::new(blockchain, bdk_wallet));
223+
let chain_access = Arc::new(LdkLiteChainAccess::new(blockchain, bdk_wallet, Arc::clone(&logger)));
224224

225225
// Step 3: Initialize Persist
226226
let persister = Arc::new(FilesystemPersister::new(ldk_data_dir.clone()));

0 commit comments

Comments
 (0)