feat(wallet)!: change persist API to use StageExt and StageExtAsync

This commit is contained in:
志宇
2024-06-13 18:22:43 +08:00
committed by Steve Myers
parent 2e40b0118c
commit 19328d4999
7 changed files with 66 additions and 44 deletions

View File

@@ -33,7 +33,7 @@ fn main() -> Result<(), anyhow::Error> {
)?;
let address = wallet.next_unused_address(KeychainKind::External);
db.write_changes(&wallet.take_staged())?;
wallet.commit_to(&mut db)?;
println!("Generated Address: {}", address);
let balance = wallet.balance();
@@ -72,7 +72,7 @@ fn main() -> Result<(), anyhow::Error> {
println!();
wallet.apply_update(update)?;
db.write_changes(&wallet.take_staged())?;
wallet.commit_to(&mut db)?;
let balance = wallet.balance();
println!("Wallet balance after syncing: {} sats", balance.total());

View File

@@ -30,7 +30,7 @@ async fn main() -> Result<(), anyhow::Error> {
)?;
let address = wallet.next_unused_address(KeychainKind::External);
db.write_changes(&wallet.take_staged())?;
wallet.commit_to(&mut db)?;
println!("Generated Address: {}", address);
let balance = wallet.balance();
@@ -78,7 +78,7 @@ async fn main() -> Result<(), anyhow::Error> {
let _ = update.graph_update.update_last_seen_unconfirmed(now);
wallet.apply_update(update)?;
db.write_changes(&wallet.take_staged())?;
wallet.commit_to(&mut db)?;
println!();
let balance = wallet.balance();

View File

@@ -29,7 +29,7 @@ fn main() -> Result<(), anyhow::Error> {
)?;
let address = wallet.next_unused_address(KeychainKind::External);
db.write_changes(&wallet.take_staged())?;
wallet.commit_to(&mut db)?;
println!("Generated Address: {}", address);
let balance = wallet.balance();
@@ -55,7 +55,7 @@ fn main() -> Result<(), anyhow::Error> {
let _ = update.graph_update.update_last_seen_unconfirmed(now);
wallet.apply_update(update)?;
db.write_changes(&wallet.take_staged())?;
wallet.commit_to(&mut db)?;
println!();
let balance = wallet.balance();

View File

@@ -147,7 +147,7 @@ fn main() -> anyhow::Result<()> {
let connected_to = block_emission.connected_to();
let start_apply_block = Instant::now();
wallet.apply_block_connected_to(&block_emission.block, height, connected_to)?;
db.write_changes(&wallet.take_staged())?;
wallet.commit_to(&mut db)?;
let elapsed = start_apply_block.elapsed().as_secs_f32();
println!(
"Applied block {} at height {} in {}s",
@@ -157,7 +157,7 @@ fn main() -> anyhow::Result<()> {
Emission::Mempool(mempool_emission) => {
let start_apply_mempool = Instant::now();
wallet.apply_unconfirmed_txs(mempool_emission.iter().map(|(tx, time)| (tx, *time)));
db.write_changes(&wallet.take_staged())?;
wallet.commit_to(&mut db)?;
println!(
"Applied unconfirmed transactions in {}s",
start_apply_mempool.elapsed().as_secs_f32()