diff --git a/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt b/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt index 74791c9c0c..754936c7a5 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt @@ -2,6 +2,7 @@ package com.tangem.datasource.di import android.content.Context import com.squareup.moshi.Moshi +import com.tangem.datasource.BuildConfig import com.tangem.datasource.api.common.response.ApiResponseCallAdapterFactory import com.tangem.datasource.api.express.TangemExpressApi import com.tangem.datasource.api.promotion.PromotionApi @@ -33,10 +34,15 @@ class NetworkModule { @ApplicationContext context: Context, expressAuthProvider: ExpressAuthProvider, ): TangemExpressApi { + val url = if (BuildConfig.ENVIRONMENT == "dev") { + DEV_EXPRESS_BASE_URL + } else { + PROD_EXPRESS_BASE_URL + } return Retrofit.Builder() .addConverterFactory(MoshiConverterFactory.create(moshi)) .addCallAdapterFactory(ApiResponseCallAdapterFactory.create()) - .baseUrl(DEV_EXPRESS_BASE_URL) + .baseUrl(url) .client( OkHttpClient.Builder() .addHeaders(Express(expressAuthProvider)) diff --git a/core/featuretoggles/src/main/assets/configs/feature_toggles_config.json b/core/featuretoggles/src/main/assets/configs/feature_toggles_config.json index 106d635c23..2b5c465b78 100644 --- a/core/featuretoggles/src/main/assets/configs/feature_toggles_config.json +++ b/core/featuretoggles/src/main/assets/configs/feature_toggles_config.json @@ -37,6 +37,6 @@ }, { "name": "WALLETS_SCROLLING_PREVIEW_ENABLED", - "version": "5.4.0" + "version": "undefined" } ] diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt index 38ff3ef4af..5a843b643a 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt @@ -74,10 +74,13 @@ internal class SwapInteractorImpl @Inject constructor( val walletCurrencyStatuses = getMultiCryptoCurrencyStatusUseCase(selectedWallet.walletId) .getOrElse { emptyList() } - val walletCurrencyStatusesExceptInitial = walletCurrencyStatuses.filter { - it.currency.network.backendId != currency.network.backendId || - it.currency.getContractAddress() != currency.getContractAddress() - } + val walletCurrencyStatusesExceptInitial = walletCurrencyStatuses + .filter { + val currencyFilter = it.currency.network.backendId != currency.network.backendId || + it.currency.getContractAddress() != currency.getContractAddress() + val statusFilter = it.value is CryptoCurrencyStatus.Loaded + statusFilter && currencyFilter + } if (walletCurrencyStatusesExceptInitial.isEmpty()) { return TokensDataStateExpress( @@ -128,10 +131,10 @@ internal class SwapInteractorImpl @Inject constructor( tokenInfoForFilter(it).network == currency.network.backendId } - val availableCryptoCurrencies = cryptoCurrenciesList.mapNotNull { pair -> - val providers = findProvidersForPair(pair, filteredPairs, tokenInfoForAvailable) + val availableCryptoCurrencies = cryptoCurrenciesList.mapNotNull { cryptoCurrencyStatus -> + val providers = findProvidersForPair(cryptoCurrencyStatus, filteredPairs, tokenInfoForAvailable) if (providers != null) { - CryptoCurrencySwapInfo(pair, providers) + CryptoCurrencySwapInfo(cryptoCurrencyStatus, providers) } else { null } diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt index 51bc827a3b..1485871552 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/viewmodels/SwapViewModel.kt @@ -878,9 +878,8 @@ internal class SwapViewModel @Inject constructor( if (it.key != bestRateEntry.key) { val amount = it.value.toTokenInfo.tokenAmount.value val percentDiff = BigDecimal.ONE.minus( - amount.divide(bestRate, RoundingMode.HALF_UP) - .multiply(hundredPercent), - ) + amount.divide(bestRate, RoundingMode.HALF_UP), + ).multiply(hundredPercent) percentDiff.setScale(2, RoundingMode.HALF_UP).toFloat().absoluteValue } else { null