From f1fffddf906a15e92833c33e4ba51b00aef7125e Mon Sep 17 00:00:00 2001 From: jwinterm Date: Sun, 17 May 2026 19:18:19 -0400 Subject: [PATCH] Fix orphan references after shitcoin nuke (build round 2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stragglers that weren't in any agent's batch but referenced the removed identifiers: - tool/configure.dart: stripped 'backupSeeds(Box)' 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. --- lib/core/trade_monitor.dart | 3 - lib/src/screens/dashboard/dashboard_page.dart | 20 ----- .../pages/balance/crypto_balance_widget.dart | 76 ---------------- .../settings/connection_sync_page.dart | 8 -- .../payment_confirmation_bottom_sheet.dart | 6 +- .../widgets/haven_wallet_removal_popup.dart | 86 ------------------- lib/view_model/trade_details_view_model.dart | 6 -- tool/configure.dart | 2 - 8 files changed, 2 insertions(+), 205 deletions(-) delete mode 100644 lib/src/widgets/haven_wallet_removal_popup.dart diff --git a/lib/core/trade_monitor.dart b/lib/core/trade_monitor.dart index ae5ec70d..def54a03 100644 --- a/lib/core/trade_monitor.dart +++ b/lib/core/trade_monitor.dart @@ -1,5 +1,4 @@ import 'dart:async'; -import 'package:hash_wallet/exchange/provider/jupiter_exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/near_Intents_exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/simpleswap_exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/swapsxyz_exchange_provider.dart'; @@ -64,8 +63,6 @@ class TradeMonitor { return XOSwapExchangeProvider(); case ExchangeProviderDescription.swapsXyz: return SwapsXyzExchangeProvider(); - case ExchangeProviderDescription.jupiter: - return JupiterExchangeProvider(); case ExchangeProviderDescription.nearIntents: return NearIntentsExchangeProvider(); } diff --git a/lib/src/screens/dashboard/dashboard_page.dart b/lib/src/screens/dashboard/dashboard_page.dart index bf7bb836..7beefcf8 100644 --- a/lib/src/screens/dashboard/dashboard_page.dart +++ b/lib/src/screens/dashboard/dashboard_page.dart @@ -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 havenWalletList = await dashboardViewModel.checkForHavenWallets(); - - if (havenWalletList.isNotEmpty) { - Future.delayed( - Duration(seconds: 1), - () { - showPopUp( - context: context, - builder: (BuildContext context) { - return HavenWalletRemovalPopup(havenWalletList); - }, - ); - }, - ); - } - } } diff --git a/lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart b/lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart index c07fdd01..f622d9d5 100644 --- a/lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart +++ b/lib/src/screens/dashboard/pages/balance/crypto_balance_widget.dart @@ -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 _rescanInternalChangeZcash(BuildContext context) async { - dashboardViewModel.rescanInternalChangeZcash(); - await showPopUp( - 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 _dismissMweb(BuildContext context) async { await showPopUp( @@ -522,18 +460,4 @@ class CryptoBalanceWidget extends StatelessWidget { )); dashboardViewModel.dismissMweb(); } - - Future _dismissZcash(BuildContext context) async { - await showPopUp( - 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(); - } } diff --git a/lib/src/screens/settings/connection_sync_page.dart b/lib/src/screens/settings/connection_sync_page.dart index c6768ff9..3cf75e5a 100644 --- a/lib/src/screens/settings/connection_sync_page.dart +++ b/lib/src/screens/settings/connection_sync_page.dart @@ -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", diff --git a/lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart b/lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart index 353aae56..6445abed 100644 --- a/lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart +++ b/lib/src/widgets/bottom_sheet/payment_confirmation_bottom_sheet.dart @@ -89,11 +89,9 @@ class _PaymentConfirmationContent extends StatelessWidget { return false; } - /// Checks if flow type is token selection (EVM, Solana, or Tron) + /// Checks if flow type is token selection (EVM only — Solana/Tron removed). bool _isTokenSelectionFlow(PaymentFlowType type) { - return type == PaymentFlowType.evmNetworkSelection || - type == PaymentFlowType.solanaTokenSelection || - type == PaymentFlowType.tronTokenSelection; + return type == PaymentFlowType.evmNetworkSelection; } @override diff --git a/lib/src/widgets/haven_wallet_removal_popup.dart b/lib/src/widgets/haven_wallet_removal_popup.dart deleted file mode 100644 index 809c26fd..00000000 --- a/lib/src/widgets/haven_wallet_removal_popup.dart +++ /dev/null @@ -1,86 +0,0 @@ -import 'package:hash_wallet/src/widgets/alert_background.dart'; -import 'package:hash_wallet/src/widgets/alert_close_button.dart'; -import 'package:flutter/material.dart'; - -class HavenWalletRemovalPopup extends StatelessWidget { - final List affectedWalletNames; - - const HavenWalletRemovalPopup(this.affectedWalletNames, {Key? key}) : super(key: key); - - @override - Widget build(BuildContext context) { - return Stack( - alignment: Alignment.center, - children: [ - AlertBackground( - child: AlertDialog( - insetPadding: EdgeInsets.only(left: 16, right: 16, bottom: 48), - elevation: 0.0, - contentPadding: EdgeInsets.zero, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular(30))), - content: Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(30.0), - gradient: LinearGradient(colors: [ - Theme.of(context).colorScheme.primaryContainer, - Theme.of(context).colorScheme.secondaryContainer, - ], begin: Alignment.centerLeft, end: Alignment.centerRight)), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 24.0), - child: Stack( - children: [ - SingleChildScrollView( - child: Padding( - padding: const EdgeInsets.only(top: 16.0), - child: Container( - alignment: Alignment.bottomCenter, - child: DefaultTextStyle( - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - decoration: TextDecoration.none, - fontSize: 24.0, - fontWeight: FontWeight.bold, - - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - child: Text("Emergency Notice"), - ), - ), - ), - ), - SingleChildScrollView( - child: Padding( - padding: EdgeInsets.only(top: 48, bottom: 16), - child: Container( - width: double.maxFinite, - child: Column( - children: [ - ConstrainedBox( - constraints: BoxConstraints( - maxHeight: MediaQuery.of(context).size.height * 0.7, - ), - child: Text( - "It looks like you have Haven wallets in your list. Haven is getting removed in the Hash Wallet fork, and you currently have Haven in the following wallets:\n\n[${affectedWalletNames.join(", ")}]\n\nPlease move your funds to other wallet, as you will lose access to your Haven funds in next update.\n\nFor assistance, please use the in-app support or open an issue at github.com/Such-Software/hash-wallet", - style: Theme.of(context).textTheme.bodyMedium!.copyWith( - decoration: TextDecoration.none, - fontSize: 16.0, - - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), - ), - ) - ], - ), - ), - ), - ), - ], - ), - ), - ), - ), - ), - AlertCloseButton(bottom: 30) - ], - ); - } -} diff --git a/lib/view_model/trade_details_view_model.dart b/lib/view_model/trade_details_view_model.dart index f37ea159..7477fd86 100644 --- a/lib/view_model/trade_details_view_model.dart +++ b/lib/view_model/trade_details_view_model.dart @@ -6,7 +6,6 @@ import 'package:hash_wallet/exchange/provider/changenow_exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/exolix_exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/letsexchange_exchange_provider.dart'; -import 'package:hash_wallet/exchange/provider/jupiter_exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/near_Intents_exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/swapsxyz_exchange_provider.dart'; import 'package:hash_wallet/exchange/provider/swaptrade_exchange_provider.dart'; @@ -77,9 +76,6 @@ abstract class TradeDetailsViewModelBase with Store { case ExchangeProviderDescription.swapsXyz: _provider = SwapsXyzExchangeProvider(); break; - case ExchangeProviderDescription.jupiter: - _provider = JupiterExchangeProvider(); - break; case ExchangeProviderDescription.nearIntents: _provider = NearIntentsExchangeProvider(); break; @@ -119,8 +115,6 @@ abstract class TradeDetailsViewModelBase with Store { return 'https://orders.xoswap.com/${trade.id}'; case ExchangeProviderDescription.swapsXyz: return 'https://scan.swaps.xyz/transactions/${trade.id}'; - case ExchangeProviderDescription.jupiter: - return 'https://solscan.io/tx/${trade.txId}'; case ExchangeProviderDescription.nearIntents: return 'https://explorer.near-intents.org/transactions/${trade.id}'; } diff --git a/tool/configure.dart b/tool/configure.dart index c0727642..061b32c2 100644 --- a/tool/configure.dart +++ b/tool/configure.dart @@ -517,7 +517,6 @@ import 'package:hash_wallet/view_model/send/output.dart'; import 'package:cw_core/crypto_currency.dart'; import 'package:hash_wallet/core/key_service.dart'; import 'package:hash_wallet/core/secure_storage.dart'; -import 'package:hash_wallet/entities/haven_seed_store.dart'; import 'package:cw_core/cake_hive.dart'; import 'package:cw_core/wallet_info.dart'; import 'package:cw_core/wallet_type.dart'; @@ -654,7 +653,6 @@ abstract class Wownero { Map pendingTransactionInfo(Object transaction); String getLegacySeed(Object wallet, String langName); Map> debugCallLength(); - Future backupSeeds(Box havenSeedStore); } abstract class WowneroSubaddressList { -- 2.50.1 (Apple Git-155)