fix: Wallet type check when registering key service (#1111)

* fix: Wallet type check when registering key service * fix: WalletConnect dependency registration

Adegoke David committed Oct 5, 2023 at 13:04 UTC bad9b4c60890f950cd9ecaf917be14bbe633d731
2 files changed +9 -5
lib/di.dart
+7 -3
@@ -740,9 +740,13 @@ Future<void> setup({
740 return PowNodeListViewModel(_powNodeSource, appStore);
741 });
742
743 - getIt.registerFactory(
744 - () => ConnectionSyncPage(getIt.get<DashboardViewModel>(), getIt.get<Web3WalletService>()),
745 - );
743 + getIt.registerFactory(() {
744 + final wallet = getIt.get<AppStore>().wallet;
745 + return ConnectionSyncPage(
746 + getIt.get<DashboardViewModel>(),
747 + wallet?.type == WalletType.ethereum ? getIt.get<Web3WalletService>() : null,
748 + );
749 + });
750
751 getIt.registerFactory(
752 () => SecurityBackupPage(getIt.get<SecuritySettingsViewModel>(), getIt.get<AuthService>()));
lib/src/screens/settings/connection_sync_page.dart
+2 -2
@@ -23,7 +23,7 @@ class ConnectionSyncPage extends BasePage {
23 @override
24 String get title => S.current.connection_sync;
25
26 - final Web3WalletService web3walletService;
26 + final Web3WalletService? web3walletService;
27 final DashboardViewModel dashboardViewModel;
28
29 @override
@@ -91,7 +91,7 @@ class ConnectionSyncPage extends BasePage {
91 Navigator.of(context).push(
92 MaterialPageRoute(
93 builder: (context) {
94 - return WalletConnectConnectionsView(web3walletService: web3walletService);
94 + return WalletConnectConnectionsView(web3walletService: web3walletService!);
95 },
96 ),
97 );