diff --git a/lib/background/breez_service_initializer.dart b/lib/background/breez_service_initializer.dart index 9eea7423e..dda36a7be 100644 --- a/lib/background/breez_service_initializer.dart +++ b/lib/background/breez_service_initializer.dart @@ -12,8 +12,8 @@ Future initializeBreezServices() async { print("Is Breez Services initialized: $isBreezInitialized"); if (!isBreezInitialized) { final credentialsManager = CredentialsManager(keyChain: injector.keychain); - final credentials = await credentialsManager.restoreCredentials(); - final seed = bip39.mnemonicToSeed(credentials.mnemonic); + final mnemonic = await credentialsManager.restoreMnemonic(); + final seed = bip39.mnemonicToSeed(mnemonic); print("Retrieved credentials"); await breezLib.connect(config: (await Config.instance()).sdkConfig, seed: seed); print("Initialized Services"); diff --git a/lib/bloc/account/account_bloc.dart b/lib/bloc/account/account_bloc.dart index 885af7a55..b7681b796 100644 --- a/lib/bloc/account/account_bloc.dart +++ b/lib/bloc/account/account_bloc.dart @@ -72,7 +72,7 @@ class AccountBloc extends Cubit with HydratedMixin { String? mnemonic, }) async { if (mnemonic != null) { - await _credentialsManager.storeCredentials(mnemonic: mnemonic); + await _credentialsManager.storeMnemonic(mnemonic: mnemonic); emit(state.copyWith( initial: false, verificationStatus: VerificationStatus.VERIFIED, @@ -107,8 +107,8 @@ class AccountBloc extends Cubit with HydratedMixin { _log.v("starting sdk once"); try { emit(state.copyWith(connectionStatus: ConnectionStatus.CONNECTING)); - final credentials = await _credentialsManager.restoreCredentials(); - final seed = bip39.mnemonicToSeed(credentials.mnemonic); + final mnemonic = await _credentialsManager.restoreMnemonic(); + final seed = bip39.mnemonicToSeed(mnemonic); await _breezLib.connect(config: (await Config.instance()).sdkConfig, seed: seed); emit(state.copyWith(connectionStatus: ConnectionStatus.CONNECTED)); } catch (e) { diff --git a/lib/bloc/account/credential_manager.dart b/lib/bloc/account/credential_manager.dart index 49938b674..90233e309 100644 --- a/lib/bloc/account/credential_manager.dart +++ b/lib/bloc/account/credential_manager.dart @@ -1,4 +1,3 @@ -import 'dart:convert'; import 'dart:io'; import 'package:c_breez/services/keychain.dart'; @@ -13,7 +12,7 @@ class CredentialsManager { CredentialsManager({required this.keyChain}); - Future storeCredentials({ + Future storeMnemonic({ required String mnemonic, }) async { try { @@ -24,11 +23,11 @@ class CredentialsManager { } } - Future restoreCredentials() async { + Future restoreMnemonic() async { try { - String mnemonic = await _restoreMnemonic(); + String? mnemonicStr = await keyChain.read(accountMnemonic); _log.i("Restored credentials successfully"); - return Credentials(mnemonic: mnemonic); + return mnemonicStr!; } catch (err) { throw Exception(err.toString()); } @@ -39,37 +38,16 @@ class CredentialsManager { await keyChain.write(accountMnemonic, mnemonic); } - Future _restoreMnemonic() async { - String? mnemonicStr = await keyChain.read(accountMnemonic); - return mnemonicStr!; - } - Future> exportCredentials() async { try { final Directory tempDir = await getTemporaryDirectory(); var keysDir = tempDir.createTempSync("keys"); - final File credentialsFile = await File('${keysDir.path}/creds').create(recursive: true); - Credentials credentials = await restoreCredentials(); - credentialsFile.writeAsString(jsonEncode(credentials)); final File mnemonicFile = await File('${keysDir.path}/phrase').create(recursive: true); - mnemonicFile.writeAsString(credentials.mnemonic); - return [credentialsFile, mnemonicFile]; + String mnemonic = await restoreMnemonic(); + mnemonicFile.writeAsString(mnemonic); + return [mnemonicFile]; } catch (e) { throw e.toString(); } } } - -class Credentials { - final String mnemonic; - - Credentials({required this.mnemonic}); - - Credentials.fromJson( - Map json, - ) : mnemonic = json['mnemonic']; - - Map toJson() => { - 'mnemonic': mnemonic, - }; -}