cake_wallet/lib/entities/load_current_wallet.dart

32 lines
1.1 KiB
Dart
Raw Normal View History

2020-09-21 11:50:26 +00:00
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';
2020-09-21 11:50:26 +00:00
import 'package:cake_wallet/entities/preferences_key.dart';
2021-12-24 12:37:24 +00:00
import 'package:cw_core/wallet_type.dart';
import 'package:cake_wallet/core/wallet_loading_service.dart';
2020-09-21 11:50:26 +00:00
Future<void> loadCurrentWallet({String? password}) async {
2020-09-21 11:50:26 +00:00
final appStore = getIt.get<AppStore>();
final name = getIt
.get<SharedPreferences>()
.getString(PreferencesKey.currentWalletName);
final typeRaw =
getIt.get<SharedPreferences>().getInt(PreferencesKey.currentWalletType) ??
0;
2022-10-12 17:09:57 +00:00
if (name == null) {
throw Exception('Incorrect current wallet name: $name');
}
2020-09-21 11:50:26 +00:00
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();
2020-09-21 11:50:26 +00:00
}