From 4743c5d4a533833cd32f4345ac4eac26b13099f1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 29 Aug 2023 15:26:31 +0300 Subject: [PATCH 1/4] Updated on 2026-08-14 --- .../tap/domain/tasks/product/CreateProductWalletTask.kt | 4 +++- .../com/tangem/domain/common/configs/Wallet2CardConfig.kt | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) 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 78d1ce464f..3c0467b1da 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 @@ -151,7 +151,9 @@ private class CreateWalletTangemWallet( ) { val config = CardConfig.createConfig(card) val walletsOnCard = card.wallets.map { it.curve }.toSet() - val curves = card.supportedCurves.intersect(config.mandatoryCurves.toSet()).subtract(walletsOnCard).toList() + val curves = config.mandatoryCurves.toSet() + .intersect(card.supportedCurves.toSet()) + .subtract(walletsOnCard).toList() if (curves.isEmpty()) { val createWalletResponses = card.wallets.map { wallet -> diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/configs/Wallet2CardConfig.kt b/domain/legacy/src/main/java/com/tangem/domain/common/configs/Wallet2CardConfig.kt index 12f3f24dd3..cfa8cec1f6 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/configs/Wallet2CardConfig.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/configs/Wallet2CardConfig.kt @@ -9,8 +9,8 @@ object Wallet2CardConfig : CardConfig { get() = listOf( EllipticCurve.Secp256k1, EllipticCurve.Ed25519, - EllipticCurve.Bip0340, EllipticCurve.Bls12381G2Aug, + EllipticCurve.Bip0340, EllipticCurve.Ed25519Slip0010, ) From 1576e3f5aa99f4b153e5868ef63eac4937974767 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 31 Aug 2023 10:02:06 +0300 Subject: [PATCH 2/4] Updated on 2026-08-14 --- .../tokens/impl/presentation/viewmodels/TokensListViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/viewmodels/TokensListViewModel.kt b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/viewmodels/TokensListViewModel.kt index 1cac67b7b2..78ff6ff6ce 100644 --- a/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/viewmodels/TokensListViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/tokens/impl/presentation/viewmodels/TokensListViewModel.kt @@ -378,7 +378,7 @@ internal class TokensListViewModel @Inject constructor( val supportedTokens = scanResponse.card.supportedTokens(cardTypesResolver) // refactor this later by moving all this logic in card config - if (!supportedTokens.contains(Blockchain.Solana)) { + if (blockchain == Blockchain.Solana && !supportedTokens.contains(Blockchain.Solana)) { return SupportTokensState.SolanaNetworkUnsupported } val canHandleToken = scanResponse.card.canHandleToken( From 650376600cc91d240e40ec4898c1132a4ccecc0d Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 31 Aug 2023 12:54:35 +0300 Subject: [PATCH 3/4] Updated on 2026-08-14 --- .../wallet/ui/OnboardingWalletFragment.kt | 21 +++++++++++++++++-- .../wallet2/viewmodel/SeedPhraseRouter.kt | 8 +++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt index 49f78995bc..4c2628276f 100644 --- a/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/onboarding/products/wallet/ui/OnboardingWalletFragment.kt @@ -21,6 +21,7 @@ import com.tangem.common.CardIdFormatter import com.tangem.common.CompletionResult import com.tangem.common.core.CardIdDisplayFormat import com.tangem.core.analytics.Analytics +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.feature.onboarding.data.model.CreateWalletResponse import com.tangem.feature.onboarding.presentation.wallet2.analytics.SeedPhraseSource import com.tangem.feature.onboarding.presentation.wallet2.viewmodel.SeedPhraseMediator @@ -64,6 +65,7 @@ class OnboardingWalletFragment : private val seedPhraseViewModel by viewModels() private lateinit var cardsWidget: WalletCardsWidget + private var seedPhraseRouter: SeedPhraseRouter? = null private var accessCodeDialog: AccessCodeDialog? = null private lateinit var animator: BackupAnimator @@ -77,7 +79,9 @@ class OnboardingWalletFragment : override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - seedPhraseViewModel.setRouter(makeSeedPhraseRouter()) + val newSeedPhraseRouter = makeSeedPhraseRouter() + seedPhraseRouter = newSeedPhraseRouter + seedPhraseViewModel.setRouter(newSeedPhraseRouter) seedPhraseViewModel.setMediator(makeSeedPhraseMediator()) } @@ -435,6 +439,19 @@ class OnboardingWalletFragment : } override fun handleOnBackPressed() { + // workaround to use right navigation back for toolbar back btn on seed phrase flow + val isWallet2 = + store.state.globalState.onboardingState.onboardingManager?.scanResponse?.cardTypesResolver?.isWallet2() + ?: false + val seedPhraseRouter = seedPhraseRouter + if (seedPhraseRouter != null && isWallet2) { + seedPhraseRouter.navigateBack() + } else { + legacyOnBackHandler() + } + } + + private fun legacyOnBackHandler() { store.dispatch(OnboardingWalletAction.OnBackPressed) } @@ -445,7 +462,7 @@ class OnboardingWalletFragment : } private fun makeSeedPhraseRouter(): SeedPhraseRouter = SeedPhraseRouter( - onBack = ::handleOnBackPressed, + onBack = ::legacyOnBackHandler, onOpenChat = { store.dispatch(GlobalAction.OpenChat(SupportInfo())) }, diff --git a/features/onboarding/src/main/java/com/tangem/feature/onboarding/presentation/wallet2/viewmodel/SeedPhraseRouter.kt b/features/onboarding/src/main/java/com/tangem/feature/onboarding/presentation/wallet2/viewmodel/SeedPhraseRouter.kt index bfe8b2da3e..4fd0dc3ee4 100644 --- a/features/onboarding/src/main/java/com/tangem/feature/onboarding/presentation/wallet2/viewmodel/SeedPhraseRouter.kt +++ b/features/onboarding/src/main/java/com/tangem/feature/onboarding/presentation/wallet2/viewmodel/SeedPhraseRouter.kt @@ -21,11 +21,11 @@ class SeedPhraseRouter( fun navigateBack() { _currentScreen.value = when (_currentScreen.value) { SeedPhraseScreen.CheckSeedPhrase -> SeedPhraseScreen.YourSeedPhrase - SeedPhraseScreen.Intro, - SeedPhraseScreen.AboutSeedPhrase, - SeedPhraseScreen.YourSeedPhrase, + SeedPhraseScreen.AboutSeedPhrase -> SeedPhraseScreen.Intro SeedPhraseScreen.ImportSeedPhrase, - -> { + SeedPhraseScreen.YourSeedPhrase, + -> SeedPhraseScreen.AboutSeedPhrase + SeedPhraseScreen.Intro -> { onBack.invoke() return } From a503e00e585764d6a775ca270db5170d4d15e8a4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 31 Aug 2023 13:01:38 +0300 Subject: [PATCH 4/4] Updated on 2026-08-14 --- .../src/main/java/com/tangem/domain/demo/DemoConfig.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/domain/demo/src/main/java/com/tangem/domain/demo/DemoConfig.kt b/domain/demo/src/main/java/com/tangem/domain/demo/DemoConfig.kt index ad6e89bba0..9f6fc7ccaa 100644 --- a/domain/demo/src/main/java/com/tangem/domain/demo/DemoConfig.kt +++ b/domain/demo/src/main/java/com/tangem/domain/demo/DemoConfig.kt @@ -399,6 +399,12 @@ class DemoConfig { "AB02000000048063", "AB02000000023736", "AB02000000058187", + + // Wallet 2 + "AF04000000012006", + "AF04000000012014", + "AF04000000012022", + "AF04000000012030", ) @Suppress("ClassOrdering") @@ -406,6 +412,7 @@ class DemoConfig { "FB20000000000186", // Note ETH "FB10000000000196", // Note BTC "FB30000000000176", // Wallet + "FB40000000120060", // Wallet 2 ) @Suppress("ClassOrdering")