diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml
index 4055e42ef5..2158343988 100644
--- a/core/res/src/main/res/values/strings.xml
+++ b/core/res/src/main/res/values/strings.xml
@@ -538,6 +538,7 @@
Complete setup by securing the app with an access code.
If you do, you\'ll need to start over.
Are you sure you want to quit the activation process?
+ Keeps your crypto safe and offline. Slim as a credit card, safer than a bank vault.
If you do, you\'ll need to start over.
Recover existing wallet via Google Drive backup
Google Drive backup
@@ -547,6 +548,7 @@
Please back up your wallet before creating an access code.
Finalize backup first
Incomplete
+ Other methods
Physical devices that securely store your private key offline.
Recovery phrase
Your private keys are securely encrypted and stored on your phone
diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/ExpressDataError.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/ExpressDataError.kt
index 568214f788..1f13d0910e 100644
--- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/ExpressDataError.kt
+++ b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/ExpressDataError.kt
@@ -64,4 +64,9 @@ sealed class ExpressDataError {
override val code: Int = -2
override val message: String = "tooLargeSolanaTransaction"
}
+
+ data object DexActiveSupplyError : ExpressDataError() {
+ override val code: Int = -3
+ override val message: String = "dexActiveSupplyError"
+ }
}
\ No newline at end of file
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 7e47fff730..bbebf6f219 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
@@ -334,6 +334,14 @@ internal class SwapInteractorImpl @AssistedInject constructor(
isBalanceWithoutFeeEnough: Boolean,
expressOperationType: ExpressOperationType,
): Pair {
+ if (fromToken.value.yieldSupplyStatus?.isActive == true) {
+ return provider to produceDexSwapDataError(
+ error = ExpressDataError.DexActiveSupplyError,
+ fromToken = fromToken,
+ amount = amount,
+ )
+ }
+
val maybeQuotes = repository.findBestQuote(
userWallet = userWallet,
fromContractAddress = fromToken.currency.getContractAddress(),
diff --git a/features/swap/impl/src/main/java/com/tangem/feature/swap/model/SwapModel.kt b/features/swap/impl/src/main/java/com/tangem/feature/swap/model/SwapModel.kt
index cf53aeb958..a8bb23deaf 100644
--- a/features/swap/impl/src/main/java/com/tangem/feature/swap/model/SwapModel.kt
+++ b/features/swap/impl/src/main/java/com/tangem/feature/swap/model/SwapModel.kt
@@ -1267,16 +1267,7 @@ internal class SwapModel @Inject constructor(
toToken.currency.id.value
}
- return groupToFind.available.find { idToFind == it.currencyStatus.currency.id.value }?.providers
- ?.filter { provider ->
- // !!!WARNING!!! Filter out dex provider if yield supply is active
- val yieldSupplyStatus = fromToken.value.yieldSupplyStatus
- if (yieldSupplyStatus != null && yieldSupplyStatus.isActive) {
- provider.type == ExchangeProviderType.CEX
- } else {
- true
- }
- }.orEmpty()
+ return groupToFind.available.find { idToFind == it.currencyStatus.currency.id.value }?.providers.orEmpty()
}
private fun Map.getLastLoadedSuccessStates(): SuccessLoadedSwapData {