Updated on 2026-08-14

This commit is contained in:
Tangem 2023-10-20 17:28:11 +08:00
parent 2c9ea54ebc
commit a4e5286779
9 changed files with 52 additions and 11 deletions

View file

@ -3,6 +3,7 @@ package com.tangem.domain.common
import com.tangem.blockchain.common.Blockchain
import com.tangem.blockchain.common.Token
@Suppress("TooManyFunctions")
interface CardTypesResolver {
fun isTangemNote(): Boolean
@ -11,6 +12,12 @@ interface CardTypesResolver {
fun isShibaWallet(): Boolean
fun isTronWallet(): Boolean
fun isKaspaWallet(): Boolean
fun isBadWallet(): Boolean
fun isWhiteWallet(): Boolean
fun isWallet2(): Boolean

View file

@ -12,6 +12,7 @@ import com.tangem.domain.models.scan.CardDTO
import com.tangem.domain.models.scan.ProductType
import com.tangem.operations.attestation.Attestation
@Suppress("TooManyFunctions")
internal class TangemCardTypesResolver(
private val card: CardDTO,
private val productType: ProductType,
@ -29,12 +30,18 @@ internal class TangemCardTypesResolver(
return card.firmwareVersion.compareTo(FirmwareVersion.KeysImportAvailable) == 0
}
override fun isTronWallet(): Boolean = card.batchId == TRON_WALLET_BATCH_ID
override fun isKaspaWallet(): Boolean = card.batchId == KASPA_WALLET_BATCH_ID
override fun isBadWallet(): Boolean = card.batchId == BAD_WALLET_BATCH_ID
override fun isWhiteWallet(): Boolean {
return walletData == null && card.firmwareVersion <= FirmwareVersion.HDWalletAvailable
}
override fun isWallet2(): Boolean {
return card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && card.settings.isKeysImportAllowed
return productType == ProductType.Wallet2
}
override fun isTangemTwins(): Boolean = productType == ProductType.Twins
@ -115,5 +122,8 @@ internal class TangemCardTypesResolver(
private companion object {
const val DEV_KIT_CARD_BATCH_ID = "CB83"
const val TRON_WALLET_BATCH_ID = "AF07"
const val KASPA_WALLET_BATCH_ID = "AF08"
const val BAD_WALLET_BATCH_ID = "AF09"
}
}