Skip to content
This repository has been archived by the owner on Mar 14, 2023. It is now read-only.

Commit

Permalink
Handle tracker and db mutexes in main.rs
Browse files Browse the repository at this point in the history
  • Loading branch information
rajarshimaitra committed Feb 11, 2023
1 parent 1a4bbcb commit ff0145e
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion bdk_rpc_wallet_example/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ fn main() -> anyhow::Result<()> {
let rpc_url = "127.0.0.1:18443".to_string();
let rpc_auth = ("user".to_string(), "password".to_string());
let config = RpcConfig::new(rpc_url, rpc_auth, args.network);
let client = RpcClient::init_for_tracker(&config, &tracker.txout_index)?;
let client = RpcClient::init_for_tracker(&config, &tracker.lock().unwrap().txout_index)?;

let rpc_cmd = match args.command {
bdk_cli::Commands::ChainSpecific(rpc_cmd) => rpc_cmd,
Expand All @@ -45,6 +45,8 @@ fn main() -> anyhow::Result<()> {
RpcCommands::Scan => {
let mut keychain_changeset = KeychainChangeSet::default();

let mut tracker = tracker.lock().unwrap();

let chain_update = client.wallet_scan(tracker.chain().checkpoints())?;

let sparsechain_changeset = tracker.chain().determine_changeset(&chain_update)?;
Expand All @@ -70,6 +72,8 @@ fn main() -> anyhow::Result<()> {

keychain_changeset.chain_graph = chaingraph_changeset;

let mut db = db.lock().unwrap();

db.append_changeset(&keychain_changeset)?;
tracker.apply_changeset(keychain_changeset);
}
Expand Down

0 comments on commit ff0145e

Please sign in to comment.