diff --git a/app/src/main/java/to/bitkit/repositories/BackupRepo.kt b/app/src/main/java/to/bitkit/repositories/BackupRepo.kt index 9a58ef65a..97cb5f6e9 100644 --- a/app/src/main/java/to/bitkit/repositories/BackupRepo.kt +++ b/app/src/main/java/to/bitkit/repositories/BackupRepo.kt @@ -546,6 +546,8 @@ class BackupRepo @Inject constructor( } Logger.info("Full restore success", context = TAG) + }.onSuccess { + settingsStore.update { it.copy(backupVerified = true) } }.onFailure { e -> Logger.warn("Full restore error", e = e, context = TAG) } diff --git a/app/src/main/java/to/bitkit/repositories/WalletRepo.kt b/app/src/main/java/to/bitkit/repositories/WalletRepo.kt index 6ea1981b5..3b5782db4 100644 --- a/app/src/main/java/to/bitkit/repositories/WalletRepo.kt +++ b/app/src/main/java/to/bitkit/repositories/WalletRepo.kt @@ -300,8 +300,6 @@ class WalletRepo @Inject constructor( keychain.saveString(Keychain.Key.BIP39_PASSPHRASE.name, bip39Passphrase) } setWalletExistsState() - }.onSuccess { - settingsStore.update { it.copy(backupVerified = true) } }.onFailure { Logger.error("restoreWallet error", it, context = TAG) } diff --git a/app/src/main/java/to/bitkit/services/MigrationService.kt b/app/src/main/java/to/bitkit/services/MigrationService.kt index 265cc26c1..676c38cbe 100644 --- a/app/src/main/java/to/bitkit/services/MigrationService.kt +++ b/app/src/main/java/to/bitkit/services/MigrationService.kt @@ -23,7 +23,6 @@ import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.update import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable -import kotlinx.serialization.encodeToString import kotlinx.serialization.json.JsonObject import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.buildJsonObject @@ -1212,6 +1211,8 @@ class MigrationService @Inject constructor( val bitkitFiles = rnBackupClient.listFiles(fileGroup = "bitkit")?.list ?: emptyList() retrieveAndApplyBitkitBackups(bitkitFiles) markMigrationCompleted() + }.onSuccess { + settingsStore.update { it.copy(backupVerified = true) } }.onFailure { e -> Logger.error("RN remote backup restore failed", e, context = TAG) throw e @@ -1419,6 +1420,7 @@ class MigrationService @Inject constructor( Logger.warn("Paid order $orderId not found in fetched orders", context = TAG) null } + order.state2 == com.synonym.bitkitcore.BtOrderState2.EXECUTED -> null else -> TransferEntity( id = txId, diff --git a/app/src/test/java/to/bitkit/repositories/WalletRepoTest.kt b/app/src/test/java/to/bitkit/repositories/WalletRepoTest.kt index b44a661b7..c0b4e19d4 100644 --- a/app/src/test/java/to/bitkit/repositories/WalletRepoTest.kt +++ b/app/src/test/java/to/bitkit/repositories/WalletRepoTest.kt @@ -167,24 +167,13 @@ class WalletRepoTest : BaseUnitTest() { } @Test - fun `restoreWallet should set backupVerified to true on success`() = test { + fun `restoreWallet should not call settingsStore`() = test { val mnemonic = "restore mnemonic" whenever(keychain.saveString(any(), any())).thenReturn(Unit) val result = sut.restoreWallet(mnemonic, null) assertTrue(result.isSuccess) - verify(settingsStore).update(any()) - } - - @Test - fun `restoreWallet should not set backupVerified when keychain fails`() = test { - val mnemonic = "restore mnemonic" - whenever(keychain.saveString(any(), any())).thenThrow(error) - - val result = sut.restoreWallet(mnemonic, null) - - assertTrue(result.isFailure) verify(settingsStore, never()).update(any()) }