From 73f5f83b97886d7ee1ca42a313131bf883ab9307 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 24 Feb 2025 09:31:32 +0200 Subject: [PATCH 1/5] Updated on 2026-08-14 --- .../auth/DefaultExpressAuthProvider.kt | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/network/auth/DefaultExpressAuthProvider.kt b/app/src/main/java/com/tangem/tap/network/auth/DefaultExpressAuthProvider.kt index 7331b9f95c..452b90127d 100644 --- a/app/src/main/java/com/tangem/tap/network/auth/DefaultExpressAuthProvider.kt +++ b/app/src/main/java/com/tangem/tap/network/auth/DefaultExpressAuthProvider.kt @@ -4,6 +4,7 @@ import com.tangem.datasource.local.preferences.AppPreferencesStore import com.tangem.datasource.local.preferences.PreferencesKeys import com.tangem.datasource.local.preferences.utils.getSyncOrDefault import com.tangem.datasource.local.userwallet.UserWalletsStore +import com.tangem.domain.wallets.models.UserWallet import com.tangem.lib.auth.ExpressAuthProvider import kotlinx.coroutines.runBlocking import java.util.UUID @@ -25,6 +26,17 @@ internal class DefaultExpressAuthProvider( } override fun getRefCode(): String { + val selectedUserWallet = userWalletsStore.selectedUserWalletOrNull ?: error("Can not get selected user wallet") + + return when { + isRing(selectedUserWallet) -> "ring" + isChangeNow(selectedUserWallet) -> "ChangeNow" + isPartner(selectedUserWallet) -> "partner" + else -> "" + } + } + + private fun isRing(selectedUserWallet: UserWallet): Boolean { val addedWalletsWithRings = runBlocking { appPreferencesStore.getSyncOrDefault( key = PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY, @@ -32,9 +44,19 @@ internal class DefaultExpressAuthProvider( ) } - val userWalletId = userWalletsStore.selectedUserWalletOrNull?.walletId?.stringValue - ?: error("No user id provided") + return addedWalletsWithRings.contains(selectedUserWallet.walletId.stringValue) + } - return if (addedWalletsWithRings.contains(userWalletId)) "ring" else "" + private fun isChangeNow(selectedUserWallet: UserWallet): Boolean { + return selectedUserWallet.scanResponse.card.batchId == BATCH_ID_CHANGENOW + } + + private fun isPartner(selectedUserWallet: UserWallet): Boolean { + return selectedUserWallet.scanResponse.card.batchId == BATCH_ID_PARTNER + } + + private companion object { + const val BATCH_ID_CHANGENOW = "BB000013" + const val BATCH_ID_PARTNER = "AF990015" } } \ No newline at end of file From b1fd4510f40ae013509c8a346681a5703c692411 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 10 Mar 2025 12:09:53 +0300 Subject: [PATCH 2/5] Updated on 2026-08-14 --- version.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.properties b/version.properties index 60c5fb9778..f5fd46675c 100644 --- a/version.properties +++ b/version.properties @@ -1 +1 @@ -versionName=5.21.0 \ No newline at end of file +versionName=5.21.1 \ No newline at end of file From ac3ea5b5311b4cf0261a6fb24172c3ab4ea9eaeb Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 10 Mar 2025 16:44:51 +0500 Subject: [PATCH 3/5] Updated on 2026-08-14 --- .../datasource/local/quote/DefaultQuotesStore.kt | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/quote/DefaultQuotesStore.kt b/core/datasource/src/main/java/com/tangem/datasource/local/quote/DefaultQuotesStore.kt index 09d14bde66..d4c6a12183 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/quote/DefaultQuotesStore.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/quote/DefaultQuotesStore.kt @@ -46,9 +46,16 @@ internal class DefaultQuotesStore( } override suspend fun getSync(currenciesIds: Set): Set { - return runtimeStore.getSyncOrDefault(default = emptySet()) - .filter { it.rawCurrencyId in currenciesIds } - .toSet() + val runtimeQuotes = runtimeStore.getSyncOrNull() + val cachedQuotes = getCachedQuotes(currenciesIds = currenciesIds) + + if (runtimeQuotes.isNullOrEmpty() && cachedQuotes.isEmpty()) return emptySet() + + return mergeQuotes( + currenciesIds = currenciesIds, + cachedQuotes = cachedQuotes, + runtimeQuotes = runtimeQuotes.orEmpty(), + ) } override suspend fun store(response: QuotesResponse) { From 76e17fc21ff21ff2579028c058e80f863001ca33 Mon Sep 17 00:00:00 2001 From: Tangem Date: Sun, 9 Mar 2025 18:33:04 +0300 Subject: [PATCH 4/5] Updated on 2026-08-14 --- .../kotlin/com/tangem/data/tokens/utils/CustomTokensMerger.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/CustomTokensMerger.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/CustomTokensMerger.kt index aae3c27916..dae6959b59 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/CustomTokensMerger.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/CustomTokensMerger.kt @@ -83,7 +83,9 @@ internal class CustomTokensMerger( return token.copy( id = foundToken.id, name = foundToken.name, - symbol = foundToken.symbol, + symbol = foundToken.symbol.ifEmpty { + token.symbol + }, ) } From b89b9209cea4a51fc226f63585906fee263f63f3 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 10 Mar 2025 12:43:34 +0000 Subject: [PATCH 5/5] Updated on 2026-08-14 --- gradle/tangem_dependencies.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index 9096044540..76cabfe4a7 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -1,7 +1,7 @@ [versions] -tangemBlockchainSdk = "release-app_5.21-976" +tangemBlockchainSdk = "develop-977" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "release-app_5.21-435" +tangemCardSdk = "develop-437" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem-developments8" #tangemVico = "0.0.1" # Keep it! - used for local builds ^