2023-03-24 15:26:42 +00:00
|
|
|
import 'package:cake_wallet/anonpay/anonpay_info_base.dart';
|
|
|
|
import 'package:cake_wallet/anonpay/anonpay_invoice_info.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/buy/order.dart';
|
2023-05-17 14:43:23 +00:00
|
|
|
import 'package:cake_wallet/core/totp_request_details.dart';
|
2023-11-02 14:41:11 +00:00
|
|
|
import 'package:cake_wallet/core/wallet_connect/web3wallet_service.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/di.dart';
|
2020-09-26 19:17:31 +00:00
|
|
|
import 'package:cake_wallet/entities/contact_record.dart';
|
2023-04-21 18:03:42 +00:00
|
|
|
import 'package:cake_wallet/entities/qr_view_data.dart';
|
2023-11-22 17:43:26 +00:00
|
|
|
import 'package:cake_wallet/entities/wallet_nft_response.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/exchange/trade.dart';
|
|
|
|
import 'package:cake_wallet/generated/i18n.dart';
|
|
|
|
import 'package:cake_wallet/routes.dart';
|
2023-03-24 15:26:42 +00:00
|
|
|
import 'package:cake_wallet/src/screens/anonpay_details/anonpay_details_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/auth/auth_page.dart';
|
2021-01-13 16:43:34 +00:00
|
|
|
import 'package:cake_wallet/src/screens/backup/backup_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/backup/edit_backup_password_page.dart';
|
2023-09-14 19:14:49 +00:00
|
|
|
import 'package:cake_wallet/src/screens/buy/buy_options_page.dart';
|
2021-04-13 18:40:44 +00:00
|
|
|
import 'package:cake_wallet/src/screens/buy/buy_webview_page.dart';
|
2023-06-13 23:15:10 +00:00
|
|
|
import 'package:cake_wallet/src/screens/buy/webview_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/connect_device/connect_device_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/connect_device/select_hardware_wallet_account_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/contact/contact_list_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/contact/contact_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/dashboard_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart';
|
2023-08-04 17:01:49 +00:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/edit_token_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/home_settings_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/address_page.dart';
|
2023-11-22 17:43:26 +00:00
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/nft_details_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/dashboard/pages/transactions_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/disclaimer/disclaimer_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange/exchange_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange/exchange_template_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange_trade/exchange_confirm_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/exchange_trade/exchange_trade_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/faq/faq_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/monero_accounts/monero_account_edit_or_create_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/nano/nano_change_rep_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/nano_accounts/nano_account_edit_or_create_page.dart';
|
2022-10-05 13:58:25 +00:00
|
|
|
import 'package:cake_wallet/src/screens/new_wallet/advanced_privacy_settings_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/new_wallet/new_wallet_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/new_wallet/new_wallet_type_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/nodes/node_create_or_edit_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/nodes/pow_node_create_or_edit_page.dart';
|
2021-03-12 19:04:37 +00:00
|
|
|
import 'package:cake_wallet/src/screens/order_details/order_details_page.dart';
|
2020-10-22 18:24:24 +00:00
|
|
|
import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/receive/anonpay_invoice_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/receive/anonpay_receive_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/receive/fullscreen_qr_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/receive/receive_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/rescan/rescan_page.dart';
|
2021-01-13 16:43:34 +00:00
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_from_backup_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/restore/restore_options_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/restore/sweeping_wallet_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/restore/wallet_restore_choose_derivation.dart';
|
2020-10-13 21:11:04 +00:00
|
|
|
import 'package:cake_wallet/src/screens/restore/wallet_restore_page.dart';
|
2023-12-30 19:55:17 +00:00
|
|
|
import 'package:cake_wallet/src/screens/seed/pre_seed_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/seed/wallet_seed_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/send/send_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/send/send_template_page.dart';
|
2022-11-16 07:29:14 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/connection_sync_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/desktop_settings/desktop_settings_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/display_settings_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/domain_lookups_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/manage_nodes_page.dart';
|
2024-07-22 17:08:19 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/mweb_settings.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/other_settings_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/privacy_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/settings/security_backup_page.dart';
|
2024-06-06 04:51:22 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_pay/auth/cake_pay_account_page.dart';
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/silent_payments_settings.dart';
|
2023-11-18 13:43:15 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/tor_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/trocador_providers_page.dart';
|
2024-06-06 04:51:22 +00:00
|
|
|
import 'package:cake_wallet/src/screens/settings/tor_page.dart';
|
2023-05-17 14:43:23 +00:00
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/modify_2fa_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_enter_code_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_info_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_2fa/setup_2fa_qr_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/setup_pin_code/setup_pin_code.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/subaddress/address_edit_or_create_page.dart';
|
2021-02-25 18:25:52 +00:00
|
|
|
import 'package:cake_wallet/src/screens/support/support_page.dart';
|
2023-08-15 00:47:25 +00:00
|
|
|
import 'package:cake_wallet/src/screens/support_chat/support_chat_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/support_other_links/support_other_links_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/trade_details/trade_details_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/transaction_details/transaction_details_page.dart';
|
2024-04-08 14:54:58 +00:00
|
|
|
import 'package:cake_wallet/src/screens/transaction_details/rbf_details_page.dart';
|
2021-05-27 17:57:51 +00:00
|
|
|
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_details_page.dart';
|
2021-05-25 17:32:36 +00:00
|
|
|
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_list_page.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/wallet/wallet_edit_page.dart';
|
2023-11-02 14:41:11 +00:00
|
|
|
import 'package:cake_wallet/src/screens/wallet_connect/wc_connections_listing_view.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/src/screens/wallet_keys/wallet_keys_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/wallet_list/wallet_list_page.dart';
|
|
|
|
import 'package:cake_wallet/src/screens/welcome/create_welcome_page.dart';
|
2022-08-09 13:47:41 +00:00
|
|
|
import 'package:cake_wallet/utils/payment_request.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/advanced_privacy_settings_view_model.dart';
|
2023-04-14 04:39:08 +00:00
|
|
|
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
|
2023-11-22 17:43:26 +00:00
|
|
|
import 'package:cake_wallet/view_model/dashboard/nft_view_model.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/hardware_wallet/ledger_view_model.dart';
|
2020-11-17 18:16:58 +00:00
|
|
|
import 'package:cake_wallet/view_model/monero_account_list/account_list_item.dart';
|
2022-10-05 17:28:11 +00:00
|
|
|
import 'package:cake_wallet/view_model/node_list/node_create_or_edit_view_model.dart';
|
2023-12-09 01:37:39 +00:00
|
|
|
import 'package:cake_wallet/view_model/seed_type_view_model.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/view_model/wallet_hardware_restore_view_model.dart';
|
|
|
|
import 'package:cake_wallet/view_model/wallet_new_vm.dart';
|
2023-04-27 15:06:09 +00:00
|
|
|
import 'package:cake_wallet/wallet_type_utils.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cake_wallet/wallet_types.g.dart';
|
|
|
|
import 'package:cw_core/crypto_currency.dart';
|
2023-10-05 01:09:07 +00:00
|
|
|
import 'package:cw_core/nano_account.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cw_core/node.dart';
|
|
|
|
import 'package:cw_core/transaction_info.dart';
|
2023-10-05 01:09:07 +00:00
|
|
|
import 'package:cw_core/wallet_info.dart';
|
2024-05-05 01:44:50 +00:00
|
|
|
import 'package:cw_core/wallet_type.dart';
|
2020-01-04 19:31:52 +00:00
|
|
|
import 'package:flutter/cupertino.dart';
|
|
|
|
import 'package:flutter/material.dart';
|
2021-03-26 11:29:43 +00:00
|
|
|
import 'package:flutter/services.dart';
|
2024-06-06 04:51:22 +00:00
|
|
|
import 'package:cake_wallet/src/screens/cake_pay/cake_pay.dart';
|
2023-11-22 17:43:26 +00:00
|
|
|
import 'src/screens/dashboard/pages/nft_import_page.dart';
|
|
|
|
|
2022-10-12 17:09:57 +00:00
|
|
|
late RouteSettings currentRouteSettings;
|
2021-11-05 15:08:45 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
Route<dynamic> createRoute(RouteSettings settings) {
|
2021-11-05 15:08:45 +00:00
|
|
|
currentRouteSettings = settings;
|
2022-06-23 09:25:00 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
switch (settings.name) {
|
|
|
|
case Routes.welcome:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => createWelcomePage());
|
|
|
|
|
|
|
|
case Routes.newWalletFromWelcome:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<SetupPinCodePage>(param1: (PinCodeState<PinCodeWidget> context, dynamic _) {
|
|
|
|
if (availableWalletTypes.length == 1) {
|
|
|
|
Navigator.of(context.context)
|
|
|
|
.pushNamed(Routes.newWallet, arguments: availableWalletTypes.first);
|
|
|
|
} else {
|
|
|
|
Navigator.of(context.context).pushNamed(Routes.newWalletType);
|
|
|
|
}
|
|
|
|
}),
|
2020-10-19 11:20:24 +00:00
|
|
|
fullscreenDialog: true);
|
|
|
|
|
|
|
|
case Routes.newWalletType:
|
|
|
|
return CupertinoPageRoute<void>(
|
2020-11-12 16:31:53 +00:00
|
|
|
builder: (_) => getIt.get<NewWalletTypePage>(
|
2020-12-21 20:20:46 +00:00
|
|
|
param1: (BuildContext context, WalletType type) =>
|
2023-10-05 01:09:07 +00:00
|
|
|
Navigator.of(context).pushNamed(Routes.newWallet, arguments: type)));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.newWallet:
|
2020-11-30 17:17:44 +00:00
|
|
|
final type = settings.arguments as WalletType;
|
2020-10-19 11:20:24 +00:00
|
|
|
final walletNewVM = getIt.get<WalletNewVM>(param1: type);
|
2023-12-09 01:37:39 +00:00
|
|
|
final seedTypeViewModel = getIt.get<SeedTypeViewModel>();
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2024-05-05 01:44:50 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => NewWalletPage(walletNewVM, seedTypeViewModel));
|
|
|
|
|
|
|
|
case Routes.chooseHardwareWalletAccount:
|
|
|
|
final arguments = settings.arguments as List<dynamic>;
|
|
|
|
final type = arguments[0] as WalletType;
|
|
|
|
final walletVM = getIt.get<WalletHardwareRestoreViewModel>(param1: type);
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => SelectHardwareWalletAccountPage(walletVM));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.setupPin:
|
2022-10-12 17:09:57 +00:00
|
|
|
Function(PinCodeState<PinCodeWidget>, String)? callback;
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2020-10-24 14:35:55 +00:00
|
|
|
if (settings.arguments is Function(PinCodeState<PinCodeWidget>, String)) {
|
2023-10-05 01:09:07 +00:00
|
|
|
callback = settings.arguments as Function(PinCodeState<PinCodeWidget>, String);
|
2020-10-19 11:20:24 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<SetupPinCodePage>(param1: callback));
|
|
|
|
|
|
|
|
case Routes.restoreWalletType:
|
|
|
|
return CupertinoPageRoute<void>(
|
2020-11-12 16:31:53 +00:00
|
|
|
builder: (_) => getIt.get<NewWalletTypePage>(
|
|
|
|
param1: (BuildContext context, WalletType type) =>
|
2023-10-05 01:09:07 +00:00
|
|
|
Navigator.of(context).pushNamed(Routes.restoreWallet, arguments: type),
|
2024-05-05 01:44:50 +00:00
|
|
|
param2: [false, false]));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.restoreOptions:
|
2023-04-21 18:36:47 +00:00
|
|
|
final isNewInstall = settings.arguments as bool;
|
2020-10-19 11:20:24 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
fullscreenDialog: true,
|
2023-04-21 18:36:47 +00:00
|
|
|
builder: (_) => getIt.get<RestoreOptionsPage>(param1: isNewInstall));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2023-04-27 15:06:09 +00:00
|
|
|
case Routes.restoreWalletFromSeedKeys:
|
2023-04-21 18:36:47 +00:00
|
|
|
final isNewInstall = settings.arguments as bool;
|
2023-04-27 15:06:09 +00:00
|
|
|
|
|
|
|
if (isNewInstall) {
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<SetupPinCodePage>(
|
2023-10-05 01:09:07 +00:00
|
|
|
param1: (PinCodeState<PinCodeWidget> context, dynamic _) {
|
2023-04-27 15:06:09 +00:00
|
|
|
if (isSingleCoin) {
|
|
|
|
return Navigator.of(context.context)
|
|
|
|
.pushNamed(Routes.restoreWallet, arguments: availableWalletTypes.first);
|
|
|
|
}
|
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
return Navigator.pushNamed(context.context, Routes.restoreWalletType);
|
2023-04-27 15:06:09 +00:00
|
|
|
}),
|
|
|
|
fullscreenDialog: true);
|
|
|
|
} else if (isSingleCoin) {
|
|
|
|
return MaterialPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<WalletRestorePage>(param1: availableWalletTypes.first));
|
2023-04-27 15:06:09 +00:00
|
|
|
} else {
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<NewWalletTypePage>(
|
|
|
|
param1: (BuildContext context, WalletType type) =>
|
2023-10-05 01:09:07 +00:00
|
|
|
Navigator.of(context).pushNamed(Routes.restoreWallet, arguments: type),
|
2024-05-05 01:44:50 +00:00
|
|
|
param2: [false, false]));
|
|
|
|
}
|
|
|
|
|
|
|
|
case Routes.restoreWalletFromHardwareWallet:
|
|
|
|
final isNewInstall = settings.arguments as bool;
|
|
|
|
|
|
|
|
if (isNewInstall) {
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<SetupPinCodePage>(
|
|
|
|
param1: (PinCodeState<PinCodeWidget> context, dynamic _) =>
|
2024-05-08 00:00:01 +00:00
|
|
|
Navigator.of(context.context)
|
|
|
|
.pushNamed(Routes.restoreWalletFromHardwareWallet, arguments: false),
|
2024-05-05 01:44:50 +00:00
|
|
|
),
|
|
|
|
fullscreenDialog: true,
|
|
|
|
);
|
|
|
|
}
|
|
|
|
if (isSingleCoin) {
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => ConnectDevicePage(
|
|
|
|
ConnectDevicePageParams(
|
|
|
|
walletType: availableWalletTypes.first,
|
2024-05-08 00:00:01 +00:00
|
|
|
onConnectDevice: (BuildContext context, _) => Navigator.of(context).pushNamed(
|
|
|
|
Routes.chooseHardwareWalletAccount,
|
|
|
|
arguments: [availableWalletTypes.first]),
|
2024-05-05 01:44:50 +00:00
|
|
|
),
|
|
|
|
getIt.get<LedgerViewModel>(),
|
|
|
|
));
|
|
|
|
} else {
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<NewWalletTypePage>(
|
|
|
|
param1: (BuildContext context, WalletType type) {
|
|
|
|
final arguments = ConnectDevicePageParams(
|
|
|
|
walletType: type,
|
2024-05-08 00:00:01 +00:00
|
|
|
onConnectDevice: (BuildContext context, _) => Navigator.of(context)
|
|
|
|
.pushNamed(Routes.chooseHardwareWalletAccount, arguments: [type]),
|
2024-05-05 01:44:50 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
Navigator.of(context).pushNamed(Routes.connectDevices, arguments: arguments);
|
|
|
|
},
|
|
|
|
param2: [false, true]));
|
2023-04-27 15:06:09 +00:00
|
|
|
}
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2023-10-25 00:19:59 +00:00
|
|
|
case Routes.restoreWalletTypeFromQR:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<NewWalletTypePage>(
|
|
|
|
param1: (BuildContext context, WalletType type) => Navigator.of(context).pop(type)));
|
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.seed:
|
|
|
|
return MaterialPageRoute<void>(
|
2023-05-19 14:33:16 +00:00
|
|
|
fullscreenDialog: true,
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<WalletSeedPage>(param1: settings.arguments as bool));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.restoreWallet:
|
|
|
|
return MaterialPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<WalletRestorePage>(param1: settings.arguments as WalletType));
|
|
|
|
|
|
|
|
case Routes.restoreWalletChooseDerivation:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<WalletRestoreChooseDerivationPage>(
|
|
|
|
param1: settings.arguments as List<DerivationInfo>));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2023-04-21 18:36:47 +00:00
|
|
|
case Routes.sweepingWalletPage:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<SweepingWalletPage>());
|
2023-04-21 18:36:47 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.dashboard:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
settings: settings, builder: (_) => getIt.get<DashboardPage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.send:
|
2022-11-08 14:56:27 +00:00
|
|
|
final initialPaymentRequest = settings.arguments as PaymentRequest?;
|
2022-08-09 13:47:41 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true,
|
|
|
|
builder: (_) => getIt.get<SendPage>(
|
|
|
|
param1: initialPaymentRequest,
|
|
|
|
));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.sendTemplate:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<SendTemplatePage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.receive:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<ReceivePage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2022-03-30 15:57:04 +00:00
|
|
|
case Routes.addressPage:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<AddressPage>());
|
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.transactionDetails:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<TransactionDetailsPage>(param1: settings.arguments as TransactionInfo));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2024-04-08 14:54:58 +00:00
|
|
|
case Routes.bumpFeePage:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
2024-05-08 00:00:01 +00:00
|
|
|
builder: (_) => getIt.get<RBFDetailsPage>(param1: settings.arguments as TransactionInfo));
|
2024-04-08 14:54:58 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.newSubaddress:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<AddressEditOrCreatePage>(param1: settings.arguments));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.disclaimer:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => DisclaimerPage());
|
|
|
|
|
|
|
|
case Routes.readDisclaimer:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => DisclaimerPage(isReadOnly: true));
|
|
|
|
|
|
|
|
case Routes.changeRep:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<NanoChangeRepPage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.walletList:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<WalletListPage>());
|
|
|
|
|
2023-07-12 23:20:11 +00:00
|
|
|
case Routes.walletEdit:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<WalletEditPage>(param1: settings.arguments as List<dynamic>));
|
2023-07-12 23:20:11 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.auth:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
|
|
|
builder: (_) => getIt.get<AuthPage>(
|
2023-10-05 01:09:07 +00:00
|
|
|
param1: settings.arguments as OnAuthenticationFinished, param2: true));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
case Routes.totpAuthCodePage:
|
|
|
|
final args = settings.arguments as TotpAuthArgumentsModel;
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
|
|
|
builder: (_) => getIt.get<TotpAuthCodePage>(
|
|
|
|
param1: args,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
|
|
|
|
case Routes.login:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (context) => WillPopScope(
|
|
|
|
child: getIt.get<AuthPage>(instanceName: 'login'),
|
2023-10-05 01:09:07 +00:00
|
|
|
onWillPop: () async =>
|
|
|
|
// FIX-ME: Additional check does it works correctly
|
|
|
|
(await SystemChannels.platform.invokeMethod<bool>('SystemNavigator.pop') ??
|
2023-05-17 14:43:23 +00:00
|
|
|
false),
|
|
|
|
),
|
|
|
|
fullscreenDialog: true);
|
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.unlock:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
fullscreenDialog: true,
|
2021-04-22 15:56:14 +00:00
|
|
|
builder: (_) => WillPopScope(
|
|
|
|
child: getIt.get<AuthPage>(
|
2023-10-05 01:09:07 +00:00
|
|
|
param1: settings.arguments as OnAuthenticationFinished, param2: false),
|
2021-04-22 15:56:14 +00:00
|
|
|
onWillPop: () async => false));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
Cw 453 (#1306)
* feat: rebase btc-addr-types, migrate to bitcoin_base
* feat: allow scanning elect-rs using get_tweaks
* feat: scanning and adding addresses working with getTweaks, add btc SP address type
* chore: pubspec.lock
* chore: pubspec.lock
* fix: scan when switching, fix multiple unspents in same tx
* fix: initial scan
* fix: initial scan
* fix: scanning issues
* fix: sync, storing silent unspents
* chore: deps
* fix: label issues, clear spent utxo
* chore: deps
* fix: build
* fix: missing types
* feat: new electrs API & changes, fixes for last block scanning
* feat: Scan Silent Payments homepage toggle
* chore: build configure
* feat: generic fixes, testnet UI improvements, useSSL on bitcoin nodes
* fix: invalid Object in sendData
* feat: improve addresses page & address book displays
* feat: silent payments labeled addresses disclaimer
* fix: missing i18n
* chore: print
* feat: single block scan, rescan by date working for btc mainnet
* feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert
* feat: delete silent addresses
* fix: red dot in non ssl nodes
* fix: inconsistent connection states, fix tx history
* fix: tx & balance displays, cpfp sending
* feat: new rust lib
* chore: node path
* fix: check node based on network
* fix: missing txcount from addresses
* style: padding in feature page cards
* fix: restore not getting all wallet addresses by type
* fix: auto switch node broken
* fix: silent payment txs not being restored
* feat: change scanning to subscription model, sync improvements
* fix: scan re-subscription
* fix: default nodes
* fix: improve scanning by date, fix single block scan
* refactor: common function for input tx selection
* fix: nodes & build
* fix: send all with multiple outs
* refactor: unchanged file
* Update pr_test_build.yml
* chore: upgrade
* chore: merge changes
* refactor: unchanged files [skip ci]
* fix: scan fixes, add date, allow sending while scanning
* feat: sync fixes, sp settings
* feat: fix resyncing
* fix: date from height logic, status disconnected & chain tip get
* fix: params
* feat: electrum migration if using cake electrum
* fix nodes
update versions
* re-enable tron
* update sp_scanner to work on iOS [skip ci]
* fix: wrong socket for old electrum nodes
* Fix unchecked wallet type call
* fix: double balance
* feat: node domain
* fix: menu name
* fix: update tip on set scanning
* fix: connection switching back and forth
* feat: check if node is electrs, and supports sp
* chore: fix build
* minor enhancements
* fixes and enhancements
* solve conflicts with main
* fix: status toggle
* minor enhancement
* Monero.com fixes
* update sp_scanner to include windows and linux
---------
Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
2024-05-29 14:43:48 +00:00
|
|
|
case Routes.silentPaymentsSettings:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<SilentPaymentsSettingsPage>());
|
|
|
|
|
2024-07-22 17:08:19 +00:00
|
|
|
case Routes.mwebSettings:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<MwebSettingsPage>());
|
|
|
|
|
2022-11-16 07:29:14 +00:00
|
|
|
case Routes.connectionSync:
|
2020-10-19 11:20:24 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<ConnectionSyncPage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2022-11-16 07:29:14 +00:00
|
|
|
case Routes.securityBackupPage:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<SecurityBackupPage>());
|
2023-08-04 17:01:49 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
case Routes.privacyPage:
|
2022-11-16 07:29:14 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<PrivacyPage>());
|
2022-11-16 07:29:14 +00:00
|
|
|
|
2023-11-16 23:23:34 +00:00
|
|
|
case Routes.trocadorProvidersPage:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<TrocadorProvidersPage>());
|
|
|
|
|
2023-11-03 19:23:11 +00:00
|
|
|
case Routes.domainLookupsPage:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<DomainLookupsPage>());
|
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
case Routes.displaySettingsPage:
|
2022-11-16 07:29:14 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<DisplaySettingsPage>());
|
2022-11-16 07:29:14 +00:00
|
|
|
|
|
|
|
case Routes.otherSettingsPage:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<OtherSettingsPage>());
|
2023-08-04 17:01:49 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.newNode:
|
2023-03-15 13:24:38 +00:00
|
|
|
final args = settings.arguments as Map<String, dynamic>?;
|
2020-10-19 11:20:24 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2023-03-15 13:24:38 +00:00
|
|
|
builder: (_) => getIt.get<NodeCreateOrEditPage>(
|
2023-10-05 01:09:07 +00:00
|
|
|
param1: args?['editingNode'] as Node?, param2: args?['isSelected'] as bool?));
|
2023-08-04 17:01:49 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
case Routes.newPowNode:
|
|
|
|
final args = settings.arguments as Map<String, dynamic>?;
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<PowNodeCreateOrEditPage>(
|
|
|
|
param1: args?['editingNode'] as Node?, param2: args?['isSelected'] as bool?));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.accountCreation:
|
|
|
|
return CupertinoPageRoute<String>(
|
2020-11-17 18:16:58 +00:00
|
|
|
builder: (_) => getIt.get<MoneroAccountEditOrCreatePage>(
|
2022-10-24 19:25:14 +00:00
|
|
|
param1: settings.arguments as AccountListItem?));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2023-10-05 01:09:07 +00:00
|
|
|
case Routes.nanoAccountCreation:
|
|
|
|
return CupertinoPageRoute<String>(
|
|
|
|
builder: (_) =>
|
|
|
|
getIt.get<NanoAccountEditOrCreatePage>(param1: settings.arguments as NanoAccount?));
|
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.addressBook:
|
|
|
|
return MaterialPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<ContactListPage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.pickerAddressBook:
|
2023-02-06 16:33:12 +00:00
|
|
|
final selectedCurrency = settings.arguments as CryptoCurrency?;
|
2020-10-19 11:20:24 +00:00
|
|
|
return MaterialPageRoute<void>(
|
2022-12-02 21:36:22 +00:00
|
|
|
builder: (_) => getIt.get<ContactListPage>(param1: selectedCurrency));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.addressBookAddContact:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<ContactPage>(param1: settings.arguments as ContactRecord?));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.showKeys:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<WalletKeysPage>(), fullscreenDialog: true);
|
|
|
|
|
|
|
|
case Routes.exchangeTrade:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<ExchangeTradePage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.exchangeConfirm:
|
2023-10-05 01:09:07 +00:00
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<ExchangeConfirmPage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.tradeDetails:
|
|
|
|
return MaterialPageRoute<void>(
|
2023-05-17 14:43:23 +00:00
|
|
|
fullscreenDialog: true,
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<TradeDetailsPage>(param1: settings.arguments as Trade));
|
2020-10-19 11:20:24 +00:00
|
|
|
|
2021-03-12 19:04:37 +00:00
|
|
|
case Routes.orderDetails:
|
|
|
|
return MaterialPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<OrderDetailsPage>(param1: settings.arguments as Order));
|
2021-03-12 19:04:37 +00:00
|
|
|
|
2023-12-28 19:20:59 +00:00
|
|
|
case Routes.buySellPage:
|
|
|
|
final args = settings.arguments as bool;
|
2024-05-05 01:44:50 +00:00
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<BuySellOptionsPage>(param1: args));
|
2021-04-12 18:22:22 +00:00
|
|
|
|
2021-04-13 18:40:44 +00:00
|
|
|
case Routes.buyWebView:
|
2021-04-15 17:10:23 +00:00
|
|
|
final args = settings.arguments as List;
|
|
|
|
|
2021-03-17 10:32:22 +00:00
|
|
|
return MaterialPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<BuyWebViewPage>(param1: args));
|
2021-03-17 10:32:22 +00:00
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
case Routes.exchange:
|
|
|
|
return CupertinoPageRoute<void>(
|
2024-05-08 00:00:01 +00:00
|
|
|
fullscreenDialog: true,
|
|
|
|
builder: (_) => getIt.get<ExchangePage>(param1: settings.arguments as PaymentRequest?),
|
|
|
|
);
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.exchangeTemplate:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<ExchangeTemplatePage>());
|
2020-10-19 11:20:24 +00:00
|
|
|
|
|
|
|
case Routes.rescan:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<RescanPage>());
|
|
|
|
|
|
|
|
case Routes.faq:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<FaqPage>());
|
|
|
|
|
2023-12-30 19:55:17 +00:00
|
|
|
case Routes.preSeedPage:
|
2020-11-27 11:08:17 +00:00
|
|
|
return MaterialPageRoute<void>(
|
2024-05-05 01:44:50 +00:00
|
|
|
builder: (_) => getIt.get<PreSeedPage>(param1: settings.arguments as int));
|
2021-01-13 16:43:34 +00:00
|
|
|
|
|
|
|
case Routes.backup:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<BackupPage>());
|
|
|
|
|
|
|
|
case Routes.editBackupPassword:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<EditBackupPasswordPage>());
|
2021-01-13 16:43:34 +00:00
|
|
|
|
|
|
|
case Routes.restoreFromBackup:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<RestoreFromBackupPage>());
|
2020-11-27 11:08:17 +00:00
|
|
|
|
2021-02-25 18:25:52 +00:00
|
|
|
case Routes.support:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<SupportPage>());
|
2023-08-10 13:42:53 +00:00
|
|
|
|
2023-08-15 00:47:25 +00:00
|
|
|
case Routes.supportLiveChat:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<SupportChatPage>());
|
2023-08-15 00:47:25 +00:00
|
|
|
|
|
|
|
case Routes.supportOtherLinks:
|
|
|
|
return CupertinoPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
fullscreenDialog: true, builder: (_) => getIt.get<SupportOtherLinksPage>());
|
2023-08-15 00:47:25 +00:00
|
|
|
|
2021-05-25 17:32:36 +00:00
|
|
|
case Routes.unspentCoinsList:
|
2023-10-05 01:09:07 +00:00
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<UnspentCoinsListPage>());
|
2021-05-25 17:32:36 +00:00
|
|
|
|
2021-05-27 17:57:51 +00:00
|
|
|
case Routes.unspentCoinsDetails:
|
2021-07-05 13:52:24 +00:00
|
|
|
final args = settings.arguments as List;
|
|
|
|
|
2021-05-27 17:57:51 +00:00
|
|
|
return MaterialPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<UnspentCoinsDetailsPage>(param1: args));
|
2021-05-27 17:57:51 +00:00
|
|
|
|
2022-06-23 09:25:00 +00:00
|
|
|
case Routes.fullscreenQR:
|
|
|
|
return MaterialPageRoute<void>(
|
2023-10-05 01:09:07 +00:00
|
|
|
builder: (_) => getIt.get<FullscreenQRPage>(
|
2023-04-21 18:03:42 +00:00
|
|
|
param1: settings.arguments as QrViewData,
|
2022-06-23 09:25:00 +00:00
|
|
|
));
|
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
case Routes.cakePayCardsPage:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<CakePayCardsPage>());
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
case Routes.cakePayBuyCardPage:
|
2022-07-28 17:03:16 +00:00
|
|
|
final args = settings.arguments as List;
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2024-06-06 04:51:22 +00:00
|
|
|
builder: (_) => getIt.get<CakePayBuyCardPage>(param1: args));
|
2023-08-04 17:01:49 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
case Routes.cakePayBuyCardDetailPage:
|
2022-07-28 17:03:16 +00:00
|
|
|
final args = settings.arguments as List;
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2024-06-06 04:51:22 +00:00
|
|
|
builder: (_) => getIt.get<CakePayBuyCardDetailPage>(param1: args));
|
2023-08-04 17:01:49 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
case Routes.cakePayWelcomePage:
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
2024-06-06 04:51:22 +00:00
|
|
|
builder: (_) => getIt.get<CakePayWelcomePage>(),
|
|
|
|
);
|
2023-08-04 17:01:49 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
case Routes.cakePayVerifyOtpPage:
|
2022-09-02 13:47:45 +00:00
|
|
|
final args = settings.arguments as List;
|
2024-06-06 04:51:22 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<CakePayVerifyOtpPage>(param1: args));
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2024-06-06 04:51:22 +00:00
|
|
|
case Routes.cakePayAccountPage:
|
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<CakePayAccountPage>());
|
2022-07-28 17:03:16 +00:00
|
|
|
|
2023-06-13 23:15:10 +00:00
|
|
|
case Routes.webViewPage:
|
|
|
|
final args = settings.arguments as List;
|
|
|
|
final title = args.first as String;
|
|
|
|
final url = args[1] as Uri;
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<WebViewPage>(param1: title, param2: url));
|
2022-10-27 21:33:58 +00:00
|
|
|
|
2022-12-04 03:08:42 +00:00
|
|
|
case Routes.advancedPrivacySettings:
|
Btc address types (#1263)
* inital migration changes
* feat: rest of changes
* minor fix [skip ci]
* fix: P2wshAddress & wallet address index
* fix: address review comments
* fix: address type restore
* feat: add testnet
* Fix review comments
Remove bitcoin_base from cw_core
* Fix address not matching selected type on start
* remove un-necessary parameter [skip ci]
* Remove bitcoin specific code from main lib
Fix possible runtime exception from list wrong access
* Minor fix
* fix: fixes for Testnet
* fix: bitcoin receive option dependency breaks monerocom
* Fix issues when building Monero.com
* feat: Transaction Builder changes
* fix: discover addresses, testnet restoring, duplicate unspent coins, and taproot address vs schnorr sig tweak
* fix: remove print
* feat: improve error when failed broadcast response
* feat: create fish shell env script
* fix: unmodifiable maps
* fix: build
* fix: build
* fix: computed observable side effect bug
* feat: add nix script for android build_all
* fix: wrong keypairs used for signing
* fix: wrong addresses when using fromScriptPubKey scripts
* fix(actual commit): testnet tx expanded + wrong addresses when using fromScriptPubKey scripts (update bitcoin_base deps)
* fix: self-send [skip ci]
* fix: p2wsh
* fix: testnet fees
* New versions
* Update macos build number
Minor UI fix
* fix: use new bitcoin_base ref, fix tx list wrong hex value & refactor hidden vs hd use
- if always use sideHd for isHidden, it is easier to simplify the functions instead of passing both which can be error prone
- (ps: now this could probably be changed, for example from isHidden to isChange since with address list we now see "hidden" addresses)
* Fix if condition to handle litecoin case
* fix: self-send, change address was always making direction incoming
* refactor: improve estimation function, add more inputs if balance missing
* fix: new bitcoin_base update, fixes script issues
* Update evm chain wallet service arguments
* Fix translation [skip ci]
* Fix translation [skip ci]
* Update strings_fr.arb [skip ci]
* fix: async isChange function not being awaited, refactor to reduce looping into a single place
* fix: _address vs address, missing p2sh
* fix: minor mistake in storing p2sh page type [skip ci]
* refactor: use already matched addresses property
* feat: improved perfomance for fetching transaction histories
* feat: continue perfomance change, improve address discovery only to last address by type with history
* fix: make sure transaction list is sorted by date
* refactor: isTestnet only for bitcoin
* fix: walletInfo type null case
* fix: deprecated p2pk
* refactor: make condition more readable
* refactor: remove unnecessary Str variant
* refactor: make condition more readable
* fix: infinite loop possible
* Revert removing isTestnet from other wallets [skip ci]
* refactor: rename addresses when matched by receive type
* Make the beta build [skip ci]
Remove app_env.fish
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2024-02-23 16:13:30 +00:00
|
|
|
final args = settings.arguments as Map<String, dynamic>;
|
|
|
|
final type = args['type'] as WalletType;
|
|
|
|
final useTestnet = args['useTestnet'] as bool;
|
|
|
|
final toggleTestnet = args['toggleTestnet'] as Function(bool? val);
|
2022-10-05 13:58:25 +00:00
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(
|
2022-12-04 03:08:42 +00:00
|
|
|
builder: (_) => AdvancedPrivacySettingsPage(
|
Btc address types (#1263)
* inital migration changes
* feat: rest of changes
* minor fix [skip ci]
* fix: P2wshAddress & wallet address index
* fix: address review comments
* fix: address type restore
* feat: add testnet
* Fix review comments
Remove bitcoin_base from cw_core
* Fix address not matching selected type on start
* remove un-necessary parameter [skip ci]
* Remove bitcoin specific code from main lib
Fix possible runtime exception from list wrong access
* Minor fix
* fix: fixes for Testnet
* fix: bitcoin receive option dependency breaks monerocom
* Fix issues when building Monero.com
* feat: Transaction Builder changes
* fix: discover addresses, testnet restoring, duplicate unspent coins, and taproot address vs schnorr sig tweak
* fix: remove print
* feat: improve error when failed broadcast response
* feat: create fish shell env script
* fix: unmodifiable maps
* fix: build
* fix: build
* fix: computed observable side effect bug
* feat: add nix script for android build_all
* fix: wrong keypairs used for signing
* fix: wrong addresses when using fromScriptPubKey scripts
* fix(actual commit): testnet tx expanded + wrong addresses when using fromScriptPubKey scripts (update bitcoin_base deps)
* fix: self-send [skip ci]
* fix: p2wsh
* fix: testnet fees
* New versions
* Update macos build number
Minor UI fix
* fix: use new bitcoin_base ref, fix tx list wrong hex value & refactor hidden vs hd use
- if always use sideHd for isHidden, it is easier to simplify the functions instead of passing both which can be error prone
- (ps: now this could probably be changed, for example from isHidden to isChange since with address list we now see "hidden" addresses)
* Fix if condition to handle litecoin case
* fix: self-send, change address was always making direction incoming
* refactor: improve estimation function, add more inputs if balance missing
* fix: new bitcoin_base update, fixes script issues
* Update evm chain wallet service arguments
* Fix translation [skip ci]
* Fix translation [skip ci]
* Update strings_fr.arb [skip ci]
* fix: async isChange function not being awaited, refactor to reduce looping into a single place
* fix: _address vs address, missing p2sh
* fix: minor mistake in storing p2sh page type [skip ci]
* refactor: use already matched addresses property
* feat: improved perfomance for fetching transaction histories
* feat: continue perfomance change, improve address discovery only to last address by type with history
* fix: make sure transaction list is sorted by date
* refactor: isTestnet only for bitcoin
* fix: walletInfo type null case
* fix: deprecated p2pk
* refactor: make condition more readable
* refactor: remove unnecessary Str variant
* refactor: make condition more readable
* fix: infinite loop possible
* Revert removing isTestnet from other wallets [skip ci]
* refactor: rename addresses when matched by receive type
* Make the beta build [skip ci]
Remove app_env.fish
---------
Co-authored-by: OmarHatem <omarh.ismail1@gmail.com>
2024-02-23 16:13:30 +00:00
|
|
|
useTestnet,
|
|
|
|
toggleTestnet,
|
|
|
|
getIt.get<AdvancedPrivacySettingsViewModel>(param1: type),
|
|
|
|
getIt.get<NodeCreateOrEditViewModel>(param1: type, param2: false),
|
|
|
|
getIt.get<SeedTypeViewModel>(),
|
|
|
|
));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
2023-03-24 15:26:42 +00:00
|
|
|
case Routes.anonPayInvoicePage:
|
|
|
|
final args = settings.arguments as List;
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<AnonPayInvoicePage>(param1: args));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
2023-03-24 15:26:42 +00:00
|
|
|
case Routes.anonPayReceivePage:
|
2023-10-05 01:09:07 +00:00
|
|
|
final anonInvoiceViewData = settings.arguments as AnonpayInfoBase;
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<AnonPayReceivePage>(param1: anonInvoiceViewData));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
2023-03-24 15:26:42 +00:00
|
|
|
case Routes.anonPayDetailsPage:
|
|
|
|
final anonInvoiceViewData = settings.arguments as AnonpayInvoiceInfo;
|
2023-10-05 01:09:07 +00:00
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<AnonpayDetailsPage>(param1: anonInvoiceViewData));
|
2023-04-14 04:39:08 +00:00
|
|
|
|
|
|
|
case Routes.desktop_actions:
|
|
|
|
return PageRouteBuilder(
|
|
|
|
opaque: false,
|
|
|
|
pageBuilder: (_, __, ___) => DesktopDashboardActions(getIt<DashboardViewModel>()),
|
|
|
|
);
|
|
|
|
|
|
|
|
case Routes.desktop_settings_page:
|
2023-10-19 16:25:44 +00:00
|
|
|
return CupertinoPageRoute<void>(builder: (_) => getIt.get<DesktopSettingsPage>());
|
2023-04-14 04:39:08 +00:00
|
|
|
|
|
|
|
case Routes.empty_no_route:
|
2023-10-05 01:09:07 +00:00
|
|
|
return MaterialPageRoute<void>(builder: (_) => SizedBox.shrink());
|
2023-04-14 04:39:08 +00:00
|
|
|
|
|
|
|
case Routes.transactionsPage:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
settings: settings,
|
|
|
|
fullscreenDialog: true,
|
|
|
|
builder: (_) => getIt.get<TransactionsPage>());
|
|
|
|
|
2023-05-17 14:43:23 +00:00
|
|
|
case Routes.setup_2faPage:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<Setup2FAPage>());
|
|
|
|
|
|
|
|
case Routes.setup_2faQRPage:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<Setup2FAQRPage>());
|
|
|
|
|
|
|
|
case Routes.modify2FAPage:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<Modify2FAPage>());
|
|
|
|
|
2023-12-30 19:55:17 +00:00
|
|
|
case Routes.setup2faInfoPage:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<Setup2FAInfoPage>());
|
|
|
|
|
2023-08-04 17:01:49 +00:00
|
|
|
case Routes.homeSettings:
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
builder: (_) => getIt.get<HomeSettingsPage>(param1: settings.arguments),
|
|
|
|
);
|
|
|
|
|
|
|
|
case Routes.editToken:
|
|
|
|
final args = settings.arguments as Map<String, dynamic>;
|
|
|
|
|
|
|
|
return CupertinoPageRoute<void>(
|
|
|
|
settings: RouteSettings(name: Routes.editToken),
|
|
|
|
builder: (_) => getIt.get<EditTokenPage>(
|
|
|
|
param1: args['homeSettingsViewModel'],
|
|
|
|
param2: {
|
|
|
|
'token': args['token'],
|
|
|
|
'contractAddress': args['contractAddress'],
|
|
|
|
},
|
|
|
|
),
|
|
|
|
);
|
|
|
|
|
2023-08-04 17:55:56 +00:00
|
|
|
case Routes.manageNodes:
|
2023-10-05 01:09:07 +00:00
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<ManageNodesPage>(param1: false));
|
|
|
|
|
|
|
|
case Routes.managePowNodes:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<ManageNodesPage>(param1: true));
|
2023-08-04 17:55:56 +00:00
|
|
|
|
2023-11-02 14:41:11 +00:00
|
|
|
case Routes.walletConnectConnectionsListing:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => WalletConnectConnectionsView(
|
|
|
|
web3walletService: getIt.get<Web3WalletService>(),
|
|
|
|
launchUri: settings.arguments as Uri?,
|
|
|
|
));
|
2023-11-22 17:43:26 +00:00
|
|
|
|
|
|
|
case Routes.nftDetailsPage:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => NFTDetailsPage(
|
|
|
|
nftAsset: settings.arguments as NFTAssetModel,
|
|
|
|
dashboardViewModel: getIt.get<DashboardViewModel>(),
|
|
|
|
),
|
|
|
|
);
|
|
|
|
|
|
|
|
case Routes.importNFTPage:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => ImportNFTPage(
|
|
|
|
nftViewModel: settings.arguments as NFTViewModel,
|
|
|
|
),
|
|
|
|
);
|
|
|
|
|
2023-11-18 13:43:15 +00:00
|
|
|
case Routes.torPage:
|
|
|
|
return MaterialPageRoute<void>(builder: (_) => getIt.get<TorPage>());
|
|
|
|
|
2024-05-05 01:44:50 +00:00
|
|
|
case Routes.connectDevices:
|
|
|
|
final params = settings.arguments as ConnectDevicePageParams;
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => ConnectDevicePage(params, getIt.get<LedgerViewModel>()));
|
|
|
|
|
2020-10-19 11:20:24 +00:00
|
|
|
default:
|
|
|
|
return MaterialPageRoute<void>(
|
|
|
|
builder: (_) => Scaffold(
|
2023-10-05 01:09:07 +00:00
|
|
|
body: Center(child: Text(S.current.router_no_route(settings.name ?? 'No route')))));
|
2020-01-04 19:31:52 +00:00
|
|
|
}
|
2020-11-06 18:54:00 +00:00
|
|
|
}
|