diff --git a/app/src/main/java/com/tangem/tap/domain/TapWorkarounds.kt b/app/src/main/java/com/tangem/tap/domain/TapWorkarounds.kt index 5807bd024e..79186f4c94 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWorkarounds.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWorkarounds.kt @@ -3,6 +3,7 @@ package com.tangem.tap.domain import com.tangem.commands.common.card.Card import com.tangem.commands.common.card.EllipticCurve import com.tangem.commands.common.card.masks.Product +import com.tangem.tap.domain.TapWorkarounds.isNote import com.tangem.tap.domain.TapWorkarounds.isStart2Coin import com.tangem.tap.domain.extensions.getSingleWallet import java.util.* @@ -27,6 +28,14 @@ object TapWorkarounds { } + fun Card.isNote(): Boolean { + return notesBatches.contains(cardData?.batchId) + } + + fun Card.isMultiCurrencyWallet(): Boolean { + return multiCurrencyWalletsBatches.contains(cardData?.batchId) + } + private const val START_2_COIN_ISSUER = "start2coin" private val excludedBatches = listOf( @@ -39,12 +48,24 @@ object TapWorkarounds { private val excludedIssuers = listOf( "TTM BANK" ) + + private val notesBatches = listOf( + "AB01", + "AB02", + "AB03", + "AB04", + "AB05", + "AB06", + ) + + private val multiCurrencyWalletsBatches = listOf("AC01") } val Card.isMultiwalletAllowed: Boolean get() { return cardData?.productMask?.contains(Product.TwinCard) != true && !isStart2Coin + && !isNote() && (firmwareVersion.major >= 4 || getSingleWallet()?.curve == EllipticCurve.Secp256k1) } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt index 0415316f32..a138f8838f 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt @@ -15,6 +15,7 @@ import com.tangem.common.CompletionResult import com.tangem.common.extensions.toHexString import com.tangem.tap.domain.TapSdkError import com.tangem.tap.domain.TapWorkarounds.isExcluded +import com.tangem.tap.domain.TapWorkarounds.isMultiCurrencyWallet import com.tangem.tap.domain.extensions.getSingleWallet import com.tangem.tap.domain.extensions.getStatus import com.tangem.tap.domain.twins.TwinCardsManager @@ -23,6 +24,7 @@ import com.tangem.tap.store import com.tangem.tasks.PreflightReadCapable import com.tangem.tasks.PreflightReadSettings import com.tangem.tasks.ScanTask +import com.tangem.wallet.R data class ScanNoteResponse( val card: Card, @@ -147,6 +149,8 @@ class ScanNoteTask(val card: Card? = null) : CardSessionRunnableThis card can’t be used to establish WalletConnect session The operation couldn\'t be completed The operation couldn\'t be completed. \n\nYou have already established a WalletConnect session with this parameters. + + Oops, the current version of the application is not ready to work with this card, please check for updates.