diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayApi.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayApi.kt index ce7c4c2a7f..e5948ce873 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayApi.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayApi.kt @@ -41,4 +41,11 @@ data class MoonPayCurrencies( val isSupportedInUS: Boolean = false, val isSellSupported: Boolean = false, val notAllowedUSStates: List = emptyList(), + val metadata: MoonPayCurrenciesMetadata? = null, +) + +@JsonClass(generateAdapter = true) +data class MoonPayCurrenciesMetadata( + val contractAddress: String?, + val networkCode: String?, ) \ No newline at end of file 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 664f31e958..328904eb0a 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 @@ -81,6 +81,7 @@ class MoonPayService( override fun availableForSell(currency: Currency): Boolean { val availableForSell = status?.availableForSell ?: return false + val metadata = status?.responseCurrencies?.map { it.metadata } if (!isSellAllowed()) return false return when (currency) { @@ -92,7 +93,9 @@ class MoonPayService( else -> availableForSell.contains(currency.currencySymbol) } } - is Currency.Token -> false + is Currency.Token -> { + metadata?.any { it?.contractAddress.equals(currency.token.contractAddress, ignoreCase = true) } ?: false + } } }