Fix restoring duplicate hardware wallet (#2673)
Omar Hatem committed
Nov 24, 2025 at 23:13 UTC
a4a6e2e3e9fa83591d1a0da240b197b1c2fc2c45
1 file changed
+6
-9
lib/view_model/wallet_creation_vm.dart
+6
-9
@@ -17,7 +17,6 @@ import 'package:cw_core/wallet_base.dart';
17
import 'package:cw_core/wallet_credentials.dart';
18
import 'package:cw_core/wallet_info.dart';
19
import 'package:cw_core/wallet_type.dart';
20
-import 'package:hive/hive.dart';
20
import 'package:mobx/mobx.dart';
21
import 'package:polyseed/polyseed.dart';
22
@@ -94,7 +93,7 @@ abstract class WalletCreationVMBase with Store {
93
final diId = await di!.save();
94
credentials.derivationInfo = di;
95
97
- final walletInfo = WalletInfo.external(
96
+ credentials.walletInfo = WalletInfo.external(
97
id: WalletBase.idFor(name, type),
98
name: name,
99
type: type,
@@ -109,16 +108,14 @@ abstract class WalletCreationVMBase with Store {
108
hardwareWalletType: credentials.hardwareWalletType,
109
);
110
112
- credentials.walletInfo = walletInfo;
113
- // await walletInfo.save();
114
- printV("derivationInfo: ${(await walletInfo.getDerivationInfo()).toJson()}");
111
+ printV("derivationInfo: ${(await credentials.walletInfo!.getDerivationInfo()).toJson()}");
112
final wallet = await process(credentials);
113
114
final isNonSeedWallet = isRecovery ? wallet.seed == null : false;
118
- walletInfo.isNonSeedWallet = isNonSeedWallet;
119
- walletInfo.hashedWalletIdentifier = createHashedWalletIdentifier(wallet);
120
- walletInfo.address = wallet.walletAddresses.address;
121
- await walletInfo.save();
115
+ credentials.walletInfo!.isNonSeedWallet = isNonSeedWallet;
116
+ credentials.walletInfo!.hashedWalletIdentifier = createHashedWalletIdentifier(wallet);
117
+ credentials.walletInfo!.address = wallet.walletAddresses.address;
118
+ await credentials.walletInfo!.save();
119
await _appStore.changeCurrentWallet(wallet);
120
_appStore.authenticationStore.allowedCreate();
121
state = ExecutedSuccessfullyState();