diff --git a/src/wallet.rs b/src/wallet.rs index 88a0ea2541..d279b18d27 100644 --- a/src/wallet.rs +++ b/src/wallet.rs @@ -109,10 +109,16 @@ impl Wallet { if !no_sync { for i in 0.. { let response = async_ord_client.get("/blockcount").await?; - if response.text().await?.parse::().unwrap() >= chain_block_count { + if response + .text() + .await? + .parse::() + .expect("wallet failed to talk to server. Make sure `ord server` is running.") + >= chain_block_count + { break; } else if i == 20 { - bail!("wallet failed to synchronize with ord server"); + bail!("wallet failed to synchronize with `ord server` after {i} attempts"); } tokio::time::sleep(Duration::from_millis(50)).await; } diff --git a/tests/wallet/balance.rs b/tests/wallet/balance.rs index 120029a895..d7d3e626b2 100644 --- a/tests/wallet/balance.rs +++ b/tests/wallet/balance.rs @@ -146,7 +146,7 @@ fn unsynced_wallet_fails_with_unindexed_output() { .ord_rpc_server(&no_sync_ord_rpc_server) .bitcoin_rpc_server(&bitcoin_rpc_server) .expected_exit_code(1) - .expected_stderr("error: wallet failed to synchronize with ord server\n") + .expected_stderr("error: wallet failed to synchronize with `ord server` after 20 attempts\n") .run_and_extract_stdout(); CommandBuilder::new("wallet --no-sync balance")