From 33ad78415a36945ce5e5204c0ddbca6297075ce6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 20 Aug 2024 15:16:20 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../QuotesUnsupportedCurrenciesIdAdapter.kt | 1 + .../swap/api/SwapFeatureToggleManager.kt | 7 ---- .../feature/swap/DefaultSwapRepository.kt | 32 ------------------- .../tangem/feature/swap/di/SwapDataModule.kt | 3 -- .../feature/swap/domain/api/SwapRepository.kt | 2 -- .../di/SwapFeatureTogglesManagerModule.kt | 21 ------------ .../toggles/DefaultFeatureTogglesManager.kt | 12 ------- .../toggles/InnerSwapFeatureTogglesManager.kt | 6 ---- 8 files changed, 1 insertion(+), 83 deletions(-) delete mode 100644 features/swap/api/src/main/java/com/tangem/feature/swap/api/SwapFeatureToggleManager.kt delete mode 100644 features/swap/presentation/src/main/java/com/tangem/feature/swap/di/SwapFeatureTogglesManagerModule.kt delete mode 100644 features/swap/presentation/src/main/java/com/tangem/feature/swap/toggles/DefaultFeatureTogglesManager.kt delete mode 100644 features/swap/presentation/src/main/java/com/tangem/feature/swap/toggles/InnerSwapFeatureTogglesManager.kt diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/QuotesUnsupportedCurrenciesIdAdapter.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/QuotesUnsupportedCurrenciesIdAdapter.kt index c3600a3053..5ae6618a2c 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/QuotesUnsupportedCurrenciesIdAdapter.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/QuotesUnsupportedCurrenciesIdAdapter.kt @@ -60,6 +60,7 @@ internal class QuotesUnsupportedCurrenciesIdAdapter { Blockchain.Aurora.toCoinId() to ethCoinId, Blockchain.Base.toCoinId() to ethCoinId, Blockchain.Blast.toCoinId() to ethCoinId, + Blockchain.Cyber.toCoinId() to ethCoinId, ) } } \ No newline at end of file diff --git a/features/swap/api/src/main/java/com/tangem/feature/swap/api/SwapFeatureToggleManager.kt b/features/swap/api/src/main/java/com/tangem/feature/swap/api/SwapFeatureToggleManager.kt deleted file mode 100644 index c9b4962de4..0000000000 --- a/features/swap/api/src/main/java/com/tangem/feature/swap/api/SwapFeatureToggleManager.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.tangem.feature.swap.api - -/** Feature toggles manager of "swap" feature */ -interface SwapFeatureToggleManager { - - val isOptimismSwapEnabled: Boolean -} \ No newline at end of file diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt index 31b1659a73..f3a0d6cbe4 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapRepository.kt @@ -19,7 +19,6 @@ import com.tangem.datasource.api.express.models.response.ExchangeDataResponseWit import com.tangem.datasource.api.express.models.response.SwapPair import com.tangem.datasource.api.express.models.response.SwapPairsWithProviders import com.tangem.datasource.api.express.models.response.TxDetails -import com.tangem.datasource.api.tangemTech.TangemTechApi import com.tangem.datasource.crypto.DataSignatureVerifier import com.tangem.domain.common.util.derivationStyleProvider import com.tangem.domain.tokens.model.CryptoCurrency @@ -44,7 +43,6 @@ import com.tangem.datasource.api.express.models.request.LeastTokenInfo as Networ @Suppress("LongParameterList", "LargeClass") internal class DefaultSwapRepository @Inject constructor( - private val tangemTechApi: TangemTechApi, private val tangemExpressApi: TangemExpressApi, private val coroutineDispatcher: CoroutineDispatcherProvider, private val walletManagersFacade: WalletManagersFacade, @@ -188,29 +186,6 @@ internal class DefaultSwapRepository @Inject constructor( } } - override suspend fun getRates(currencyId: String, tokenIds: List): Map { - // workaround cause backend do not return arbitrum and optimism rates - val addedTokens = if (tokenIds.contains(OPTIMISM_ID) || tokenIds.contains(ARBITRUM_ID)) { - tokenIds.toMutableList().apply { - add(ETHEREUM_ID) - } - } else { - tokenIds - } - return withContext(coroutineDispatcher.io) { - val rates = tangemTechApi.getRates(currencyId.lowercase(), addedTokens.joinToString(",")).rates - val ethRate = rates[ETHEREUM_ID] - if (tokenIds.contains(OPTIMISM_ID) || tokenIds.contains(ARBITRUM_ID)) { - rates.toMutableMap().apply { - put(OPTIMISM_ID, ethRate ?: 0.0) - put(ARBITRUM_ID, ethRate ?: 0.0) - } - } else { - rates - } - } - } - override suspend fun findBestQuote( fromContractAddress: String, fromNetwork: String, @@ -432,11 +407,4 @@ internal class DefaultSwapRepository @Inject constructor( DataError.UnknownError } } - - companion object { - // TODO("get this ids from blockchain enum later") - private const val OPTIMISM_ID = "optimistic-ethereum" - private const val ARBITRUM_ID = "arbitrum-one" - private const val ETHEREUM_ID = "ethereum" - } } \ No newline at end of file diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt index 5cc2b81a41..fde540c8ab 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/di/SwapDataModule.kt @@ -3,7 +3,6 @@ package com.tangem.feature.swap.di import com.squareup.moshi.Moshi import com.tangem.datasource.api.express.TangemExpressApi import com.tangem.datasource.api.express.models.response.ExpressErrorResponse -import com.tangem.datasource.api.tangemTech.TangemTechApi import com.tangem.datasource.crypto.DataSignatureVerifier import com.tangem.datasource.di.NetworkMoshi import com.tangem.datasource.local.preferences.AppPreferencesStore @@ -28,7 +27,6 @@ internal class SwapDataModule { @Provides @Singleton internal fun provideSwapRepository( - tangemTechApi: TangemTechApi, tangemExpressApi: TangemExpressApi, coroutineDispatcher: CoroutineDispatcherProvider, dataSignature: DataSignatureVerifier, @@ -38,7 +36,6 @@ internal class SwapDataModule { @NetworkMoshi moshi: Moshi, ): SwapRepository { return DefaultSwapRepository( - tangemTechApi = tangemTechApi, tangemExpressApi = tangemExpressApi, coroutineDispatcher = coroutineDispatcher, walletManagersFacade = walletManagerFacade, diff --git a/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt b/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt index d5469ce433..99bc772d79 100644 --- a/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt +++ b/features/swap/domain/api/src/main/java/com/tangem/feature/swap/domain/api/SwapRepository.kt @@ -14,8 +14,6 @@ interface SwapRepository { /** Express getPairs request variant without providers request */ suspend fun getPairsOnly(initialCurrency: LeastTokenInfo, currencyList: List): PairsWithProviders - suspend fun getRates(currencyId: String, tokenIds: List): Map - suspend fun getExchangeStatus(txId: String): Either @Suppress("LongParameterList") diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/di/SwapFeatureTogglesManagerModule.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/di/SwapFeatureTogglesManagerModule.kt deleted file mode 100644 index 15ef8179e1..0000000000 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/di/SwapFeatureTogglesManagerModule.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.tangem.feature.swap.di - -import com.tangem.core.featuretoggle.manager.FeatureTogglesManager -import com.tangem.feature.swap.api.SwapFeatureToggleManager -import com.tangem.feature.swap.toggles.DefaultFeatureTogglesManager -import dagger.Module -import dagger.Provides -import dagger.hilt.InstallIn -import dagger.hilt.android.components.ActivityRetainedComponent -import dagger.hilt.android.scopes.ActivityRetainedScoped - -@Module -@InstallIn(ActivityRetainedComponent::class) -internal object SwapFeatureTogglesManagerModule { - - @Provides - @ActivityRetainedScoped - fun provideSwapFeatureTogglesManager(featureTogglesManager: FeatureTogglesManager): SwapFeatureToggleManager { - return DefaultFeatureTogglesManager(featureTogglesManager) - } -} \ No newline at end of file diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/toggles/DefaultFeatureTogglesManager.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/toggles/DefaultFeatureTogglesManager.kt deleted file mode 100644 index 2448fefafd..0000000000 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/toggles/DefaultFeatureTogglesManager.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.tangem.feature.swap.toggles - -import com.tangem.core.featuretoggle.manager.FeatureTogglesManager - -/** Feature toggles manager implementation of "swap" feature */ -class DefaultFeatureTogglesManager( - private val featureTogglesManager: FeatureTogglesManager, -) : InnerSwapFeatureTogglesManager { - - override val isOptimismSwapEnabled: Boolean - get() = featureTogglesManager.isFeatureEnabled(name = "OPTIMISM_SWAP_FEATURE_ENABLED") -} \ No newline at end of file diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/toggles/InnerSwapFeatureTogglesManager.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/toggles/InnerSwapFeatureTogglesManager.kt deleted file mode 100644 index f1035d737a..0000000000 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/toggles/InnerSwapFeatureTogglesManager.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.tangem.feature.swap.toggles - -import com.tangem.feature.swap.api.SwapFeatureToggleManager - -/** Feature toggles manager of "swap" feature for internal logic */ -internal interface InnerSwapFeatureTogglesManager : SwapFeatureToggleManager \ No newline at end of file