diff --git a/lib/pages/main/tab_settings/components/erase_wallet_data_button.dart b/lib/pages/main/tab_settings/components/erase_wallet_data_button.dart index fc0f1b2d..c14b9b88 100644 --- a/lib/pages/main/tab_settings/components/erase_wallet_data_button.dart +++ b/lib/pages/main/tab_settings/components/erase_wallet_data_button.dart @@ -7,6 +7,7 @@ import 'package:qubic_wallet/l10n/l10n.dart'; import 'package:qubic_wallet/pages/auth/erase_wallet_sheet.dart'; import 'package:qubic_wallet/resources/hive_storage.dart'; import 'package:qubic_wallet/resources/secure_storage.dart'; +import 'package:qubic_wallet/services/wallet_connect_service.dart'; import 'package:qubic_wallet/stores/application_store.dart'; import 'package:qubic_wallet/stores/settings_store.dart'; import 'package:qubic_wallet/styles/text_styles.dart'; @@ -20,6 +21,8 @@ class EraseWalletDataButton extends StatelessWidget { final SecureStorage secureStorage = getIt(); final _globalSnackBar = getIt(); final TimedController timedController = getIt(); + final WalletConnectService _walletConnectService = + getIt(); EraseWalletDataButton({super.key}); @override @@ -41,6 +44,10 @@ class EraseWalletDataButton extends StatelessWidget { builder: (BuildContext context) { return SafeArea( child: EraseWalletSheet(onAccept: () async { + // Disconnect WalletConnect sessions before erasing wallet + if (_walletConnectService.web3Wallet != null) { + _walletConnectService.disconnect(); + } await secureStorage.deleteWallet(); await settingsStore.loadSettings(); await _hiveStorage.clear();