From 70419c49a2351eb094176e0c01a5390441a8354e Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 16 Sep 2024 13:40:42 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../converters/TokenMarketInfoConverter.kt | 31 ++++++++++++++----- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketInfoConverter.kt b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketInfoConverter.kt index 1aa7d1e9af..535b4aca6c 100644 --- a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketInfoConverter.kt +++ b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketInfoConverter.kt @@ -1,5 +1,8 @@ package com.tangem.data.markets.converters +import com.tangem.blockchain.common.Blockchain +import com.tangem.blockchainsdk.utils.fromNetworkId +import com.tangem.blockchainsdk.utils.isSupportedInApp import com.tangem.datasource.api.markets.models.response.TokenMarketInfoResponse import com.tangem.domain.markets.TokenMarketInfo import com.tangem.domain.markets.TokenQuotes @@ -47,13 +50,27 @@ internal object TokenMarketInfoConverter : Converter.convert(): List { - return map { - TokenMarketInfo.Network( - networkId = it.networkId, - exchangeable = it.exchangeable, - contractAddress = it.contractAddress, - decimalCount = it.decimalCount, - ) + return mapNotNull { network -> + val blockchain = Blockchain.fromNetworkId(network.networkId) + when { + network.contractAddress.isNullOrEmpty() -> { + TokenMarketInfo.Network( + networkId = network.networkId, + exchangeable = network.exchangeable, + contractAddress = network.contractAddress, + decimalCount = network.decimalCount, + ) + } + blockchain != null && blockchain.isSupportedInApp() && blockchain.canHandleTokens() -> { + TokenMarketInfo.Network( + networkId = network.networkId, + exchangeable = network.exchangeable, + contractAddress = network.contractAddress, + decimalCount = network.decimalCount, + ) + } + else -> null + } } }