diff --git a/app/src/main/java/com/tangem/tap/common/feature/Feature.kt b/app/src/main/java/com/tangem/tap/common/feature/Feature.kt deleted file mode 100644 index 1eb07546b4..0000000000 --- a/app/src/main/java/com/tangem/tap/common/feature/Feature.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.tangem.tap.common.feature - -/** -[REDACTED_AUTHOR] - */ -interface Feature { - fun featureIsSwitchedOn(): Boolean -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt index 636b4f40b1..c4366e8215 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt @@ -12,7 +12,6 @@ import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.redux.StateDialog import com.tangem.tap.common.extensions.* import com.tangem.tap.common.redux.AppState -import com.tangem.tap.network.exchangeServices.BuyExchangeService import com.tangem.tap.network.exchangeServices.CardExchangeRules import com.tangem.tap.network.exchangeServices.CurrencyExchangeManager import com.tangem.tap.network.exchangeServices.ExchangeService @@ -148,15 +147,10 @@ private fun makeSellExchangeService(environmentConfig: EnvironmentConfig): Excha } private fun makeBuyExchangeService(environmentConfig: EnvironmentConfig): ExchangeService { - return BuyExchangeService( - mercuryoService = makeMercuryoExchangeService(environmentConfig), + return MercuryoService( + environment = MercuryoEnvironment.prod( + widgetId = environmentConfig.mercuryoWidgetId, + secret = environmentConfig.mercuryoSecret, + ), ) -} - -private fun makeMercuryoExchangeService(environmentConfig: EnvironmentConfig): MercuryoService { - val mercuryoEnvironment = MercuryoEnvironment.prod( - environmentConfig.mercuryoWidgetId, - environmentConfig.mercuryoSecret, - ) - return MercuryoService(mercuryoEnvironment) } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/BuyExchangeService.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/BuyExchangeService.kt deleted file mode 100644 index a8861eed2f..0000000000 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/BuyExchangeService.kt +++ /dev/null @@ -1,60 +0,0 @@ -package com.tangem.tap.network.exchangeServices - -import com.tangem.domain.models.scan.ScanResponse -import com.tangem.domain.tokens.model.CryptoCurrency -import com.tangem.tap.domain.model.Currency -import com.tangem.tap.network.exchangeServices.mercuryo.MercuryoService -import com.tangem.tap.scope -import kotlinx.coroutines.launch - -/** -[REDACTED_AUTHOR] - * Temporary wrapper for the buy services. Service switches based on selected product type. - */ -internal class BuyExchangeService( - private val mercuryoService: MercuryoService, -) : ExchangeService, ExchangeUrlBuilder { - - init { - scope.launch { - mercuryoService.update() - } - } - - private val currentService: ExchangeService = mercuryoService - - override suspend fun update() { - currentService.update() - } - - override fun featureIsSwitchedOn(): Boolean = currentService.featureIsSwitchedOn() - - override fun isBuyAllowed(): Boolean = currentService.isBuyAllowed() - - override fun isSellAllowed(): Boolean = currentService.isSellAllowed() - - override fun availableForBuy(scanResponse: ScanResponse, currency: Currency): Boolean = - currentService.availableForBuy(scanResponse, currency) - - override fun availableForSell(currency: Currency): Boolean = currentService.availableForSell(currency) - - override fun getUrl( - action: CurrencyExchangeManager.Action, - cryptoCurrency: CryptoCurrency, - fiatCurrencyName: String, - walletAddress: String, - isDarkTheme: Boolean, - ): String? { - return currentService.getUrl( - action, - cryptoCurrency, - fiatCurrencyName, - walletAddress, - isDarkTheme, - ) - } - - override fun getSellCryptoReceiptUrl(action: CurrencyExchangeManager.Action, transactionId: String): String? { - return currentService.getSellCryptoReceiptUrl(action, transactionId) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/CardExchangeRules.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/CardExchangeRules.kt index 696f9288bc..0795969b5c 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/CardExchangeRules.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/CardExchangeRules.kt @@ -13,12 +13,6 @@ class CardExchangeRules( val cardProvider: () -> CardDTO?, ) : ExchangeRules { - override fun featureIsSwitchedOn(): Boolean { - val card = cardProvider() ?: return false - - return !card.isStart2Coin - } - override fun isBuyAllowed(): Boolean { val card = cardProvider() ?: return false diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt index 2008fae3cc..71c317e080 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt @@ -30,8 +30,6 @@ class CurrencyExchangeManager( private val primaryRules: ExchangeRules, ) : ExchangeService { - override fun featureIsSwitchedOn(): Boolean = primaryRules.featureIsSwitchedOn() - override suspend fun update() { buyService.update() sellService.update() diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/ExchangeService.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/ExchangeService.kt index 1cfd8502ed..495bcec410 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/ExchangeService.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/ExchangeService.kt @@ -2,7 +2,6 @@ package com.tangem.tap.network.exchangeServices import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.tokens.model.CryptoCurrency -import com.tangem.tap.common.feature.Feature import com.tangem.tap.domain.model.Currency interface Exchanger { @@ -12,12 +11,11 @@ interface Exchanger { fun availableForSell(currency: Currency): Boolean } -interface ExchangeService : Feature, Exchanger, ExchangeUrlBuilder { +interface ExchangeService : Exchanger, ExchangeUrlBuilder { suspend fun update() companion object { fun dummy(): ExchangeService = object : ExchangeService { - override fun featureIsSwitchedOn(): Boolean = false override suspend fun update() {} override fun isBuyAllowed(): Boolean = false override fun isSellAllowed(): Boolean = false @@ -39,11 +37,10 @@ interface ExchangeService : Feature, Exchanger, ExchangeUrlBuilder { } } -interface ExchangeRules : Feature, Exchanger { +interface ExchangeRules : Exchanger { companion object { fun dummy(): ExchangeRules = object : ExchangeRules { - override fun featureIsSwitchedOn(): Boolean = false override fun isBuyAllowed(): Boolean = false override fun isSellAllowed(): Boolean = false override fun availableForBuy(scanResponse: ScanResponse, currency: Currency): Boolean = false diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoService.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoService.kt index 8bcc8168e9..f4ceb2e9d8 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoService.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoService.kt @@ -23,8 +23,6 @@ internal class MercuryoService(private val environment: MercuryoEnvironment) : E private val availableMercuryoCurrencies = CopyOnWriteArrayList() - override fun featureIsSwitchedOn(): Boolean = true - override fun isBuyAllowed(): Boolean = true override fun isSellAllowed(): Boolean = false diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayService.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayService.kt index de34810420..26b26f0b61 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayService.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayService.kt @@ -32,8 +32,6 @@ class MoonPayService( private var status: MoonPayStatus? = null - override fun featureIsSwitchedOn(): Boolean = true - override suspend fun update() { withIOContext { performRequest {