diff --git a/app/src/main/java/com/tangem/tap/features/tokens/redux/TokensMiddleware.kt b/app/src/main/java/com/tangem/tap/features/tokens/redux/TokensMiddleware.kt index fe47a2b2bf..04eb4ac5b0 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/redux/TokensMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/redux/TokensMiddleware.kt @@ -10,7 +10,6 @@ import com.tangem.common.extensions.toMapKey import com.tangem.common.hdWallet.DerivationPath import com.tangem.common.services.Result import com.tangem.domain.DomainWrapped -import com.tangem.domain.common.KeyWalletPublicKey import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.derivationStyle import com.tangem.domain.common.TapWorkarounds.isTestCard @@ -205,19 +204,17 @@ class TokensMiddleware { when (result) { is CompletionResult.Success -> { val newDerivedKeys = result.data.entries - val updatedDerivedKeys = - mutableMapOf() + val oldDerivedKeys = scanResponse.derivedKeys - newDerivedKeys.forEach { entry -> - val derivationData = derivationDataList.find { - it.mapKeyOfWalletPublicKey == entry.key - } ?: return@forEach - updatedDerivedKeys[entry.key] = - ExtendedPublicKeysMap(derivationData.alreadyDerivedKeys + entry.value) + val walletKeys = (newDerivedKeys.keys + oldDerivedKeys.keys).toSet() + + val updatedDerivedKeys = walletKeys.associateWith { walletKey -> + val oldDerivations = ExtendedPublicKeysMap(oldDerivedKeys[walletKey] ?: emptyMap()) + val newDerivations = newDerivedKeys[walletKey] ?: ExtendedPublicKeysMap(emptyMap()) + ExtendedPublicKeysMap(oldDerivations + newDerivations) } - val updatedScanResponse = scanResponse.copy( - derivedKeys = updatedDerivedKeys + derivedKeys = updatedDerivedKeys, ) store.dispatchOnMain(GlobalAction.SaveScanNoteResponse(updatedScanResponse)) delay(DELAY_SDK_DIALOG_CLOSE) diff --git a/dependencies.gradle b/dependencies.gradle index a7b0e1623d..30e111bd27 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -3,7 +3,7 @@ ext.versions = [ build_gradle : '7.1.3', tangem_card_sdk : 'develop-165', // tangem_card_sdk : '0.0.1', - tangem_blockchain_sdk: 'develop-130', + tangem_blockchain_sdk: 'develop-132', // tangem_blockchain_sdk: '0.0.1', ]