From 533edc1d169812e397e0cad350db2b14129059eb Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 16 Jan 2026 00:18:38 +0700 Subject: [PATCH] Updated on 2026-08-14 --- .../transaction/SavedSwapTransactionListConverter.kt | 9 +++++++-- .../swap/converters/SavedSwapTransactionListConverter.kt | 6 +++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/data/swap/src/main/java/com/tangem/data/swap/converter/transaction/SavedSwapTransactionListConverter.kt b/data/swap/src/main/java/com/tangem/data/swap/converter/transaction/SavedSwapTransactionListConverter.kt index 051b7d9a47..552341da60 100644 --- a/data/swap/src/main/java/com/tangem/data/swap/converter/transaction/SavedSwapTransactionListConverter.kt +++ b/data/swap/src/main/java/com/tangem/data/swap/converter/transaction/SavedSwapTransactionListConverter.kt @@ -17,6 +17,7 @@ import com.tangem.domain.models.network.Network import com.tangem.domain.models.wallet.UserWallet import com.tangem.domain.models.wallet.UserWalletId import com.tangem.domain.swap.models.SwapTransactionListModel +import com.tangem.lib.crypto.derivation.AccountNodeRecognizer import com.tangem.utils.converter.Converter internal class SavedSwapTransactionListConverter( @@ -132,7 +133,7 @@ internal class SavedSwapTransactionListConverter( blockchain = blockchain, extraDerivationPath = token.derivationPath, userWallet = userWallet, - accountIndex = token.accountId?.toIntOrNull()?.let { DerivationIndex(it).getOrNull() }, + accountIndex = token.getDerivationIndex(), ) } } @@ -150,6 +151,10 @@ internal class SavedSwapTransactionListConverter( } private fun UserTokensResponse.Token.getDerivationIndex(): DerivationIndex? { - return accountId?.toIntOrNull()?.let { DerivationIndex(it).getOrNull() } + val blockchain = Blockchain.fromNetworkId(networkId) ?: return null + val accountNodeRecognizer = AccountNodeRecognizer(blockchain) + return derivationPath + ?.let { accountNodeRecognizer.recognize(it) } + ?.let { DerivationIndex(it.toInt()).getOrNull() } } } \ No newline at end of file diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/converters/SavedSwapTransactionListConverter.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/converters/SavedSwapTransactionListConverter.kt index 8ec8958bd3..5c0b55b780 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/converters/SavedSwapTransactionListConverter.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/converters/SavedSwapTransactionListConverter.kt @@ -170,6 +170,10 @@ internal class SavedSwapTransactionListConverter( } private fun UserTokensResponse.Token.getDerivationIndex(): DerivationIndex? { - return accountId?.toIntOrNull()?.let { DerivationIndex(it).getOrNull() } + val blockchain = Blockchain.fromNetworkId(networkId) ?: return null + val accountNodeRecognizer = AccountNodeRecognizer(blockchain) + return derivationPath + ?.let { accountNodeRecognizer.recognize(it) } + ?.let { DerivationIndex(it.toInt()).getOrNull() } } } \ No newline at end of file