Updated on 2026-08-14

This commit is contained in:
Tangem 2024-01-22 16:56:27 +03:00
parent e5107de19b
commit 1813cd06a9
4 changed files with 2 additions and 58 deletions

View file

@ -25,6 +25,8 @@ internal object CoinsResponseConverter : Converter<CoinsResponse, List<Token>> {
networks = token.networks.mapNotNull { network ->
val blockchain = Blockchain.fromNetworkId(network.networkId) ?: return@mapNotNull null
if (!blockchain.canHandleTokens()) return@mapNotNull null
Token.Network(
id = network.networkId,
blockchain = blockchain,

View file

@ -55,7 +55,6 @@ internal class DefaultSwapRepository @Inject constructor(
moshi: Moshi,
) : SwapRepository {
private val tokensConverter = TokensConverter()
private val expressDataConverter = ExpressDataConverter()
private val leastTokenInfoConverter = LeastTokenInfoConverter()
private val swapPairInfoConverter = SwapPairInfoConverter()
@ -213,18 +212,6 @@ internal class DefaultSwapRepository @Inject constructor(
}
}
override suspend fun getExchangeableTokens(networkId: String): List<Currency> {
return withContext(coroutineDispatcher.io) {
tokensConverter.convertList(
tangemTechApi.getCoins(
exchangeable = true,
active = true,
networkIds = networkId,
).getOrThrow().coins,
)
}
}
override suspend fun findBestQuote(
fromContractAddress: String,
fromNetwork: String,

View file

@ -1,40 +0,0 @@
package com.tangem.feature.swap.converters
import com.tangem.datasource.api.tangemTech.models.CoinsResponse
import com.tangem.feature.swap.domain.models.domain.Currency
import com.tangem.utils.converter.Converter
class TokensConverter : Converter<CoinsResponse.Coin, Currency> {
override fun convert(value: CoinsResponse.Coin): Currency {
val network = value.networks.first()
return if (network.contractAddress != null && network.decimalCount != null) {
Currency.NonNativeToken(
id = value.id,
name = value.name,
symbol = value.symbol,
networkId = network.networkId,
contractAddress = network.contractAddress!!,
decimalCount = network.decimalCount!!.intValueExact(),
logoUrl = getSmallIconUrl(value.id),
)
} else {
Currency.NativeToken(
id = value.id,
name = value.name,
symbol = value.symbol,
networkId = network.networkId,
logoUrl = getSmallIconUrl(value.id),
)
}
}
private fun getSmallIconUrl(coin: String): String {
return "$DEFAULT_IMAGE_HOST$LARGE_ICON_PATH/$coin.png"
}
companion object {
private const val DEFAULT_IMAGE_HOST = "https://s3.eu-central-1.amazonaws.com/tangem.api/coins/"
private const val LARGE_ICON_PATH = "large"
}
}

View file

@ -17,11 +17,6 @@ interface SwapRepository {
suspend fun getRates(currencyId: String, tokenIds: List<String>): Map<String, Double>
/**
* @throws com.tangem.datasource.api.common.response.ApiResponseError
* */
suspend fun getExchangeableTokens(networkId: String): List<Currency>
suspend fun getExchangeStatus(txId: String): Either<UnknownError, ExchangeStatusModel>
@Suppress("LongParameterList")