diff --git a/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt index 721fbd04da..97f3acfd0d 100644 --- a/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt +++ b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt @@ -8,9 +8,9 @@ import com.tangem.common.card.EllipticCurve import com.tangem.common.card.EncryptionMode import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.crypto.hdWallet.bip32.ExtendedPublicKey +import com.tangem.common.card.FirmwareVersion as SdkFirmwareVersion import com.tangem.operations.attestation.Attestation import java.util.Date -import com.tangem.common.card.FirmwareVersion as SdkFirmwareVersion // TODO: Move to :domain:card:models /** @@ -189,6 +189,8 @@ data class CardDTO( minor != other.minor -> minor.compareTo(other.minor) else -> patch.compareTo(other.patch) } + + fun toSdkFirmwareVersion() = SdkFirmwareVersion(major = major, minor = minor) } @JsonClass(generateAdapter = true) diff --git a/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetCardImageUseCase.kt b/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetCardImageUseCase.kt index 048729f9e9..7a71823750 100644 --- a/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetCardImageUseCase.kt +++ b/domain/wallets/src/main/java/com/tangem/domain/wallets/usecase/GetCardImageUseCase.kt @@ -1,5 +1,6 @@ package com.tangem.domain.wallets.usecase +import com.tangem.common.card.FirmwareVersion import com.tangem.common.extensions.toHexString import com.tangem.common.services.Result import com.tangem.domain.common.TwinCardNumber @@ -30,11 +31,19 @@ class GetCardImageUseCase( * @param cardId card id * @param cardPublicKey card public key */ - suspend operator fun invoke(cardId: String, cardPublicKey: ByteArray, size: ArtworkSize): ArtworkModel { + suspend operator fun invoke( + cardId: String, + cardPublicKey: ByteArray, + manufacturerName: String, + firmwareVersion: FirmwareVersion, + size: ArtworkSize, + ): ArtworkModel { return if (cardSdkFeatureToggles.isNewArtworkLoadingEnabled) { val result = cardArtworksProvider.getArtwork( cardId = cardId, cardPublicKey = cardPublicKey, + manufacturerName = manufacturerName, + firmwareVersion = firmwareVersion, size = size, ) when (result) { diff --git a/features/details/impl/src/main/kotlin/com/tangem/features/details/utils/UserWalletsFetcher.kt b/features/details/impl/src/main/kotlin/com/tangem/features/details/utils/UserWalletsFetcher.kt index 23cde30f76..344068b99b 100644 --- a/features/details/impl/src/main/kotlin/com/tangem/features/details/utils/UserWalletsFetcher.kt +++ b/features/details/impl/src/main/kotlin/com/tangem/features/details/utils/UserWalletsFetcher.kt @@ -87,6 +87,8 @@ internal class UserWalletsFetcher @Inject constructor( wallets.forEach { wallet -> val artwork = getCardImageUseCase( cardId = wallet.cardId, + manufacturerName = wallet.scanResponse.card.manufacturer.name, + firmwareVersion = wallet.scanResponse.card.firmwareVersion.toSdkFirmwareVersion(), cardPublicKey = wallet.scanResponse.card.cardPublicKey, size = ArtworkSize.SMALL, ) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/MultiWalletChildParams.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/MultiWalletChildParams.kt index 8fee788c8b..12c16a3ee2 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/MultiWalletChildParams.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/MultiWalletChildParams.kt @@ -1,5 +1,7 @@ package com.tangem.features.onboarding.v2.multiwallet.impl.child +import com.tangem.common.card.Card.Manufacturer +import com.tangem.common.card.FirmwareVersion import com.tangem.features.onboarding.v2.multiwallet.api.OnboardingMultiWalletComponent import com.tangem.features.onboarding.v2.multiwallet.impl.MultiWalletInnerNavigationState import com.tangem.features.onboarding.v2.multiwallet.impl.model.OnboardingMultiWalletState @@ -18,6 +20,8 @@ class MultiWalletChildParams( data class BackupCardInfo( val cardId: String, val cardPublicKey: ByteArray, + val manufacturer: Manufacturer, + val firmwareVersion: FirmwareVersion, ) { override fun equals(other: Any?): Boolean { if (this === other) return true diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/backup/model/MultiWalletBackupModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/backup/model/MultiWalletBackupModel.kt index e9be6ab78d..cee887eceb 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/backup/model/MultiWalletBackupModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/backup/model/MultiWalletBackupModel.kt @@ -206,6 +206,8 @@ class MultiWalletBackupModel @Inject constructor( val backupCardInfo = MultiWalletChildParams.Backup.BackupCardInfo( cardId = result.data.cardId, cardPublicKey = result.data.cardPublicKey, + manufacturer = result.data.manufacturer, + firmwareVersion = result.data.firmwareVersion, ) params.backups.update { it.copy( diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/model/OnboardingMultiWalletModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/model/OnboardingMultiWalletModel.kt index c685d24d3c..6d5a640d3d 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/model/OnboardingMultiWalletModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/model/OnboardingMultiWalletModel.kt @@ -86,6 +86,8 @@ internal class OnboardingMultiWalletModel @Inject constructor( cardId = backup.card2.cardId, cardPublicKey = backup.card2.cardPublicKey, size = ArtworkSize.LARGE, + manufacturerName = backup.card2.manufacturer.name, + firmwareVersion = backup.card2.firmwareVersion, ) _uiState.update { it.copy(artwork2 = ArtworkUM(artwork.verifiedArtwork, artwork.defaultUrl)) @@ -97,6 +99,8 @@ internal class OnboardingMultiWalletModel @Inject constructor( cardId = backup.card3.cardId, cardPublicKey = backup.card3.cardPublicKey, size = ArtworkSize.LARGE, + manufacturerName = backup.card3.manufacturer.name, + firmwareVersion = backup.card3.firmwareVersion, ) _uiState.update { it.copy(artwork3 = ArtworkUM(artwork.verifiedArtwork, artwork.defaultUrl)) @@ -170,6 +174,8 @@ internal class OnboardingMultiWalletModel @Inject constructor( cardId = params.scanResponse.card.cardId, cardPublicKey = params.scanResponse.card.cardPublicKey, size = ArtworkSize.LARGE, + manufacturerName = params.scanResponse.card.manufacturer.name, + firmwareVersion = params.scanResponse.card.firmwareVersion.toSdkFirmwareVersion(), ) _uiState.update { diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/note/impl/model/OnboardingNoteModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/note/impl/model/OnboardingNoteModel.kt index 43303a39b2..43d12d119e 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/note/impl/model/OnboardingNoteModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/note/impl/model/OnboardingNoteModel.kt @@ -94,6 +94,8 @@ internal class OnboardingNoteModel @Inject constructor( cardId = cardInfo.cardId, cardPublicKey = cardInfo.cardPublicKey, size = ArtworkSize.LARGE, + manufacturerName = cardInfo.manufacturer.name, + firmwareVersion = cardInfo.firmwareVersion.toSdkFirmwareVersion(), ) _uiState.update { it.copy(cardArtwork = ArtworkUM(artwork.verifiedArtwork, artwork.defaultUrl)) diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index e082d4fc52..ef2ebcb18f 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -7,7 +7,7 @@ tangemBlockchainSdk = "releases-5.24.0-1056" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "releases-5.24.0-466" +tangemCardSdk = "releases-5.24.0-467" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem12" #tangemVico = "0.0.1" # Keep it! - used for local builds ^