From ec8612af7f24aec9242bda99dae253bc2769a9a1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 24 Oct 2022 13:51:50 +0400 Subject: [PATCH 1/3] Updated on 2026-08-14 --- .../com/tangem/tap/domain/tokens/UserTokensRepository.kt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt b/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt index 721657cdb8..639fd82b98 100644 --- a/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt @@ -68,9 +68,11 @@ class UserTokensRepository( } suspend fun loadBlockchainsToDerive(card: Card): List { - return storageService.getUserTokens(card.getUserId())?.toBlockchainNetworks() ?: storageService.getUserTokens( - card, - ).toBlockchainNetworks() + if (DemoHelper.isDemoCardId(card.cardId)) { + return loadDemoCurrencies().toBlockchainNetworks() + } + return storageService.getUserTokens(card.getUserId())?.toBlockchainNetworks() + ?: storageService.getUserTokens(card).toBlockchainNetworks() } private fun loadDemoCurrencies(): List { From ae92fd93611fef12142b979155cde3095ebd1973 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 24 Oct 2022 15:33:51 +0400 Subject: [PATCH 2/3] Updated on 2026-08-14 --- .../tap/domain/tokens/UserTokensRepository.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt b/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt index 639fd82b98..34330160a0 100644 --- a/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt @@ -26,10 +26,11 @@ class UserTokensRepository( private val networkService: UserTokensNetworkService, ) { suspend fun getUserTokens(card: Card): List { - if (DemoHelper.isDemoCardId(card.cardId)) { - return loadDemoCurrencies() - } val userId = card.getUserId() + if (DemoHelper.isDemoCardId(card.cardId)) { + return loadTokensOffline(card, userId).ifEmpty { loadDemoCurrencies() } + } + if (!NetworkConnectivity.getInstance().isOnlineOrConnecting()) { return loadTokensOffline(card, userId) } @@ -68,11 +69,15 @@ class UserTokensRepository( } suspend fun loadBlockchainsToDerive(card: Card): List { + val userId = card.getUserId() + val blockchainNetworks = loadTokensOffline(card, userId).toBlockchainNetworks() + if (DemoHelper.isDemoCardId(card.cardId)) { - return loadDemoCurrencies().toBlockchainNetworks() + return blockchainNetworks + .ifEmpty { loadDemoCurrencies().toBlockchainNetworks() } } - return storageService.getUserTokens(card.getUserId())?.toBlockchainNetworks() - ?: storageService.getUserTokens(card).toBlockchainNetworks() + + return blockchainNetworks } private fun loadDemoCurrencies(): List { From 101ea6998ed4b67b521147d683906092f9e0e36d Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 24 Oct 2022 15:52:36 +0400 Subject: [PATCH 3/3] Updated on 2026-08-14 --- .../com/tangem/domain/common/extensions/Blockchain.kt | 11 ++++++++++- .../com/tangem/domain/common/extensions/CardSdk.kt | 5 +++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt b/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt index a720d8bf19..b11840f128 100644 --- a/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt +++ b/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt @@ -137,4 +137,13 @@ fun Blockchain.toCoinId(): String { Blockchain.SaltPay, Blockchain.SaltPayTestnet -> "xdai" Blockchain.Unknown -> "unknown" } -} \ No newline at end of file +} + +fun Blockchain.isSupportedInApp(): Boolean { + return !excludedBlockchains.contains(this) +} + +private val excludedBlockchains = listOf( + Blockchain.Optimism, // TODO: remove when fee calculation is fixed + Blockchain.SaltPay, +) \ No newline at end of file diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt b/domain/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt index 204602df42..acc0fc7bf0 100644 --- a/domain/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt +++ b/domain/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt @@ -21,8 +21,9 @@ fun Card.supportedBlockchains(): List { (Blockchain.fromCurve(EllipticCurve.Secp256k1) + Blockchain.fromCurve(EllipticCurve.Ed25519)).distinct() } } - val filtered = supportedBlockchains.filter { isTestCard == it.isTestnet() } - return filtered + return supportedBlockchains + .filter { isTestCard == it.isTestnet() } + .filter { it.isSupportedInApp() } } fun Card.supportedTokens(): List {