[wallet] Store the block height and timestamp after syncing
Closes #455
This commit is contained in:
parent
12e51b3c06
commit
7c06f52a07
@ -394,6 +394,9 @@ macro_rules! bdk_blockchain_tests {
|
|||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_sync_simple() {
|
fn test_sync_simple() {
|
||||||
|
use std::ops::Deref;
|
||||||
|
use crate::database::Database;
|
||||||
|
|
||||||
let (wallet, descriptors, mut test_client) = init_single_sig();
|
let (wallet, descriptors, mut test_client) = init_single_sig();
|
||||||
|
|
||||||
let tx = testutils! {
|
let tx = testutils! {
|
||||||
@ -402,7 +405,13 @@ macro_rules! bdk_blockchain_tests {
|
|||||||
println!("{:?}", tx);
|
println!("{:?}", tx);
|
||||||
let txid = test_client.receive(tx);
|
let txid = test_client.receive(tx);
|
||||||
|
|
||||||
|
// the RPC blockchain needs to call `sync()` during initialization to import the
|
||||||
|
// addresses (see `init_single_sig()`), so we skip this assertion
|
||||||
|
#[cfg(not(feature = "test-rpc"))]
|
||||||
|
assert!(wallet.database().deref().get_sync_time().unwrap().is_none(), "initial sync_time not none");
|
||||||
|
|
||||||
wallet.sync(noop_progress(), None).unwrap();
|
wallet.sync(noop_progress(), None).unwrap();
|
||||||
|
assert!(wallet.database().deref().get_sync_time().unwrap().is_some(), "sync_time hasn't been updated");
|
||||||
|
|
||||||
assert_eq!(wallet.get_balance().unwrap(), 50_000, "incorrect balance");
|
assert_eq!(wallet.get_balance().unwrap(), 50_000, "incorrect balance");
|
||||||
assert_eq!(wallet.list_unspent().unwrap()[0].keychain, KeychainKind::External, "incorrect keychain kind");
|
assert_eq!(wallet.list_unspent().unwrap()[0].keychain, KeychainKind::External, "incorrect keychain kind");
|
||||||
|
@ -1554,6 +1554,15 @@ where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let last_sync_time = ConfirmationTime {
|
||||||
|
height: maybe_await!(self.client.get_height())?,
|
||||||
|
timestamp: time::get_timestamp(),
|
||||||
|
};
|
||||||
|
debug!("Saving `last_sync_time` = {:?}", last_sync_time);
|
||||||
|
self.database
|
||||||
|
.borrow_mut()
|
||||||
|
.set_last_sync_time(last_sync_time)?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user