re enable wallet deletion

This commit is contained in:
julian 2023-11-15 09:41:35 -06:00
parent 768ff83d04
commit 982cf99e5c
4 changed files with 25 additions and 40 deletions

View file

@ -261,7 +261,6 @@ class _VerifyRecoveryPhraseViewState
}
Future<void> delete() async {
await _wallet.exit();
await ref.read(pWallets).deleteWallet(
_wallet.walletId,
ref.read(secureStoreProvider),

View file

@ -16,6 +16,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_svg/svg.dart';
import 'package:stackwallet/notifications/show_flush_bar.dart';
import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table.dart';
import 'package:stackwallet/pages/home_view/home_view.dart';
import 'package:stackwallet/providers/global/secure_store_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
import 'package:stackwallet/utilities/clipboard_interface.dart';
@ -193,23 +196,15 @@ class _DeleteWalletRecoveryPhraseViewState
.extension<StackColors>()!
.getPrimaryEnabledButtonStyle(context),
onPressed: () async {
// TODO: [prio=high] wallet deletion
await ref.read(pWallets).deleteWallet(
widget.walletId,
ref.read(secureStoreProvider),
);
// final walletId = _manager.walletId;
// final walletsInstance = ref.read(pWallets);
// await ref
// .read(walletsServiceChangeNotifierProvider)
// .deleteWallet(_manager.walletName, true);
//
// if (mounted) {
// Navigator.of(context).popUntil(
// ModalRoute.withName(HomeView.routeName));
// }
//
// // wait for widget tree to dispose of any widgets watching the manager
// await Future<void>.delayed(
// const Duration(seconds: 1));
// walletsInstance.removeWallet(walletId: walletId);
if (mounted) {
Navigator.of(context).popUntil(
ModalRoute.withName(HomeView.routeName));
}
},
child: Text(
"Ok",

View file

@ -15,6 +15,8 @@ import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:stackwallet/notifications/show_flush_bar.dart';
import 'package:stackwallet/pages/add_wallet_views/new_wallet_recovery_phrase_view/sub_widgets/mnemonic_table.dart';
import 'package:stackwallet/providers/global/secure_store_provider.dart';
import 'package:stackwallet/providers/global/wallets_provider.dart';
import 'package:stackwallet/route_generator.dart';
import 'package:stackwallet/themes/stack_colors.dart';
import 'package:stackwallet/utilities/assets.dart';
@ -235,25 +237,14 @@ class _ConfirmDeleteState extends ConsumerState<ConfirmDelete> {
buttonHeight: ButtonHeight.xl,
label: "Continue",
onPressed: () async {
// TODO: [prio=high] wallet deletion
await ref.read(pWallets).deleteWallet(
widget.walletId,
ref.read(secureStoreProvider),
);
// final walletsInstance = ref.read(pWallets);
// final manager =
// ref.read(pWallets).getManager(widget.walletId);
//
// final _managerWalletId = manager.walletId;
// //
// await ref
// .read(walletsServiceChangeNotifierProvider)
// .deleteWallet(manager.walletName, true);
//
// if (mounted) {
// Navigator.of(context, rootNavigator: true).pop(true);
// }
//
// // wait for widget tree to dispose of any widgets watching the manager
// await Future<void>.delayed(const Duration(seconds: 1));
// walletsInstance.removeWallet(walletId: _managerWalletId);
if (mounted) {
Navigator.of(context, rootNavigator: true).pop(true);
}
},
),
],

View file

@ -84,7 +84,9 @@ class Wallets {
level: LogLevel.Warning,
);
final wallet = getWallet(walletId)!;
final wallet = getWallet(walletId);
_wallets.remove(walletId);
await wallet.exit();
await secureStorage.delete(key: Wallet.mnemonicKey(walletId: walletId));
await secureStorage.delete(
@ -321,9 +323,7 @@ class Wallets {
Future<void> _deleteWallet(String walletId) async {
// TODO proper clean up of other wallet data in addition to the following
await mainDB.isar.writeTxn(() async => await mainDB.isar.walletInfo
.where()
.walletIdEqualTo(walletId)
.deleteAll());
await mainDB.isar.writeTxn(
() async => await mainDB.isar.walletInfo.deleteByWalletId(walletId));
}
}