cake_wallet/lib/entities/load_current_wallet.dart
OmarHatem d106e14e74 Merge branch 'main' of https://github.com/cake-tech/cake_wallet into linux/password-direct-input
 Conflicts:
	cw_bitcoin/pubspec.yaml
	cw_core/lib/wallet_base.dart
	cw_monero/ios/Classes/monero_api.cpp
	lib/core/backup_service.dart
	lib/core/wallet_loading_service.dart
	lib/di.dart
	lib/main.dart
	lib/router.dart
	lib/src/screens/exchange/exchange_page.dart
	lib/src/screens/send/send_page.dart
	lib/src/screens/settings/security_backup_page.dart
	lib/src/screens/setup_2fa/setup_2fa_enter_code_page.dart
	lib/src/screens/wallet_list/wallet_list_page.dart
	lib/src/widgets/address_text_field.dart
	lib/store/settings_store.dart
	lib/view_model/exchange/exchange_view_model.dart
	lib/view_model/wallet_creation_vm.dart
	lib/view_model/wallet_new_vm.dart
	res/values/strings_yo.arb
	tool/configure.dart
2023-08-07 20:23:27 +03:00

31 lines
1.1 KiB
Dart

import 'package:cake_wallet/di.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:cake_wallet/store/app_store.dart';
import 'package:cake_wallet/entities/background_tasks.dart';
import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cw_core/wallet_type.dart';
import 'package:cake_wallet/core/wallet_loading_service.dart';
Future<void> loadCurrentWallet({String? password}) async {
final appStore = getIt.get<AppStore>();
final name = getIt
.get<SharedPreferences>()
.getString(PreferencesKey.currentWalletName);
final typeRaw =
getIt.get<SharedPreferences>().getInt(PreferencesKey.currentWalletType) ??
0;
if (name == null) {
throw Exception('Incorrect current wallet name: $name');
}
final type = deserializeFromInt(typeRaw);
final walletLoadingService = getIt.get<WalletLoadingService>();
final wallet = await walletLoadingService.load(
type,
name,
password: password);
appStore.changeCurrentWallet(wallet);
getIt.get<BackgroundTasks>().registerSyncTask();
}