From c6a21c5197f81a6e45d2673f6240a8bf079479c1 Mon Sep 17 00:00:00 2001 From: brave-builds Date: Fri, 28 Feb 2025 09:54:09 +0000 Subject: [PATCH] Uplift of #27842 (squashed) to beta --- .../zcash/zcash_shield_sync_service.cc | 32 ++++++++----------- .../browser/zcash/zcash_shield_sync_service.h | 3 +- .../zcash_shield_sync_service_unittest.cc | 6 ---- 3 files changed, 16 insertions(+), 25 deletions(-) diff --git a/components/brave_wallet/browser/zcash/zcash_shield_sync_service.cc b/components/brave_wallet/browser/zcash/zcash_shield_sync_service.cc index f9660ba9b2c8..4d03ff32b106 100644 --- a/components/brave_wallet/browser/zcash/zcash_shield_sync_service.cc +++ b/components/brave_wallet/browser/zcash/zcash_shield_sync_service.cc @@ -238,8 +238,7 @@ void ZCashShieldSyncService::OnScanRangeResult( return; } - latest_scanned_block_result_ = result.value(); - UpdateSpendableNotes(); + UpdateSpendableNotes(result.value()); } uint32_t ZCashShieldSyncService::GetSpendableBalance() { @@ -251,16 +250,18 @@ uint32_t ZCashShieldSyncService::GetSpendableBalance() { return balance; } -void ZCashShieldSyncService::UpdateSpendableNotes() { - spendable_notes_ = std::nullopt; +void ZCashShieldSyncService::UpdateSpendableNotes( + const ScanRangeResult& scan_range_result) { sync_state() .AsyncCall(&OrchardSyncState::GetSpendableNotes) .WithArgs(context_.account_id.Clone()) .Then(base::BindOnce(&ZCashShieldSyncService::OnGetSpendableNotes, - weak_ptr_factory_.GetWeakPtr())); + weak_ptr_factory_.GetWeakPtr(), + std::move(scan_range_result))); } void ZCashShieldSyncService::OnGetSpendableNotes( + const ScanRangeResult& scan_range_result, base::expected, OrchardStorage::Error> result) { if (!result.has_value()) { error_ = Error{ErrorCode::kFailedToRetrieveSpendableNotes, @@ -270,19 +271,14 @@ void ZCashShieldSyncService::OnGetSpendableNotes( } spendable_notes_ = result.value(); - - if (latest_scanned_block_result_) { - current_sync_status_ = mojom::ZCashShieldSyncStatus::New( - latest_scanned_block_result_->start_block, - latest_scanned_block_result_->end_block, - latest_scanned_block_result_->total_ranges, - latest_scanned_block_result_->ready_ranges, spendable_notes_->size(), - GetSpendableBalance()); - } else { - current_sync_status_ = mojom::ZCashShieldSyncStatus::New( - latest_scanned_block_.value_or(0), latest_scanned_block_.value_or(0), 0, - 0, spendable_notes_->size(), GetSpendableBalance()); - } + latest_scanned_block_result_ = scan_range_result; + + current_sync_status_ = mojom::ZCashShieldSyncStatus::New( + latest_scanned_block_result_->start_block, + latest_scanned_block_result_->end_block, + latest_scanned_block_result_->total_ranges, + latest_scanned_block_result_->ready_ranges, spendable_notes_->size(), + GetSpendableBalance()); if (observer_) { observer_->OnSyncStatusUpdate(context_.account_id, diff --git a/components/brave_wallet/browser/zcash/zcash_shield_sync_service.h b/components/brave_wallet/browser/zcash/zcash_shield_sync_service.h index 14cbe80120ed..b9ef37947536 100644 --- a/components/brave_wallet/browser/zcash/zcash_shield_sync_service.h +++ b/components/brave_wallet/browser/zcash/zcash_shield_sync_service.h @@ -138,8 +138,9 @@ class ZCashShieldSyncService { uint32_t GetSpendableBalance(); // Update spendable notes state - void UpdateSpendableNotes(); + void UpdateSpendableNotes(const ScanRangeResult& scan_range_result); void OnGetSpendableNotes( + const ScanRangeResult& scan_range_result, base::expected, OrchardStorage::Error> result); void StartBlockScanning(); diff --git a/components/brave_wallet/browser/zcash/zcash_shield_sync_service_unittest.cc b/components/brave_wallet/browser/zcash/zcash_shield_sync_service_unittest.cc index 4ce0274012d0..5223e12e7dcd 100644 --- a/components/brave_wallet/browser/zcash/zcash_shield_sync_service_unittest.cc +++ b/components/brave_wallet/browser/zcash/zcash_shield_sync_service_unittest.cc @@ -245,12 +245,6 @@ class ZCashShieldSyncServiceTest : public testing::Test { base::test::TaskEnvironment task_environment_; }; -#if defined(IS_MAC) -#define MAYBE_ScanBlocks DISABLED_ScanBlocks -#else -#define MAYBE_ScanBlocks ScanBlocks -#endif - TEST_F(ZCashShieldSyncServiceTest, ScanBlocks) { auto mock_block_scanner = CreateMockOrchardBlockScannerProxy();