Fix orphan references after shitcoin nuke (build round 2)

Stragglers that weren't in any agent's batch but referenced the removed
identifiers:

- tool/configure.dart: stripped 'backupSeeds(Box<HavenSeedStore>)'
  abstract method from generateWownero's emitted template + the
  haven_seed_store.dart import. CI regenerates lib/wownero/wownero.dart
  from this template each build, so the previous lib/wownero/wownero.dart
  cleanup got reverted on rebuild. This is the actual fix.
- lib/core/trade_monitor.dart + lib/view_model/trade_details_view_model.dart:
  removed JupiterExchangeProvider import + ExchangeProviderDescription.jupiter
  switch cases (provider + URL builder).
- lib/src/screens/dashboard/dashboard_page.dart: deleted _showHavenPopup
  helper + its call site + the haven_wallet_removal_popup import.
- lib/src/widgets/haven_wallet_removal_popup.dart: deleted (no callers).
- lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart:
  removed the zcash 'missing funds' InfoCard and the decred 'syncing'
  InfoCard widgets, plus their _dismissZcash and _rescanInternalChangeZcash
  handlers.
- lib/src/screens/settings/connection_sync_page.dart: removed the TronGrid
  history toggle row.
- lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart:
  _isTokenSelectionFlow now only checks evmNetworkSelection (was also
  branching on solana/tronTokenSelection enum values that no longer exist).

Generated .g.dart files for dashboard_view_model and connection_sync_view_model
still reference removed methods (rescanInternalChangeZcash, dismissZcash,
canUseTronGrid, setUseTronGrid). Those will be regenerated by build_runner
on next CI run and the methods will fall out — no manual fix needed.
This commit is contained in:
jwinterm
2026-05-17 19:18:19 -04:00
parent b57ab7cc06
commit f1fffddf90
8 changed files with 2 additions and 205 deletions
@@ -9,7 +9,6 @@ import 'package:hash_wallet/src/screens/wallet_connect/widgets/bottom_sheet/bott
import 'package:hash_wallet/src/screens/wallet_connect/services/bottom_sheet_service.dart';
import 'package:hash_wallet/src/widgets/evm_switcher.dart';
import 'package:hash_wallet/src/widgets/gradient_background.dart';
import 'package:hash_wallet/src/widgets/haven_wallet_removal_popup.dart';
import 'package:hash_wallet/src/widgets/services_updates_widget.dart';
import 'package:hash_wallet/src/widgets/vulnerable_seeds_popup.dart';
import 'package:hash_wallet/utils/device_info.dart';
@@ -346,8 +345,6 @@ class _DashboardPageView extends BasePage {
_showVulnerableSeedsPopup(context);
_showHavenPopup(context);
var needToPresentYat = false;
rootKey.currentState?.isInactive.listen(
@@ -423,21 +420,4 @@ class _DashboardPageView extends BasePage {
}
}
void _showHavenPopup(BuildContext context) async {
final List<String> havenWalletList = await dashboardViewModel.checkForHavenWallets();
if (havenWalletList.isNotEmpty) {
Future<void>.delayed(
Duration(seconds: 1),
() {
showPopUp<void>(
context: context,
builder: (BuildContext context) {
return HavenWalletRemovalPopup(havenWalletList);
},
);
},
);
}
}
}
@@ -333,52 +333,6 @@ class CryptoBalanceWidget extends StatelessWidget {
),
),
),
],
if (dashboardViewModel.showZcashMissingFundsCard) ...[
SizedBox(height: 10),
Padding(
padding: const EdgeInsets.fromLTRB(16, 0, 16, 8),
child: InfoCard(
title: S.of(context).zcash_card_missing_funds,
description: S.of(context).zcash_card_description,
leftButtonTitle: S.of(context).zcash_card_dismiss,
rightButtonTitle: S.of(context).zcash_card_scan,
image: 'assets/new-ui/crypto_full_icons/zcash.svg',
leftButtonAction: () => _dismissZcash(context),
rightButtonAction: () => _rescanInternalChangeZcash(context),
hintWidget: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () => launchUrl(
Uri.parse("https://github.com/Such-Software/hash-wallet"),
mode: LaunchMode.externalApplication,
),
child: Text(
S.of(context).learn_more,
style: Theme.of(context).textTheme.bodySmall?.copyWith(
color: Theme.of(context).colorScheme.onSurfaceVariant,
height: 1,
),
softWrap: true,
),
),
),
),
],
if (dashboardViewModel.showDecredInfoCard) ...[
SizedBox(height: 10),
Padding(
padding: const EdgeInsets.fromLTRB(16, 0, 16, 8),
child: InfoCard(
title: S.of(context).synchronizing,
description: S.of(context).decred_info_card_details,
image: 'assets/images/crypto/decred.webp',
leftButtonTitle: S.of(context).litecoin_mweb_dismiss,
rightButtonTitle: S.of(context).learn_more,
leftButtonAction: () => dashboardViewModel.dismissDecredInfoCard(),
rightButtonAction: () => launchUrl(
Uri.parse("https://github.com/Such-Software/hash-wallet")),
),
),
],
if (dashboardViewModel.showPayjoinCard) ...[
SizedBox(height: 10),
@@ -492,22 +446,6 @@ class CryptoBalanceWidget extends StatelessWidget {
}
dashboardViewModel.setMwebEnabled();
}
Future<void> _rescanInternalChangeZcash(BuildContext context) async {
dashboardViewModel.rescanInternalChangeZcash();
await showPopUp<void>(
context: context,
builder: (BuildContext context) => AlertWithOneAction(
alertTitle: S.of(context).alert_notice,
alertContent: S.of(context).zcash_card_warning,
buttonText: S.of(context).understand,
buttonAction: () {
Navigator.of(context).pop();
},
),
);
}
Future<void> _dismissMweb(BuildContext context) async {
await showPopUp<void>(
@@ -522,18 +460,4 @@ class CryptoBalanceWidget extends StatelessWidget {
));
dashboardViewModel.dismissMweb();
}
Future<void> _dismissZcash(BuildContext context) async {
await showPopUp<void>(
context: context,
builder: (BuildContext context) => AlertWithOneAction(
alertTitle: S.of(context).alert_notice,
alertContent: S.of(context).zcash_card_enable_later,
buttonText: S.of(context).understand,
buttonAction: () {
Navigator.of(context).pop();
},
));
dashboardViewModel.dismissZcash();
}
}
@@ -110,14 +110,6 @@ class ConnectionSyncPage extends BasePage {
onChanged: (val) {
_connectionSyncViewModel.setUseBscScan(val);
}),
if (_connectionSyncViewModel.canUseTronGrid)
ListItemToggle(
keyValue: "can_use_trongrid",
label: S.of(context).trongrid_history,
value: _connectionSyncViewModel.useTronGrid,
onChanged: (val) {
_connectionSyncViewModel.setUseTronGrid(val);
}),
if (_connectionSyncViewModel.canUseMempoolFeeAPI)
ListItemToggle(
keyValue: "enable_mempool_api",