diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f3691ec571..1655f303f0 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,7 +11,8 @@ plugins { dependencies { implementation(files("libs/walletconnect-1.5.6.aar")) - implementation(project(":domain")) + implementation(project(":domain:legacy")) + implementation(project(":domain:models")) implementation(project(":common")) implementation(project(":core:analytics")) implementation(project(":core:featuretoggles")) diff --git a/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/CardContextInterceptor.kt b/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/CardContextInterceptor.kt index 5c087a4f20..0f9b7c6bc1 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/CardContextInterceptor.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/CardContextInterceptor.kt @@ -2,8 +2,9 @@ package com.tangem.tap.common.analytics.paramsInterceptor import com.tangem.core.analytics.AnalyticsEvent import com.tangem.core.analytics.api.ParamsInterceptor -import com.tangem.domain.common.ProductType -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ProductType +import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.converters.ParamCardCurrencyConverter import com.tangem.tap.common.analytics.events.AnalyticsParam import com.tangem.tap.common.analytics.events.IntroductionProcess diff --git a/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/LinkedCardContextInterceptor.kt b/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/LinkedCardContextInterceptor.kt index 9dcfd80714..94c006d699 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/LinkedCardContextInterceptor.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/paramsInterceptor/LinkedCardContextInterceptor.kt @@ -2,7 +2,7 @@ package com.tangem.tap.common.analytics.paramsInterceptor import com.tangem.core.analytics.AnalyticsEvent import com.tangem.core.analytics.api.ParamsInterceptor -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse /** [REDACTED_AUTHOR] diff --git a/app/src/main/java/com/tangem/tap/common/analytics/topup/TopUpController.kt b/app/src/main/java/com/tangem/tap/common/analytics/topup/TopUpController.kt index 2435646fed..30caf9f355 100644 --- a/app/src/main/java/com/tangem/tap/common/analytics/topup/TopUpController.kt +++ b/app/src/main/java/com/tangem/tap/common/analytics/topup/TopUpController.kt @@ -4,8 +4,9 @@ import com.tangem.common.extensions.guard import com.tangem.common.extensions.isZero import com.tangem.core.analytics.Analytics import com.tangem.domain.common.CardTypesResolver -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.util.UserWalletId +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.converters.TopUpEventConverter import com.tangem.tap.common.analytics.events.AnalyticsParam import com.tangem.tap.common.extensions.copy diff --git a/app/src/main/java/com/tangem/tap/common/extensions/Analytics.kt b/app/src/main/java/com/tangem/tap/common/extensions/Analytics.kt index 8d3ce8e5ad..8e79d07381 100644 --- a/app/src/main/java/com/tangem/tap/common/extensions/Analytics.kt +++ b/app/src/main/java/com/tangem/tap/common/extensions/Analytics.kt @@ -1,7 +1,7 @@ package com.tangem.tap.common.extensions import com.tangem.core.analytics.Analytics -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.paramsInterceptor.LinkedCardContextInterceptor /** diff --git a/app/src/main/java/com/tangem/tap/common/feedback/AdditionalFeedbackInfo.kt b/app/src/main/java/com/tangem/tap/common/feedback/AdditionalFeedbackInfo.kt index c6f5bafd0a..7d138f1610 100644 --- a/app/src/main/java/com/tangem/tap/common/feedback/AdditionalFeedbackInfo.kt +++ b/app/src/main/java/com/tangem/tap/common/feedback/AdditionalFeedbackInfo.kt @@ -8,8 +8,8 @@ import com.tangem.blockchain.common.Token import com.tangem.blockchain.common.Wallet import com.tangem.blockchain.common.WalletManager import com.tangem.blockchain.common.address.Address -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.extensions.stripZeroPlainString import com.tangem.tap.domain.model.builders.UserWalletIdBuilder diff --git a/app/src/main/java/com/tangem/tap/common/redux/AccessCodeRequestPolicyMiddleware.kt b/app/src/main/java/com/tangem/tap/common/redux/AccessCodeRequestPolicyMiddleware.kt index e9aaabfd70..a96f1c1e06 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/AccessCodeRequestPolicyMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/AccessCodeRequestPolicyMiddleware.kt @@ -1,6 +1,6 @@ package com.tangem.tap.common.redux -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.redux.global.GlobalAction import com.tangem.tap.preferencesStorage import com.tangem.tap.tangemSdkManager diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt index a140fb2d0c..f589ca6743 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalAction.kt @@ -6,7 +6,7 @@ import com.tangem.common.CompletionResult import com.tangem.common.core.TangemError import com.tangem.datasource.config.ConfigManager import com.tangem.datasource.config.models.ChatConfig -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.topup.TopUpController import com.tangem.tap.common.entities.FiatCurrency import com.tangem.tap.common.feedback.FeedbackData diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt index 5d99c5357e..39d29a451f 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalMiddleware.kt @@ -4,11 +4,12 @@ import com.tangem.common.CompletionResult import com.tangem.common.core.TangemSdkError import com.tangem.common.extensions.guard import com.tangem.datasource.config.models.Config -import com.tangem.domain.common.CardDTO import com.tangem.domain.common.LogConfig -import com.tangem.domain.common.ProductType -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.extensions.withMainContext +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ProductType +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.extensions.dispatchDebugErrorNotification import com.tangem.tap.common.extensions.dispatchDialogShow import com.tangem.tap.common.extensions.dispatchOnMain diff --git a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt index 1d6dddf647..c9f2314efc 100644 --- a/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt +++ b/app/src/main/java/com/tangem/tap/common/redux/global/GlobalState.kt @@ -1,7 +1,7 @@ package com.tangem.tap.common.redux.global import com.tangem.datasource.config.ConfigManager -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.topup.TopUpController import com.tangem.tap.common.entities.FiatCurrency import com.tangem.tap.common.feedback.FeedbackManager 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 3dcacf1eef..c0ffba9893 100644 --- a/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TangemSdkManager.kt @@ -22,9 +22,9 @@ import com.tangem.common.map import com.tangem.common.usersCode.UserCodeRepository import com.tangem.core.analytics.Analytics import com.tangem.crypto.hdWallet.DerivationPath -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse -import com.tangem.operations.CommandResponse +import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.ScanTask import com.tangem.operations.derivation.DerivationTaskResponse import com.tangem.operations.derivation.DeriveMultipleWalletPublicKeysTask @@ -194,7 +194,7 @@ class TangemSdkManager(private val tangemSdk: TangemSdk, private val context: Co .map { CardDTO(it) } } - suspend fun runTaskAsync( + suspend fun runTaskAsync( runnable: CardSessionRunnable, cardId: String? = null, initialMessage: Message? = null, @@ -207,7 +207,7 @@ class TangemSdkManager(private val tangemSdk: TangemSdk, private val context: Co } } - private suspend fun runTaskAsyncReturnOnMain( + private suspend fun runTaskAsyncReturnOnMain( runnable: CardSessionRunnable, cardId: String? = null, initialMessage: Message? = null, diff --git a/app/src/main/java/com/tangem/tap/domain/TangemSigner.kt b/app/src/main/java/com/tangem/tap/domain/TangemSigner.kt index 196ec2f0f4..f8361ffae1 100644 --- a/app/src/main/java/com/tangem/tap/domain/TangemSigner.kt +++ b/app/src/main/java/com/tangem/tap/domain/TangemSigner.kt @@ -5,7 +5,7 @@ import com.tangem.TangemSdk import com.tangem.blockchain.common.TransactionSigner import com.tangem.blockchain.common.Wallet import com.tangem.common.CompletionResult -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.tap.domain.tasks.SignHashesTask import kotlinx.coroutines.suspendCancellableCoroutine import kotlin.coroutines.resume diff --git a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt index 449192d23a..65d3bd507f 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt @@ -9,8 +9,9 @@ import com.tangem.common.doOnFailure import com.tangem.common.doOnSuccess import com.tangem.core.analytics.Analytics import com.tangem.datasource.config.ConfigManager -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.extensions.withMainContext +import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.attestation.Attestation import com.tangem.tap.common.analytics.events.Basic import com.tangem.tap.common.extensions.dispatchOnMain diff --git a/app/src/main/java/com/tangem/tap/domain/extensions/Card.kt b/app/src/main/java/com/tangem/tap/domain/extensions/Card.kt index 005f05500c..19bbc1ae52 100644 --- a/app/src/main/java/com/tangem/tap/domain/extensions/Card.kt +++ b/app/src/main/java/com/tangem/tap/domain/extensions/Card.kt @@ -3,7 +3,7 @@ package com.tangem.tap.domain.extensions import com.tangem.common.card.FirmwareVersion import com.tangem.common.extensions.toHexString import com.tangem.common.services.Result -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.TapWorkarounds.isSaltPay import com.tangem.domain.common.TwinCardNumber import com.tangem.domain.common.getTwinCardNumber diff --git a/app/src/main/java/com/tangem/tap/domain/extensions/WalletManagerFactory.kt b/app/src/main/java/com/tangem/tap/domain/extensions/WalletManagerFactory.kt index b2dbd64995..a9de7cb47a 100644 --- a/app/src/main/java/com/tangem/tap/domain/extensions/WalletManagerFactory.kt +++ b/app/src/main/java/com/tangem/tap/domain/extensions/WalletManagerFactory.kt @@ -9,10 +9,11 @@ import com.tangem.common.card.EllipticCurve import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toMapKey import com.tangem.crypto.hdWallet.DerivationPath -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.isTestCard import com.tangem.domain.common.TapWorkarounds.useOldStyleDerivation +import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.domain.tokens.models.BlockchainNetwork import com.tangem.tap.features.wallet.models.Currency diff --git a/app/src/main/java/com/tangem/tap/domain/model/UserWallet.kt b/app/src/main/java/com/tangem/tap/domain/model/UserWallet.kt index a76fbb9d1a..d58a3e7122 100644 --- a/app/src/main/java/com/tangem/tap/domain/model/UserWallet.kt +++ b/app/src/main/java/com/tangem/tap/domain/model/UserWallet.kt @@ -1,6 +1,6 @@ package com.tangem.tap.domain.model -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.util.UserWalletId /** diff --git a/app/src/main/java/com/tangem/tap/domain/model/builders/UserWalletBuilder.kt b/app/src/main/java/com/tangem/tap/domain/model/builders/UserWalletBuilder.kt index 3a82b45171..3cc1d2e5f5 100644 --- a/app/src/main/java/com/tangem/tap/domain/model/builders/UserWalletBuilder.kt +++ b/app/src/main/java/com/tangem/tap/domain/model/builders/UserWalletBuilder.kt @@ -1,9 +1,10 @@ package com.tangem.tap.domain.model.builders -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ProductType -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ProductType +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.TapWorkarounds.isStart2Coin +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.tap.domain.model.UserWallet import com.tangem.tap.domain.userWalletList.GetCardImageUseCase diff --git a/app/src/main/java/com/tangem/tap/domain/model/builders/UserWalletIdBuilder.kt b/app/src/main/java/com/tangem/tap/domain/model/builders/UserWalletIdBuilder.kt index 70b7f005b5..68626b34eb 100644 --- a/app/src/main/java/com/tangem/tap/domain/model/builders/UserWalletIdBuilder.kt +++ b/app/src/main/java/com/tangem/tap/domain/model/builders/UserWalletIdBuilder.kt @@ -3,9 +3,9 @@ package com.tangem.tap.domain.model.builders import com.tangem.common.extensions.calculateSha256 import com.tangem.common.extensions.hexToBytes import com.tangem.crypto.Secp256k1 -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ProductType -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ProductType +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.TapWorkarounds.isTangemTwins import com.tangem.domain.common.extensions.calculateHmacSha256 import com.tangem.domain.common.util.UserWalletId diff --git a/app/src/main/java/com/tangem/tap/domain/model/builders/WalletStoreBuilder.kt b/app/src/main/java/com/tangem/tap/domain/model/builders/WalletStoreBuilder.kt index d9805be40f..ecca6f2314 100644 --- a/app/src/main/java/com/tangem/tap/domain/model/builders/WalletStoreBuilder.kt +++ b/app/src/main/java/com/tangem/tap/domain/model/builders/WalletStoreBuilder.kt @@ -8,6 +8,7 @@ import com.tangem.blockchain.common.Wallet import com.tangem.blockchain.common.WalletManager import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.domain.common.TapWorkarounds.derivationStyle +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.tap.common.extensions.getBlockchainTxHistory import com.tangem.tap.common.extensions.getTokenTxHistory import com.tangem.tap.domain.model.UserWallet diff --git a/app/src/main/java/com/tangem/tap/domain/scanCard/ScanCardProcessor.kt b/app/src/main/java/com/tangem/tap/domain/scanCard/ScanCardProcessor.kt index 7e0f77f2d1..86f790ee67 100644 --- a/app/src/main/java/com/tangem/tap/domain/scanCard/ScanCardProcessor.kt +++ b/app/src/main/java/com/tangem/tap/domain/scanCard/ScanCardProcessor.kt @@ -7,8 +7,10 @@ import com.tangem.common.doOnSuccess import com.tangem.common.services.Result import com.tangem.core.analytics.Analytics import com.tangem.core.analytics.AnalyticsEvent -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.extensions.withMainContext +import com.tangem.domain.common.util.twinsIsTwinned +import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.backup.BackupService import com.tangem.tap.DELAY_SDK_DIALOG_CLOSE import com.tangem.tap.backupService diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/product/CreateProductWalletTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/product/CreateProductWalletTask.kt index e57a629edc..75ea69067b 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/product/CreateProductWalletTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/product/CreateProductWalletTask.kt @@ -12,11 +12,11 @@ import com.tangem.common.extensions.guard import com.tangem.common.extensions.toMapKey import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.common.map -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.CardTypesResolver -import com.tangem.domain.common.KeyWalletPublicKey import com.tangem.domain.common.TapWorkarounds.derivationStyle import com.tangem.domain.common.TapWorkarounds.isTestCard +import com.tangem.domain.models.scan.KeyWalletPublicKey import com.tangem.operations.CommandResponse import com.tangem.operations.backup.PrimaryCard import com.tangem.operations.backup.StartPrimaryCardLinkingTask diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/product/ProductCommandProcessor.kt b/app/src/main/java/com/tangem/tap/domain/tasks/product/ProductCommandProcessor.kt index 474bbd49dd..5251c0b0a1 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/product/ProductCommandProcessor.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/product/ProductCommandProcessor.kt @@ -2,7 +2,7 @@ package com.tangem.tap.domain.tasks.product import com.tangem.common.CompletionResult import com.tangem.common.core.CardSession -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO /** [REDACTED_AUTHOR] 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 78866f673b..d42d4b1bda 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 @@ -19,9 +19,9 @@ import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.common.tlv.Tlv import com.tangem.common.tlv.TlvDecoder import com.tangem.crypto.CryptoUtils -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ProductType -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ProductType +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.TapWorkarounds.isExcluded import com.tangem.domain.common.TapWorkarounds.isNotSupportedInThatRelease import com.tangem.domain.common.TapWorkarounds.isSaltPay diff --git a/app/src/main/java/com/tangem/tap/domain/tokens/CurrenciesRepository.kt b/app/src/main/java/com/tangem/tap/domain/tokens/CurrenciesRepository.kt index f4c06f518a..22baf587ab 100644 --- a/app/src/main/java/com/tangem/tap/domain/tokens/CurrenciesRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/tokens/CurrenciesRepository.kt @@ -2,7 +2,7 @@ package com.tangem.tap.domain.tokens import com.tangem.blockchain.common.Blockchain import com.tangem.common.card.FirmwareVersion -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO object CurrenciesRepository { fun getBlockchains(cardFirmware: CardDTO.FirmwareVersion, isTestNet: Boolean = false): List { diff --git a/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt b/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt index 175f72a121..255d8611c5 100644 --- a/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/tokens/UserTokensRepository.kt @@ -7,7 +7,7 @@ import com.tangem.datasource.api.tangemTech.TangemTechApi import com.tangem.datasource.api.tangemTech.TangemTechService import com.tangem.datasource.api.tangemTech.models.UserTokensResponse import com.tangem.datasource.connection.NetworkConnectionManager -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.tap.common.AndroidFileReader import com.tangem.tap.domain.model.builders.UserWalletIdBuilder import com.tangem.tap.domain.tokens.converters.CurrencyConverter diff --git a/app/src/main/java/com/tangem/tap/domain/tokens/models/BlockchainNetwork.kt b/app/src/main/java/com/tangem/tap/domain/tokens/models/BlockchainNetwork.kt index 8abb99b14d..32cfbc4bec 100644 --- a/app/src/main/java/com/tangem/tap/domain/tokens/models/BlockchainNetwork.kt +++ b/app/src/main/java/com/tangem/tap/domain/tokens/models/BlockchainNetwork.kt @@ -5,7 +5,7 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.Token import com.tangem.blockchain.common.WalletManager import com.tangem.common.extensions.calculateHashCode -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.TapWorkarounds.derivationStyle @JsonClass(generateAdapter = true) diff --git a/app/src/main/java/com/tangem/tap/domain/twins/FinalizeTwinTask.kt b/app/src/main/java/com/tangem/tap/domain/twins/FinalizeTwinTask.kt index 127c10ec33..1ece7060b3 100644 --- a/app/src/main/java/com/tangem/tap/domain/twins/FinalizeTwinTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/twins/FinalizeTwinTask.kt @@ -4,7 +4,7 @@ import com.tangem.common.CompletionResult import com.tangem.common.KeyPair import com.tangem.common.core.CardSession import com.tangem.common.core.CardSessionRunnable -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.PreflightReadMode import com.tangem.operations.PreflightReadTask import com.tangem.tap.domain.tasks.product.ScanProductTask diff --git a/app/src/main/java/com/tangem/tap/domain/twins/TwinCardsManager.kt b/app/src/main/java/com/tangem/tap/domain/twins/TwinCardsManager.kt index 3795a0cf00..6ef5f2bbe9 100644 --- a/app/src/main/java/com/tangem/tap/domain/twins/TwinCardsManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/twins/TwinCardsManager.kt @@ -10,8 +10,8 @@ import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toHexString import com.tangem.datasource.api.common.MoshiConverter import com.tangem.datasource.asset.AssetReader -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.wallet.CreateWalletResponse import com.tangem.tap.tangemSdkManager diff --git a/app/src/main/java/com/tangem/tap/domain/userWalletList/model/UserWalletInformation.kt b/app/src/main/java/com/tangem/tap/domain/userWalletList/model/UserWalletInformation.kt index d383e11e3f..d81f8ebafc 100644 --- a/app/src/main/java/com/tangem/tap/domain/userWalletList/model/UserWalletInformation.kt +++ b/app/src/main/java/com/tangem/tap/domain/userWalletList/model/UserWalletInformation.kt @@ -1,8 +1,8 @@ package com.tangem.tap.domain.userWalletList.model import com.squareup.moshi.JsonClass -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.util.UserWalletId @JsonClass(generateAdapter = true) diff --git a/app/src/main/java/com/tangem/tap/domain/userWalletList/utils/UserWalletEncyptionKeyCalculator.kt b/app/src/main/java/com/tangem/tap/domain/userWalletList/utils/UserWalletEncyptionKeyCalculator.kt index d97af026cc..f58758f35a 100644 --- a/app/src/main/java/com/tangem/tap/domain/userWalletList/utils/UserWalletEncyptionKeyCalculator.kt +++ b/app/src/main/java/com/tangem/tap/domain/userWalletList/utils/UserWalletEncyptionKeyCalculator.kt @@ -1,7 +1,7 @@ package com.tangem.tap.domain.userWalletList.utils import com.tangem.common.extensions.calculateSha256 -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.extensions.calculateHmacSha256 internal val CardDTO.encryptionKey: ByteArray? diff --git a/app/src/main/java/com/tangem/tap/domain/userWalletList/utils/json/CardBackupStatusAdapter.kt b/app/src/main/java/com/tangem/tap/domain/userWalletList/utils/json/CardBackupStatusAdapter.kt index 2f7e2544f5..dc40917fb8 100644 --- a/app/src/main/java/com/tangem/tap/domain/userWalletList/utils/json/CardBackupStatusAdapter.kt +++ b/app/src/main/java/com/tangem/tap/domain/userWalletList/utils/json/CardBackupStatusAdapter.kt @@ -5,7 +5,7 @@ import com.squareup.moshi.JsonAdapter import com.squareup.moshi.JsonReader import com.squareup.moshi.JsonWriter import com.squareup.moshi.ToJson -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO internal class CardBackupStatusAdapter { @ToJson diff --git a/app/src/main/java/com/tangem/tap/domain/walletCurrencies/implementation/DefaultWalletCurrenciesManager.kt b/app/src/main/java/com/tangem/tap/domain/walletCurrencies/implementation/DefaultWalletCurrenciesManager.kt index 2281fbfe5f..f344f46d4a 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletCurrencies/implementation/DefaultWalletCurrenciesManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletCurrencies/implementation/DefaultWalletCurrenciesManager.kt @@ -5,7 +5,7 @@ import com.tangem.common.CompletionResult import com.tangem.common.flatMap import com.tangem.common.fold import com.tangem.common.map -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.TapWorkarounds.derivationStyle import com.tangem.domain.common.util.UserWalletId import com.tangem.tap.common.entities.FiatCurrency diff --git a/app/src/main/java/com/tangem/tap/domain/walletStores/repository/implementation/DefaultWalletAmountsRepository.kt b/app/src/main/java/com/tangem/tap/domain/walletStores/repository/implementation/DefaultWalletAmountsRepository.kt index 30de69eec5..6b2aa5ccff 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletStores/repository/implementation/DefaultWalletAmountsRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletStores/repository/implementation/DefaultWalletAmountsRepository.kt @@ -17,8 +17,9 @@ import com.tangem.common.flatMapOnFailure import com.tangem.common.fold import com.tangem.common.map import com.tangem.datasource.api.tangemTech.TangemTechApi -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.common.util.hasDerivation import com.tangem.domain.common.util.UserWalletId +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.TestActions import com.tangem.tap.common.entities.FiatCurrency import com.tangem.tap.common.extensions.replaceByOrAdd diff --git a/app/src/main/java/com/tangem/tap/domain/walletStores/repository/implementation/DefaultWalletManagersRepository.kt b/app/src/main/java/com/tangem/tap/domain/walletStores/repository/implementation/DefaultWalletManagersRepository.kt index 6c5eba1809..b2d8167a7e 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletStores/repository/implementation/DefaultWalletManagersRepository.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletStores/repository/implementation/DefaultWalletManagersRepository.kt @@ -9,13 +9,14 @@ import com.tangem.blockchain.common.WalletManagerFactory import com.tangem.common.CompletionResult import com.tangem.common.catching import com.tangem.common.doOnSuccess -import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.common.mapFailure -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse +import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.domain.common.TapWorkarounds.isTestCard import com.tangem.domain.common.TapWorkarounds.useOldStyleDerivation +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.util.UserWalletId +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.domain.extensions.makeWalletManagerForApp import com.tangem.tap.domain.model.UserWallet import com.tangem.tap.domain.tokens.models.BlockchainNetwork diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt index 1cae897360..64037f50e2 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect/WalletConnectManager.kt @@ -4,7 +4,7 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.common.card.EllipticCurve import com.tangem.common.extensions.guard import com.tangem.core.analytics.Analytics -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.events.WalletConnect import com.tangem.tap.common.extensions.dispatchOnMain import com.tangem.tap.common.redux.global.GlobalAction diff --git a/app/src/main/java/com/tangem/tap/features/demo/DemoHelper.kt b/app/src/main/java/com/tangem/tap/features/demo/DemoHelper.kt index 43e31f423c..cccc4167ae 100644 --- a/app/src/main/java/com/tangem/tap/features/demo/DemoHelper.kt +++ b/app/src/main/java/com/tangem/tap/features/demo/DemoHelper.kt @@ -9,7 +9,7 @@ import com.tangem.blockchain.common.toBlockchainSdkError import com.tangem.blockchain.extensions.Result import com.tangem.blockchain.extensions.SimpleResult import com.tangem.common.CompletionResult -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.demo.DemoConfig import com.tangem.tap.common.extensions.dispatchNotification import com.tangem.tap.common.redux.AppState diff --git a/app/src/main/java/com/tangem/tap/features/demo/DemoOnboardingNoteMiddleware.kt b/app/src/main/java/com/tangem/tap/features/demo/DemoOnboardingNoteMiddleware.kt index 81fcc9fc13..4624db8d34 100644 --- a/app/src/main/java/com/tangem/tap/features/demo/DemoOnboardingNoteMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/demo/DemoOnboardingNoteMiddleware.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.demo import com.tangem.common.extensions.guard -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.demo.DemoConfig import com.tangem.domain.common.extensions.withMainContext import com.tangem.tap.domain.extensions.makePrimaryWalletManager diff --git a/app/src/main/java/com/tangem/tap/features/demo/Extentions.kt b/app/src/main/java/com/tangem/tap/features/demo/Extentions.kt index 1e97beb6e0..4805a4263a 100644 --- a/app/src/main/java/com/tangem/tap/features/demo/Extentions.kt +++ b/app/src/main/java/com/tangem/tap/features/demo/Extentions.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.demo -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse /** [REDACTED_AUTHOR] diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt index d7bcd69528..5782c7b0e2 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsAction.kt @@ -1,9 +1,9 @@ package com.tangem.tap.features.details.redux import com.tangem.blockchain.common.Wallet -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.CardTypesResolver -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.entities.FiatCurrency import org.rekotlin.Action diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt index fb04d4aa57..83daf3f9dd 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsMiddleware.kt @@ -7,8 +7,9 @@ import com.tangem.common.doOnSuccess import com.tangem.common.extensions.guard import com.tangem.common.flatMap import com.tangem.core.analytics.Analytics -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.isTangemTwins +import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.events.AnalyticsParam import com.tangem.tap.common.analytics.events.Settings import com.tangem.tap.common.extensions.dispatchDialogShow diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt index b72be6d5d8..85e80df897 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsReducer.kt @@ -1,7 +1,8 @@ package com.tangem.tap.features.details.redux -import com.tangem.domain.common.CardDTO import com.tangem.domain.common.CardTypesResolver +import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.CardDTO import com.tangem.tap.common.redux.AppState import com.tangem.tap.domain.extensions.signedHashesCount import com.tangem.tap.preferencesStorage diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsState.kt b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsState.kt index 0fc60cafcc..6fd17a4119 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/DetailsState.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/DetailsState.kt @@ -1,8 +1,8 @@ package com.tangem.tap.features.details.redux import com.tangem.blockchain.common.Wallet -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.entities.Button import com.tangem.tap.common.entities.FiatCurrency import org.rekotlin.StateType diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectAction.kt b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectAction.kt index a383235538..9afb96f10f 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectAction.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectAction.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.details.redux.walletconnect import com.tangem.blockchain.common.Blockchain -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.redux.NotificationAction import com.tangem.tap.domain.TapError import com.tangem.wallet.R diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt index 014ca34512..65dfeb1eab 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectMiddleware.kt @@ -4,10 +4,11 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.DerivationStyle import com.tangem.blockchain.common.WalletManager import com.tangem.common.extensions.guard -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.derivationStyle +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.extensions.withMainContext +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.extensions.dispatchOnMain import com.tangem.tap.common.redux.AppDialog import com.tangem.tap.common.redux.AppState diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectState.kt b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectState.kt index 61fa67dd44..11bb3e6a8b 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectState.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/walletconnect/WalletConnectState.kt @@ -6,7 +6,7 @@ import com.tangem.blockchain.common.DerivationStyle import com.tangem.blockchain.common.TransactionData import com.tangem.blockchain.common.WalletManager import com.tangem.crypto.hdWallet.DerivationPath -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.redux.StateDialog import com.tangem.tap.features.details.ui.walletconnect.dialogs.PersonalSignDialogData import com.tangem.tap.features.details.ui.walletconnect.dialogs.TransactionRequestDialogData diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/details/DetailsViewModel.kt b/app/src/main/java/com/tangem/tap/features/details/ui/details/DetailsViewModel.kt index 7173d2ceb5..10edfda464 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/details/DetailsViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/details/DetailsViewModel.kt @@ -3,6 +3,7 @@ package com.tangem.tap.features.details.ui.details import androidx.compose.runtime.MutableState import androidx.compose.runtime.mutableStateOf import com.tangem.core.analytics.Analytics +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.tap.common.analytics.events.Settings import com.tangem.tap.common.feedback.FeedbackEmail import com.tangem.tap.common.feedback.SupportInfo diff --git a/app/src/main/java/com/tangem/tap/features/disclaimer/DisclaimerType.kt b/app/src/main/java/com/tangem/tap/features/disclaimer/DisclaimerType.kt index fb06687b57..30b3f43d1c 100644 --- a/app/src/main/java/com/tangem/tap/features/disclaimer/DisclaimerType.kt +++ b/app/src/main/java/com/tangem/tap/features/disclaimer/DisclaimerType.kt @@ -1,6 +1,6 @@ package com.tangem.tap.features.disclaimer -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.TapWorkarounds.isSaltPay import com.tangem.domain.common.TapWorkarounds.isStart2Coin import com.tangem.tap.persistence.DisclaimerPrefStorage diff --git a/app/src/main/java/com/tangem/tap/features/home/redux/HomeMiddleware.kt b/app/src/main/java/com/tangem/tap/features/home/redux/HomeMiddleware.kt index 3230f8b878..f534813ecb 100644 --- a/app/src/main/java/com/tangem/tap/features/home/redux/HomeMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/home/redux/HomeMiddleware.kt @@ -5,7 +5,7 @@ import com.tangem.common.doOnResult import com.tangem.common.doOnSuccess import com.tangem.core.analytics.Analytics import com.tangem.core.analytics.AnalyticsEvent -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.events.Basic import com.tangem.tap.common.analytics.events.IntroductionProcess import com.tangem.tap.common.analytics.events.Shop 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 fdf3a8b90b..cd92b90ea9 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 @@ -4,8 +4,10 @@ import com.tangem.common.doOnFailure import com.tangem.common.doOnSuccess import com.tangem.common.extensions.guard import com.tangem.core.analytics.Analytics -import com.tangem.domain.common.ProductType -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.common.util.twinsIsTwinned +import com.tangem.domain.models.scan.ProductType +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.extensions.dispatchOnMain import com.tangem.tap.common.extensions.onUserWalletSelected import com.tangem.tap.common.extensions.removeContext diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingManager.kt b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingManager.kt index 47caa1b85c..e35aa85d7a 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingManager.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingManager.kt @@ -5,7 +5,7 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.WalletManager import com.tangem.common.extensions.isZero import com.tangem.common.services.Result -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.attestation.CardVerifyAndGetInfo import com.tangem.operations.attestation.OnlineCardVerifier import com.tangem.tap.common.extensions.isPositive diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingSaltPayHelper.kt b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingSaltPayHelper.kt index 53c844cd40..ab267f9dda 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingSaltPayHelper.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/OnboardingSaltPayHelper.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.onboarding import com.tangem.common.services.Result -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.extensions.successOr import com.tangem.tap.features.onboarding.products.wallet.saltPay.SaltPayActivationManager import com.tangem.tap.features.onboarding.products.wallet.saltPay.message.SaltPayActivationError diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/otherCards/redux/OnboardingOtherCardsMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/otherCards/redux/OnboardingOtherCardsMiddleware.kt index 73312bd8a9..ba7983eaa5 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/otherCards/redux/OnboardingOtherCardsMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/otherCards/redux/OnboardingOtherCardsMiddleware.kt @@ -3,6 +3,7 @@ package com.tangem.tap.features.onboarding.products.otherCards.redux import com.tangem.blockchain.common.Blockchain import com.tangem.common.CompletionResult import com.tangem.core.analytics.Analytics +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.extensions.withMainContext import com.tangem.tap.DELAY_SDK_DIALOG_CLOSE import com.tangem.tap.common.analytics.events.Onboarding diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsAction.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsAction.kt index c552a354a4..4aa4e8a4d4 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsAction.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsAction.kt @@ -4,7 +4,7 @@ import com.tangem.Message import com.tangem.blockchain.common.WalletManager import com.tangem.common.extensions.VoidCallback import com.tangem.datasource.asset.AssetReader -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.domain.TapError import com.tangem.tap.domain.twins.TwinCardsManager import com.tangem.tap.features.onboarding.OnboardingWalletBalance diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsMiddleware.kt index e7d4d1edf5..e3837cd4a9 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsMiddleware.kt @@ -4,8 +4,9 @@ import com.tangem.blockchain.extensions.Result import com.tangem.common.CompletionResult import com.tangem.common.extensions.guard import com.tangem.core.analytics.Analytics -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.extensions.withMainContext +import com.tangem.domain.common.util.twinsIsTwinned +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.DELAY_SDK_DIALOG_CLOSE import com.tangem.tap.common.analytics.events.AnalyticsParam import com.tangem.tap.common.analytics.events.Onboarding diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsReducer.kt index 9902cd2ce5..9ba9492c54 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsReducer.kt @@ -1,5 +1,6 @@ package com.tangem.tap.features.onboarding.products.twins.redux +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.getTwinCardNumber import com.tangem.tap.common.redux.AppState import org.rekotlin.Action diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt index 88f9e5d82d..a5608d4371 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/redux/TwinCardsState.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.onboarding.products.twins.redux import com.tangem.blockchain.common.WalletManager -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.TwinCardNumber import com.tangem.tap.domain.TapError import com.tangem.tap.domain.twins.TwinCardsManager diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt index 4c8d89c813..1ef2872944 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/twins/ui/TwinsCardsFragment.kt @@ -16,7 +16,7 @@ import com.tangem.common.extensions.VoidCallback import com.tangem.core.analytics.Analytics import com.tangem.core.ui.fragments.setStatusBarColor import com.tangem.datasource.asset.AssetReader -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.TwinCardNumber import com.tangem.sdk.ui.widget.leapfrogWidget.LeapfrogWidget import com.tangem.tap.common.analytics.events.Onboarding diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt index 4dad678741..a6eafe02d9 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletMiddleware.kt @@ -5,10 +5,11 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.common.CompletionResult import com.tangem.common.extensions.ifNotNull import com.tangem.core.analytics.Analytics -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.isSaltPay +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.extensions.withMainContext +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.backup.BackupService import com.tangem.tap.backupService import com.tangem.tap.common.analytics.events.Onboarding diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt index 6e457704dd..0c50b1028f 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/redux/OnboardingWalletReducer.kt @@ -1,5 +1,6 @@ package com.tangem.tap.features.onboarding.products.wallet.redux +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.tap.backupService import com.tangem.tap.common.redux.AppState import com.tangem.tap.common.redux.global.GlobalAction diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayActivationManager.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayActivationManager.kt index 409ca000e6..2f7f824f6c 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayActivationManager.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/saltPay/SaltPayActivationManager.kt @@ -31,7 +31,7 @@ import com.tangem.datasource.api.paymentology.models.response.RegistrationRespon import com.tangem.datasource.api.paymentology.models.response.tryExtractError import com.tangem.datasource.config.models.KYCProvider import com.tangem.datasource.config.models.SaltPayConfig -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.SaltPayWorkaround import com.tangem.domain.common.extensions.successOr import com.tangem.operations.attestation.AttestWalletKeyResponse diff --git a/app/src/main/java/com/tangem/tap/features/saveWallet/redux/SaveWalletAction.kt b/app/src/main/java/com/tangem/tap/features/saveWallet/redux/SaveWalletAction.kt index 30ebdd258f..00a5c7413c 100644 --- a/app/src/main/java/com/tangem/tap/features/saveWallet/redux/SaveWalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/saveWallet/redux/SaveWalletAction.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.saveWallet.redux import com.tangem.common.core.TangemError -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import org.rekotlin.Action internal sealed interface SaveWalletAction : Action { diff --git a/app/src/main/java/com/tangem/tap/features/saveWallet/redux/SaveWalletState.kt b/app/src/main/java/com/tangem/tap/features/saveWallet/redux/SaveWalletState.kt index 38af8d0b6f..b57528ceaa 100644 --- a/app/src/main/java/com/tangem/tap/features/saveWallet/redux/SaveWalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/saveWallet/redux/SaveWalletState.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.saveWallet.redux import com.tangem.common.core.TangemError -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import org.rekotlin.StateType data class SaveWalletState( diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt b/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt index 0a528bd856..607ecc34fd 100644 --- a/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt @@ -16,7 +16,7 @@ import com.tangem.common.core.TangemSdkError import com.tangem.common.extensions.guard import com.tangem.common.services.Result import com.tangem.core.analytics.Analytics -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.TapWorkarounds.isStart2Coin import com.tangem.domain.common.extensions.withMainContext import com.tangem.tap.DELAY_SDK_DIALOG_CLOSE diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/domain/DefaultTokensListInteractor.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/domain/DefaultTokensListInteractor.kt index 290dfa225f..c7743263f4 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/domain/DefaultTokensListInteractor.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/domain/DefaultTokensListInteractor.kt @@ -9,8 +9,9 @@ import com.tangem.common.extensions.guard import com.tangem.common.extensions.toMapKey import com.tangem.common.flatMap import com.tangem.crypto.hdWallet.DerivationPath -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.derivationStyle +import com.tangem.domain.common.util.supportsHdWallet +import com.tangem.domain.models.scan.ScanResponse import com.tangem.operations.derivation.ExtendedPublicKeysMap import com.tangem.tap.DELAY_SDK_DIALOG_CLOSE import com.tangem.tap.common.extensions.dispatchDebugErrorNotification diff --git a/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensAction.kt b/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensAction.kt index 2831a00547..bea0320bbe 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensAction.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensAction.kt @@ -2,7 +2,7 @@ package com.tangem.tap.features.tokens.legacy.redux import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.DerivationStyle -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.domain.model.WalletDataModel import com.tangem.tap.domain.tokens.Currency import org.rekotlin.Action diff --git a/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensMiddleware.kt b/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensMiddleware.kt index dfb76ced9e..be311deb0a 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensMiddleware.kt @@ -12,12 +12,14 @@ import com.tangem.common.services.Result import com.tangem.core.analytics.Analytics import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.domain.DomainWrapped -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.derivationStyle import com.tangem.domain.common.TapWorkarounds.isTestCard import com.tangem.domain.common.extensions.supportedBlockchains +import com.tangem.domain.common.util.hasDerivation +import com.tangem.domain.common.util.supportsHdWallet import com.tangem.domain.features.addCustomToken.CustomCurrency import com.tangem.domain.features.addCustomToken.redux.AddCustomTokenAction +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.redux.domainStore import com.tangem.operations.derivation.ExtendedPublicKeysMap import com.tangem.tap.DELAY_SDK_DIALOG_CLOSE diff --git a/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensState.kt b/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensState.kt index 432b422128..4f77d60fac 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensState.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/legacy/redux/TokensState.kt @@ -3,7 +3,7 @@ package com.tangem.tap.features.tokens.legacy.redux import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.DerivationStyle import com.tangem.blockchain.common.Token -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.extensions.canHandleToken import com.tangem.domain.common.extensions.fromNetworkId import com.tangem.tap.domain.model.WalletDataModel diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt index dafb4c0324..a7e540bf43 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletState.kt @@ -3,6 +3,7 @@ package com.tangem.tap.features.wallet.redux import android.graphics.Bitmap import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.WalletManager +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.tap.common.entities.Button import com.tangem.tap.common.redux.global.CryptoCurrencyName import com.tangem.tap.common.toggleWidget.WidgetState diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WarningsMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WarningsMiddleware.kt index 9562b735fa..3ade28d8db 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WarningsMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WarningsMiddleware.kt @@ -4,9 +4,10 @@ import com.tangem.blockchain.common.BlockchainSdkError import com.tangem.blockchain.common.SignatureCountValidator import com.tangem.blockchain.extensions.SimpleResult import com.tangem.common.card.FirmwareVersion -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.isTestCard +import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.extensions.dispatchOnMain import com.tangem.tap.common.redux.global.GlobalState import com.tangem.tap.domain.configurable.warningMessage.WarningMessage diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt index 632ac3e7df..d58f997bc8 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.wallet.redux.reducers import com.tangem.blockchain.common.Wallet -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.TapWorkarounds.isTestCard import com.tangem.tap.common.redux.AppState import com.tangem.tap.domain.TapError diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt index e6fb203abb..1d0cc810ed 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletFragment.kt @@ -24,6 +24,7 @@ import com.tangem.core.analytics.Analytics import com.tangem.core.ui.fragments.setStatusBarColor import com.tangem.core.ui.utils.OneTouchClickListener import com.tangem.datasource.connection.NetworkConnectionManager +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.feature.swap.api.SwapFeatureToggleManager import com.tangem.feature.swap.domain.SwapInteractor import com.tangem.tap.MainActivity diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletViewModel.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletViewModel.kt index 25b09a2610..ce2e4ea085 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletViewModel.kt @@ -5,6 +5,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.tangem.core.analytics.api.AnalyticsEventHandler +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.tap.common.analytics.converters.ParamCardCurrencyConverter import com.tangem.tap.common.analytics.events.Basic import com.tangem.tap.common.analytics.events.MainScreen diff --git a/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorMiddleware.kt b/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorMiddleware.kt index aadd56356b..675ca89cdf 100644 --- a/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorMiddleware.kt @@ -7,7 +7,7 @@ import com.tangem.common.doOnSuccess import com.tangem.common.flatMap import com.tangem.common.map import com.tangem.core.analytics.Analytics -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.common.util.UserWalletId import com.tangem.tap.common.analytics.events.AnalyticsParam import com.tangem.tap.common.analytics.events.Basic diff --git a/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorReducer.kt b/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorReducer.kt index c28a1e4ab1..2d06b37937 100644 --- a/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/walletSelector/redux/WalletSelectorReducer.kt @@ -1,6 +1,7 @@ package com.tangem.tap.features.walletSelector.redux -import com.tangem.domain.common.CardDTO +import com.tangem.domain.common.util.cardTypesResolver +import com.tangem.domain.models.scan.CardDTO import com.tangem.tap.common.redux.AppState import com.tangem.tap.domain.model.TotalFiatBalance import com.tangem.tap.domain.model.UserWallet diff --git a/app/src/main/java/com/tangem/tap/features/welcome/redux/WelcomeMiddleware.kt b/app/src/main/java/com/tangem/tap/features/welcome/redux/WelcomeMiddleware.kt index e728d10a4a..6e7da12221 100644 --- a/app/src/main/java/com/tangem/tap/features/welcome/redux/WelcomeMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/welcome/redux/WelcomeMiddleware.kt @@ -4,7 +4,7 @@ import android.content.Intent import com.tangem.common.core.TangemSdkError import com.tangem.common.doOnFailure import com.tangem.common.doOnSuccess -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.analytics.events.AnalyticsParam import com.tangem.tap.common.analytics.events.Basic import com.tangem.tap.common.extensions.dispatchOnMain diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/BuyExchangeService.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/BuyExchangeService.kt index d77245b45c..fec559a528 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/BuyExchangeService.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/BuyExchangeService.kt @@ -1,7 +1,7 @@ package com.tangem.tap.network.exchangeServices import com.tangem.blockchain.common.Blockchain -import com.tangem.domain.common.ProductType +import com.tangem.domain.models.scan.ProductType import com.tangem.tap.features.wallet.models.Currency import com.tangem.tap.network.exchangeServices.mercuryo.MercuryoService import com.tangem.tap.network.exchangeServices.utorg.UtorgExchangeService diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/CardExchangeRules.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/CardExchangeRules.kt index 939121bda7..3e0d7ab0a5 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/CardExchangeRules.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/CardExchangeRules.kt @@ -1,6 +1,6 @@ package com.tangem.tap.network.exchangeServices -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.common.TapWorkarounds.isStart2Coin import com.tangem.tap.features.demo.isDemoCard import com.tangem.tap.features.wallet.models.Currency diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt index f7beab3570..a73937a8ee 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/CurrencyExchangeManager.kt @@ -7,7 +7,7 @@ import com.tangem.blockchain.common.AmountType import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.Token import com.tangem.blockchain.extensions.Result -import com.tangem.domain.common.CardDTO +import com.tangem.domain.models.scan.CardDTO import com.tangem.tap.common.extensions.safeUpdate import com.tangem.tap.common.redux.global.CryptoCurrencyName import com.tangem.tap.common.redux.global.GlobalAction diff --git a/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt b/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt index ed21a083df..aab3cfd808 100644 --- a/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt +++ b/app/src/main/java/com/tangem/tap/proxy/AppStateHolder.kt @@ -1,8 +1,8 @@ package com.tangem.tap.proxy import com.tangem.TangemSdk -import com.tangem.domain.common.CardDTO -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ScanResponse import com.tangem.tap.common.entities.FiatCurrency import com.tangem.tap.common.redux.AppState import com.tangem.tap.domain.TangemSdkManager diff --git a/app/src/main/java/com/tangem/tap/proxy/DerivationManagerImpl.kt b/app/src/main/java/com/tangem/tap/proxy/DerivationManagerImpl.kt index f52ac33f8a..72645564d0 100644 --- a/app/src/main/java/com/tangem/tap/proxy/DerivationManagerImpl.kt +++ b/app/src/main/java/com/tangem/tap/proxy/DerivationManagerImpl.kt @@ -9,9 +9,10 @@ import com.tangem.common.core.TangemSdkError import com.tangem.common.extensions.ByteArrayKey import com.tangem.common.extensions.toMapKey import com.tangem.crypto.hdWallet.DerivationPath -import com.tangem.domain.common.ScanResponse import com.tangem.domain.common.TapWorkarounds.derivationStyle import com.tangem.domain.common.extensions.fromNetworkId +import com.tangem.domain.common.util.hasDerivation +import com.tangem.domain.models.scan.ScanResponse import com.tangem.lib.crypto.DerivationManager import com.tangem.lib.crypto.models.Currency import com.tangem.lib.crypto.models.Currency.NonNativeToken diff --git a/domain/.gitignore b/domain/legacy/.gitignore similarity index 100% rename from domain/.gitignore rename to domain/legacy/.gitignore diff --git a/domain/build.gradle.kts b/domain/legacy/build.gradle.kts similarity index 96% rename from domain/build.gradle.kts rename to domain/legacy/build.gradle.kts index 6ea5884226..f618e11fd9 100644 --- a/domain/build.gradle.kts +++ b/domain/legacy/build.gradle.kts @@ -9,6 +9,7 @@ dependencies { implementation(project(":core:utils")) implementation(project(":common")) implementation(project(":libs:auth")) + implementation(project(":domain:models")) /** Tangem libraries */ implementation(deps.tangem.blockchain) { diff --git a/domain/proguard-rules.pro b/domain/legacy/proguard-rules.pro similarity index 100% rename from domain/proguard-rules.pro rename to domain/legacy/proguard-rules.pro diff --git a/domain/src/androidTest/java/com/tangem/domain/features/ExampleInstrumentedTest.kt b/domain/legacy/src/androidTest/java/com/tangem/domain/features/ExampleInstrumentedTest.kt similarity index 100% rename from domain/src/androidTest/java/com/tangem/domain/features/ExampleInstrumentedTest.kt rename to domain/legacy/src/androidTest/java/com/tangem/domain/features/ExampleInstrumentedTest.kt diff --git a/domain/src/main/AndroidManifest.xml b/domain/legacy/src/main/AndroidManifest.xml similarity index 100% rename from domain/src/main/AndroidManifest.xml rename to domain/legacy/src/main/AndroidManifest.xml diff --git a/domain/src/main/java/com/tangem/domain/DomainDialog.kt b/domain/legacy/src/main/java/com/tangem/domain/DomainDialog.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/DomainDialog.kt rename to domain/legacy/src/main/java/com/tangem/domain/DomainDialog.kt diff --git a/domain/src/main/java/com/tangem/domain/DomainLayer.kt b/domain/legacy/src/main/java/com/tangem/domain/DomainLayer.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/DomainLayer.kt rename to domain/legacy/src/main/java/com/tangem/domain/DomainLayer.kt diff --git a/domain/src/main/java/com/tangem/domain/DomainModuleMessage.kt b/domain/legacy/src/main/java/com/tangem/domain/DomainModuleMessage.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/DomainModuleMessage.kt rename to domain/legacy/src/main/java/com/tangem/domain/DomainModuleMessage.kt diff --git a/domain/src/main/java/com/tangem/domain/DomainWrapped.kt b/domain/legacy/src/main/java/com/tangem/domain/DomainWrapped.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/DomainWrapped.kt rename to domain/legacy/src/main/java/com/tangem/domain/DomainWrapped.kt diff --git a/domain/src/main/java/com/tangem/domain/common/CardTypesResolver.kt b/domain/legacy/src/main/java/com/tangem/domain/common/CardTypesResolver.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/CardTypesResolver.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/CardTypesResolver.kt diff --git a/domain/src/main/java/com/tangem/domain/common/LogConfig.kt b/domain/legacy/src/main/java/com/tangem/domain/common/LogConfig.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/LogConfig.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/LogConfig.kt diff --git a/domain/src/main/java/com/tangem/domain/common/SaltPayWorkaround.kt b/domain/legacy/src/main/java/com/tangem/domain/common/SaltPayWorkaround.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/SaltPayWorkaround.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/SaltPayWorkaround.kt diff --git a/domain/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt similarity index 97% rename from domain/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt index 50850def2c..d62e391dfb 100644 --- a/domain/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt @@ -11,6 +11,8 @@ import com.tangem.domain.common.TapWorkarounds.isSaltPayVisa import com.tangem.domain.common.TapWorkarounds.isSaltPayWallet import com.tangem.domain.common.TapWorkarounds.isStart2Coin import com.tangem.domain.common.TapWorkarounds.isTestCard +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.models.scan.ProductType class TangemCardTypesResolver( private val card: CardDTO, @@ -80,8 +82,4 @@ private fun Blockchain.Companion.fromBlockchainName(blockchainName: String): Blo Blockchain.fromId(blockchainName) } } -} - -enum class ProductType { - Note, Twins, Wallet, SaltPay, Start2Coin } \ No newline at end of file diff --git a/domain/src/main/java/com/tangem/domain/common/TapWorkarounds.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt similarity index 98% rename from domain/src/main/java/com/tangem/domain/common/TapWorkarounds.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt index 9ac3308197..ab5a7458f1 100644 --- a/domain/src/main/java/com/tangem/domain/common/TapWorkarounds.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt @@ -3,6 +3,7 @@ package com.tangem.domain.common import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.DerivationStyle import com.tangem.common.card.Card +import com.tangem.domain.models.scan.CardDTO import java.util.* /** diff --git a/domain/src/main/java/com/tangem/domain/common/Throttling.kt b/domain/legacy/src/main/java/com/tangem/domain/common/Throttling.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/Throttling.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/Throttling.kt diff --git a/domain/src/main/java/com/tangem/domain/common/TwinsHelper.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TwinsHelper.kt similarity index 97% rename from domain/src/main/java/com/tangem/domain/common/TwinsHelper.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/TwinsHelper.kt index 7e801695fb..f6aa02a2c5 100644 --- a/domain/src/main/java/com/tangem/domain/common/TwinsHelper.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TwinsHelper.kt @@ -1,6 +1,7 @@ package com.tangem.domain.common import com.tangem.crypto.CryptoUtils +import com.tangem.domain.models.scan.CardDTO object TwinsHelper { private val firstCardSeries = listOf("CB61", "CB64") diff --git a/domain/src/main/java/com/tangem/domain/common/demo/DemoConfig.kt b/domain/legacy/src/main/java/com/tangem/domain/common/demo/DemoConfig.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/demo/DemoConfig.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/demo/DemoConfig.kt diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt b/domain/legacy/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/extensions/Blockchain.kt diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/ByteArray.kt b/domain/legacy/src/main/java/com/tangem/domain/common/extensions/ByteArray.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/extensions/ByteArray.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/extensions/ByteArray.kt diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt b/domain/legacy/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt similarity index 96% rename from domain/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt index c7d205bbe0..77e154859f 100644 --- a/domain/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/extensions/CardSdk.kt @@ -3,8 +3,8 @@ package com.tangem.domain.common.extensions import com.tangem.blockchain.common.Blockchain import com.tangem.common.card.EllipticCurve import com.tangem.common.card.FirmwareVersion -import com.tangem.domain.common.CardDTO import com.tangem.domain.common.TapWorkarounds.isTestCard +import com.tangem.domain.models.scan.CardDTO /** [REDACTED_AUTHOR] diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/Coroutine.kt b/domain/legacy/src/main/java/com/tangem/domain/common/extensions/Coroutine.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/extensions/Coroutine.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/extensions/Coroutine.kt diff --git a/domain/src/main/java/com/tangem/domain/common/extensions/ResultCardSdk.kt b/domain/legacy/src/main/java/com/tangem/domain/common/extensions/ResultCardSdk.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/extensions/ResultCardSdk.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/extensions/ResultCardSdk.kt diff --git a/domain/src/main/java/com/tangem/domain/common/form/FieldDataConverters.kt b/domain/legacy/src/main/java/com/tangem/domain/common/form/FieldDataConverters.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/form/FieldDataConverters.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/form/FieldDataConverters.kt diff --git a/domain/src/main/java/com/tangem/domain/common/form/FieldsValidators.kt b/domain/legacy/src/main/java/com/tangem/domain/common/form/FieldsValidators.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/form/FieldsValidators.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/form/FieldsValidators.kt diff --git a/domain/src/main/java/com/tangem/domain/common/form/Form.kt b/domain/legacy/src/main/java/com/tangem/domain/common/form/Form.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/form/Form.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/form/Form.kt diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExtensions.kt b/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExtensions.kt new file mode 100644 index 0000000000..8438a87f14 --- /dev/null +++ b/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExtensions.kt @@ -0,0 +1,47 @@ +package com.tangem.domain.common.util + +import com.tangem.blockchain.common.Blockchain +import com.tangem.common.card.EllipticCurve +import com.tangem.common.extensions.toMapKey +import com.tangem.crypto.hdWallet.DerivationPath +import com.tangem.domain.common.CardTypesResolver +import com.tangem.domain.common.TangemCardTypesResolver +import com.tangem.domain.common.TapWorkarounds.isTangemTwins +import com.tangem.domain.common.TapWorkarounds.isTestCard +import com.tangem.domain.models.scan.ScanResponse + +val ScanResponse.cardTypesResolver: CardTypesResolver + get() = TangemCardTypesResolver( + card = card, + productType = productType, + walletData = walletData, + ) + +fun ScanResponse.twinsIsTwinned(): Boolean = card.isTangemTwins && walletData != null && secondTwinPublicKey != null +fun ScanResponse.supportsHdWallet(): Boolean = card.settings.isHDWalletAllowed +fun ScanResponse.supportsBackup(): Boolean = card.settings.isBackupAllowed + +fun ScanResponse.hasDerivation(blockchain: Blockchain, rawDerivationPath: String): Boolean { + return hasDerivation(blockchain, DerivationPath(rawDerivationPath)) +} + +private fun ScanResponse.hasDerivation(blockchain: Blockchain, derivationPath: DerivationPath): Boolean { + val isTestnet = card.isTestCard || blockchain.isTestnet() + return when { + Blockchain.secp256k1Blockchains(isTestnet).contains(blockchain) -> { + hasDerivation(EllipticCurve.Secp256k1, derivationPath) + } + Blockchain.ed25519OnlyBlockchains(isTestnet).contains(blockchain) -> { + hasDerivation(EllipticCurve.Ed25519, derivationPath) + } + else -> false + } +} + +private fun ScanResponse.hasDerivation(curve: EllipticCurve, derivationPath: DerivationPath): Boolean { + val foundWallet = card.wallets.firstOrNull { it.curve == curve } + ?: return false + val extendedPublicKeysMap = derivedKeys[foundWallet.publicKey.toMapKey()] ?: return false + val extendedPublicKey = extendedPublicKeysMap[derivationPath] + return extendedPublicKey != null +} \ No newline at end of file diff --git a/domain/src/main/java/com/tangem/domain/common/util/UserWalletId.kt b/domain/legacy/src/main/java/com/tangem/domain/common/util/UserWalletId.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/util/UserWalletId.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/util/UserWalletId.kt diff --git a/domain/src/main/java/com/tangem/domain/common/util/ValueDebouncer.kt b/domain/legacy/src/main/java/com/tangem/domain/common/util/ValueDebouncer.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/common/util/ValueDebouncer.kt rename to domain/legacy/src/main/java/com/tangem/domain/common/util/ValueDebouncer.kt diff --git a/domain/src/main/java/com/tangem/domain/features/addCustomToken/AddCustomTokenService.kt b/domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/AddCustomTokenService.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/features/addCustomToken/AddCustomTokenService.kt rename to domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/AddCustomTokenService.kt diff --git a/domain/src/main/java/com/tangem/domain/features/addCustomToken/CustomCurrency.kt b/domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/CustomCurrency.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/features/addCustomToken/CustomCurrency.kt rename to domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/CustomCurrency.kt diff --git a/domain/src/main/java/com/tangem/domain/features/addCustomToken/FormFields.kt b/domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/FormFields.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/features/addCustomToken/FormFields.kt rename to domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/FormFields.kt diff --git a/domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenAction.kt b/domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenAction.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenAction.kt rename to domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenAction.kt diff --git a/domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenHub.kt b/domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenHub.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenHub.kt rename to domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenHub.kt diff --git a/domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenState.kt b/domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenState.kt similarity index 99% rename from domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenState.kt rename to domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenState.kt index 7076b19233..8d32aa4f6b 100644 --- a/domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenState.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/AddCustomTokenState.kt @@ -6,7 +6,6 @@ import com.tangem.common.json.MoshiJsonConverter import com.tangem.datasource.api.tangemTech.models.CoinsResponse import com.tangem.domain.AddCustomTokenError import com.tangem.domain.DomainWrapped -import com.tangem.domain.common.CardDTO import com.tangem.domain.common.TapWorkarounds.isTestCard import com.tangem.domain.common.extensions.isSupportedInApp import com.tangem.domain.common.extensions.supportedBlockchains @@ -36,6 +35,7 @@ import com.tangem.domain.features.addCustomToken.CustomTokenFieldId.Symbol import com.tangem.domain.features.addCustomToken.TokenBlockchainField import com.tangem.domain.features.addCustomToken.TokenDerivationPathField import com.tangem.domain.features.addCustomToken.TokenField +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.redux.DomainState import com.tangem.domain.redux.state.StringActionStateConverter import org.rekotlin.Action diff --git a/domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/Models.kt b/domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/Models.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/features/addCustomToken/redux/Models.kt rename to domain/legacy/src/main/java/com/tangem/domain/features/addCustomToken/redux/Models.kt diff --git a/domain/src/main/java/com/tangem/domain/redux/DomainState.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/DomainState.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/redux/DomainState.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/DomainState.kt diff --git a/domain/src/main/java/com/tangem/domain/redux/DomainStore.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/DomainStore.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/redux/DomainStore.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/DomainStore.kt diff --git a/domain/src/main/java/com/tangem/domain/redux/ReStoreHub.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/ReStoreHub.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/redux/ReStoreHub.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/ReStoreHub.kt diff --git a/domain/src/main/java/com/tangem/domain/redux/extensions/Dispatch.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/extensions/Dispatch.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/redux/extensions/Dispatch.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/extensions/Dispatch.kt diff --git a/domain/src/main/java/com/tangem/domain/redux/global/DomainGlobalAction.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalAction.kt similarity index 88% rename from domain/src/main/java/com/tangem/domain/redux/global/DomainGlobalAction.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalAction.kt index f4256b644e..2c9edb34a5 100644 --- a/domain/src/main/java/com/tangem/domain/redux/global/DomainGlobalAction.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalAction.kt @@ -1,7 +1,7 @@ package com.tangem.domain.redux.global import com.tangem.domain.DomainDialog -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse import org.rekotlin.Action /** diff --git a/domain/src/main/java/com/tangem/domain/redux/global/DomainGlobalHub.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalHub.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/redux/global/DomainGlobalHub.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalHub.kt diff --git a/domain/src/main/java/com/tangem/domain/redux/global/DomainGlobalState.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalState.kt similarity index 93% rename from domain/src/main/java/com/tangem/domain/redux/global/DomainGlobalState.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalState.kt index 231584ecf6..36a97859c9 100644 --- a/domain/src/main/java/com/tangem/domain/redux/global/DomainGlobalState.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/redux/global/DomainGlobalState.kt @@ -3,7 +3,7 @@ package com.tangem.domain.redux.global import com.tangem.datasource.api.paymentology.PaymentologyApiService import com.tangem.datasource.api.tangemTech.TangemTechService import com.tangem.domain.DomainDialog -import com.tangem.domain.common.ScanResponse +import com.tangem.domain.models.scan.ScanResponse /** [REDACTED_AUTHOR] diff --git a/domain/src/main/java/com/tangem/domain/redux/state/StateConverter.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/state/StateConverter.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/redux/state/StateConverter.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/state/StateConverter.kt diff --git a/domain/src/main/java/com/tangem/domain/redux/state/StateLogger.kt b/domain/legacy/src/main/java/com/tangem/domain/redux/state/StateLogger.kt similarity index 100% rename from domain/src/main/java/com/tangem/domain/redux/state/StateLogger.kt rename to domain/legacy/src/main/java/com/tangem/domain/redux/state/StateLogger.kt diff --git a/domain/src/test/java/com/tangem/domain/features/BlockchainTests.kt b/domain/legacy/src/test/java/com/tangem/domain/features/BlockchainTests.kt similarity index 100% rename from domain/src/test/java/com/tangem/domain/features/BlockchainTests.kt rename to domain/legacy/src/test/java/com/tangem/domain/features/BlockchainTests.kt diff --git a/domain/models/.gitignore b/domain/models/.gitignore new file mode 100644 index 0000000000..796b96d1c4 --- /dev/null +++ b/domain/models/.gitignore @@ -0,0 +1 @@ +/build diff --git a/domain/models/build.gradle.kts b/domain/models/build.gradle.kts new file mode 100644 index 0000000000..fbccb4120d --- /dev/null +++ b/domain/models/build.gradle.kts @@ -0,0 +1,9 @@ +plugins { + alias(deps.plugins.kotlin.jvm) + id("configuration") +} + +dependencies { + implementation(deps.tangem.card.core) + implementation(deps.moshi.kotlin) +} \ No newline at end of file diff --git a/domain/src/main/java/com/tangem/domain/common/CardDTO.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt similarity index 99% rename from domain/src/main/java/com/tangem/domain/common/CardDTO.kt rename to domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt index 38494e9294..fa9bb0ee84 100644 --- a/domain/src/main/java/com/tangem/domain/common/CardDTO.kt +++ b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt @@ -1,4 +1,4 @@ -package com.tangem.domain.common +package com.tangem.domain.models.scan import com.squareup.moshi.JsonClass import com.tangem.common.card.Card @@ -8,7 +8,7 @@ import com.tangem.common.card.EncryptionMode import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.crypto.hdWallet.bip32.ExtendedPublicKey import com.tangem.operations.attestation.Attestation -import java.util.* +import java.util.Date import com.tangem.common.card.FirmwareVersion as SdkFirmwareVersion /** diff --git a/domain/models/src/main/kotlin/com/tangem/domain/models/scan/ScanResponse.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/ScanResponse.kt new file mode 100644 index 0000000000..c9cae94a64 --- /dev/null +++ b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/ScanResponse.kt @@ -0,0 +1,24 @@ +package com.tangem.domain.models.scan + +import com.tangem.common.card.WalletData +import com.tangem.common.extensions.ByteArrayKey +import com.tangem.operations.backup.PrimaryCard +import com.tangem.operations.derivation.ExtendedPublicKeysMap + +/** +[REDACTED_AUTHOR] + */ +data class ScanResponse( + val card: CardDTO, + val productType: ProductType, + val walletData: WalletData?, + val secondTwinPublicKey: String? = null, + val derivedKeys: Map = mapOf(), + val primaryCard: PrimaryCard? = null, +) + +typealias KeyWalletPublicKey = ByteArrayKey + +enum class ProductType { + Note, Twins, Wallet, SaltPay, Start2Coin +} \ No newline at end of file diff --git a/domain/src/main/java/com/tangem/domain/common/CardInfo.kt b/domain/src/main/java/com/tangem/domain/common/CardInfo.kt deleted file mode 100644 index 7953c475ac..0000000000 --- a/domain/src/main/java/com/tangem/domain/common/CardInfo.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.tangem.domain.common - -import com.tangem.common.card.WalletData -import com.tangem.operations.backup.PrimaryCard -import com.tangem.operations.derivation.ExtendedPublicKeysMap - -data class CardInfo( - val card: CardDTO, - val productType: ProductType, - val walletData: WalletData?, - val secondTwinPublicKey: String?, - val derivedKeys: Map, - val primaryCard: PrimaryCard?, -) \ No newline at end of file diff --git a/domain/src/main/java/com/tangem/domain/common/ScanResponse.kt b/domain/src/main/java/com/tangem/domain/common/ScanResponse.kt deleted file mode 100644 index a93b21fba7..0000000000 --- a/domain/src/main/java/com/tangem/domain/common/ScanResponse.kt +++ /dev/null @@ -1,63 +0,0 @@ -package com.tangem.domain.common - -import com.tangem.blockchain.common.Blockchain -import com.tangem.common.card.EllipticCurve -import com.tangem.common.card.WalletData -import com.tangem.common.extensions.ByteArrayKey -import com.tangem.common.extensions.toMapKey -import com.tangem.crypto.hdWallet.DerivationPath -import com.tangem.domain.common.TapWorkarounds.isTangemTwins -import com.tangem.domain.common.TapWorkarounds.isTestCard -import com.tangem.operations.CommandResponse -import com.tangem.operations.backup.PrimaryCard -import com.tangem.operations.derivation.ExtendedPublicKeysMap - -/** -[REDACTED_AUTHOR] - */ -data class ScanResponse( - val card: CardDTO, - val productType: ProductType, - val walletData: WalletData?, - val secondTwinPublicKey: String? = null, - val derivedKeys: Map = mapOf(), - val primaryCard: PrimaryCard? = null, -) : CommandResponse { - - val cardTypesResolver: CardTypesResolver = TangemCardTypesResolver( - card = card, - productType = productType, - walletData = walletData, - ) - - fun twinsIsTwinned(): Boolean = card.isTangemTwins && walletData != null && secondTwinPublicKey != null - fun supportsHdWallet(): Boolean = card.settings.isHDWalletAllowed - fun supportsBackup(): Boolean = card.settings.isBackupAllowed - - fun hasDerivation(blockchain: Blockchain, rawDerivationPath: String): Boolean { - return hasDerivation(blockchain, DerivationPath(rawDerivationPath)) - } - - private fun hasDerivation(blockchain: Blockchain, derivationPath: DerivationPath): Boolean { - val isTestnet = card.isTestCard || blockchain.isTestnet() - return when { - Blockchain.secp256k1Blockchains(isTestnet).contains(blockchain) -> { - hasDerivation(EllipticCurve.Secp256k1, derivationPath) - } - Blockchain.ed25519OnlyBlockchains(isTestnet).contains(blockchain) -> { - hasDerivation(EllipticCurve.Ed25519, derivationPath) - } - else -> false - } - } - - private fun hasDerivation(curve: EllipticCurve, derivationPath: DerivationPath): Boolean { - val foundWallet = card.wallets.firstOrNull { it.curve == curve } - ?: return false - val extendedPublicKeysMap = derivedKeys[foundWallet.publicKey.toMapKey()] ?: return false - val extendedPublicKey = extendedPublicKeysMap[derivationPath] - return extendedPublicKey != null - } -} - -typealias KeyWalletPublicKey = ByteArrayKey \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index dbb3202511..d3f3310ef6 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -29,7 +29,6 @@ dependencyResolutionManagement { } include(":app") -include(":domain") include(":common") // region Core modules @@ -57,4 +56,10 @@ include(":features:swap:presentation") include(":features:tester:api") include(":features:tester:impl") -// endregion Feature modules \ No newline at end of file +// endregion Feature modules + +// region Domain modules +// TODO: Remove, temporary modules +include(":domain:models") +include(":domain:legacy") +// endregion Domain modules \ No newline at end of file