Updated on 2026-08-14

This commit is contained in:
Tangem 2026-02-24 09:59:10 +04:00
parent 6e267fc067
commit 8f4a8b18ef
3 changed files with 16 additions and 10 deletions

View file

@ -24,7 +24,11 @@ data class SwapPairProvider(
@Json(name = "rateTypes")
val rateTypes: List<RateType>,
)
) {
fun hasOnlyFixedRateType(): Boolean {
return rateTypes.isNotEmpty() && rateTypes.all { it == RateType.FIXED }
}
}
@JsonClass(generateAdapter = false)
enum class RateType {

View file

@ -94,9 +94,10 @@ internal class DefaultSwapRepositoryV2 @Inject constructor(
currencyStatus.currency.network.backendId == pair.to.network
}
val mappedProviders = pair.providers.mapNotNull {
expressProviders[it.providerId]
}.filterYieldSupplyProvider(statusFrom)
val mappedProviders = pair.providers
.filterNot { it.hasOnlyFixedRateType() }
.mapNotNull { expressProviders[it.providerId] }
.filterYieldSupplyProvider(statusFrom)
if (statusFrom != null && statusTo != null && mappedProviders.isNotEmpty()) {
SwapPairModel(
@ -151,9 +152,10 @@ internal class DefaultSwapRepositoryV2 @Inject constructor(
val currencyStatusFrom = createSendWithSwapCryptoCurrencyStatus(statusFromDeferred.await())
val currencyStatusTo = createSendWithSwapCryptoCurrencyStatus(statusToDeferred.await())
val mappedProvider = pair.providers.mapNotNull {
mappedProviders[it.providerId]
}.filterYieldSupplyProvider(currencyStatusFrom)
val mappedProvider = pair.providers
.filterNot { it.hasOnlyFixedRateType() }
.mapNotNull { mappedProviders[it.providerId] }
.filterYieldSupplyProvider(currencyStatusFrom)
if (currencyStatusFrom != null && currencyStatusTo != null && mappedProvider.isNotEmpty()) {
SwapPairModel(

View file

@ -25,9 +25,9 @@ class SwapPairInfoConverter : Converter<SwapPairsWithProviders, PairsWithProvide
contractAddress = pair.to.contractAddress,
network = pair.to.network,
),
providers = pair.providers.mapNotNull {
convertProvider(it, providersAdditionalMap)
},
providers = pair.providers
.filterNot { it.hasOnlyFixedRateType() }
.mapNotNull { convertProvider(it, providersAdditionalMap) },
)
}
return PairsWithProviders(