dev
dart 49 lines 2.18 KB
Raw
1 import 'dart:async';
2 import 'package:cake_wallet/reactions/fiat_rate_update.dart';
3 import 'package:cake_wallet/reactions/on_current_fiat_api_mode_change.dart';
4 import 'package:cake_wallet/reactions/on_current_node_change.dart';
5 import 'package:flutter/cupertino.dart';
6 import 'package:flutter/widgets.dart';
7 import 'package:shared_preferences/shared_preferences.dart';
8 import 'package:cake_wallet/di.dart';
9 import 'package:cake_wallet/entities/preferences_key.dart';
10 import 'package:cake_wallet/reactions/on_authentication_state_change.dart';
11 import 'package:cake_wallet/reactions/on_current_fiat_change.dart';
12 import 'package:cake_wallet/reactions/on_current_wallet_change.dart';
13 import 'package:cake_wallet/store/app_store.dart';
14 import 'package:cake_wallet/store/settings_store.dart';
15 import 'package:cake_wallet/store/authentication_store.dart';
16 import 'package:cake_wallet/store/dashboard/fiat_conversion_store.dart';
17 import 'package:cake_wallet/core/node_switching_service.dart';
18 import 'package:cake_wallet/utils/feature_flag.dart';
19
20 Future<void> bootstrapOffline() async {
21 final authenticationStore = getIt.get<AuthenticationStore>();
22
23 final currentWalletName =
24 getIt.get<SharedPreferences>().getString(PreferencesKey.currentWalletName);
25 if (currentWalletName != null) {
26 authenticationStore.installed();
27 }
28 }
29
30 void bootstrapOnline(GlobalKey<NavigatorState> navigatorKey, {required bool loadWallet}) {
31 final appStore = getIt.get<AppStore>();
32 final authenticationStore = getIt.get<AuthenticationStore>();
33 final settingsStore = getIt.get<SettingsStore>();
34 final fiatConversionStore = getIt.get<FiatConversionStore>();
35
36 if (loadWallet) {
37 startAuthenticationStateChange(authenticationStore, navigatorKey);
38 }
39
40 startCurrentWalletChangeReaction(appStore, settingsStore, fiatConversionStore);
41 startCurrentFiatChangeReaction(appStore, settingsStore, fiatConversionStore);
42 startCurrentFiatApiModeChangeReaction(appStore, settingsStore, fiatConversionStore);
43 startOnCurrentNodeChangeReaction(appStore);
44 startFiatRateUpdate(appStore, settingsStore, fiatConversionStore);
45
46 if (FeatureFlag.isAutomaticNodeSwitchingEnabled) {
47 getIt.get<NodeSwitchingService>().startHealthCheckTimer();
48 }
49 }