dev
dart 21 lines 934 Bytes
Raw
1 import 'package:cake_wallet/di.dart';
2 import 'package:shared_preferences/shared_preferences.dart';
3 import 'package:cake_wallet/store/app_store.dart';
4 import 'package:cake_wallet/entities/preferences_key.dart';
5 import 'package:cw_core/wallet_type.dart';
6 import 'package:cake_wallet/core/wallet_loading_service.dart';
7
8 Future<void> loadCurrentWallet({String? password}) async {
9 final appStore = getIt.get<AppStore>();
10 final name = getIt.get<SharedPreferences>().getString(PreferencesKey.currentWalletName);
11 final typeRaw = getIt.get<SharedPreferences>().getInt(PreferencesKey.currentWalletType) ?? 0;
12
13 if (name == null) {
14 throw Exception('Incorrect current wallet name: $name');
15 }
16
17 final type = deserializeFromInt(typeRaw);
18 final walletLoadingService = getIt.get<WalletLoadingService>();
19 final wallet = await walletLoadingService.load(type, name, password: password);
20 await appStore.changeCurrentWallet(wallet);
21 }