fix restoring of xmr/wow wallets during swb restore process

This commit is contained in:
julian 2024-11-28 13:18:53 -06:00 committed by julian-CStack
parent dbf68f2a68
commit 9e988b8ba5

View file

@ -503,22 +503,33 @@ abstract class SWB {
viewOnlyData: viewOnlyData, viewOnlyData: viewOnlyData,
); );
if (wallet is MoneroWallet /*|| wallet is WowneroWallet doesn't work.*/) { switch (wallet.runtimeType) {
await wallet.init(isRestore: true); case const (EpiccashWallet):
} else if (wallet is WowneroWallet) { await (wallet as EpiccashWallet).init(isRestore: true);
await wallet.init(isRestore: true); break;
} else {
case const (MoneroWallet):
await (wallet as MoneroWallet).init(isRestore: true);
break;
case const (WowneroWallet):
await (wallet as WowneroWallet).init(isRestore: true);
break;
default:
await wallet.init(); await wallet.init();
} }
int restoreHeight = walletbackup['restoreHeight'] as int? ?? 0; int restoreHeight = walletbackup['restoreHeight'] as int? ?? 0;
if (restoreHeight <= 0) { if (restoreHeight <= 0) {
if (wallet is EpiccashWallet || wallet is LibMoneroWallet) {
restoreHeight = 0;
} else {
restoreHeight = walletbackup['storedChainHeight'] as int? ?? 0; restoreHeight = walletbackup['storedChainHeight'] as int? ?? 0;
} }
}
Future<void>? restoringFuture; final Future<void>? restoringFuture;
if (!(wallet is LibMoneroWallet || wallet is EpiccashWallet)) {
if (wallet is BitcoinFrostWallet) { if (wallet is BitcoinFrostWallet) {
restoringFuture = wallet.recover( restoringFuture = wallet.recover(
isRescan: false, isRescan: false,
@ -528,7 +539,6 @@ abstract class SWB {
} else { } else {
restoringFuture = wallet.recover(isRescan: false); restoringFuture = wallet.recover(isRescan: false);
} }
}
uiState?.update( uiState?.update(
walletId: info.walletId, walletId: info.walletId,