mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-30 06:48:49 +01:00
Merge upstream Cake Wallet v6.5.0
Catches up from the May 12 fork point (v6.1.2+23) through v6.5.0: 535 upstream commits, including the Monero silent-open fix, Monero on Trezor, Ledger/Trezor BLE fixes, the new seed and history screens, quick Bitcoin sync, git-pinned dependencies (pubspec_overrides.yaml), frozen Hive adapters (*.part.dart), monero_c v0.18.4.6-RC2 and Flutter 3.41.9. Merged with both sides normalized first (import rename, 100-column format), which took the conflict count from 614 paths to 322. The procedure is now scripts/upstream_sync.sh. Kept from Hash Bags: - WalletType enum order and Hive IDs. SQLite stores WalletType.index and our order differs from upstream's; taking theirs would reread saved wallets as other chains. Our frozen adapter keeps the shipped IDs. - The 1.0.2 legacy PIN and wallet-password decode and self-heal. - Removed chains (Solana, Tron, Zano, Zcash, Decred, Haven) and the new Robinhood chain stay out; Cake Pay and non-Trocador swaps stay out. - Default nodes (node.wownero.org, sethforprivacy, Blockstream, bysh.me), converted to upstream's isDefault node-list key; Wownero is back in the node reset list. - Privacy: address resolvers limited to domain-anchored sources again; prices.neroswap.com for fiat; upstream's charts tab, which reads prices.cakewallet.com, sits behind FeatureFlag.isChartsEnabled = false. - Lightning stays behind FeatureFlag.isLightningEnabled, including upstream's new post-seed Lightning username step. - Our icon pipeline, branding and bundle identifiers. Twelve new upstream widget tests are skipped: test and code are unchanged from v6.5.0 apart from renames (not rerun on a pristine upstream checkout; upstream's top_bar_test does not compile against its own TopBar). flutter analyze lib: 0 errors; flutter test: 345 passed, 12 skipped; flutter build bundle compiles. Built with Flutter 3.41.9.
This commit is contained in:
+83
-154
@@ -1,17 +1,24 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:hash_wallet/anonpay/anonpay_invoice_info.dart';
|
||||
import "package:hash_wallet/core/auth_service.dart";
|
||||
import 'package:hash_wallet/core/new_wallet_arguments.dart';
|
||||
import 'package:hash_wallet/new-ui/new_dashboard.dart';
|
||||
import 'package:hash_wallet/new-ui/pages/about_page.dart';
|
||||
import 'package:hash_wallet/new-ui/pages/bridge/bridge_confirm_sheet.dart';
|
||||
import 'package:hash_wallet/new-ui/pages/bridge/bridge_history_page.dart';
|
||||
import 'package:hash_wallet/new-ui/pages/bridge/bridge_network_page.dart';
|
||||
import 'package:hash_wallet/new-ui/pages/bridge/bridge_receiving_wallet_page.dart';
|
||||
import "package:hash_wallet/new-ui/pages/buy_sell/buy_sell_amount_page.dart";
|
||||
import 'package:hash_wallet/new-ui/pages/coin_control_page.dart';
|
||||
import 'package:hash_wallet/new-ui/pages/addresses_page.dart';
|
||||
import 'package:hash_wallet/new-ui/pages/lightning_username_page.dart';
|
||||
import "package:hash_wallet/new-ui/pages/seed/pre_seed_page.dart";
|
||||
import "package:hash_wallet/new-ui/pages/seed/show_keys_disclaimer_page.dart";
|
||||
import "package:hash_wallet/new-ui/pages/receive_page.dart";
|
||||
import 'package:hash_wallet/new-ui/pages/send_page.dart';
|
||||
import "package:hash_wallet/new-ui/pages/swap_page.dart";
|
||||
import "package:hash_wallet/new-ui/widgets/buy_sell/buy_sell_selector_modal.dart";
|
||||
import 'package:hash_wallet/new-ui/widgets/hardware_wallet/sync_key_images_sheet.dart';
|
||||
import 'package:hash_wallet/order/order.dart';
|
||||
import 'package:hash_wallet/core/new_wallet_type_arguments.dart';
|
||||
import 'package:hash_wallet/core/totp_request_details.dart';
|
||||
@@ -26,29 +33,24 @@ import 'package:hash_wallet/src/screens/anonpay_details/anonpay_details_page.dar
|
||||
import 'package:hash_wallet/src/screens/auth/auth_page.dart';
|
||||
import 'package:hash_wallet/src/screens/backup/backup_page.dart';
|
||||
import 'package:hash_wallet/src/screens/backup/edit_backup_password_page.dart';
|
||||
import 'package:hash_wallet/src/screens/buy/buy_sell_options_page.dart';
|
||||
import 'package:hash_wallet/src/screens/buy/buy_webview_page.dart';
|
||||
import 'package:hash_wallet/src/screens/buy/payment_method_options_page.dart';
|
||||
import 'package:hash_wallet/src/screens/buy/webview_page.dart';
|
||||
import 'package:hash_wallet/src/screens/connect_device/connect_device_page.dart';
|
||||
import 'package:hash_wallet/src/screens/connect_device/monero_hardware_wallet_options_page.dart';
|
||||
import "package:hash_wallet/src/screens/connect_device/monero_hardware_wallet_options_page.dart";
|
||||
import 'package:hash_wallet/src/screens/connect_device/select_device_manufacturer_page.dart';
|
||||
import 'package:hash_wallet/src/screens/connect_device/select_hardware_wallet_account_page.dart';
|
||||
import "package:hash_wallet/src/screens/connect_device/select_hardware_wallet_account_page.dart";
|
||||
import 'package:hash_wallet/src/screens/contact/contact_list_page.dart';
|
||||
import 'package:hash_wallet/src/screens/contact/contact_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dashboard/dashboard_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart';
|
||||
import 'package:hash_wallet/src/screens/dashboard/edit_token_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dashboard/home_settings_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dashboard/pages/address_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dashboard/pages/nft_details_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dashboard/pages/transactions_page.dart';
|
||||
import "package:hash_wallet/src/screens/dashboard/pages/nft_send_page.dart";
|
||||
import 'package:hash_wallet/src/screens/dashboard/sign_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dev/exchange_provider_logs_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dev/monero_background_sync.dart';
|
||||
import 'package:hash_wallet/src/screens/dev/moneroc_cache_debug.dart';
|
||||
import 'package:hash_wallet/src/screens/dev/moneroc_call_profiler.dart';
|
||||
import 'package:hash_wallet/src/screens/dev/network_requests.dart';
|
||||
import 'package:hash_wallet/new-ui/pages/wallet_accounts_page.dart';
|
||||
import 'package:hash_wallet/store/app_store.dart';
|
||||
import 'package:hash_wallet/utils/feature_flag.dart';
|
||||
import 'package:hash_wallet/src/screens/dev/qr_tools_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dev/secure_preferences_page.dart';
|
||||
@@ -57,16 +59,8 @@ import 'package:hash_wallet/src/screens/dev/background_sync_logs_page.dart';
|
||||
import 'package:hash_wallet/src/screens/dev/socket_health_logs_page.dart';
|
||||
import 'package:hash_wallet/src/screens/disclaimer/disclaimer_page.dart';
|
||||
import 'package:hash_wallet/src/screens/disclaimer/third_party_disclaimer_page.dart';
|
||||
import 'package:hash_wallet/src/screens/exchange/exchange_page.dart';
|
||||
import 'package:hash_wallet/src/screens/exchange/exchange_template_page.dart';
|
||||
import 'package:hash_wallet/src/screens/exchange_trade/exchange_confirm_page.dart';
|
||||
import 'package:hash_wallet/src/screens/exchange_trade/exchange_trade_external_send_page.dart';
|
||||
import 'package:hash_wallet/src/screens/exchange_trade/exchange_trade_page.dart';
|
||||
import 'package:hash_wallet/src/screens/faq/faq_page.dart';
|
||||
import 'package:hash_wallet/src/screens/integrations/deuro/savings_page.dart';
|
||||
import 'package:hash_wallet/src/screens/monero_accounts/monero_account_edit_or_create_page.dart';
|
||||
import 'package:hash_wallet/src/screens/nano/nano_change_rep_page.dart';
|
||||
import 'package:hash_wallet/src/screens/nano_accounts/nano_account_edit_or_create_page.dart';
|
||||
import 'package:hash_wallet/src/screens/new_wallet/wallet_group_display_page.dart';
|
||||
import 'package:hash_wallet/src/screens/new_wallet/advanced_privacy_settings_page.dart';
|
||||
import 'package:hash_wallet/src/screens/new_wallet/new_wallet_page.dart';
|
||||
@@ -78,25 +72,16 @@ import 'package:hash_wallet/src/screens/nodes/pow_node_create_or_edit_page.dart'
|
||||
import 'package:hash_wallet/src/screens/order_details/order_details_page.dart';
|
||||
import 'package:hash_wallet/src/screens/payjoin_details/payjoin_details_page.dart';
|
||||
import 'package:hash_wallet/src/screens/pin_code/pin_code_widget.dart';
|
||||
import 'package:hash_wallet/src/screens/receive/address_list_page.dart';
|
||||
import 'package:hash_wallet/src/screens/receive/anonpay_invoice_page.dart';
|
||||
import 'package:hash_wallet/src/screens/receive/anonpay_receive_page.dart';
|
||||
import 'package:hash_wallet/src/screens/receive/fullscreen_qr_page.dart';
|
||||
import 'package:hash_wallet/src/screens/receive/receive_page.dart';
|
||||
import 'package:hash_wallet/src/screens/rescan/rescan_page.dart';
|
||||
import 'package:hash_wallet/src/screens/restore/restore_from_backup_page.dart';
|
||||
import 'package:hash_wallet/src/screens/restore/restore_options_page.dart';
|
||||
import 'package:hash_wallet/src/screens/restore/sweeping_wallet_page.dart';
|
||||
import 'package:hash_wallet/src/screens/restore/wallet_restore_choose_derivation.dart';
|
||||
import 'package:hash_wallet/src/screens/restore/wallet_restore_page.dart';
|
||||
import 'package:hash_wallet/src/screens/seed/pre_seed_page.dart';
|
||||
import 'package:hash_wallet/src/screens/seed/seed_verification/seed_verification_page.dart';
|
||||
import 'package:hash_wallet/src/screens/seed/wallet_seed_page.dart';
|
||||
import 'package:hash_wallet/src/screens/send/send_template_page.dart';
|
||||
import 'package:hash_wallet/src/screens/send/transaction_success_info_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/background_sync_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/connection_sync_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/desktop_settings/desktop_settings_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/display_settings_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/domain_lookups_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/manage_nodes_page.dart';
|
||||
@@ -108,7 +93,6 @@ import 'package:hash_wallet/src/screens/settings/privacy_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/security_backup_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/silent_payments_settings.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/silent_payments_logs_page.dart';
|
||||
import 'package:hash_wallet/src/screens/settings/trocador_providers_page.dart';
|
||||
import 'package:hash_wallet/src/screens/setup_2fa/modify_2fa_page.dart';
|
||||
import 'package:hash_wallet/src/screens/setup_2fa/setup_2fa.dart';
|
||||
import 'package:hash_wallet/src/screens/setup_2fa/setup_2fa_enter_code_page.dart';
|
||||
@@ -116,7 +100,6 @@ import 'package:hash_wallet/src/screens/setup_2fa/setup_2fa_info_page.dart';
|
||||
import 'package:hash_wallet/src/screens/setup_2fa/setup_2fa_qr_page.dart';
|
||||
import 'package:hash_wallet/src/screens/setup_pin_code/setup_pin_code.dart';
|
||||
import 'package:hash_wallet/src/screens/start_tor/start_tor_page.dart';
|
||||
import 'package:hash_wallet/src/screens/subaddress/address_edit_or_create_page.dart';
|
||||
import 'package:hash_wallet/src/screens/support/support_page.dart';
|
||||
import 'package:hash_wallet/src/screens/support_chat/support_chat_page.dart';
|
||||
import 'package:hash_wallet/src/screens/support_other_links/support_other_links_page.dart';
|
||||
@@ -124,7 +107,6 @@ import 'package:hash_wallet/src/screens/trade_details/trade_details_page.dart';
|
||||
import 'package:hash_wallet/src/screens/transaction_details/rbf_details_page.dart';
|
||||
import 'package:hash_wallet/src/screens/transaction_details/transaction_details_page.dart';
|
||||
import 'package:hash_wallet/src/screens/unspent_coins/unspent_coins_details_page.dart';
|
||||
import 'package:hash_wallet/src/screens/unspent_coins/unspent_coins_list_page.dart';
|
||||
import 'package:hash_wallet/src/screens/ur/animated_ur_page.dart';
|
||||
import 'package:hash_wallet/src/screens/wallet/wallet_edit_page.dart';
|
||||
import 'package:hash_wallet/src/screens/wallet_connect/services/walletkit_service.dart';
|
||||
@@ -140,21 +122,20 @@ import 'package:hash_wallet/utils/payment_request.dart';
|
||||
import 'package:hash_wallet/view_model/advanced_privacy_settings_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/bridge/bridge_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/bridge/bridge_history_view_model.dart';
|
||||
import "package:hash_wallet/view_model/buy/buy_sell_view_model.dart";
|
||||
import 'package:hash_wallet/view_model/dashboard/dashboard_view_model.dart';
|
||||
import "package:hash_wallet/view_model/dashboard/nft_send_view_model.dart";
|
||||
import 'package:hash_wallet/view_model/dashboard/nft_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/dashboard/sign_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/hardware_wallet/hardware_wallet_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/hardware_wallet/ledger_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/monero_account_list/account_list_item.dart';
|
||||
import 'package:hash_wallet/view_model/hardware_wallet/trezor_connect_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/node_list/node_create_or_edit_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/restore/restore_wallet.dart';
|
||||
import 'package:hash_wallet/view_model/wallet_groups_display_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/seed_settings_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/wallet_hardware_restore_view_model.dart';
|
||||
import 'package:hash_wallet/view_model/wallet_new_vm.dart';
|
||||
import 'package:hash_wallet/wallet_type_utils.dart';
|
||||
import 'package:hash_wallet/wallet_types.g.dart';
|
||||
import 'package:cw_core/nano_account.dart';
|
||||
import 'package:cw_core/node.dart';
|
||||
import 'package:cw_core/transaction_info.dart';
|
||||
import 'package:cw_core/unspent_coin_type.dart';
|
||||
@@ -164,7 +145,6 @@ import 'package:cw_core/wallet_type.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'src/screens/buy/buy_sell_page.dart';
|
||||
import 'src/screens/dashboard/pages/nft_import_page.dart';
|
||||
|
||||
late RouteSettings currentRouteSettings;
|
||||
@@ -359,31 +339,36 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
ConnectDevicePageParams(
|
||||
walletType: availableWalletTypes.first,
|
||||
hardwareWalletType: hardwareWalletType,
|
||||
onConnectDevice: (BuildContext context, _) => Navigator.of(context).pushNamed(
|
||||
Routes.chooseHardwareWalletAccount,
|
||||
arguments: [availableWalletTypes.first, hardwareWalletType]),
|
||||
onConnectDevice: (context, _) => Navigator.of(context).pushNamed(
|
||||
Routes.chooseHardwareWalletAccount,
|
||||
arguments: [availableWalletTypes.first, hardwareWalletType],
|
||||
),
|
||||
isReconnect: false,
|
||||
),
|
||||
getIt.get<LedgerViewModel>(),
|
||||
getIt.get<HardwareWalletViewModel>(param1: hardwareWalletType),
|
||||
),
|
||||
);
|
||||
}
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(_) => getIt.get<NewWalletTypePage>(
|
||||
param1: NewWalletTypeArguments(
|
||||
onTypeSelected: (BuildContext context, WalletType type) {
|
||||
if (hardwareWalletType == HardwareWalletType.trezor) {
|
||||
Navigator.of(context).pushNamed(Routes.chooseHardwareWalletAccount,
|
||||
arguments: [type, hardwareWalletType]);
|
||||
onTypeSelected: (context, type) {
|
||||
if (hardwareWalletType == HardwareWalletType.trezor &&
|
||||
!trezorUseNative.contains(type)) {
|
||||
Navigator.of(context).pushNamed(
|
||||
Routes.chooseHardwareWalletAccount,
|
||||
arguments: [type, hardwareWalletType],
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
final arguments = ConnectDevicePageParams(
|
||||
walletType: type,
|
||||
hardwareWalletType: hardwareWalletType,
|
||||
onConnectDevice: (BuildContext context, _) => Navigator.of(context).pushNamed(
|
||||
Routes.chooseHardwareWalletAccount,
|
||||
arguments: [type, hardwareWalletType]),
|
||||
onConnectDevice: (context, _) => Navigator.of(context).pushNamed(
|
||||
Routes.chooseHardwareWalletAccount,
|
||||
arguments: [type, hardwareWalletType],
|
||||
),
|
||||
isReconnect: false,
|
||||
);
|
||||
|
||||
@@ -412,7 +397,7 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
|
||||
case Routes.receiveAddresses:
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(context) => getIt.get<NewAddressesPage>(param1: settings.arguments as bool));
|
||||
(context) => getIt.get<NewAddressesPage>(param1: AddressesPageArgs(showHidden:settings.arguments as bool)));
|
||||
|
||||
case Routes.seed:
|
||||
return handleRouteWithPlatformAwareness(
|
||||
@@ -430,18 +415,16 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
builder: (_) => getIt.get<WalletRestoreChooseDerivationPage>(
|
||||
param1: settings.arguments as List<DerivationInfo>));
|
||||
|
||||
case Routes.sweepingWalletPage:
|
||||
return CupertinoPageRoute<void>(builder: (_) => getIt.get<SweepingWalletPage>());
|
||||
|
||||
case Routes.dashboard:
|
||||
return CupertinoPageRoute<void>(
|
||||
settings: settings,
|
||||
builder: (_) =>
|
||||
FeatureFlag.hasNewUi ? getIt.get<NewDashboard>() : getIt.get<DashboardPage>());
|
||||
builder: (_) => getIt.get<NewDashboard>());
|
||||
|
||||
case Routes.send:
|
||||
final args = settings.arguments as Map<String, dynamic>?;
|
||||
final initialPaymentRequest = args?['paymentRequest'] as PaymentRequest?;
|
||||
final initialRawInput = args?["rawLink"] as String?;
|
||||
final coinTypeToSpendFrom = args?['coinTypeToSpendFrom'] as UnspentCoinType?;
|
||||
|
||||
return handleRouteWithPlatformAwareness(
|
||||
@@ -449,23 +432,19 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
child: getIt.get<NewSendPage>(
|
||||
param1: SendPageParams(
|
||||
initialPaymentRequest: initialPaymentRequest,
|
||||
initialRawInput: initialRawInput,
|
||||
unspentCoinType: coinTypeToSpendFrom ?? UnspentCoinType.any),
|
||||
),
|
||||
),
|
||||
settings: settings,
|
||||
);
|
||||
|
||||
case Routes.sendTemplate:
|
||||
return CupertinoPageRoute<void>(
|
||||
fullscreenDialog: true, builder: (_) => getIt.get<SendTemplatePage>());
|
||||
|
||||
case Routes.receive:
|
||||
return CupertinoPageRoute<void>(
|
||||
builder: (context) => getIt.get<ReceivePage>(), settings: settings);
|
||||
|
||||
case Routes.addressPage:
|
||||
return handleRouteWithPlatformAwareness((context) => getIt.get<AddressPage>(),
|
||||
settings: settings);
|
||||
case Routes.newReceivePage:
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(context) => Material(child: getIt.get<NewReceivePage>(param1: false, param2: null)),
|
||||
settings: settings,
|
||||
);
|
||||
|
||||
case Routes.transactionDetails:
|
||||
return CupertinoPageRoute<void>(
|
||||
@@ -478,9 +457,6 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
fullscreenDialog: true,
|
||||
builder: (_) => getIt.get<RBFDetailsPage>(param1: settings.arguments as List<dynamic>));
|
||||
|
||||
case Routes.newSubaddress:
|
||||
return CupertinoPageRoute<void>(
|
||||
builder: (_) => getIt.get<AddressEditOrCreatePage>(param1: settings.arguments));
|
||||
|
||||
case Routes.disclaimer:
|
||||
return CupertinoPageRoute<void>(builder: (_) => DisclaimerPage());
|
||||
@@ -598,9 +574,6 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
(context) => getIt.get<PrivacyPage>(),
|
||||
);
|
||||
|
||||
case Routes.trocadorProvidersPage:
|
||||
return CupertinoPageRoute<void>(
|
||||
fullscreenDialog: true, builder: (_) => getIt.get<TrocadorProvidersPage>());
|
||||
|
||||
case Routes.domainLookupsPage:
|
||||
return CupertinoPageRoute<void>(
|
||||
@@ -640,16 +613,6 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
param1: args?['editingNode'] as Node?, param2: args?['isSelected'] as bool?);
|
||||
return CupertinoPageRoute<void>(builder: (_) => page);
|
||||
|
||||
case Routes.accountCreation:
|
||||
return CupertinoPageRoute<String>(
|
||||
builder: (_) => getIt.get<MoneroAccountEditOrCreatePage>(
|
||||
param1: settings.arguments as AccountListItem?));
|
||||
|
||||
case Routes.nanoAccountCreation:
|
||||
return CupertinoPageRoute<String>(
|
||||
builder: (_) =>
|
||||
getIt.get<NanoAccountEditOrCreatePage>(param1: settings.arguments as NanoAccount?));
|
||||
|
||||
case Routes.addressBook:
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(context) => getIt.get<ContactListPage>(),
|
||||
@@ -661,7 +624,7 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
builder: (_) => getIt.get<ContactListPage>(param1: args[0], param2: args[1]));
|
||||
|
||||
case Routes.pickerWalletAddress:
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<AddressListPage>());
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<NewAddressesPage>(param1: AddressesPageArgs(showHidden: false, popOnSelection: true)));
|
||||
|
||||
case Routes.addressBookAddContact:
|
||||
return handleRouteWithPlatformAwareness(
|
||||
@@ -673,14 +636,13 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
(context) => getIt.get<WalletKeysPage>(),
|
||||
);
|
||||
|
||||
case Routes.exchangeTrade:
|
||||
return CupertinoPageRoute<void>(builder: (_) => getIt.get<ExchangeTradePage>());
|
||||
|
||||
case Routes.exchangeConfirm:
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<ExchangeConfirmPage>());
|
||||
case Routes.showKeysDisclaimer:
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(context) => getIt.get<ShowKeysDisclaimerPage>(),
|
||||
);
|
||||
|
||||
case Routes.tradeDetails:
|
||||
return MaterialPageRoute<void>(
|
||||
return CupertinoPageRoute<void>(
|
||||
fullscreenDialog: true,
|
||||
builder: (_) => getIt.get<TradeDetailsPage>(param1: settings.arguments as Trade));
|
||||
|
||||
@@ -689,40 +651,23 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
builder: (_) => getIt.get<OrderDetailsPage>(param1: settings.arguments as Order));
|
||||
|
||||
case Routes.buySellPage:
|
||||
final args = settings.arguments as bool?;
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(context) => getIt.get<BuySellPage>(param1: args),
|
||||
(context) => Material(child: getIt.get<NewBuySellAmountPage>(param1: NewBuySellParams(mode: BuySellPageMode.buy))),
|
||||
);
|
||||
|
||||
case Routes.buyOptionsPage:
|
||||
final args = settings.arguments as List;
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<BuyOptionsPage>(param1: args));
|
||||
|
||||
case Routes.paymentMethodOptionsPage:
|
||||
final args = settings.arguments as List;
|
||||
return MaterialPageRoute<void>(
|
||||
builder: (_) => getIt.get<PaymentMethodOptionsPage>(param1: args));
|
||||
|
||||
case Routes.buyWebView:
|
||||
final args = settings.arguments as List;
|
||||
|
||||
return MaterialPageRoute<void>(
|
||||
fullscreenDialog: true, builder: (_) => getIt.get<BuyWebViewPage>(param1: args));
|
||||
|
||||
case Routes.exchange:
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(context) => getIt.get<ExchangePage>(param1: settings.arguments as PaymentRequest?),
|
||||
(context) => Material(
|
||||
child: getIt.get<NewSwapPage>(param1: settings.arguments as PaymentRequest?)),
|
||||
settings: settings,
|
||||
);
|
||||
|
||||
case Routes.exchangeTemplate:
|
||||
return CupertinoPageRoute<void>(builder: (_) => getIt.get<ExchangeTemplatePage>());
|
||||
|
||||
case Routes.rescan:
|
||||
final page = getIt.get<RescanPage>();
|
||||
return MaterialPageRoute<void>(builder: (_) => page);
|
||||
|
||||
case Routes.faq:
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<FaqPage>());
|
||||
|
||||
case Routes.preSeedPage:
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<PreSeedPage>());
|
||||
@@ -730,10 +675,6 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
case Routes.walletGroupExistingSeedDescriptionPage:
|
||||
return MaterialPageRoute<void>(builder: (_) => WalletGroupExistingSeedDescriptionPage());
|
||||
|
||||
case Routes.transactionSuccessPage:
|
||||
return MaterialPageRoute<void>(
|
||||
builder: (_) => getIt.get<TransactionSuccessPage>(param1: settings.arguments as String));
|
||||
|
||||
case Routes.backup:
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(context) => getIt.get<BackupPage>(),
|
||||
@@ -760,12 +701,9 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
);
|
||||
|
||||
case Routes.unspentCoinsList:
|
||||
final coinTypeToSpendFrom = settings.arguments as UnspentCoinType?;
|
||||
return handleRouteWithPlatformAwareness(
|
||||
(context) => FeatureFlag.hasNewUi
|
||||
? getIt.get<NewCoinControlPage>(param1: coinTypeToSpendFrom)
|
||||
: getIt.get<UnspentCoinsListPage>(param1: coinTypeToSpendFrom),
|
||||
);
|
||||
final args = settings.arguments as CoinControlPageArgs?;
|
||||
return handleRouteWithPlatformAwareness((context) =>
|
||||
getIt.get<NewCoinControlPage>(param1: args?.coinTypeToSpendFrom, param2: args?.canEdit));
|
||||
|
||||
case Routes.unspentCoinsDetails:
|
||||
final args = settings.arguments as List;
|
||||
@@ -783,12 +721,6 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
final page = getIt.get<AboutPage>();
|
||||
return handleRouteWithPlatformAwareness((context) => page);
|
||||
|
||||
case Routes.webViewPage:
|
||||
final args = settings.arguments as List;
|
||||
final title = args.first as String;
|
||||
final url = args[1] as Uri;
|
||||
return CupertinoPageRoute<void>(
|
||||
builder: (_) => getIt.get<WebViewPage>(param1: title, param2: url));
|
||||
|
||||
case Routes.advancedPrivacySettings:
|
||||
final args = settings.arguments as Map<String, dynamic>;
|
||||
@@ -797,7 +729,6 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
final isChildWallet = args['isChildWallet'] as bool? ?? false;
|
||||
final useTestnet = args['useTestnet'] as bool;
|
||||
final toggleTestnet = args['toggleTestnet'] as Function(bool? val);
|
||||
final restoredWallet = args['restoredWallet'] as RestoredWallet?;
|
||||
|
||||
final viewModelParam = {'type': type, 'isPow': false};
|
||||
|
||||
@@ -814,15 +745,6 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
),
|
||||
);
|
||||
|
||||
case Routes.anonPayInvoicePage:
|
||||
final args = settings.arguments as List;
|
||||
return CupertinoPageRoute<void>(builder: (_) => getIt.get<AnonPayInvoicePage>(param1: args));
|
||||
|
||||
case Routes.anonPayReceivePage:
|
||||
final anonReceivePageArgs = settings.arguments as AnonPayReceivePageArgs;
|
||||
return CupertinoPageRoute<void>(
|
||||
builder: (_) => getIt.get<AnonPayReceivePage>(param1: anonReceivePageArgs));
|
||||
|
||||
case Routes.anonPayDetailsPage:
|
||||
final anonInvoiceViewData = settings.arguments as AnonpayInvoiceInfo;
|
||||
return CupertinoPageRoute<void>(
|
||||
@@ -836,24 +758,9 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
builder: (_) =>
|
||||
getIt.get<PayjoinDetailsPage>(param1: sessionId, param2: transactionInfo));
|
||||
|
||||
case Routes.desktop_actions:
|
||||
return PageRouteBuilder(
|
||||
opaque: false,
|
||||
pageBuilder: (_, __, ___) => DesktopDashboardActions(getIt<DashboardViewModel>()),
|
||||
);
|
||||
|
||||
case Routes.desktop_settings_page:
|
||||
return CupertinoPageRoute<void>(builder: (_) => getIt.get<DesktopSettingsPage>());
|
||||
|
||||
case Routes.empty_no_route:
|
||||
return MaterialPageRoute<void>(builder: (_) => SizedBox.shrink());
|
||||
|
||||
case Routes.transactionsPage:
|
||||
return CupertinoPageRoute<void>(
|
||||
settings: settings,
|
||||
fullscreenDialog: true,
|
||||
builder: (_) => getIt.get<TransactionsPage>());
|
||||
|
||||
case Routes.setup_2faPage:
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<Setup2FAPage>());
|
||||
|
||||
@@ -866,6 +773,19 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
case Routes.setup2faInfoPage:
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<Setup2FAInfoPage>());
|
||||
|
||||
case Routes.syncKeyImagesDevices:
|
||||
final hardwareWalletType = getIt<AppStore>().wallet!.hardwareWalletType;
|
||||
if (hardwareWalletType == HardwareWalletType.trezor) {
|
||||
return MaterialPageRoute<void>(
|
||||
builder: (_) => SyncKeyImagesSheet(
|
||||
appStore: getIt<AppStore>(),
|
||||
trezorConnectVM: getIt<TrezorConnectViewModel>(),
|
||||
),
|
||||
);
|
||||
}
|
||||
return MaterialPageRoute<void>(
|
||||
builder: (_) => getIt.get<AnimatedURPage>(param1: settings.arguments));
|
||||
|
||||
case Routes.urqrAnimatedPage:
|
||||
return MaterialPageRoute<void>(
|
||||
builder: (_) => getIt.get<AnimatedURPage>(param1: settings.arguments));
|
||||
@@ -892,6 +812,11 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
case Routes.manageNodes:
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<ManageNodesPage>(param1: false));
|
||||
|
||||
case Routes.walletAccountsPage:
|
||||
final dashboardViewModel = settings.arguments as DashboardViewModel;
|
||||
final page = getIt.get<WalletAccountsPage>(param1: dashboardViewModel);
|
||||
return handleRouteWithPlatformAwareness((_) => page);
|
||||
|
||||
case Routes.managePowNodes:
|
||||
return MaterialPageRoute<void>(builder: (_) => getIt.get<ManageNodesPage>(param1: true));
|
||||
|
||||
@@ -903,7 +828,7 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
));
|
||||
|
||||
case Routes.nftDetailsPage:
|
||||
return MaterialPageRoute<void>(
|
||||
return MaterialPageRoute<bool>(
|
||||
builder: (_) => NFTDetailsPage(
|
||||
arguments: settings.arguments as NFTDetailsPageArguments,
|
||||
dashboardViewModel: getIt.get<DashboardViewModel>(),
|
||||
@@ -917,6 +842,15 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
),
|
||||
);
|
||||
|
||||
case Routes.nftSendPage:
|
||||
return MaterialPageRoute<bool>(
|
||||
builder: (_) => NFTSendPage(
|
||||
nftSendViewModel: getIt.get<NFTSendViewModel>(),
|
||||
authService: getIt.get<AuthService>(),
|
||||
arguments: settings.arguments as NFTSendPageArguments,
|
||||
),
|
||||
);
|
||||
|
||||
case Routes.signPage:
|
||||
final vm = getIt.get<SignViewModel>();
|
||||
return MaterialPageRoute<void>(
|
||||
@@ -942,12 +876,7 @@ Route<dynamic> createRoute(RouteSettings settings) {
|
||||
case Routes.walletSeedVerificationPage:
|
||||
return MaterialPageRoute<void>(
|
||||
fullscreenDialog: true,
|
||||
builder: (_) => getIt.get<SeedVerificationPage>(),
|
||||
);
|
||||
|
||||
case Routes.exchangeTradeExternalSendPage:
|
||||
return MaterialPageRoute<void>(
|
||||
builder: (_) => getIt.get<ExchangeTradeExternalSendPage>(),
|
||||
builder: (_) => getIt.get<SeedVerificationPage>(param1: settings.arguments as bool),
|
||||
);
|
||||
|
||||
case Routes.backgroundSync:
|
||||
|
||||
Reference in New Issue
Block a user