Hide "Show Seed" Option on Hardware Wallets (#1463)
Konstantin Ullrich committed
May 25, 2024 at 16:59 UTC
8c1206ea04ac64ff43a35ffac7d3a73ec564d7fb
2 files changed
+19
-17
lib/di.dart
+7
-7
@@ -14,6 +14,7 @@ import 'package:cake_wallet/buy/robinhood/robinhood_buy_provider.dart';
14
import 'package:cake_wallet/core/auth_service.dart';
15
import 'package:cake_wallet/core/backup_service.dart';
16
import 'package:cake_wallet/core/key_service.dart';
17
+import 'package:cake_wallet/core/secure_storage.dart';
18
import 'package:cake_wallet/core/wallet_connect/wallet_connect_key_service.dart';
19
import 'package:cake_wallet/core/wallet_connect/wc_bottom_sheet_service.dart';
20
import 'package:cake_wallet/core/wallet_connect/web3wallet_service.dart';
@@ -26,10 +27,6 @@ import 'package:cake_wallet/entities/contact.dart';
27
import 'package:cake_wallet/entities/contact_record.dart';
28
import 'package:cake_wallet/entities/exchange_api_mode.dart';
29
import 'package:cake_wallet/entities/parse_address_from_domain.dart';
29
-import 'package:cake_wallet/view_model/link_view_model.dart';
30
-import 'package:cake_wallet/tron/tron.dart';
31
-import 'package:cake_wallet/src/screens/transaction_details/rbf_details_page.dart';
32
-import 'package:cw_core/receive_page_option.dart';
30
import 'package:cake_wallet/entities/qr_view_data.dart';
31
import 'package:cake_wallet/entities/template.dart';
32
import 'package:cake_wallet/entities/transaction_description.dart';
@@ -124,6 +121,7 @@ import 'package:cake_wallet/src/screens/support/support_page.dart';
121
import 'package:cake_wallet/src/screens/support_chat/support_chat_page.dart';
122
import 'package:cake_wallet/src/screens/support_other_links/support_other_links_page.dart';
123
import 'package:cake_wallet/src/screens/trade_details/trade_details_page.dart';
124
+import 'package:cake_wallet/src/screens/transaction_details/rbf_details_page.dart';
125
import 'package:cake_wallet/src/screens/transaction_details/transaction_details_page.dart';
126
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_details_page.dart';
127
import 'package:cake_wallet/src/screens/unspent_coins/unspent_coins_list_page.dart';
@@ -147,6 +145,7 @@ import 'package:cake_wallet/store/templates/send_template_store.dart';
145
import 'package:cake_wallet/store/wallet_list_store.dart';
146
import 'package:cake_wallet/store/yat/yat_store.dart';
147
import 'package:cake_wallet/themes/theme_list.dart';
148
+import 'package:cake_wallet/tron/tron.dart';
149
import 'package:cake_wallet/utils/device_info.dart';
150
import 'package:cake_wallet/utils/payment_request.dart';
151
import 'package:cake_wallet/utils/responsive_layout_util.dart';
@@ -179,6 +178,7 @@ import 'package:cake_wallet/view_model/ionia/ionia_gift_card_details_view_model.
178
import 'package:cake_wallet/view_model/ionia/ionia_gift_cards_list_view_model.dart';
179
import 'package:cake_wallet/view_model/ionia/ionia_payment_status_view_model.dart';
180
import 'package:cake_wallet/view_model/ionia/ionia_purchase_merch_view_model.dart';
181
+import 'package:cake_wallet/view_model/link_view_model.dart';
182
import 'package:cake_wallet/view_model/monero_account_list/account_list_item.dart';
183
import 'package:cake_wallet/view_model/monero_account_list/monero_account_edit_or_create_view_model.dart';
184
import 'package:cake_wallet/view_model/monero_account_list/monero_account_list_view_model.dart';
@@ -222,6 +222,7 @@ import 'package:cake_wallet/view_model/wallet_seed_view_model.dart';
222
import 'package:cw_core/crypto_currency.dart';
223
import 'package:cw_core/nano_account.dart';
224
import 'package:cw_core/node.dart';
225
+import 'package:cw_core/receive_page_option.dart';
226
import 'package:cw_core/transaction_info.dart';
227
import 'package:cw_core/unspent_coins_info.dart';
228
import 'package:cw_core/wallet_info.dart';
@@ -233,7 +234,6 @@ import 'package:get_it/get_it.dart';
234
import 'package:hive/hive.dart';
235
import 'package:mobx/mobx.dart';
236
import 'package:shared_preferences/shared_preferences.dart';
236
-import 'package:cake_wallet/core/secure_storage.dart';
237
238
import 'buy/dfx/dfx_buy_provider.dart';
239
import 'core/totp_request_details.dart';
@@ -795,8 +795,8 @@ Future<void> setup({
795
796
getIt.registerFactory(() => ConnectionSyncPage(getIt.get<DashboardViewModel>()));
797
798
- getIt.registerFactory(
799
- () => SecurityBackupPage(getIt.get<SecuritySettingsViewModel>(), getIt.get<AuthService>()));
798
+ getIt.registerFactory(() => SecurityBackupPage(getIt.get<SecuritySettingsViewModel>(),
799
+ getIt.get<AuthService>(), getIt.get<AppStore>().wallet!.isHardwareWallet));
800
801
getIt.registerFactory(() => PrivacyPage(getIt.get<PrivacySettingsViewModel>()));
802
lib/src/screens/settings/security_backup_page.dart
+12
-10
@@ -9,14 +9,13 @@ import 'package:cake_wallet/src/screens/pin_code/pin_code_widget.dart';
9
import 'package:cake_wallet/src/screens/settings/widgets/settings_cell_with_arrow.dart';
10
import 'package:cake_wallet/src/screens/settings/widgets/settings_picker_cell.dart';
11
import 'package:cake_wallet/src/screens/settings/widgets/settings_switcher_cell.dart';
12
-import 'package:cake_wallet/src/widgets/standard_list.dart';
12
import 'package:cake_wallet/utils/device_info.dart';
13
import 'package:cake_wallet/view_model/settings/security_settings_view_model.dart';
14
import 'package:flutter/material.dart';
15
import 'package:flutter_mobx/flutter_mobx.dart';
16
17
class SecurityBackupPage extends BasePage {
19
- SecurityBackupPage(this._securitySettingsViewModel, this._authService);
18
+ SecurityBackupPage(this._securitySettingsViewModel, this._authService, [this._isHardwareWallet = false]);
19
20
final AuthService _authService;
21
@@ -25,20 +24,23 @@ class SecurityBackupPage extends BasePage {
24
25
final SecuritySettingsViewModel _securitySettingsViewModel;
26
27
+ final bool _isHardwareWallet;
28
+
29
@override
30
Widget body(BuildContext context) {
31
return Container(
32
padding: EdgeInsets.only(top: 10),
33
child: Column(mainAxisSize: MainAxisSize.min, children: [
33
- SettingsCellWithArrow(
34
- title: S.current.show_keys,
35
- handler: (_) => _authService.authenticateAction(
36
- context,
37
- route: Routes.showKeys,
38
- conditionToDetermineIfToUse2FA: _securitySettingsViewModel
39
- .shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
34
+ if (!_isHardwareWallet)
35
+ SettingsCellWithArrow(
36
+ title: S.current.show_keys,
37
+ handler: (_) => _authService.authenticateAction(
38
+ context,
39
+ route: Routes.showKeys,
40
+ conditionToDetermineIfToUse2FA:
41
+ _securitySettingsViewModel.shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
42
+ ),
43
),
41
- ),
44
SettingsCellWithArrow(
45
title: S.current.create_backup,
46
handler: (_) => _authService.authenticateAction(