From bc5db9ba12d3b9e74d6b16dcd7d96cfe854e35e0 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 11 Sep 2025 10:12:21 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../data/onramp/DefaultOnrampRepository.kt | 8 ++++---- .../main/model/OnrampMainComponentModel.kt | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/data/onramp/src/main/java/com/tangem/data/onramp/DefaultOnrampRepository.kt b/data/onramp/src/main/java/com/tangem/data/onramp/DefaultOnrampRepository.kt index 1bbb60d6ea..6d8b5311ce 100644 --- a/data/onramp/src/main/java/com/tangem/data/onramp/DefaultOnrampRepository.kt +++ b/data/onramp/src/main/java/com/tangem/data/onramp/DefaultOnrampRepository.kt @@ -295,9 +295,10 @@ internal class DefaultOnrampRepository( }, ) - val mercuryoProvider = onrampPairs.map { it.providers }.flatten() - .find { it.providerId == MERCURYO_PROVIDER_ID } - val hasSepaMethod = mercuryoProvider?.paymentMethods?.any { it == SEPA_METHOD_ID } ?: false + val hasSepaMethod = onrampPairs + .flatMap { it.providers } + .flatMap { it.paymentMethods } + .any { it == SEPA_METHOD_ID } hasSepaMethod } @@ -598,6 +599,5 @@ internal class DefaultOnrampRepository( const val REDIRECT_URL = "https://tangem.com/onramp" const val SEPA_METHOD_ID = "sepa" - const val MERCURYO_PROVIDER_ID = "mercuryo" } } \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/main/model/OnrampMainComponentModel.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/main/model/OnrampMainComponentModel.kt index 71399a3ce4..99c271c260 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/main/model/OnrampMainComponentModel.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/main/model/OnrampMainComponentModel.kt @@ -149,19 +149,21 @@ internal class OnrampMainComponentModel @Inject constructor( ifLeft = ::handleOnrampError, ifRight = { country -> if (country == null) return@onEach + + val wasInitialLoading = _state.value is OnrampMainComponentUM.InitialLoading _state.update { if (it is OnrampMainComponentUM.InitialLoading) { - val state = stateFactory.getReadyState(country.defaultCurrency) - if (params.launchSepa) { - onAmountValueChanged(PREDEFINED_SEPA_AMOUNT) - } - state + stateFactory.getReadyState(country.defaultCurrency) } else { amountStateFactory.getUpdatedCurrencyState(country.defaultCurrency) } } updatePairsAndQuotes() + + if (wasInitialLoading && params.launchSepa) { + onAmountValueChanged(PREDEFINED_SEPA_AMOUNT) + } }, ) } @@ -326,9 +328,9 @@ internal class OnrampMainComponentModel @Inject constructor( val sepaQuote = if (params.launchSepa && !isSepaLaunched) { isSepaLaunched = true - quotes.filterIsInstance().firstOrNull { - it.provider.id == MERCURYO_PROVIDER_ID && it.paymentMethod.id == SEPA_METHOD_ID - } + quotes.filterIsInstance() + .filter { it.paymentMethod.id == SEPA_METHOD_ID } + .maxByOrNull { it.toAmount.value } } else { null } @@ -437,7 +439,6 @@ internal class OnrampMainComponentModel @Inject constructor( private companion object { const val UPDATE_DELAY = 10_000L - const val MERCURYO_PROVIDER_ID = "mercuryo" const val SEPA_METHOD_ID = "sepa" } } \ No newline at end of file