From 7e469fe37644e2a957f8e286d4f19ff4f0614e70 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Oct 2025 20:45:22 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../swap/usecase/GetSwapPairsUseCase.kt | 19 ++++++-------- .../usecase/GetSwapSupportedPairsUseCase.kt | 25 ++++++++----------- 2 files changed, 19 insertions(+), 25 deletions(-) diff --git a/domain/swap/src/main/java/com/tangem/domain/swap/usecase/GetSwapPairsUseCase.kt b/domain/swap/src/main/java/com/tangem/domain/swap/usecase/GetSwapPairsUseCase.kt index fce04175b5..c45209f0ad 100644 --- a/domain/swap/src/main/java/com/tangem/domain/swap/usecase/GetSwapPairsUseCase.kt +++ b/domain/swap/src/main/java/com/tangem/domain/swap/usecase/GetSwapPairsUseCase.kt @@ -7,11 +7,7 @@ import com.tangem.domain.models.currency.CryptoCurrencyStatus import com.tangem.domain.models.wallet.UserWallet import com.tangem.domain.swap.SwapErrorResolver import com.tangem.domain.swap.SwapRepositoryV2 -import com.tangem.domain.swap.models.SwapCryptoCurrency -import com.tangem.domain.swap.models.SwapCurrencies -import com.tangem.domain.swap.models.SwapCurrenciesGroup -import com.tangem.domain.swap.models.SwapPairModel -import com.tangem.domain.swap.models.SwapTxType +import com.tangem.domain.swap.models.* /** * Get list of swap pairs @@ -67,13 +63,14 @@ class GetSwapPairsUseCase( groupingCurrency: (SwapPairModel) -> CryptoCurrencyStatus, cryptoCurrencyStatusList: List, ): SwapCurrenciesGroup { - val availableCryptoCurrencies = filter { pair -> filteringCurrency(pair).currency.id == initialCurrency.id } + val availableCryptoCurrencies = filter { pair -> + filteringCurrency(pair).currency.id.rawCurrencyId == initialCurrency.id.rawCurrencyId + }.filter { pair -> // Search available to swap currency - .filter { pair -> - cryptoCurrencyStatusList.any { currencyStatus -> - currencyStatus.currency.id == pair.to.currency.id - } - }.map { pair -> SwapCryptoCurrency(groupingCurrency(pair), pair.providers) } + cryptoCurrencyStatusList.any { currencyStatus -> + currencyStatus.currency.id == pair.to.currency.id + } + }.map { pair -> SwapCryptoCurrency(groupingCurrency(pair), pair.providers) } val unavailableCryptoCurrencies = cryptoCurrencyStatusList - availableCryptoCurrencies.map { it.currencyStatus }.toSet() diff --git a/domain/swap/src/main/java/com/tangem/domain/swap/usecase/GetSwapSupportedPairsUseCase.kt b/domain/swap/src/main/java/com/tangem/domain/swap/usecase/GetSwapSupportedPairsUseCase.kt index 775eb8f797..f2d6c9a4c4 100644 --- a/domain/swap/src/main/java/com/tangem/domain/swap/usecase/GetSwapSupportedPairsUseCase.kt +++ b/domain/swap/src/main/java/com/tangem/domain/swap/usecase/GetSwapSupportedPairsUseCase.kt @@ -7,11 +7,7 @@ import com.tangem.domain.models.currency.CryptoCurrencyStatus import com.tangem.domain.models.wallet.UserWallet import com.tangem.domain.swap.SwapErrorResolver import com.tangem.domain.swap.SwapRepositoryV2 -import com.tangem.domain.swap.models.SwapCryptoCurrency -import com.tangem.domain.swap.models.SwapCurrencies -import com.tangem.domain.swap.models.SwapCurrenciesGroup -import com.tangem.domain.swap.models.SwapPairModel -import com.tangem.domain.swap.models.SwapTxType +import com.tangem.domain.swap.models.* /** * Returns pais @@ -36,7 +32,7 @@ class GetSwapSupportedPairsUseCase( swapTxType = swapTxType, ) - val filteredOutInitial = cryptoCurrencyList.filterNot { it.id == initialCurrency.id } + val filteredOutInitial = cryptoCurrencyList.filterNot { it.id.rawNetworkId == initialCurrency.id.rawNetworkId } val fromGroup = pairs.groupPairs( initialCurrency = initialCurrency, @@ -63,15 +59,16 @@ class GetSwapSupportedPairsUseCase( groupingCurrency: (SwapPairModel) -> CryptoCurrencyStatus, cryptoCurrencyList: List, ): SwapCurrenciesGroup { - val availableCryptoCurrencies = filter { pair -> filteringCurrency(pair).currency.id == initialCurrency.id } + val availableCryptoCurrencies = filter { pair -> + filteringCurrency(pair).currency.id.rawCurrencyId == initialCurrency.id.rawCurrencyId + }.filter { pair -> // Search available to swap currency - .filter { pair -> - cryptoCurrencyList.any { currencyStatus -> - // Allowed only on networks without tx extras (e.i. memo and destination tag) - val isExtrasSupported = currencyStatus.network.transactionExtrasType.isTxExtrasSupported() - currencyStatus.id == pair.to.currency.id && !isExtrasSupported - } - }.map { pair -> SwapCryptoCurrency(groupingCurrency(pair), pair.providers) } + cryptoCurrencyList.any { currencyStatus -> + // Allowed only on networks without tx extras (e.i. memo and destination tag) + val isExtrasSupported = currencyStatus.network.transactionExtrasType.isTxExtrasSupported() + currencyStatus.id == pair.to.currency.id && !isExtrasSupported + } + }.map { pair -> SwapCryptoCurrency(groupingCurrency(pair), pair.providers) } val unavailableCryptoCurrencies = cryptoCurrencyList - availableCryptoCurrencies.map { it.currencyStatus.currency }.toSet()