From 55eb45a3a2b5c5ac8d2de3d122fc2d5775ac1ca2 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 21 Oct 2022 13:11:56 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../com/tangem/tap/domain/tokens/UserTokensRepository.kt | 2 +- .../tangem/tap/domain/tokens/UserTokensStorageService.kt | 2 +- .../com/tangem/tap/features/wallet/models/Currency.kt | 8 +++++--- 3 files changed, 7 insertions(+), 5 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 a92143defc..0a63e01123 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 @@ -36,7 +36,7 @@ class UserTokensRepository( return when (val networkResult = networkService.getUserTokens(userId)) { is Result.Success -> { - val tokens = networkResult.data.tokens.map { Currency.fromTokenResponse(it) } + val tokens = networkResult.data.tokens.mapNotNull { Currency.fromTokenResponse(it) } storageService.saveUserTokens(card.getUserId(), tokens.toUserTokensResponse()) tokens } diff --git a/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensStorageService.kt b/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensStorageService.kt index 869c49034f..c71e5afa53 100644 --- a/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensStorageService.kt +++ b/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensStorageService.kt @@ -20,7 +20,7 @@ class UserTokensStorageService( fun getUserTokens(userId: String): List? { return try { val json = fileReader.readFile(getFileNameForUserTokens(userId)) - userTokensAdapter.fromJson(json)?.tokens?.map { Currency.fromTokenResponse(it) } + userTokensAdapter.fromJson(json)?.tokens?.mapNotNull { Currency.fromTokenResponse(it) } } catch (exception: Exception) { Log.error { exception.stackTraceToString() } null diff --git a/app/src/main/java/com/tangem/tap/features/wallet/models/Currency.kt b/app/src/main/java/com/tangem/tap/features/wallet/models/Currency.kt index 7597156ab9..06e3cbae64 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/models/Currency.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/models/Currency.kt @@ -110,7 +110,9 @@ sealed interface Currency { ) } - fun fromTokenResponse(tokenResponse: TokenResponse): Currency { + fun fromTokenResponse(tokenResponse: TokenResponse): Currency? { + val blockchain = com.tangem.blockchain.common.Blockchain.fromNetworkId(tokenResponse.networkId) + ?: return null return when { tokenResponse.contractAddress != null -> Token( com.tangem.blockchain.common.Token( @@ -120,11 +122,11 @@ sealed interface Currency { decimals = tokenResponse.decimals, id = tokenResponse.id, ), - blockchain = com.tangem.blockchain.common.Blockchain.fromNetworkId(tokenResponse.networkId)!!, + blockchain = blockchain, derivationPath = tokenResponse.derivationPath, ) else -> Blockchain( - blockchain = com.tangem.blockchain.common.Blockchain.fromNetworkId(tokenResponse.networkId)!!, + blockchain = blockchain, derivationPath = tokenResponse.derivationPath, ) }