From 3aa2a8b54226a0d22d8185b7af7686eaca841d21 Mon Sep 17 00:00:00 2001 From: Hanh Date: Thu, 14 Jul 2022 12:21:20 +0800 Subject: [PATCH] Fix undesired rollback --- Rocket.toml | 3 ++- src/chain.rs | 5 +++++ src/scan.rs | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Rocket.toml b/Rocket.toml index 910ff99..abd65fc 100644 --- a/Rocket.toml +++ b/Rocket.toml @@ -3,4 +3,5 @@ allow_backup = true allow_send = true yec = { db_path = "./yec.db", lwd_url = "https://lite.ycash.xyz:9067" } -zec = { db_path = "./zec.db", lwd_url = "https://mainnet.lightwalletd.com:9067" } +zec = { db_path = "./zec.db", lwd_url = "https://lwdv3.zecwallet.co:443" } +# zec = { db_path = "./zec.db", lwd_url = "https://zuul.free2z.cash:9067" } diff --git a/src/chain.rs b/src/chain.rs index d60b282..606b5d6 100644 --- a/src/chain.rs +++ b/src/chain.rs @@ -121,6 +121,11 @@ pub async fn download_chain( .into_inner(); while let Some(mut block) = block_stream.message().await? { if prev_hash.is_some() && block.prev_hash.as_slice() != prev_hash.unwrap() { + log::warn!( + "Reorg: {} != {}", + hex::encode(block.prev_hash.as_slice()), + hex::encode(prev_hash.unwrap()) + ); anyhow::bail!(ChainError::Reorg); } let mut ph = [0u8; 32]; diff --git a/src/scan.rs b/src/scan.rs index 923af09..da73ac8 100644 --- a/src/scan.rs +++ b/src/scan.rs @@ -116,6 +116,9 @@ pub async fn sync_async( }; let end_height = get_latest_height(&mut client).await?; let end_height = (end_height - target_height_offset).max(start_height); + if start_height >= end_height { + return Ok(()); + } let decrypter = DecryptNode::new(vks);