From 9e99193f4d499d39fb48669e7ee5d87aad77d308 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Mar 2023 19:30:24 +0300 Subject: [PATCH 1/2] Updated on 2026-08-14 --- .../src/main/java/com/tangem/domain/common/TapWorkarounds.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/domain/src/main/java/com/tangem/domain/common/TapWorkarounds.kt b/domain/src/main/java/com/tangem/domain/common/TapWorkarounds.kt index dabbd0e150..9ac3308197 100644 --- a/domain/src/main/java/com/tangem/domain/common/TapWorkarounds.kt +++ b/domain/src/main/java/com/tangem/domain/common/TapWorkarounds.kt @@ -79,8 +79,7 @@ object TapWorkarounds { "Now blockchain is read form files (CardTypesResolver.getBlockchain), " + "but for previously saved cards this method is still used", ) - fun CardDTO.getTangemNoteBlockchain(): Blockchain? = - tangemNoteBatches[batchId] ?: if (isSaltPay) Blockchain.Gnosis else null + fun CardDTO.getTangemNoteBlockchain(): Blockchain? = tangemNoteBatches[batchId] fun isStart2CoinIssuer(cardIssuer: String?): Boolean { return cardIssuer?.lowercase(Locale.US) == START_2_COIN_ISSUER From 268fcf5676a0a39945a013f7227652acd849a50c Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Mar 2023 19:57:37 +0300 Subject: [PATCH 2/2] Updated on 2026-08-14 --- .../model/builders/WalletStoreBuilder.kt | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/model/builders/WalletStoreBuilder.kt b/app/src/main/java/com/tangem/tap/domain/model/builders/WalletStoreBuilder.kt index f5d0d3b6fd..565f8fb826 100644 --- a/app/src/main/java/com/tangem/tap/domain/model/builders/WalletStoreBuilder.kt +++ b/app/src/main/java/com/tangem/tap/domain/model/builders/WalletStoreBuilder.kt @@ -56,7 +56,11 @@ private class BlockchainNetworkWalletStoreBuilderImpl( override fun build(): WalletStoreModel { val cardDerivationStyle = userWallet.scanResponse.card.derivationStyle val blockchainWalletData = blockchainNetwork.getBlockchainWalletData(walletManager, cardDerivationStyle) - val tokensWalletsData = blockchainNetwork.getTokensWalletsData(walletManager, cardDerivationStyle) + val tokensWalletsData = blockchainNetwork.getTokensWalletsData( + walletManager = walletManager, + cardDerivationStyle = cardDerivationStyle, + primaryToken = userWallet.scanResponse.cardTypesResolver.getPrimaryToken(), + ) return WalletStoreModel( userWalletId = userWallet.walletId, @@ -78,7 +82,10 @@ private class WalletMangerWalletStoreBuilderImpl( override fun build(): WalletStoreModel { val wallet = walletManager.wallet val blockchainWalletData = wallet.blockchain.toBlockchainWalletData(walletManager) - val tokenWalletsData = wallet.getTokens().firstOrNull()?.toTokenWalletData(walletManager) + val tokenWalletsData = wallet.getTokens().firstOrNull()?.toTokenWalletData( + walletManager = walletManager, + primaryToken = userWallet.scanResponse.cardTypesResolver.getPrimaryToken(), + ) return WalletStoreModel( userWalletId = userWallet.walletId, @@ -115,6 +122,7 @@ private fun BlockchainNetwork.getBlockchainWalletData( private fun BlockchainNetwork.getTokensWalletsData( walletManager: WalletManager?, cardDerivationStyle: DerivationStyle?, + primaryToken: Token?, ): List { return this.tokens .map { token -> @@ -129,7 +137,7 @@ private fun BlockchainNetwork.getTokensWalletsData( walletAddresses = walletManager?.wallet?.createAddressesData().orEmpty(), existentialDeposit = getExistentialDeposit(walletManager), fiatRate = null, - isCardSingleToken = walletManager?.cardTokens?.contains(token) ?: false, + isCardSingleToken = token == primaryToken, isCustom = currency.isCustomCurrency(cardDerivationStyle), historyTransactions = walletManager?.getTokenTxHistory(token), ) @@ -153,7 +161,10 @@ private fun Blockchain.toBlockchainWalletData(walletManager: WalletManager): Wal ) } -private fun Token.toTokenWalletData(walletManager: WalletManager): WalletDataModel { +private fun Token.toTokenWalletData( + walletManager: WalletManager, + primaryToken: Token?, +): WalletDataModel { val wallet = walletManager.wallet return WalletDataModel( currency = Currency.Token( @@ -165,7 +176,7 @@ private fun Token.toTokenWalletData(walletManager: WalletManager): WalletDataMod walletAddresses = wallet.createAddressesData(), existentialDeposit = getExistentialDeposit(walletManager), fiatRate = null, - isCardSingleToken = walletManager.cardTokens.contains(this), + isCardSingleToken = this == primaryToken, isCustom = false, historyTransactions = walletManager.getTokenTxHistory(this), )