diff --git a/lib/di.dart b/lib/di.dart index 9dad3efb3..1dba56bc1 100644 --- a/lib/di.dart +++ b/lib/di.dart @@ -2,12 +2,14 @@ import 'package:cake_wallet/bitcoin/bitcoin_wallet_service.dart'; import 'package:cake_wallet/core/wallet_service.dart'; import 'package:cake_wallet/entities/biometric_auth.dart'; import 'package:cake_wallet/entities/contact_record.dart'; +import 'package:cake_wallet/entities/load_current_wallet.dart'; import 'package:cake_wallet/entities/transaction_description.dart'; import 'package:cake_wallet/entities/transaction_info.dart'; import 'package:cake_wallet/monero/monero_wallet_service.dart'; import 'package:cake_wallet/entities/contact.dart'; import 'package:cake_wallet/entities/node.dart'; import 'package:cake_wallet/exchange/trade.dart'; +import 'package:cake_wallet/reactions/on_authentication_state_change.dart'; import 'package:cake_wallet/src/screens/contact/contact_list_page.dart'; import 'package:cake_wallet/src/screens/contact/contact_page.dart'; @@ -199,6 +201,11 @@ Future setup( } authPageState.changeProcessText('Loading the wallet'); + + if (loginError != null) { + authPageState.changeProcessText('ERROR: ${loginError.toString()}'); + } + ReactionDisposer _reaction; _reaction = reaction((_) => appStore.wallet, (Object _) { _reaction?.reaction?.dispose(); diff --git a/lib/monero/monero_wallet_service.dart b/lib/monero/monero_wallet_service.dart index ac44147a4..91b9c184d 100644 --- a/lib/monero/monero_wallet_service.dart +++ b/lib/monero/monero_wallet_service.dart @@ -103,15 +103,15 @@ class MoneroWalletService extends WalletService< final isValid = await wallet.validate(); if (!isValid) { - if (wallet.seed?.isNotEmpty ?? false) { + // if (wallet.seed?.isNotEmpty ?? false) { // let restore from seed in this case; - final seed = wallet.seed; - final credentials = MoneroRestoreWalletFromSeedCredentials( - name: name, password: password, mnemonic: seed, height: 2000000) - ..walletInfo = walletInfo; - await remove(name); - return restoreFromSeed(credentials); - } + // final seed = wallet.seed; + // final credentials = MoneroRestoreWalletFromSeedCredentials( + // name: name, password: password, mnemonic: seed, height: 2000000) + // ..walletInfo = walletInfo; + // await remove(name); + // return restoreFromSeed(credentials); + // } throw MoneroWalletLoadingException(); } diff --git a/lib/reactions/on_authentication_state_change.dart b/lib/reactions/on_authentication_state_change.dart index 23b314e52..20325cf5d 100644 --- a/lib/reactions/on_authentication_state_change.dart +++ b/lib/reactions/on_authentication_state_change.dart @@ -7,13 +7,19 @@ import 'package:cake_wallet/store/authentication_store.dart'; ReactionDisposer _onAuthenticationStateChange; +dynamic loginError; + void startAuthenticationStateChange(AuthenticationStore authenticationStore, @required GlobalKey navigatorKey) { _onAuthenticationStateChange ??= autorun((_) async { final state = authenticationStore.state; if (state == AuthenticationState.installed) { - await loadCurrentWallet(); + try { + await loadCurrentWallet(); + } catch(e) { + loginError = e; + } return; }