Generic fixes (#1605)

* minor fixes * fix not saving wallet password to secure storage * cache linux deps as well

Omar Hatem committed Aug 13, 2024 at 22:51 UTC 525df820c3f6bccf7d2f1b419ae261d015bee37f
6 files changed +23 -27
.github/workflows/cache_dependencies.yml
+4 -1
@@ -60,7 +60,7 @@ jobs:
60 path: |
61 /opt/android/cake_wallet/cw_haven/android/.cxx
62 /opt/android/cake_wallet/scripts/monero_c/release
63 - key: ${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh') }}
63 + key: ${{ hashFiles('**/prepare_moneroc.sh' ,'**/build_monero_all.sh' ,'**/cache_dependencies.yml') }}
64
65 - if: ${{ steps.cache-externals.outputs.cache-hit != 'true' }}
66 name: Generate Externals
@@ -68,3 +68,6 @@ jobs:
68 cd /opt/android/cake_wallet/scripts/android/
69 source ./app_env.sh cakewallet
70 ./build_monero_all.sh
71 + cd ../linux/
72 + source ./app_env.sh cakewallet
73 + ./build_monero_all.sh
cw_monero/lib/api/wallet_manager.dart
-3
@@ -8,10 +8,7 @@ import 'package:cw_monero/api/exceptions/wallet_opening_exception.dart';
8 import 'package:cw_monero/api/exceptions/wallet_restore_from_keys_exception.dart';
9 import 'package:cw_monero/api/exceptions/wallet_restore_from_seed_exception.dart';
10 import 'package:cw_monero/api/wallet.dart';
11 -import 'package:flutter/foundation.dart';
11 import 'package:cw_monero/api/transaction_history.dart';
13 -import 'package:cw_monero/api/wallet.dart';
14 -import 'package:flutter/foundation.dart';
12 import 'package:monero/monero.dart' as monero;
13
14 class MoneroCException implements Exception {
lib/core/wallet_creation_service.dart
+6 -7
@@ -1,4 +1,3 @@
1 -import 'package:cake_wallet/core/secure_storage.dart';
1 import 'package:cake_wallet/di.dart';
2 import 'package:cake_wallet/store/settings_store.dart';
3 import 'package:cw_core/wallet_info.dart';
@@ -57,9 +56,9 @@ class WalletCreationService {
56
57 if (credentials.password == null) {
58 credentials.password = generateWalletPassword();
60 - await keyService.saveWalletPassword(
61 - password: credentials.password!, walletName: credentials.name);
59 }
60 + await keyService.saveWalletPassword(
61 + password: credentials.password!, walletName: credentials.name);
62
63 if (_hasSeedPhraseLengthOption) {
64 credentials.seedPhraseLength = settingsStore.seedPhraseLength.value;
@@ -99,9 +98,9 @@ class WalletCreationService {
98
99 if (credentials.password == null) {
100 credentials.password = generateWalletPassword();
102 - await keyService.saveWalletPassword(
103 - password: credentials.password!, walletName: credentials.name);
101 }
102 + await keyService.saveWalletPassword(
103 + password: credentials.password!, walletName: credentials.name);
104
105 final wallet = await _service!.restoreFromKeys(credentials, isTestnet: isTestnet);
106
@@ -118,9 +117,9 @@ class WalletCreationService {
117
118 if (credentials.password == null) {
119 credentials.password = generateWalletPassword();
121 - await keyService.saveWalletPassword(
122 - password: credentials.password!, walletName: credentials.name);
120 }
121 + await keyService.saveWalletPassword(
122 + password: credentials.password!, walletName: credentials.name);
123
124 final wallet = await _service!.restoreFromSeed(credentials, isTestnet: isTestnet);
125
lib/src/screens/new_wallet/new_wallet_page.dart
+6 -6
@@ -75,7 +75,7 @@ class _WalletNameFormState extends State<WalletNameForm> {
75 _walletNewVM.hasWalletPassword ? TextEditingController() : null;
76
77 static const aspectRatioImage = 1.22;
78 - static bool formProcessing = false;
78 + bool _formProcessing = false;
79
80 final GlobalKey<FormState> _formKey;
81 final GlobalKey<SeedLanguageSelectorState> _languageSelectorKey;
@@ -350,11 +350,11 @@ class _WalletNameFormState extends State<WalletNameForm> {
350 }
351
352 void _confirmForm() async {
353 - if (formProcessing) return;
354 - formProcessing = true;
353 + if (_formProcessing) return;
354 + _formProcessing = true;
355 try {
356 if (_formKey.currentState != null && !_formKey.currentState!.validate()) {
357 - formProcessing = false;
357 + _formProcessing = false;
358 return;
359 }
360 if (_walletNewVM.nameExists(_walletNewVM.name)) {
@@ -374,10 +374,10 @@ class _WalletNameFormState extends State<WalletNameForm> {
374 : null);
375 }
376 } catch (e) {
377 - formProcessing = false;
377 + _formProcessing = false;
378 rethrow;
379 }
380 - formProcessing = false;
380 + _formProcessing = false;
381 }
382
383 bool get isPolyseed => widget._seedTypeViewModel.moneroSeedType == SeedType.polyseed;
lib/src/screens/restore/wallet_restore_page.dart
+7 -8
@@ -2,7 +2,6 @@ import 'package:cake_wallet/core/execution_state.dart';
2 import 'package:cake_wallet/generated/i18n.dart';
3 import 'package:cake_wallet/routes.dart';
4 import 'package:cake_wallet/src/screens/base_page.dart';
5 -import 'package:cake_wallet/src/screens/new_wallet/new_wallet_page.dart';
5 import 'package:cake_wallet/src/screens/restore/wallet_restore_from_keys_form.dart';
6 import 'package:cake_wallet/src/screens/restore/wallet_restore_from_seed_form.dart';
7 import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
@@ -81,7 +80,7 @@ class WalletRestorePage extends BasePage {
80 });
81 }
82
84 - static bool formProcessing = false;
83 + bool _formProcessing = false;
84
85 @override
86 Widget middle(BuildContext context) => Observer(
@@ -353,8 +352,8 @@ class WalletRestorePage extends BasePage {
352 }
353
354 Future<void> _confirmForm(BuildContext context) async {
356 - if (formProcessing) return;
357 - formProcessing = true;
355 + if (_formProcessing) return;
356 + _formProcessing = true;
357 try {
358 // Dismissing all visible keyboard to provide context for navigation
359 FocusManager.instance.primaryFocus?.unfocus();
@@ -373,13 +372,13 @@ class WalletRestorePage extends BasePage {
372 }
373
374 if (!formKey!.currentState!.validate()) {
376 - formProcessing = false;
375 + _formProcessing = false;
376 return;
377 }
378
379 if (walletRestoreViewModel.nameExists(name)) {
380 showNameExistsAlert(formContext!);
382 - formProcessing = false;
381 + _formProcessing = false;
382 return;
383 }
384
@@ -428,10 +427,10 @@ class WalletRestorePage extends BasePage {
427
428 await walletRestoreViewModel.create(options: _credentials());
429 } catch (e) {
431 - formProcessing = false;
430 + _formProcessing = false;
431 rethrow;
432 }
434 - formProcessing = false;
433 + _formProcessing = false;
434 }
435
436 Future<void> showNameExistsAlert(BuildContext context) {
lib/view_model/wallet_creation_vm.dart
-2
@@ -110,8 +110,6 @@ abstract class WalletCreationVMBase with Store {
110 _appStore.authenticationStore.allowed();
111 state = ExecutedSuccessfullyState();
112 } catch (e, s) {
113 - print("@@@@@@@@");
114 - print(s);
113 state = FailureState(e.toString());
114 }
115 }