From 282cc27cb444c3b06876b54616e7fd3915659ea1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 9 Aug 2023 17:40:52 +0300 Subject: [PATCH] Updated on 2026-08-14 --- app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt | 3 ++- .../com/tangem/tap/domain/tasks/product/ScanProductTask.kt | 6 ++---- .../com/tangem/tap/features/onboarding/OnboardingHelper.kt | 6 +----- .../java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt | 2 +- .../com/tangem/domain/common/TangemCardTypesResolver.kt | 3 +-- .../main/java/com/tangem/domain/common/TapWorkarounds.kt | 3 ++- gradle/dependencies.toml | 2 +- 7 files changed, 10 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt index 5bac8dc2b2..35325434de 100644 --- a/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt @@ -246,12 +246,13 @@ class TangemSdkManager(private val cardSdkConfigRepository: CardSdkConfigReposit } companion object { + @Deprecated("Use [DefaultCardSdkProvider] instead") val config = Config( linkedTerminal = true, allowUntrustedCards = true, filter = CardFilter( allowedCardTypes = FirmwareVersion.FirmwareType.values().toList(), - maxFirmwareVersion = FirmwareVersion(major = 6, minor = 21), + maxFirmwareVersion = FirmwareVersion(major = 6, minor = 33), ), ) } diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/product/ScanProductTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/product/ScanProductTask.kt index 5bef94e017..6774c4e61d 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/product/ScanProductTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/product/ScanProductTask.kt @@ -51,7 +51,7 @@ class ScanProductTask( } val cardDto = CardDTO(card) - val error = getErrorIfExcludedCard(cardDto, card) + val error = getErrorIfExcludedCard(cardDto) if (error != null) { callback(CompletionResult.Failure(error)) return @@ -81,11 +81,9 @@ class ScanProductTask( } } - private fun getErrorIfExcludedCard(cardDto: CardDTO, card: Card): TangemError? { + private fun getErrorIfExcludedCard(cardDto: CardDTO): TangemError? { if (cardDto.isExcluded) return TapSdkError.CardForDifferentApp if (cardDto.isNotSupportedInThatRelease) return TapSdkError.CardNotSupportedByRelease - // todo check isImported to prevent using old app with imported wallet, remove before wallet 2.0 enabled ([REDACTED_TASK_KEY]) - if (card.wallets.any { it.isImported }) return TapSdkError.CardNotSupportedByRelease return null } } diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingHelper.kt b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingHelper.kt index 78f8cc873e..baf5ed2fcf 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingHelper.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingHelper.kt @@ -6,7 +6,6 @@ import com.tangem.common.extensions.guard import com.tangem.core.analytics.Analytics import com.tangem.core.navigation.AppScreen import com.tangem.core.navigation.NavigationAction -import com.tangem.domain.common.TapWorkarounds.canSkipBackup import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.util.twinsIsTwinned import com.tangem.domain.models.scan.ProductType @@ -38,10 +37,7 @@ object OnboardingHelper { } } - // TODO for Shiba disabled check wallet 2, and only check canSkipBackup, enable when release wallet 2 - // ([REDACTED_TASK_KEY]) - // response.cardTypesResolver.isWallet2() -> { - !response.card.canSkipBackup -> { + response.cardTypesResolver.isWallet2() -> { val emptyWallets = response.card.wallets.isEmpty() val activationInProgress = cardInfoStorage.isActivationInProgress(cardId) val backupNotActive = response.card.backupStatus?.isActive != true diff --git a/data/card/src/main/java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt b/data/card/src/main/java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt index dddff7e3da..522b4d2b9b 100644 --- a/data/card/src/main/java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt +++ b/data/card/src/main/java/com/tangem/data/card/sdk/DefaultCardSdkProvider.kt @@ -38,7 +38,7 @@ internal class DefaultCardSdkProvider @Inject constructor() : CardSdkProvider, C allowUntrustedCards = true, filter = CardFilter( allowedCardTypes = FirmwareVersion.FirmwareType.values().toList(), - maxFirmwareVersion = FirmwareVersion(major = 4, minor = 52), + maxFirmwareVersion = FirmwareVersion(major = 6, minor = 33), ), ) } diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt index 0eb5a72085..757ce2bb3e 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt @@ -30,8 +30,7 @@ internal class TangemCardTypesResolver( } override fun isWallet2(): Boolean { - // todo for now disabled to prevent Shiba cards using as wallet 2, enable when release wallet 2.0 ([REDACTED_TASK_KEY]) - return false // card.firmwareVersion >= FirmwareVersion.KeysImportAvailable && card.settings.isKeysImportAllowed + return card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && card.settings.isKeysImportAllowed } override fun isTangemTwins(): Boolean = productType == ProductType.Twins diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt index ccd30b6eb0..3a04270558 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt @@ -14,6 +14,7 @@ object TapWorkarounds { private const val START_2_COIN_ISSUER = "start2coin" private const val TEST_CARD_BATCH = "99FF" private const val TEST_CARD_ID_STARTS_WITH = "FF99" + private val backupRequiredFirmwareVersion = FirmwareVersion(major = 6, minor = 21) val CardDTO.isTangemTwins: Boolean get() = TwinsHelper.getTwinCardNumber(cardId) != null @@ -26,7 +27,7 @@ object TapWorkarounds { // for cards 6.21 and higher backup is not skippable val CardDTO.canSkipBackup: Boolean - get() = this.firmwareVersion < FirmwareVersion.KeysImportAvailable + get() = this.firmwareVersion < backupRequiredFirmwareVersion val CardDTO.useOldStyleDerivation: Boolean get() = batchId == "AC01" || batchId == "AC02" || batchId == "CB95" diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 790f87d7f0..5ad57c37ed 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -82,7 +82,7 @@ okHttp-prettyLogging = "3.1.0" # region Tangem tangemBlockchainSdk = "develop-306" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "develop-280" +tangemCardSdk = "develop-283" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds # endregion Tangem