diff --git a/zcash_client_sqlite/src/lib.rs b/zcash_client_sqlite/src/lib.rs index e1017bfe2..caaffd422 100644 --- a/zcash_client_sqlite/src/lib.rs +++ b/zcash_client_sqlite/src/lib.rs @@ -1202,14 +1202,6 @@ impl WalletWrite for WalletDb #[cfg(feature = "transparent-inputs")] let mut tx_has_wallet_outputs = false; - #[cfg(feature = "transparent-inputs")] - let detectable_via_scanning = d_tx.tx().sapling_bundle().is_some(); - #[cfg(all(feature = "transparent-inputs", feature = "orchard"))] - let detectable_via_scanning = detectable_via_scanning | d_tx.tx().orchard_bundle().is_some(); - - #[cfg(feature = "transparent-inputs")] - let mut queue_status_retrieval = false; - for output in d_tx.sapling_outputs() { #[cfg(feature = "transparent-inputs")] { @@ -1507,13 +1499,6 @@ impl WalletWrite for WalletDb { tx_has_wallet_outputs = true; } - - // If the decrypted transaction is unmined and has no shielded - // components, add it to the queue for status retrieval. - #[cfg(feature = "transparent-inputs")] - if d_tx.mined_height().is_none() && !detectable_via_scanning { - queue_status_retrieval = true; - } } } else { warn!( @@ -1543,13 +1528,21 @@ impl WalletWrite for WalletDb notify_tx_retrieved(wdb.conn.0, d_tx.tx().txid())?; + // If the decrypted transaction is unmined and has no shielded components, add it to + // the queue for status retrieval. #[cfg(feature = "transparent-inputs")] - if queue_status_retrieval { - wallet::queue_tx_retrieval( - wdb.conn.0, - std::iter::once(d_tx.tx().txid()), - None - )?; + { + let detectable_via_scanning = d_tx.tx().sapling_bundle().is_some(); + #[cfg(feature = "orchard")] + let detectable_via_scanning = detectable_via_scanning | d_tx.tx().orchard_bundle().is_some(); + + if d_tx.mined_height().is_none() && !detectable_via_scanning { + wallet::queue_tx_retrieval( + wdb.conn.0, + std::iter::once(d_tx.tx().txid()), + None + )?; + } } Ok(())