From e3d0d7e212e09225981ef73aaf9255a382b4df0a Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 4 Dec 2020 11:48:21 +0300 Subject: [PATCH 1/3] Updated on 2026-08-14 --- .../tangem/tap/domain/twins/TwinsHelper.kt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt b/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt index ddb6d6854b..7492bca931 100644 --- a/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt +++ b/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt @@ -8,10 +8,10 @@ class TwinsHelper { fun getTwinCardNumber(cardId: String): TwinCardNumber? { return when { - firstCardBatches.map { cardId.startsWith(it) }.contains(true) -> { + firstCardSeries.map { cardId.startsWith(it) }.contains(true) -> { TwinCardNumber.First } - secondCardBatches.map { cardId.startsWith(it) }.contains(true) -> { + secondCardSeries.map { cardId.startsWith(it) }.contains(true) -> { TwinCardNumber.Second } else -> { @@ -21,23 +21,23 @@ class TwinsHelper { } fun getTwinsCardId(cardId: String): String? { - val cardIdWithNewBatch = when (getTwinCardNumber(cardId) ?: return null) { + val cardIdWithNewSeries = when (getTwinCardNumber(cardId) ?: return null) { TwinCardNumber.First -> { - val batchIndex = if (cardId.startsWith(firstCardBatches[1])) 1 else 2 - cardId.replace(firstCardBatches[batchIndex], secondCardBatches[batchIndex]) + val index = if (cardId.startsWith(firstCardSeries[0])) 0 else 1 + cardId.replace(firstCardSeries[index], secondCardSeries[index]) } TwinCardNumber.Second -> { - val batchIndex = if (cardId.startsWith(secondCardBatches[1])) 1 else 2 - cardId.replace(secondCardBatches[batchIndex], firstCardBatches[batchIndex]) + val index = if (cardId.startsWith(secondCardSeries[0])) 0 else 1 + cardId.replace(secondCardSeries[index], firstCardSeries[index]) } } - val cardIdWithoutChecksum = cardIdWithNewBatch.dropLast(1) + val cardIdWithoutChecksum = cardIdWithNewSeries.dropLast(1) val checkSum = cardIdWithoutChecksum.calculateLuhn() return cardIdWithoutChecksum + checkSum } - private val firstCardBatches = listOf("CB61", "CB64") - private val secondCardBatches = listOf("CB62", "CB65") + private val firstCardSeries = listOf("CB61", "CB64") + private val secondCardSeries = listOf("CB62", "CB65") } } From 737e55b49b6e6af43410e3ea5df361b0024a8fb6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 4 Dec 2020 11:50:00 +0300 Subject: [PATCH 2/3] Updated on 2026-08-14 --- .../java/com/tangem/tap/domain/TapWalletManager.kt | 1 + .../java/com/tangem/tap/domain/tasks/ScanNoteTask.kt | 2 +- .../com/tangem/tap/domain/twins/TwinCardsManager.kt | 1 - .../java/com/tangem/tap/domain/twins/TwinsHelper.kt | 2 +- .../tangem/tap/features/details/redux/DetailsAction.kt | 2 +- .../tap/features/details/redux/DetailsReducer.kt | 2 +- .../details/redux/twins/CreateTwinWalletState.kt | 2 +- .../details/ui/twins/CreateTwinWalletFragment.kt | 2 +- .../tangem/tap/features/wallet/redux/WalletAction.kt | 2 +- .../tap/features/wallet/redux/WalletMiddleware.kt | 2 +- .../tangem/tap/features/wallet/redux/WalletReducer.kt | 2 +- .../tangem/tap/features/wallet/redux/WalletState.kt | 10 +++++----- .../tangem/tap/features/wallet/ui/WalletFragment.kt | 2 +- 13 files changed, 16 insertions(+), 16 deletions(-) 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 11fa152761..6f5b4eb380 100644 --- a/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/TapWalletManager.kt @@ -16,6 +16,7 @@ import com.tangem.tap.domain.config.ConfigManager import com.tangem.tap.domain.extensions.amountToCreateAccount import com.tangem.tap.domain.extensions.isNoAccountError import com.tangem.tap.domain.tasks.ScanNoteResponse +import com.tangem.tap.domain.twins.TwinsHelper import com.tangem.tap.features.send.redux.AddressPayIdActionUi import com.tangem.tap.features.wallet.redux.WalletAction import com.tangem.tap.network.NetworkConnectivity diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt index 1f0c9bcd06..1e0b0dc71e 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/ScanNoteTask.kt @@ -20,7 +20,7 @@ import com.tangem.common.tlv.Tlv import com.tangem.common.tlv.TlvDecoder import com.tangem.common.tlv.TlvTag import com.tangem.tap.domain.TapSdkError -import com.tangem.tap.domain.TwinsHelper +import com.tangem.tap.domain.twins.TwinsHelper import com.tangem.tasks.ScanTask data class ScanNoteResponse( 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 0255ed6f5a..f33030c138 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 @@ -12,7 +12,6 @@ import com.tangem.common.extensions.toHexString import com.tangem.common.tlv.TlvEncoder import com.tangem.common.tlv.TlvTag import com.tangem.common.tlv.serialize -import com.tangem.tap.domain.TwinsHelper import com.tangem.tap.domain.tasks.ScanNoteResponse import com.tangem.tap.tangemSdkManager diff --git a/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt b/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt index 7492bca931..c14680c6dd 100644 --- a/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt +++ b/app/src/main/java/com/tangem/tap/domain/twins/TwinsHelper.kt @@ -1,4 +1,4 @@ -package com.tangem.tap.domain +package com.tangem.tap.domain.twins import com.tangem.tap.common.extensions.isEven 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 fe8c56708e..8a8fcd36d0 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 @@ -5,8 +5,8 @@ import com.tangem.blockchain.common.Wallet import com.tangem.commands.common.card.Card import com.tangem.tap.common.redux.NotificationAction import com.tangem.tap.common.redux.global.FiatCurrencyName -import com.tangem.tap.domain.TwinCardNumber import com.tangem.tap.domain.tasks.ScanNoteResponse +import com.tangem.tap.domain.twins.TwinCardNumber import com.tangem.tap.features.details.redux.twins.CreateTwinWallet import com.tangem.tap.network.coinmarketcap.FiatCurrency import com.tangem.wallet.R 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 58997e57b6..e94971f658 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 @@ -6,8 +6,8 @@ import com.tangem.commands.common.card.masks.Product import com.tangem.commands.common.card.masks.Settings import com.tangem.tap.common.redux.AppState import com.tangem.tap.domain.TapWorkarounds -import com.tangem.tap.domain.TwinsHelper import com.tangem.tap.domain.extensions.toSendableAmounts +import com.tangem.tap.domain.twins.TwinsHelper import com.tangem.tap.features.details.redux.twins.CreateTwinWalletReducer import com.tangem.tap.features.details.redux.twins.CreateTwinWalletState import org.rekotlin.Action diff --git a/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletState.kt b/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletState.kt index d42808e26e..488ac431bc 100644 --- a/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletState.kt +++ b/app/src/main/java/com/tangem/tap/features/details/redux/twins/CreateTwinWalletState.kt @@ -1,7 +1,7 @@ package com.tangem.tap.features.details.redux.twins -import com.tangem.tap.domain.TwinCardNumber import com.tangem.tap.domain.tasks.ScanNoteResponse +import com.tangem.tap.domain.twins.TwinCardNumber data class CreateTwinWalletState( val scanResponse: ScanNoteResponse?, diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/twins/CreateTwinWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/details/ui/twins/CreateTwinWalletFragment.kt index 01924048e8..3d4552c09d 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/twins/CreateTwinWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/twins/CreateTwinWalletFragment.kt @@ -10,7 +10,7 @@ import androidx.transition.TransitionInflater import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.squareup.picasso.Picasso import com.tangem.Message -import com.tangem.tap.domain.TwinCardNumber +import com.tangem.tap.domain.twins.TwinCardNumber import com.tangem.tap.features.details.redux.DetailsAction import com.tangem.tap.features.details.redux.DetailsState import com.tangem.tap.features.details.redux.twins.CreateTwinWallet diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt index 58ffdb8acc..0656a9583f 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletAction.kt @@ -9,7 +9,7 @@ import com.tangem.tap.common.redux.ErrorAction import com.tangem.tap.common.redux.NotificationAction import com.tangem.tap.common.redux.global.CryptoCurrencyName import com.tangem.tap.domain.TapError -import com.tangem.tap.domain.TwinCardNumber +import com.tangem.tap.domain.twins.TwinCardNumber import com.tangem.wallet.R import org.rekotlin.Action import java.math.BigDecimal diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletMiddleware.kt index bdd1a724cb..94c96264e1 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletMiddleware.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletMiddleware.kt @@ -20,8 +20,8 @@ import com.tangem.tap.common.redux.navigation.NavigationAction import com.tangem.tap.domain.PayIdManager import com.tangem.tap.domain.TapError import com.tangem.tap.domain.TopUpHelper -import com.tangem.tap.domain.TwinsHelper import com.tangem.tap.domain.extensions.toSendableAmounts +import com.tangem.tap.domain.twins.TwinsHelper import com.tangem.tap.features.details.redux.DetailsAction import com.tangem.tap.features.details.redux.twins.CreateTwinWallet import com.tangem.tap.features.send.redux.PrepareSendScreen diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt index 7fe82a18f5..533121bbe8 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/WalletReducer.kt @@ -11,8 +11,8 @@ import com.tangem.tap.common.extensions.toFormattedString import com.tangem.tap.common.extensions.toQrCode import com.tangem.tap.common.redux.AppState import com.tangem.tap.domain.TapError -import com.tangem.tap.domain.TwinCardNumber import com.tangem.tap.domain.getFirstToken +import com.tangem.tap.domain.twins.TwinCardNumber import com.tangem.tap.features.wallet.models.removeUnknownTransactions import com.tangem.tap.features.wallet.models.toPendingTransactions import com.tangem.tap.features.wallet.ui.BalanceStatus 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 29ef153b3d..29b239d41e 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 @@ -7,7 +7,7 @@ import com.tangem.blockchain.common.Wallet import com.tangem.blockchain.common.address.AddressType import com.tangem.tap.common.entities.Button import com.tangem.tap.common.redux.global.CryptoCurrencyName -import com.tangem.tap.domain.TwinCardNumber +import com.tangem.tap.domain.twins.TwinCardNumber import com.tangem.tap.features.wallet.models.PendingTransaction import com.tangem.tap.features.wallet.ui.BalanceWidgetData import org.rekotlin.StateType @@ -105,8 +105,8 @@ data class TopUpState( ) data class TwinCardsState( - val secondCardId: String?, - val cardNumber: TwinCardNumber?, - val showTwinOnboarding: Boolean, - val isCreatingTwinCardsAllowed: Boolean + val secondCardId: String?, + val cardNumber: TwinCardNumber?, + val showTwinOnboarding: Boolean, + val isCreatingTwinCardsAllowed: Boolean ) \ No newline at end of file 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 6e921e5b9b..20db7eb00e 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 @@ -18,7 +18,7 @@ import com.tangem.tap.common.extensions.hide import com.tangem.tap.common.extensions.show import com.tangem.tap.common.redux.navigation.AppScreen import com.tangem.tap.common.redux.navigation.NavigationAction -import com.tangem.tap.domain.TwinCardNumber +import com.tangem.tap.domain.twins.TwinCardNumber import com.tangem.tap.features.details.redux.DetailsAction import com.tangem.tap.features.wallet.redux.* import com.tangem.tap.features.wallet.ui.dialogs.AmountToSendDialog From 41a8573cdbf79c31c94ccc6e410b92182ddc0c78 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 4 Dec 2020 11:54:18 +0300 Subject: [PATCH 3/3] Updated on 2026-08-14