diff --git a/app/src/main/java/com/tangem/tap/proxy/TransactionManagerImpl.kt b/app/src/main/java/com/tangem/tap/proxy/TransactionManagerImpl.kt index ec450b5f39..7794fc9ebc 100644 --- a/app/src/main/java/com/tangem/tap/proxy/TransactionManagerImpl.kt +++ b/app/src/main/java/com/tangem/tap/proxy/TransactionManagerImpl.kt @@ -17,6 +17,7 @@ import com.tangem.blockchain.common.transaction.Fee import com.tangem.blockchain.common.transaction.TransactionFee import com.tangem.blockchain.extensions.Result import com.tangem.blockchain.extensions.SimpleResult +import com.tangem.blockchain.externallinkprovider.TxExploreState import com.tangem.blockchain.network.ResultChecker import com.tangem.common.core.TangemSdkError import com.tangem.common.extensions.hexToBytes @@ -117,7 +118,10 @@ class TransactionManagerImpl( override fun getExplorerTransactionLink(networkId: String, txAddress: String): String { val blockchain = Blockchain.fromNetworkId(networkId) ?: error("blockchain not found") - return blockchain.getExploreTxUrl(txAddress) + return when (val txUrlState = blockchain.getExploreTxUrl(txAddress)) { + TxExploreState.Unsupported -> "" + is TxExploreState.Url -> txUrlState.url + } } override fun getMemoExtras(networkId: String, memo: String?): TransactionExtras? { diff --git a/data/txhistory/src/main/kotlin/com/tangem/data/txhistory/repository/DefaultTxHistoryRepository.kt b/data/txhistory/src/main/kotlin/com/tangem/data/txhistory/repository/DefaultTxHistoryRepository.kt index 7b6663b564..9f4801ff8c 100644 --- a/data/txhistory/src/main/kotlin/com/tangem/data/txhistory/repository/DefaultTxHistoryRepository.kt +++ b/data/txhistory/src/main/kotlin/com/tangem/data/txhistory/repository/DefaultTxHistoryRepository.kt @@ -4,6 +4,7 @@ import androidx.paging.Pager import androidx.paging.PagingConfig import androidx.paging.PagingData import com.tangem.blockchain.common.Blockchain +import com.tangem.blockchain.externallinkprovider.TxExploreState import com.tangem.data.common.cache.CacheRegistry import com.tangem.data.txhistory.repository.paging.TxHistoryPagingSource import com.tangem.datasource.local.txhistory.TxHistoryItemsStore @@ -69,11 +70,9 @@ class DefaultTxHistoryRepository( override fun getTxExploreUrl(txHash: String, networkId: Network.ID): String { val blockchain = Blockchain.fromId(networkId.value) - // TODO: Fix ton tx urls [REDACTED_TASK_KEY] - return if (blockchain == Blockchain.TON || blockchain == Blockchain.TONTestnet) { - "" - } else { - blockchain.getExploreTxUrl(txHash) + return when (val txExploreState = blockchain.getExploreTxUrl(txHash)) { + is TxExploreState.Url -> txExploreState.url + is TxExploreState.Unsupported -> "" } } diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/utils/VisaTxDetailsFactory.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/utils/VisaTxDetailsFactory.kt index ad0bbf4fb3..5108e0387e 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/utils/VisaTxDetailsFactory.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/utils/VisaTxDetailsFactory.kt @@ -1,6 +1,7 @@ package com.tangem.data.visa.utils import com.tangem.blockchain.common.Blockchain +import com.tangem.blockchain.externallinkprovider.TxExploreState import com.tangem.domain.visa.model.VisaTxDetails import com.tangem.lib.visa.model.VisaTxHistoryResponse @@ -43,7 +44,12 @@ internal class VisaTxDetailsFactory { txHash = request.txHash, txStatus = request.txStatus, fiatCurrency = findCurrencyByNumericCode(request.transactionCurrencyCode), - exploreUrl = request.txHash?.let(walletBlockchain::getExploreTxUrl), + exploreUrl = request.txHash?.let { + when (val txUrl = walletBlockchain.getExploreTxUrl(it)) { + is TxExploreState.Url -> txUrl.url + is TxExploreState.Unsupported -> "" + } + }, ) } } \ No newline at end of file