From ebf680af30bb212a9824f51067b246b944af9075 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 17 Jan 2025 19:23:47 +0500 Subject: [PATCH 01/61] Updated on 2026-08-14 --- .../pullToRefresh/PullToRefreshConfig.kt | 2 +- .../TangemPullToRefreshContainer.kt | 63 +++++++++++++++++++ .../impl/presentation/state/StakingUiState.kt | 2 +- .../previewdata/InitialStakingStatePreview.kt | 2 +- .../SetInitialDataStateTransformer.kt | 2 +- .../ui/StakingInitialInfoContent.kt | 21 ++----- .../tokendetails/TokenDetailsPreviewData.kt | 2 +- .../tokendetails/state/TokenDetailsState.kt | 2 +- .../TokenDetailsSkeletonStateConverter.kt | 2 +- .../tokendetails/ui/TokenDetailsScreen.kt | 26 ++------ .../common/preview/WalletScreenPreviewData.kt | 2 +- .../wallet/state/model/WalletState.kt | 2 +- .../model/holder/LockedWalletStateHolder.kt | 2 +- .../SetRefreshStateTransformer.kt | 2 +- .../state/utils/WalletLoadingStateFactory.kt | 2 +- .../presentation/wallet/ui/WalletScreen.kt | 24 +------ .../common/WalletPullToRefreshIndicator.kt | 26 -------- 17 files changed, 86 insertions(+), 98 deletions(-) rename core/ui/src/main/java/com/tangem/core/ui/{ => components/containers}/pullToRefresh/PullToRefreshConfig.kt (84%) create mode 100644 core/ui/src/main/java/com/tangem/core/ui/components/containers/pullToRefresh/TangemPullToRefreshContainer.kt delete mode 100644 features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletPullToRefreshIndicator.kt diff --git a/core/ui/src/main/java/com/tangem/core/ui/pullToRefresh/PullToRefreshConfig.kt b/core/ui/src/main/java/com/tangem/core/ui/components/containers/pullToRefresh/PullToRefreshConfig.kt similarity index 84% rename from core/ui/src/main/java/com/tangem/core/ui/pullToRefresh/PullToRefreshConfig.kt rename to core/ui/src/main/java/com/tangem/core/ui/components/containers/pullToRefresh/PullToRefreshConfig.kt index b6c6aea4b9..d2fcfad70f 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/pullToRefresh/PullToRefreshConfig.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/containers/pullToRefresh/PullToRefreshConfig.kt @@ -1,4 +1,4 @@ -package com.tangem.core.ui.pullToRefresh +package com.tangem.core.ui.components.containers.pullToRefresh /** * Pull to refresh config data diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/containers/pullToRefresh/TangemPullToRefreshContainer.kt b/core/ui/src/main/java/com/tangem/core/ui/components/containers/pullToRefresh/TangemPullToRefreshContainer.kt new file mode 100644 index 0000000000..386f268756 --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/components/containers/pullToRefresh/TangemPullToRefreshContainer.kt @@ -0,0 +1,63 @@ +package com.tangem.core.ui.components.containers.pullToRefresh + +import android.content.res.Configuration +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.pulltorefresh.PullToRefreshBox +import androidx.compose.material3.pulltorefresh.PullToRefreshDefaults.Indicator +import androidx.compose.material3.pulltorefresh.rememberPullToRefreshState +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.TangemThemePreview + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun TangemPullToRefreshContainer( + config: PullToRefreshConfig, + modifier: Modifier = Modifier, + content: @Composable () -> Unit, +) { + val state = rememberPullToRefreshState() + PullToRefreshBox( + isRefreshing = config.isRefreshing, + onRefresh = { + config.onRefresh(PullToRefreshConfig.ShowRefreshState()) + }, + state = state, + modifier = modifier, + indicator = { + Indicator( + modifier = Modifier.align(Alignment.TopCenter), + isRefreshing = config.isRefreshing, + state = state, + containerColor = TangemTheme.colors.background.tertiary, + color = TangemTheme.colors.text.primary1, + ) + }, + ) { + content() + } +} + +// region Preview +@Preview(showBackground = true, widthDp = 360, heightDp = 720) +@Preview(showBackground = true, widthDp = 360, heightDp = 720, uiMode = Configuration.UI_MODE_NIGHT_YES) +@Composable +private fun TangemPullToRefreshContainer_Preview() { + TangemThemePreview { + TangemPullToRefreshContainer( + config = PullToRefreshConfig(isRefreshing = true, {}), + ) { + Box( + modifier = Modifier.fillMaxSize() + .background(TangemTheme.colors.background.secondary), + ) + } + } +} +// endregion \ No newline at end of file diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt index c8c0be08e6..1fb61151c2 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt @@ -8,7 +8,7 @@ import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig import com.tangem.core.ui.components.list.RoundedListWithDividersItemData import com.tangem.core.ui.event.StateEvent import com.tangem.core.ui.extensions.TextReference -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.domain.staking.model.stakekit.PendingAction import com.tangem.domain.staking.model.stakekit.Yield import com.tangem.domain.staking.model.stakekit.action.StakingActionCommonType diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt index 9bc454ab92..99c1cb3379 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt @@ -3,7 +3,7 @@ package com.tangem.features.staking.impl.presentation.state.previewdata import com.tangem.core.ui.components.list.RoundedListWithDividersItemData import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.stringReference -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.domain.staking.model.stakekit.BalanceType import com.tangem.domain.staking.model.stakekit.RewardBlockType import com.tangem.domain.staking.model.stakekit.Yield diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt index 6825aeb4f6..1e317fafab 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt @@ -11,7 +11,7 @@ import com.tangem.core.ui.extensions.* import com.tangem.core.ui.format.bigdecimal.crypto import com.tangem.core.ui.format.bigdecimal.format import com.tangem.core.ui.format.bigdecimal.percent -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.staking.model.stakekit.BalanceItem import com.tangem.domain.staking.model.stakekit.Yield diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt index d213a829f3..63d2aacc70 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt @@ -10,10 +10,6 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.pullrefresh.PullRefreshIndicator -import androidx.compose.material.pullrefresh.pullRefresh -import androidx.compose.material.pullrefresh.rememberPullRefreshState import androidx.compose.material3.Text import androidx.compose.material3.ripple import androidx.compose.runtime.Composable @@ -42,7 +38,7 @@ import com.tangem.core.ui.decorations.roundedShapeItemDecoration import com.tangem.core.ui.extensions.* import com.tangem.core.ui.format.bigdecimal.format import com.tangem.core.ui.format.bigdecimal.percent -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.TangemPullToRefreshContainer import com.tangem.core.ui.res.TangemColorPalette import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview @@ -63,7 +59,6 @@ private const val STAKING_REWARD_BLOCK_KEY = "StakingRewardBlock" private const val ACTIVE_STAKING_BLOCK_KEY = "ActiveStakingBlock" private const val STAKE_PRIMARY_BUTTON_KEY = "StakePrimaryButton" -@OptIn(ExperimentalMaterialApi::class) @Composable internal fun StakingInitialInfoContent( state: StakingStates.InitialInfoState, @@ -73,11 +68,9 @@ internal fun StakingInitialInfoContent( ) { if (state !is StakingStates.InitialInfoState.Data) return - val pullRefreshState = rememberPullRefreshState( - refreshing = state.pullToRefreshConfig.isRefreshing, - onRefresh = { state.pullToRefreshConfig.onRefresh(PullToRefreshConfig.ShowRefreshState()) }, - ) - Box(modifier = Modifier.pullRefresh(pullRefreshState)) { + TangemPullToRefreshContainer( + config = state.pullToRefreshConfig, + ) { LazyColumn( verticalArrangement = alignLastToBottom(), modifier = Modifier @@ -113,12 +106,6 @@ internal fun StakingInitialInfoContent( StakeButtonBlock(buttonState) } } - - PullRefreshIndicator( - modifier = Modifier.align(Alignment.TopCenter), - refreshing = state.pullToRefreshConfig.isRefreshing, - state = pullRefreshState, - ) } } diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/TokenDetailsPreviewData.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/TokenDetailsPreviewData.kt index 83ab6680a0..db1345ff87 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/TokenDetailsPreviewData.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/TokenDetailsPreviewData.kt @@ -11,7 +11,7 @@ import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringReference import com.tangem.core.ui.extensions.wrappedList -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.core.ui.res.TangemTheme import com.tangem.feature.tokendetails.presentation.tokendetails.state.* import com.tangem.feature.tokendetails.presentation.tokendetails.state.components.TokenDetailsActionButton diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/TokenDetailsState.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/TokenDetailsState.kt index ff23815212..594aba1cca 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/TokenDetailsState.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/TokenDetailsState.kt @@ -5,7 +5,7 @@ import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig import com.tangem.core.ui.components.marketprice.MarketPriceBlockState import com.tangem.core.ui.components.transactions.state.TransactionState import com.tangem.core.ui.components.transactions.state.TxHistoryState -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.feature.tokendetails.presentation.tokendetails.state.components.TokenDetailsDialogConfig import com.tangem.feature.tokendetails.presentation.tokendetails.state.components.TokenDetailsNotification import kotlinx.collections.immutable.ImmutableList diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSkeletonStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSkeletonStateConverter.kt index 6e56b18248..3a5d25730d 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSkeletonStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSkeletonStateConverter.kt @@ -6,7 +6,7 @@ import com.tangem.core.ui.components.transactions.state.TxHistoryState import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.networkIconResId import com.tangem.core.ui.extensions.resourceReference -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.core.ui.res.TangemTheme import com.tangem.domain.card.NetworkHasDerivationUseCase import com.tangem.domain.staking.GetStakingIntegrationIdUseCase diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/TokenDetailsScreen.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/TokenDetailsScreen.kt index 0591214019..f353f68068 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/TokenDetailsScreen.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/TokenDetailsScreen.kt @@ -5,14 +5,9 @@ import androidx.activity.compose.BackHandler import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.pullrefresh.PullRefreshIndicator -import androidx.compose.material.pullrefresh.pullRefresh -import androidx.compose.material.pullrefresh.rememberPullRefreshState import androidx.compose.material3.Scaffold import androidx.compose.material3.ScaffoldDefaults import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.tooling.preview.Preview @@ -31,7 +26,7 @@ import com.tangem.core.ui.components.notifications.Notification import com.tangem.core.ui.components.notifications.OkxPromoNotification import com.tangem.core.ui.components.transactions.state.TxHistoryState import com.tangem.core.ui.components.transactions.txHistoryItems -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.TangemPullToRefreshContainer import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview import com.tangem.feature.tokendetails.presentation.tokendetails.TokenDetailsPreviewData @@ -48,7 +43,6 @@ import com.tangem.features.markets.token.block.TokenMarketBlockComponent // TODO: Split to blocks [REDACTED_JIRA] @Suppress("LongMethod") -@OptIn(ExperimentalMaterialApi::class) @Composable internal fun TokenDetailsScreen(state: TokenDetailsState, tokenMarketBlockComponent: TokenMarketBlockComponent?) { BackHandler(onBack = state.topAppBarConfig.onBackClick) @@ -59,11 +53,6 @@ internal fun TokenDetailsScreen(state: TokenDetailsState, tokenMarketBlockCompon contentWindowInsets = ScaffoldDefaults.contentWindowInsets.exclude(WindowInsets.navigationBars), containerColor = TangemTheme.colors.background.secondary, ) { scaffoldPaddings -> - val pullRefreshState = rememberPullRefreshState( - refreshing = state.pullToRefreshConfig.isRefreshing, - onRefresh = { state.pullToRefreshConfig.onRefresh(PullToRefreshConfig.ShowRefreshState()) }, - ) - val txHistoryItems = if (state.txHistoryState is TxHistoryState.Content) { state.txHistoryState.contentItems.collectAsLazyPagingItems() } else { @@ -75,10 +64,9 @@ internal fun TokenDetailsScreen(state: TokenDetailsState, tokenMarketBlockCompon .padding(top = betweenItemsPadding) .padding(horizontal = horizontalPadding) - Box( - modifier = Modifier - .padding(scaffoldPaddings) - .pullRefresh(pullRefreshState), + TangemPullToRefreshContainer( + config = state.pullToRefreshConfig, + modifier = Modifier.padding(scaffoldPaddings), ) { LazyColumn( modifier = Modifier.fillMaxSize(), @@ -169,12 +157,6 @@ internal fun TokenDetailsScreen(state: TokenDetailsState, tokenMarketBlockCompon txHistoryItems = txHistoryItems, ) } - - PullRefreshIndicator( - modifier = Modifier.align(Alignment.TopCenter), - refreshing = state.pullToRefreshConfig.isRefreshing, - state = pullRefreshState, - ) } TokenDetailsDialogs(state = state) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/preview/WalletScreenPreviewData.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/preview/WalletScreenPreviewData.kt index 614ce24018..12300eadb2 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/preview/WalletScreenPreviewData.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/common/preview/WalletScreenPreviewData.kt @@ -7,7 +7,7 @@ import com.tangem.core.ui.components.tokenlist.state.TokensListItemUM import com.tangem.core.ui.event.consumedEvent import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.stringReference -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.domain.wallets.models.UserWalletId import com.tangem.feature.wallet.impl.R import com.tangem.feature.wallet.presentation.common.WalletPreviewData.topBarConfig diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletState.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletState.kt index 4f86e6685c..7eed57588c 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletState.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletState.kt @@ -5,7 +5,7 @@ import com.tangem.common.ui.expressStatus.state.ExpressTransactionStateUM import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig import com.tangem.core.ui.components.marketprice.MarketPriceBlockState import com.tangem.core.ui.components.transactions.state.TxHistoryState -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.feature.wallet.presentation.wallet.state.model.holder.LockedTxHistoryStateHolder import com.tangem.feature.wallet.presentation.wallet.state.model.holder.LockedWalletStateHolder import com.tangem.feature.wallet.presentation.wallet.state.model.holder.TxHistoryStateHolder diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/holder/LockedWalletStateHolder.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/holder/LockedWalletStateHolder.kt index 4211ef693c..fcb666ff4d 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/holder/LockedWalletStateHolder.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/holder/LockedWalletStateHolder.kt @@ -1,7 +1,7 @@ package com.tangem.feature.wallet.presentation.wallet.state.model.holder import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.feature.wallet.presentation.wallet.state.model.WalletCardState import com.tangem.feature.wallet.presentation.wallet.state.model.WalletManageButton import com.tangem.feature.wallet.presentation.wallet.state.model.WalletNotification diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/SetRefreshStateTransformer.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/SetRefreshStateTransformer.kt index 68e485e6eb..9977790553 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/SetRefreshStateTransformer.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/SetRefreshStateTransformer.kt @@ -1,6 +1,6 @@ package com.tangem.feature.wallet.presentation.wallet.state.transformers -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.domain.wallets.models.UserWalletId import com.tangem.feature.wallet.presentation.wallet.state.model.* import kotlinx.collections.immutable.PersistentList diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/utils/WalletLoadingStateFactory.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/utils/WalletLoadingStateFactory.kt index 45b1b98237..601894c802 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/utils/WalletLoadingStateFactory.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/utils/WalletLoadingStateFactory.kt @@ -2,7 +2,7 @@ package com.tangem.feature.wallet.presentation.wallet.state.utils import com.tangem.core.ui.components.marketprice.MarketPriceBlockState import com.tangem.core.ui.components.transactions.state.TxHistoryState -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.PullToRefreshConfig import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.wallets.models.UserWallet import com.tangem.feature.wallet.presentation.wallet.domain.WalletAdditionalInfoFactory diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt index 6a8f8eb2bc..828bee05c9 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/WalletScreen.kt @@ -15,9 +15,6 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyListScope import androidx.compose.foundation.lazy.LazyListState import androidx.compose.foundation.lazy.rememberLazyListState -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.pullrefresh.pullRefresh -import androidx.compose.material.pullrefresh.rememberPullRefreshState import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Alignment @@ -61,7 +58,7 @@ import com.tangem.core.ui.components.snackbar.TangemSnackbar import com.tangem.core.ui.components.transactions.state.TxHistoryState import com.tangem.core.ui.event.StateEvent import com.tangem.core.ui.extensions.stringResourceSafe -import com.tangem.core.ui.pullToRefresh.PullToRefreshConfig +import com.tangem.core.ui.components.containers.pullToRefresh.TangemPullToRefreshContainer import com.tangem.core.ui.res.LocalMainBottomSheetColor import com.tangem.core.ui.res.LocalWindowSize import com.tangem.core.ui.res.TangemTheme @@ -285,7 +282,7 @@ private fun WalletContent( } @Suppress("LongParameterList", "LongMethod", "CyclomaticComplexMethod") -@OptIn(ExperimentalMaterialApi::class, ExperimentalMaterial3Api::class) +@OptIn(ExperimentalMaterial3Api::class) @Composable private inline fun BaseScaffoldWithMarkets( state: WalletScreenState, @@ -387,13 +384,6 @@ private inline fun BaseScaffoldWithMarkets( } }, content = { paddingValues -> - val pullRefreshState = rememberPullRefreshState( - refreshing = selectedWallet.pullToRefreshConfig.isRefreshing, - onRefresh = { - selectedWallet.pullToRefreshConfig.onRefresh(PullToRefreshConfig.ShowRefreshState()) - }, - ) - Box { MarketsHint( modifier = Modifier @@ -405,16 +395,8 @@ private inline fun BaseScaffoldWithMarkets( Column { WalletTopBar(config = state.topBarConfig) - Box( - modifier = Modifier.pullRefresh(pullRefreshState), - ) { + TangemPullToRefreshContainer(config = selectedWallet.pullToRefreshConfig) { content(paddingValues) - - WalletPullToRefreshIndicator( - isRefreshing = selectedWallet.pullToRefreshConfig.isRefreshing, - state = pullRefreshState, - modifier = Modifier.align(Alignment.TopCenter), - ) } } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletPullToRefreshIndicator.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletPullToRefreshIndicator.kt deleted file mode 100644 index 5c26f03441..0000000000 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletPullToRefreshIndicator.kt +++ /dev/null @@ -1,26 +0,0 @@ -package com.tangem.feature.wallet.presentation.wallet.ui.components.common - -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.pullrefresh.PullRefreshIndicator -import androidx.compose.material.pullrefresh.PullRefreshState -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier - -/** - * "Pull to refresh" indicator - * - * @param isRefreshing indicator is currently refreshing or not - * @param state indicator state - * @param modifier modifier - * -[REDACTED_AUTHOR] - */ -@OptIn(ExperimentalMaterialApi::class) -@Composable -internal fun WalletPullToRefreshIndicator( - isRefreshing: Boolean, - state: PullRefreshState, - modifier: Modifier = Modifier, -) { - PullRefreshIndicator(refreshing = isRefreshing, state = state, modifier = modifier) -} \ No newline at end of file From e14d4c47d0af78bd373802fc4b91421e80ce347f Mon Sep 17 00:00:00 2001 From: Tangem Date: Sat, 18 Jan 2025 12:25:11 +0300 Subject: [PATCH 02/61] Updated on 2026-08-14 --- .../src/main/assets/configs/feature_toggles_config.json | 2 +- version.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json index 6592384f45..1beda5a73b 100644 --- a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json +++ b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json @@ -25,7 +25,7 @@ }, { "name": "NAVIGATION_REFACTORING", - "version": "undefined" + "version": "5.21.0" }, { "name": "SWAP_STORIES_ENABLED", diff --git a/version.properties b/version.properties index b87bff9bef..60c5fb9778 100644 --- a/version.properties +++ b/version.properties @@ -1 +1 @@ -versionName=5.20.0 \ No newline at end of file +versionName=5.21.0 \ No newline at end of file From 59f3ed5d72e0e729c6618e2adc7c1465b6ea5e2a Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 20 Jan 2025 12:20:09 +0300 Subject: [PATCH 03/61] Updated on 2026-08-14 --- .../impl/child/accesscode/ui/MultiWalletAccessCodeEnter.kt | 2 ++ .../impl/child/accesscode/ui/MultiWalletAccessCodeIntro.kt | 3 +++ .../impl/child/seedphrase/ui/MultiWalletSeedPhraseStart.kt | 2 ++ 3 files changed, 7 insertions(+) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/accesscode/ui/MultiWalletAccessCodeEnter.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/accesscode/ui/MultiWalletAccessCodeEnter.kt index 38e68c7642..2e91718db8 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/accesscode/ui/MultiWalletAccessCodeEnter.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/accesscode/ui/MultiWalletAccessCodeEnter.kt @@ -43,6 +43,7 @@ internal fun MultiWalletAccessCodeEnter( stringResourceSafe(R.string.onboarding_access_code_intro_title) }, style = TangemTheme.typography.subtitle1, + color = TangemTheme.colors.text.primary1, ) Text( text = if (reEnterAccessCodeState) { @@ -51,6 +52,7 @@ internal fun MultiWalletAccessCodeEnter( stringResourceSafe(R.string.onboarding_access_code_hint) }, style = TangemTheme.typography.body1, + color = TangemTheme.colors.text.secondary, ) val focusRequester = remember { FocusRequester() } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/accesscode/ui/MultiWalletAccessCodeIntro.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/accesscode/ui/MultiWalletAccessCodeIntro.kt index 0b4c0fe713..3f0fe0f290 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/accesscode/ui/MultiWalletAccessCodeIntro.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/accesscode/ui/MultiWalletAccessCodeIntro.kt @@ -28,6 +28,7 @@ internal fun MultiWalletAccessCodeIntro(modifier: Modifier = Modifier) { Text( text = stringResourceSafe(R.string.onboarding_access_code_intro_title), style = TangemTheme.typography.h2, + color = TangemTheme.colors.text.primary1, ) Icon( imageVector = ImageVector.vectorResource(R.drawable.ic_access_code), @@ -72,11 +73,13 @@ private fun DescriptionItem(title: String, body: String, @DrawableRes iconRes: I Text( text = title, style = TangemTheme.typography.subtitle1, + color = TangemTheme.colors.text.primary1, ) SpacerH(3.dp) Text( text = body, style = TangemTheme.typography.body2, + color = TangemTheme.colors.text.secondary, ) } } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/seedphrase/ui/MultiWalletSeedPhraseStart.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/seedphrase/ui/MultiWalletSeedPhraseStart.kt index b889ab83ba..7040a575f8 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/seedphrase/ui/MultiWalletSeedPhraseStart.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/seedphrase/ui/MultiWalletSeedPhraseStart.kt @@ -40,6 +40,7 @@ internal fun MultiWalletSeedPhraseStart(state: MultiWalletSeedPhraseUM.Start, mo modifier = Modifier.size(56.dp), imageVector = ImageVector.vectorResource(R.drawable.ic_onboarding_text_edit_56), contentDescription = null, + tint = TangemTheme.colors.text.tertiary, ) Box( modifier = Modifier @@ -119,6 +120,7 @@ private fun ReadMoreBlock(state: MultiWalletSeedPhraseUM.Start, modifier: Modifi Text( modifier = Modifier.align(Alignment.CenterVertically), style = TangemTheme.typography.button, + color = TangemTheme.colors.text.primary1, text = stringResourceSafe(id = R.string.onboarding_seed_button_read_more), ) } From bc985b5da9898a5b28549b73e3962b375445a755 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 21 Jan 2025 03:10:55 +0200 Subject: [PATCH 04/61] Updated on 2026-08-14 --- Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Dockerfile b/Dockerfile index 4fa62fd751..a91ea81c41 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,6 +18,12 @@ RUN apt-get update && apt-get install -y \ build-essential \ && apt-get clean +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list && \ + apt-get update && apt-get install -y gh && \ + apt-get clean + RUN mkdir -p $ANDROID_HOME/cmdline-tools/latest && \ wget https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O /tmp/cmdline-tools.zip && \ unzip /tmp/cmdline-tools.zip -d $ANDROID_HOME/cmdline-tools/latest && \ From ad8d196309252e29c889fd70faf281de5bb1c94b Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 17 Jan 2025 19:24:35 +0500 Subject: [PATCH 05/61] Updated on 2026-08-14 --- .../ui/common/DetailsComposeElements.kt | 13 +++++---- .../ui/SaveWalletBottomSheetFragment.kt | 4 +-- .../features/welcome/ui/WelcomeFragment.kt | 4 +-- .../welcome/ui/components/WelcomeScreen.kt | 4 +-- .../swap/preview/SwapSuccessStatePreview.kt | 27 ++++++++++++++++++ .../feature/swap/ui/SwapSuccessScreen.kt | 28 +++---------------- 6 files changed, 44 insertions(+), 36 deletions(-) create mode 100644 features/swap/presentation/src/main/java/com/tangem/feature/swap/preview/SwapSuccessStatePreview.kt diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/common/DetailsComposeElements.kt b/app/src/main/java/com/tangem/tap/features/details/ui/common/DetailsComposeElements.kt index 91558d9f57..5646eee001 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/common/DetailsComposeElements.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/common/DetailsComposeElements.kt @@ -4,7 +4,7 @@ import androidx.activity.compose.BackHandler import androidx.annotation.StringRes import androidx.compose.foundation.layout.* import androidx.compose.foundation.selection.selectable -import androidx.compose.material.* +import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier @@ -27,13 +27,12 @@ internal fun SettingsScreensScaffold( addBottomInsets: Boolean = true, fab: @Composable () -> Unit = {}, ) { - val state = rememberScaffoldState(snackbarHostState = snackbarHostState) val backgroundColor = TangemTheme.colors.background.secondary BackHandler(onBack = onBackClick) Scaffold( - scaffoldState = state, + snackbarHost = { SnackbarHost(snackbarHostState) }, topBar = { EmptyTopBarWithNavigation( modifier = Modifier.statusBarsPadding(), @@ -43,7 +42,7 @@ internal fun SettingsScreensScaffold( }, modifier = modifier, contentWindowInsets = WindowInsetsZero, - backgroundColor = backgroundColor, + containerColor = backgroundColor, floatingActionButton = { Box(modifier = Modifier.navigationBarsPadding()) { fab() @@ -89,6 +88,7 @@ internal fun ScreenTitle(titleRes: Int, modifier: Modifier = Modifier) { ) } +@OptIn(ExperimentalMaterial3Api::class) @Composable internal fun EmptyTopBarWithNavigation( onBackClick: () -> Unit, @@ -108,8 +108,9 @@ internal fun EmptyTopBarWithNavigation( ) } }, - backgroundColor = backgroundColor, - elevation = 0.dp, + colors = TopAppBarDefaults.topAppBarColors( + containerColor = backgroundColor, + ), ) } diff --git a/app/src/main/java/com/tangem/tap/features/saveWallet/ui/SaveWalletBottomSheetFragment.kt b/app/src/main/java/com/tangem/tap/features/saveWallet/ui/SaveWalletBottomSheetFragment.kt index d0d7c64fb5..7062719124 100644 --- a/app/src/main/java/com/tangem/tap/features/saveWallet/ui/SaveWalletBottomSheetFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/saveWallet/ui/SaveWalletBottomSheetFragment.kt @@ -4,8 +4,8 @@ import android.content.DialogInterface import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding -import androidx.compose.material.SnackbarHost -import androidx.compose.material.SnackbarHostState +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/app/src/main/java/com/tangem/tap/features/welcome/ui/WelcomeFragment.kt b/app/src/main/java/com/tangem/tap/features/welcome/ui/WelcomeFragment.kt index c34497d9f0..968b3776fa 100644 --- a/app/src/main/java/com/tangem/tap/features/welcome/ui/WelcomeFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/welcome/ui/WelcomeFragment.kt @@ -6,8 +6,8 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.systemBarsPadding -import androidx.compose.material.SnackbarHost -import androidx.compose.material.SnackbarHostState +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/app/src/main/java/com/tangem/tap/features/welcome/ui/components/WelcomeScreen.kt b/app/src/main/java/com/tangem/tap/features/welcome/ui/components/WelcomeScreen.kt index 8b90cbbdc9..ee1a00bb48 100644 --- a/app/src/main/java/com/tangem/tap/features/welcome/ui/components/WelcomeScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/welcome/ui/components/WelcomeScreen.kt @@ -7,8 +7,8 @@ import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.systemBarsPadding -import androidx.compose.material.SnackbarHost -import androidx.compose.material.SnackbarHostState +import androidx.compose.material3.SnackbarHost +import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/preview/SwapSuccessStatePreview.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/preview/SwapSuccessStatePreview.kt new file mode 100644 index 0000000000..1be63f7e6f --- /dev/null +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/preview/SwapSuccessStatePreview.kt @@ -0,0 +1,27 @@ +package com.tangem.feature.swap.preview + +import com.tangem.core.ui.components.currency.icon.CurrencyIconState +import com.tangem.core.ui.extensions.TextReference +import com.tangem.feature.swap.domain.models.domain.ExchangeProviderType +import com.tangem.feature.swap.models.SwapSuccessStateHolder + +internal data object SwapSuccessStatePreview { + val state = SwapSuccessStateHolder( + timestamp = 0L, + txUrl = "https://www.google.com/#q=nam", + fee = TextReference.Str("1 000 DAI ~ 1 000 MATIC"), + providerName = TextReference.Str("1inch"), + providerType = TextReference.Str(ExchangeProviderType.DEX.providerName), + showStatusButton = false, + providerIcon = "", + fromTokenAmount = TextReference.Str("1 000 DAI"), + toTokenAmount = TextReference.Str("1 000 MATIC"), + fromTokenFiatAmount = TextReference.Str("1 000 $"), + toTokenFiatAmount = TextReference.Str("1 000 $"), + fromTokenIconState = CurrencyIconState.Loading, + toTokenIconState = CurrencyIconState.Loading, + rate = TextReference.Str("1 000 DAI ~ 1 000 MATIC"), + onExploreButtonClick = {}, + onStatusButtonClick = {}, + ) +} \ No newline at end of file diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapSuccessScreen.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapSuccessScreen.kt index c1cafdc166..7e4d9649bf 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapSuccessScreen.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapSuccessScreen.kt @@ -4,7 +4,7 @@ import android.content.res.Configuration import androidx.annotation.StringRes import androidx.compose.foundation.background import androidx.compose.foundation.layout.* -import androidx.compose.material.Scaffold +import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip @@ -24,15 +24,15 @@ import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview import com.tangem.core.ui.utils.DateTimeFormatters import com.tangem.core.ui.utils.toTimeFormat -import com.tangem.feature.swap.domain.models.domain.ExchangeProviderType import com.tangem.feature.swap.models.SwapSuccessStateHolder import com.tangem.feature.swap.presentation.R +import com.tangem.feature.swap.preview.SwapSuccessStatePreview @Composable fun SwapSuccessScreen(state: SwapSuccessStateHolder, onBack: () -> Unit) { Scaffold( modifier = Modifier.systemBarsPadding(), - backgroundColor = TangemTheme.colors.background.secondary, + containerColor = TangemTheme.colors.background.secondary, content = { padding -> SwapSuccessScreenContent(padding = padding, state = state) }, @@ -162,32 +162,12 @@ private fun SwapSuccessScreenButtons( } // region preview - -private val state = SwapSuccessStateHolder( - timestamp = 0L, - txUrl = "https://www.google.com/#q=nam", - fee = TextReference.Str("1 000 DAI ~ 1 000 MATIC"), - providerName = TextReference.Str("1inch"), - providerType = TextReference.Str(ExchangeProviderType.DEX.providerName), - showStatusButton = false, - providerIcon = "", - fromTokenAmount = TextReference.Str("1 000 DAI"), - toTokenAmount = TextReference.Str("1 000 MATIC"), - fromTokenFiatAmount = TextReference.Str("1 000 $"), - toTokenFiatAmount = TextReference.Str("1 000 $"), - fromTokenIconState = CurrencyIconState.Loading, - toTokenIconState = CurrencyIconState.Loading, - rate = TextReference.Str("1 000 DAI ~ 1 000 MATIC"), - onExploreButtonClick = {}, - onStatusButtonClick = {}, -) - @Preview(showBackground = true) @Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun Preview_Success() { TangemThemePreview { - SwapSuccessScreen(state) {} + SwapSuccessScreen(SwapSuccessStatePreview.state) {} } } // endregion preview \ No newline at end of file From 2709b9d5b404e14470f2817d985e55d2aa9ad3a7 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 21 Jan 2025 14:36:23 +0700 Subject: [PATCH 06/61] Updated on 2026-08-14 --- gradle/dependencies.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 22976775d6..1df84f02d2 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -88,7 +88,7 @@ markdownComposeView = "0.5.4" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "develop-906" +tangemBlockchainSdk = "develop-910" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "develop-421" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ From 9a95b49b4a5ee24ba6d779acf1103d4aee80f894 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 21 Jan 2025 17:16:08 +0300 Subject: [PATCH 07/61] Updated on 2026-08-14 --- .../tap/data/DefaultVisaAuthTokenStorage.kt | 12 ++-- .../tasks/visa/VisaCardActivationTask.kt | 52 ++++++++------- .../tap/domain/visa/VisaCardScanHandler.kt | 63 +++++++++++-------- .../network/auth/DefaultVisaAuthProvider.kt | 4 +- .../api/common/config/TangemVisa.kt | 9 +-- .../api/common/visa/TangemVisaAuthProvider.kt | 2 +- .../datasource/api/visa/TangemVisaApi.kt | 5 +- .../tangem/datasource/di/ApiConfigsModule.kt | 4 +- .../local/visa/VisaAuthTokenStorage.kt | 4 +- .../managers/ProdApiConfigsManagerTest.kt | 11 +--- .../visa/DefaultVisaActivationRepository.kt | 16 +++-- .../com/tangem/data/visa/di/VisaDataModule.kt | 4 +- .../repository/VisaActivationRepository.kt | 4 ++ 13 files changed, 103 insertions(+), 87 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/data/DefaultVisaAuthTokenStorage.kt b/app/src/main/java/com/tangem/tap/data/DefaultVisaAuthTokenStorage.kt index 7e975e8f02..5adc5fd942 100644 --- a/app/src/main/java/com/tangem/tap/data/DefaultVisaAuthTokenStorage.kt +++ b/app/src/main/java/com/tangem/tap/data/DefaultVisaAuthTokenStorage.kt @@ -33,22 +33,20 @@ internal class DefaultVisaAuthTokenStorage @Inject constructor( private val tokensAdapter = moshi.adapter(VisaAuthTokens::class.java) - override suspend fun store(tokens: VisaAuthTokens) = withContext(dispatcherProvider.io) { + override suspend fun store(cardId: String, tokens: VisaAuthTokens) = withContext(dispatcherProvider.io) { val json = tokensAdapter.toJson(tokens) secureStorage.store( json.encodeToByteArray(throwOnInvalidSequence = true), - VISA_AUTH_TOKENS_KEY, + createKey(cardId), ) } - override suspend fun get(): VisaAuthTokens? = withContext(dispatcherProvider.io) { - secureStorage.get(VISA_AUTH_TOKENS_KEY) + override suspend fun get(cardId: String): VisaAuthTokens? = withContext(dispatcherProvider.io) { + secureStorage.get(createKey(cardId)) ?.decodeToString(throwOnInvalidSequence = true) ?.let(tokensAdapter::fromJson) } - private companion object { - const val VISA_AUTH_TOKENS_KEY = "visa_auth_tokens" - } + private fun createKey(cardId: String): String = "visa_auth_tokens_$cardId" } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt index 184e2a3f63..d1efcf68c4 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt @@ -2,6 +2,7 @@ package com.tangem.tap.domain.tasks.visa import com.reown.util.hexToBytes import com.tangem.common.CompletionResult +import com.tangem.common.card.Card import com.tangem.common.core.CardSession import com.tangem.common.core.CardSessionRunnable import com.tangem.common.core.CompletionCallback @@ -36,9 +37,15 @@ class VisaCardActivationTask @AssistedInject constructor( private val otpStorage: VisaOTPStorage, private val visaAuthTokenStorage: VisaAuthTokenStorage, private val visaAuthRepository: VisaAuthRepository, - private val visaActivationRepository: VisaActivationRepository, + private val visaActivationRepositoryFactory: VisaActivationRepository.Factory, ) : CardSessionRunnable { + private class SessionContext( + val visaActivationRepository: VisaActivationRepository, + val card: Card, + val session: CardSession, + ) + override fun run(session: CardSession, callback: CompletionCallback) { coroutineScope.launch { callback(runSuspend(session)) @@ -52,20 +59,27 @@ class VisaCardActivationTask @AssistedInject constructor( return CompletionResult.Failure(TangemSdkError.Underlying(VisaActivationError.WrongCard.message)) } + val visaActivationRepository = visaActivationRepositoryFactory.create(card.cardId) + + val context = SessionContext( + visaActivationRepository = visaActivationRepository, + card = card, + session = session, + ) + return if (challengeToSign != null) { - signAuthorizationChallenge(session, challengeToSign) + context.signAuthorizationChallenge(challengeToSign) } else { val activationOrder = runCatching { visaActivationRepository.getActivationOrderToSign() } .getOrElse { return CompletionResult.Failure(TangemSdkError.Underlying(it.message ?: "")) } - signOrder(session, activationOrder) + context.signOrder(activationOrder) } } - private suspend fun signAuthorizationChallenge( - session: CardSession, + private suspend fun SessionContext.signAuthorizationChallenge( challengeToSign: VisaAuthChallenge.Card, ): CompletionResult { val attestationCommand = AttestCardKeyCommand(challenge = challengeToSign.challenge.hexToBytes()) @@ -78,7 +92,6 @@ class VisaCardActivationTask @AssistedInject constructor( return when (result) { is CompletionResult.Success -> { processSignedAuthorizationChallenge( - session = session, signedChallenge = challengeToSign.toSignedChallenge( signedChallenge = result.data.cardSignature.toHexString(), salt = result.data.salt.toHexString(), @@ -91,8 +104,7 @@ class VisaCardActivationTask @AssistedInject constructor( } } - private suspend fun processSignedAuthorizationChallenge( - session: CardSession, + private suspend fun SessionContext.processSignedAuthorizationChallenge( signedChallenge: VisaAuthSignedChallenge, ): CompletionResult { return coroutineScope { @@ -107,12 +119,14 @@ class VisaCardActivationTask @AssistedInject constructor( otpTaskDeferred.await() - signOrder(session, order) + signOrder(order) } } @Throws(TangemSdkError::class) - private suspend fun getActivationOrderToSign(signedChallenge: VisaAuthSignedChallenge): ActivationOrder { + private suspend fun SessionContext.getActivationOrderToSign( + signedChallenge: VisaAuthSignedChallenge, + ): ActivationOrder { val tokens = runCatching { visaAuthRepository.getAccessTokens(signedChallenge) }.getOrElse { @@ -121,7 +135,7 @@ class VisaCardActivationTask @AssistedInject constructor( ) } - visaAuthTokenStorage.store(tokens) + visaAuthTokenStorage.store(card.cardId, tokens) return visaActivationRepository.getActivationOrderToSign() } @@ -180,11 +194,7 @@ class VisaCardActivationTask @AssistedInject constructor( } } - private suspend fun signOrder( - session: CardSession, - order: ActivationOrder, - ): CompletionResult { - val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) + private suspend fun SessionContext.signOrder(order: ActivationOrder): CompletionResult { val wallet = card.wallets.firstOrNull() ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) val task = SignHashCommand(order.hash.hexToBytes(), wallet.publicKey) @@ -197,7 +207,6 @@ class VisaCardActivationTask @AssistedInject constructor( return when (result) { is CompletionResult.Success -> { handleSignedOrder( - session = session, activationOrder = order, response = result.data, ) @@ -208,13 +217,10 @@ class VisaCardActivationTask @AssistedInject constructor( } } - private suspend fun handleSignedOrder( - session: CardSession, + private suspend fun SessionContext.handleSignedOrder( activationOrder: ActivationOrder, response: SignHashResponse, ): CompletionResult { - val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) - val signedOrder = SignedActivationOrder( activationOrder = activationOrder, signature = response.signature.toHexString(), @@ -232,9 +238,7 @@ class VisaCardActivationTask @AssistedInject constructor( return setupAccessCode(session).map { activationResponse } } - private suspend fun setupAccessCode(session: CardSession): CompletionResult { - val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) - + private suspend fun SessionContext.setupAccessCode(session: CardSession): CompletionResult { if (card.isAccessCodeSet) { return CompletionResult.Success(Unit) } diff --git a/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt b/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt index c231b0ba49..a86f371d93 100644 --- a/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt +++ b/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt @@ -1,6 +1,7 @@ package com.tangem.tap.domain.visa import com.tangem.common.CompletionResult +import com.tangem.common.card.Card import com.tangem.common.card.CardWallet import com.tangem.common.core.CardSession import com.tangem.common.core.TangemSdkError @@ -24,10 +25,16 @@ import kotlin.coroutines.resume internal class VisaCardScanHandler @Inject constructor( private val visaAuthRepository: VisaAuthRepository, - private val visaActivationRepository: VisaActivationRepository, + private val visaActivationRepositoryFactory: VisaActivationRepository.Factory, private val visaAuthTokenStorage: VisaAuthTokenStorage, ) { + private class SessionContext( + val visaActivationRepository: VisaActivationRepository, + val card: Card, + val session: CardSession, + ) + suspend fun handleVisaCardScan(session: CardSession): CompletionResult { Timber.i("Attempting to handle Visa card scan") @@ -36,6 +43,14 @@ internal class VisaCardScanHandler @Inject constructor( return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) } + val visaActivationRepository = visaActivationRepositoryFactory.create(card.cardId) + + val context = SessionContext( + visaActivationRepository = visaActivationRepository, + card = card, + session = session, + ) + val wallet = card.wallets.firstOrNull { it.curve == VisaUtilities.mandatoryCurve } ?: run { val activationInput = VisaActivationInput(card.cardId, card.cardPublicKey, card.isAccessCodeSet) @@ -43,13 +58,10 @@ internal class VisaCardScanHandler @Inject constructor( return CompletionResult.Success(activationStatus) } - return deriveKey(wallet, session) + return context.deriveKey(wallet) } - private suspend fun deriveKey( - wallet: CardWallet, - session: CardSession, - ): CompletionResult { + private suspend fun SessionContext.deriveKey(wallet: CardWallet): CompletionResult { val derivationPath = VisaUtilities.visaDefaultDerivationPath ?: run { Timber.e("Failed to create derivation path while first scan") @@ -64,17 +76,16 @@ internal class VisaCardScanHandler @Inject constructor( continuation.resume(result) } } - return handleDerivationResponse(derivationTaskResult, session) + return handleDerivationResponse(derivationTaskResult) } - private suspend fun handleDerivationResponse( + private suspend fun SessionContext.handleDerivationResponse( result: CompletionResult, - session: CardSession, ): CompletionResult { return when (result) { is CompletionResult.Success -> { Timber.i("Start task for loading challenge for Visa wallet") - handleWalletAuthorization(session) + handleWalletAuthorization() } is CompletionResult.Failure -> { CompletionResult.Failure(result.error) @@ -82,9 +93,8 @@ internal class VisaCardScanHandler @Inject constructor( } } - private suspend fun handleWalletAuthorization(session: CardSession): CompletionResult { + private suspend fun SessionContext.handleWalletAuthorization(): CompletionResult { Timber.i("Started handling authorization using Visa wallet") - val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) val derivationPath = VisaUtilities.visaDefaultDerivationPath ?: run { Timber.e("Failed to create derivation path while handling wallet authorization") @@ -122,14 +132,12 @@ internal class VisaCardScanHandler @Inject constructor( publicKey = wallet.publicKey, derivationPath = derivationPath, nonce = challengeResponse.challenge, - session = session, ) return when (signChallengeResult) { is CompletionResult.Success -> { Timber.i("Challenge signed with Wallet public key") handleWalletAuthorizationTokens( - session = session, signedChallenge = challengeResponse .toSignedChallenge(signChallengeResult.data.signature.toHexString()), ) @@ -141,27 +149,31 @@ internal class VisaCardScanHandler @Inject constructor( } } - private suspend fun handleWalletAuthorizationTokens( - session: CardSession, + private suspend fun SessionContext.handleWalletAuthorizationTokens( signedChallenge: VisaAuthSignedChallenge, ): CompletionResult { + val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) + val authorizationTokensResponse = runCatching { visaAuthRepository.getAccessTokens(signedChallenge = signedChallenge) }.getOrElse { Timber.i( "Failed to get Access token for Wallet public key authoziation. Authorizing using Card Pub key", ) - return handleCardAuthorization(session) + return handleCardAuthorization() } - visaAuthTokenStorage.store(authorizationTokensResponse) + visaAuthTokenStorage.store( + cardId = card.cardId, + tokens = authorizationTokensResponse, + ) Timber.i("Authorized using Wallet public key successfully") return CompletionResult.Success(VisaCardActivationStatus.Activated(authorizationTokensResponse)) } - private suspend fun handleCardAuthorization(session: CardSession): CompletionResult { + private suspend fun SessionContext.handleCardAuthorization(): CompletionResult { val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) Timber.i("Requesting authorization challenge to sign") @@ -178,7 +190,7 @@ internal class VisaCardScanHandler @Inject constructor( Timber.i("Received challenge to sign: ${challengeResponse.challenge}") - val signChallengeResult = signChallengeWithCard(session = session, challenge = challengeResponse.challenge) + val signChallengeResult = signChallengeWithCard(challenge = challengeResponse.challenge) val attestCardKeyResponse = when (signChallengeResult) { is CompletionResult.Success -> { @@ -210,7 +222,10 @@ internal class VisaCardScanHandler @Inject constructor( ) } - visaAuthTokenStorage.store(authorizationTokensResponse) + visaAuthTokenStorage.store( + cardId = card.cardId, + tokens = authorizationTokensResponse, + ) val activationRemoteState = visaActivationRepository.getActivationRemoteState() @@ -239,11 +254,10 @@ internal class VisaCardScanHandler @Inject constructor( ) } - private suspend fun signChallengeWithWallet( + private suspend fun SessionContext.signChallengeWithWallet( publicKey: ByteArray, derivationPath: DerivationPath, nonce: String, - session: CardSession, ): CompletionResult { val signHashCommand = SignHashCommand(publicKey, nonce.toByteArray(), derivationPath) val result = suspendCancellableCoroutine { @@ -262,8 +276,7 @@ internal class VisaCardScanHandler @Inject constructor( } } - private suspend fun signChallengeWithCard( - session: CardSession, + private suspend fun SessionContext.signChallengeWithCard( challenge: String, ): CompletionResult { val signHashCommand = AttestCardKeyCommand(challenge = challenge.toByteArray()) diff --git a/app/src/main/java/com/tangem/tap/network/auth/DefaultVisaAuthProvider.kt b/app/src/main/java/com/tangem/tap/network/auth/DefaultVisaAuthProvider.kt index 6685813017..36aa8bf2de 100644 --- a/app/src/main/java/com/tangem/tap/network/auth/DefaultVisaAuthProvider.kt +++ b/app/src/main/java/com/tangem/tap/network/auth/DefaultVisaAuthProvider.kt @@ -8,7 +8,7 @@ internal class DefaultVisaAuthProvider @Inject constructor( private val authStorage: VisaAuthTokenStorage, ) : TangemVisaAuthProvider { - override suspend fun getAuthHeader(): String { - return authStorage.get()?.accessToken?.let { "Bearer $it" } ?: "Error in the app!" + override suspend fun getAuthHeader(cardId: String): String { + return authStorage.get(cardId)?.accessToken?.let { "Bearer $it" } ?: "Error in the app!" } } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/TangemVisa.kt b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/TangemVisa.kt index 2f7ea8a41f..cbc7c36835 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/TangemVisa.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/TangemVisa.kt @@ -1,11 +1,8 @@ package com.tangem.datasource.api.common.config -import com.tangem.datasource.api.common.visa.TangemVisaAuthProvider import com.tangem.utils.ProviderSuspend -internal class TangemVisa( - private val authProvider: TangemVisaAuthProvider, -) : ApiConfig() { +internal class TangemVisa : ApiConfig() { override val defaultEnvironment: ApiEnvironment = ApiEnvironment.PROD @@ -19,7 +16,5 @@ internal class TangemVisa( headers = createHeaders(), ) - private fun createHeaders() = mapOf( - "Authorization" to ProviderSuspend { authProvider.getAuthHeader() }, - ) + private fun createHeaders() = mapOf>() } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/common/visa/TangemVisaAuthProvider.kt b/core/datasource/src/main/java/com/tangem/datasource/api/common/visa/TangemVisaAuthProvider.kt index 62197282df..1f164d8411 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/common/visa/TangemVisaAuthProvider.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/common/visa/TangemVisaAuthProvider.kt @@ -2,5 +2,5 @@ package com.tangem.datasource.api.common.visa interface TangemVisaAuthProvider { - suspend fun getAuthHeader(): String + suspend fun getAuthHeader(cardId: String): String } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/visa/TangemVisaApi.kt b/core/datasource/src/main/java/com/tangem/datasource/api/visa/TangemVisaApi.kt index afdded620a..3e0b010bc8 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/visa/TangemVisaApi.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/visa/TangemVisaApi.kt @@ -2,9 +2,12 @@ package com.tangem.datasource.api.visa import com.tangem.datasource.api.visa.models.response.CardActivationRemoteStateResponse import retrofit2.http.GET +import retrofit2.http.Header interface TangemVisaApi { @GET("activation-status") - suspend fun getRemoteActivationStatus(): CardActivationRemoteStateResponse + suspend fun getRemoteActivationStatus( + @Header("Authorization") authHeader: String, + ): CardActivationRemoteStateResponse } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/di/ApiConfigsModule.kt b/core/datasource/src/main/java/com/tangem/datasource/di/ApiConfigsModule.kt index a9576c3042..4f6517e5ff 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/di/ApiConfigsModule.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/di/ApiConfigsModule.kt @@ -5,7 +5,6 @@ import com.tangem.datasource.api.common.config.* import com.tangem.datasource.api.common.config.Express import com.tangem.datasource.api.common.config.StakeKit import com.tangem.datasource.api.common.config.TangemTech -import com.tangem.datasource.api.common.visa.TangemVisaAuthProvider import com.tangem.datasource.local.config.environment.EnvironmentConfigStorage import com.tangem.lib.auth.ExpressAuthProvider import com.tangem.lib.auth.StakeKitAuthProvider @@ -47,6 +46,5 @@ internal object ApiConfigsModule { @Provides @IntoSet - fun provideTangemVisaConfig(tangemVisaAuthProvider: TangemVisaAuthProvider): ApiConfig = - TangemVisa(tangemVisaAuthProvider) + fun provideTangemVisaConfig(): ApiConfig = TangemVisa() } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/visa/VisaAuthTokenStorage.kt b/core/datasource/src/main/java/com/tangem/datasource/local/visa/VisaAuthTokenStorage.kt index 92ffe1073b..cceb0afdde 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/visa/VisaAuthTokenStorage.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/visa/VisaAuthTokenStorage.kt @@ -4,7 +4,7 @@ import com.tangem.domain.visa.model.VisaAuthTokens interface VisaAuthTokenStorage { - suspend fun store(tokens: VisaAuthTokens) + suspend fun store(cardId: String, tokens: VisaAuthTokens) - suspend fun get(): VisaAuthTokens? + suspend fun get(cardId: String): VisaAuthTokens? } \ No newline at end of file diff --git a/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt b/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt index 5d92d7abd8..5e82b60126 100644 --- a/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt +++ b/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt @@ -10,12 +10,10 @@ import com.tangem.datasource.api.common.config.ApiConfig.Companion.EXTERNAL_BUIL import com.tangem.datasource.api.common.config.ApiConfig.Companion.INTERNAL_BUILD_TYPE import com.tangem.datasource.api.common.config.ApiConfig.Companion.MOCKED_BUILD_TYPE import com.tangem.datasource.api.common.config.ApiConfig.Companion.RELEASE_BUILD_TYPE -import com.tangem.datasource.api.common.visa.TangemVisaAuthProvider import com.tangem.lib.auth.ExpressAuthProvider import com.tangem.lib.auth.StakeKitAuthProvider import com.tangem.utils.ProviderSuspend import com.tangem.utils.version.AppVersionProvider -import io.mockk.coEvery import io.mockk.every import io.mockk.mockk import kotlinx.coroutines.runBlocking @@ -31,7 +29,6 @@ private val appVersionProvider = mockk() private val expressAuthProvider = mockk() private val stakeKitAuthProvider = mockk() private val appAuthProvider = mockk() -private val visaAuthProvider = mockk() // Don't forget to add new config !!! private val API_CONFIGS = setOf( @@ -39,7 +36,7 @@ private val API_CONFIGS = setOf( TangemTech(appVersionProvider, appAuthProvider), StakeKit(stakeKitAuthProvider), TangemVisaAuth(), - TangemVisa(visaAuthProvider), + TangemVisa(), ) /** @@ -59,7 +56,6 @@ internal class ProdApiConfigsManagerTest(private val model: Model) { every { stakeKitAuthProvider.getApiKey() } returns STAKE_KIT_API_KEY every { appAuthProvider.getCardId() } returns APP_CARD_ID every { appAuthProvider.getCardPublicKey() } returns APP_CARD_PUBLIC_KEY - coEvery { visaAuthProvider.getAuthHeader() } returns VISA_AUTH_HEADER } @Test @@ -84,7 +80,6 @@ internal class ProdApiConfigsManagerTest(private val model: Model) { const val STAKE_KIT_API_KEY = "stake_kit_api_key" const val APP_CARD_ID = "app_card_id" const val APP_CARD_PUBLIC_KEY = "app_public_key" - const val VISA_AUTH_HEADER = "Bearer visa_auth_header" @JvmStatic @Parameterized.Parameters @@ -198,9 +193,7 @@ internal class ProdApiConfigsManagerTest(private val model: Model) { expected = ApiEnvironmentConfig( environment = ApiEnvironment.PROD, baseUrl = "https://bff.tangem.com/", - headers = mapOf( - "Authorization" to ProviderSuspend { VISA_AUTH_HEADER }, - ), + headers = mapOf(), ), ) } diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt index a5be656c53..17862805b5 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt @@ -6,23 +6,29 @@ import com.tangem.domain.visa.model.ActivationOrder import com.tangem.domain.visa.model.VisaActivationRemoteState import com.tangem.domain.visa.repository.VisaActivationRepository import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import dagger.assisted.Assisted +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject import kotlinx.coroutines.withContext -import javax.inject.Inject -import javax.inject.Singleton -@Singleton -internal class DefaultVisaActivationRepository @Inject constructor( +internal class DefaultVisaActivationRepository @AssistedInject constructor( + @Assisted private val cardId: String, private val visaApi: TangemVisaApi, private val dispatcherProvider: CoroutineDispatcherProvider, private val visaActivationStatusConverter: VisaActivationStatusConverter, ) : VisaActivationRepository { override suspend fun getActivationRemoteState(): VisaActivationRemoteState = withContext(dispatcherProvider.io) { - visaActivationStatusConverter.convert(visaApi.getRemoteActivationStatus()) + visaActivationStatusConverter.convert(visaApi.getRemoteActivationStatus(cardId)) // TODO implement refreshing access token if it's expired } override suspend fun getActivationOrderToSign(): ActivationOrder { return ActivationOrder("TODO implement") } + + @AssistedFactory + interface Factory : VisaActivationRepository.Factory { + override fun create(cardId: String): DefaultVisaActivationRepository + } } \ No newline at end of file diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/di/VisaDataModule.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/di/VisaDataModule.kt index 1ffd8cec35..f1582ade9e 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/di/VisaDataModule.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/di/VisaDataModule.kt @@ -38,5 +38,7 @@ internal interface VisaDataBindsModule { @Binds @Singleton - fun bindVisaActivationRepository(repository: DefaultVisaActivationRepository): VisaActivationRepository + fun bindVisaActivationRepositoryFactory( + repository: DefaultVisaActivationRepository.Factory, + ): VisaActivationRepository.Factory } \ No newline at end of file diff --git a/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaActivationRepository.kt b/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaActivationRepository.kt index 8127f921c6..810e422951 100644 --- a/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaActivationRepository.kt +++ b/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaActivationRepository.kt @@ -8,4 +8,8 @@ interface VisaActivationRepository { suspend fun getActivationRemoteState(): VisaActivationRemoteState suspend fun getActivationOrderToSign(): ActivationOrder + + interface Factory { + fun create(cardId: String): VisaActivationRepository + } } \ No newline at end of file From a7191087a4b6485bc5a5723ac4d860879d69152b Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 21 Jan 2025 19:25:56 +0500 Subject: [PATCH 08/61] Updated on 2026-08-14 --- .../exchangeServices/mercuryo/MercuryoBlockchainMapping.kt | 1 + .../exchangeServices/moonpay/MoonpayBlockchainMapping.kt | 1 + .../src/main/assets/configs/excluded_blockchains_config.json | 4 ++++ .../java/com/tangem/core/ui/extensions/BlockchainIcons.kt | 3 +++ .../com/tangem/data/common/currency/NetworkOperations.kt | 1 + .../com/tangem/domain/common/configs/Wallet2CardConfig.kt | 2 ++ .../tangem/domain/common/configs/Wallet2CardConfigTest.kt | 2 ++ .../com/tangem/feature/swap/domain/SwapInteractorImpl.kt | 1 + gradle/dependencies.toml | 2 +- .../main/java/com/tangem/blockchainsdk/utils/Blockchain.kt | 5 +++++ 10 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoBlockchainMapping.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoBlockchainMapping.kt index 0d72c8158a..4b83df8a90 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoBlockchainMapping.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoBlockchainMapping.kt @@ -149,5 +149,6 @@ internal val Blockchain.mercuryoNetwork: String? Blockchain.Clore -> null Blockchain.OdysseyChain, Blockchain.OdysseyChainTestnet -> null Blockchain.Bitrock, Blockchain.BitrockTestnet -> null + Blockchain.Sonic, Blockchain.SonicTestnet -> null } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt index 729a87b31f..61e8b77c1d 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt @@ -150,4 +150,5 @@ internal val Blockchain.moonPaySupportedCurrency: MoonPaySupportedCurrency? VanarChainTestnet -> null OdysseyChain, OdysseyChainTestnet -> null Bitrock, BitrockTestnet -> null + Sonic, SonicTestnet -> null } \ No newline at end of file diff --git a/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json b/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json index 75cedce0e4..59ed64b374 100644 --- a/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json +++ b/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json @@ -26,5 +26,9 @@ { "name": "odyssey", "version": "undefined" + }, + { + "name": "sonic", + "version": "undefined" } ] \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt b/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt index e89fd74ee3..4baa930718 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt @@ -87,6 +87,7 @@ fun getActiveIconRes(blockchainId: String): Int { "fact0rn" -> R.drawable.img_fact0rn_22 "odyssey", "odyssey/test" -> R.drawable.img_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.img_bitrock_22 + "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] else -> R.drawable.ic_alert_24 } } @@ -172,6 +173,7 @@ fun getActiveIconResByCoinId(coinId: String): Int { "fact0rn" -> R.drawable.img_fact0rn_22 "odyssey", "odyssey/test" -> R.drawable.img_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.img_bitrock_22 + "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] else -> R.drawable.ic_alert_24 } } @@ -260,6 +262,7 @@ fun getGreyedOutIconRes(blockchainId: String): Int { "fact0rn" -> R.drawable.ic_fact0rn_22 "odyssey", "odyssey/test" -> R.drawable.ic_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.ic_bitrock_22 + "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] else -> R.drawable.ic_alert_24 } } \ No newline at end of file diff --git a/data/common/src/main/kotlin/com/tangem/data/common/currency/NetworkOperations.kt b/data/common/src/main/kotlin/com/tangem/data/common/currency/NetworkOperations.kt index 594efd38f4..5d8050b524 100644 --- a/data/common/src/main/kotlin/com/tangem/data/common/currency/NetworkOperations.kt +++ b/data/common/src/main/kotlin/com/tangem/data/common/currency/NetworkOperations.kt @@ -294,6 +294,7 @@ private fun Blockchain.getSupportedTransactionExtras(): Network.TransactionExtra Blockchain.VanarChainTestnet, Blockchain.OdysseyChain, Blockchain.OdysseyChainTestnet, Blockchain.Bitrock, Blockchain.BitrockTestnet, + Blockchain.Sonic, Blockchain.SonicTestnet, -> Network.TransactionExtrasType.NONE // endregion } 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 baeb91fbed..5522fcda36 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 @@ -194,6 +194,8 @@ data object Wallet2CardConfig : CardConfig { Blockchain.OdysseyChainTestnet -> EllipticCurve.Secp256k1 Blockchain.Bitrock -> EllipticCurve.Secp256k1 Blockchain.BitrockTestnet -> EllipticCurve.Secp256k1 + Blockchain.Sonic -> EllipticCurve.Secp256k1 + Blockchain.SonicTestnet -> EllipticCurve.Secp256k1 } } } \ No newline at end of file diff --git a/domain/legacy/src/test/java/com/tangem/domain/common/configs/Wallet2CardConfigTest.kt b/domain/legacy/src/test/java/com/tangem/domain/common/configs/Wallet2CardConfigTest.kt index 5ab98a3e72..f558fb0f9b 100644 --- a/domain/legacy/src/test/java/com/tangem/domain/common/configs/Wallet2CardConfigTest.kt +++ b/domain/legacy/src/test/java/com/tangem/domain/common/configs/Wallet2CardConfigTest.kt @@ -151,6 +151,8 @@ class Wallet2CardConfigTest { Blockchain.OdysseyChainTestnet to EllipticCurve.Secp256k1, Blockchain.Bitrock to EllipticCurve.Secp256k1, Blockchain.BitrockTestnet to EllipticCurve.Secp256k1, + Blockchain.Sonic to EllipticCurve.Secp256k1, + Blockchain.SonicTestnet to EllipticCurve.Secp256k1, ) @Test diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt index ad0e992a73..2b2b01a125 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt @@ -980,6 +980,7 @@ internal class SwapInteractorImpl @AssistedInject constructor( VanarChainTestnet, OdysseyChain, OdysseyChainTestnet, Bitrock, BitrockTestnet, + Sonic, SonicTestnet, -> Fee.Common(feeAmount) // endregion } diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 1df84f02d2..476dbba56a 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -88,7 +88,7 @@ markdownComposeView = "0.5.4" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "develop-910" +tangemBlockchainSdk = "develop-911" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "develop-421" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt index a0d9c16d6f..fcadee5fda 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt @@ -152,6 +152,8 @@ fun Blockchain.Companion.fromNetworkId(networkId: String): Blockchain? { "dione/test" -> Blockchain.OdysseyChainTestnet "bitrock" -> Blockchain.Bitrock "bitrock/test" -> Blockchain.BitrockTestnet + "sonic" -> Blockchain.Sonic + "sonic/test" -> Blockchain.SonicTestnet else -> null } } @@ -301,6 +303,8 @@ fun Blockchain.toNetworkId(): String { Blockchain.OdysseyChainTestnet -> "dione/test" Blockchain.Bitrock -> "bitrock" Blockchain.BitrockTestnet -> "bitrock/test" + Blockchain.Sonic -> "sonic" + Blockchain.SonicTestnet -> "sonic/test" } } @@ -398,6 +402,7 @@ fun Blockchain.toCoinId(): String { Blockchain.Clore -> "clore-ai" Blockchain.OdysseyChain, Blockchain.OdysseyChainTestnet -> "dione" Blockchain.Bitrock, Blockchain.BitrockTestnet -> "bitrock" + Blockchain.Sonic, Blockchain.SonicTestnet -> "sonic-3" } } From e63b1eac672f615eaa72ac5d9ddd56ca9fc6ffdb Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 22 Jan 2025 15:13:34 +0500 Subject: [PATCH 09/61] Updated on 2026-08-14 --- app/src/main/assets/tangem-app-config | 2 +- .../exchangeServices/mercuryo/MercuryoBlockchainMapping.kt | 1 + .../exchangeServices/moonpay/MoonpayBlockchainMapping.kt | 1 + .../src/main/assets/configs/excluded_blockchains_config.json | 4 ++++ .../java/com/tangem/core/ui/extensions/BlockchainIcons.kt | 3 +++ .../com/tangem/data/common/currency/NetworkOperations.kt | 1 + .../com/tangem/domain/common/configs/Wallet2CardConfig.kt | 2 ++ .../tangem/domain/common/configs/Wallet2CardConfigTest.kt | 2 ++ .../com/tangem/feature/swap/domain/SwapInteractorImpl.kt | 1 + gradle/dependencies.toml | 2 +- .../main/java/com/tangem/blockchainsdk/utils/Blockchain.kt | 5 +++++ 11 files changed, 22 insertions(+), 2 deletions(-) diff --git a/app/src/main/assets/tangem-app-config b/app/src/main/assets/tangem-app-config index 72d9d4b3c3..6f955d192f 160000 --- a/app/src/main/assets/tangem-app-config +++ b/app/src/main/assets/tangem-app-config @@ -1 +1 @@ -Subproject commit 72d9d4b3c3f8e6604078798c4b5567327ed9b48a +Subproject commit 6f955d192f7edd876b9f096a30431adeb1594aeb diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoBlockchainMapping.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoBlockchainMapping.kt index 4b83df8a90..c177292cea 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoBlockchainMapping.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoBlockchainMapping.kt @@ -150,5 +150,6 @@ internal val Blockchain.mercuryoNetwork: String? Blockchain.OdysseyChain, Blockchain.OdysseyChainTestnet -> null Blockchain.Bitrock, Blockchain.BitrockTestnet -> null Blockchain.Sonic, Blockchain.SonicTestnet -> null + Blockchain.ApeChain, Blockchain.ApeChainTestnet -> null } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt index 61e8b77c1d..a3d9000b47 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonpayBlockchainMapping.kt @@ -151,4 +151,5 @@ internal val Blockchain.moonPaySupportedCurrency: MoonPaySupportedCurrency? OdysseyChain, OdysseyChainTestnet -> null Bitrock, BitrockTestnet -> null Sonic, SonicTestnet -> null + ApeChain, ApeChainTestnet -> null } \ No newline at end of file diff --git a/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json b/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json index 59ed64b374..ad3ae9c4f6 100644 --- a/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json +++ b/core/config-toggles/src/main/assets/configs/excluded_blockchains_config.json @@ -30,5 +30,9 @@ { "name": "sonic", "version": "undefined" + }, + { + "name": "apechain", + "version": "undefined" } ] \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt b/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt index 4baa930718..286a622caf 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt @@ -88,6 +88,7 @@ fun getActiveIconRes(blockchainId: String): Int { "odyssey", "odyssey/test" -> R.drawable.img_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.img_bitrock_22 "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] + "apechain", "apechain/test" -> R.drawable.ic_alert_24 // todo ApeChain [REDACTED_TASK_KEY] else -> R.drawable.ic_alert_24 } } @@ -174,6 +175,7 @@ fun getActiveIconResByCoinId(coinId: String): Int { "odyssey", "odyssey/test" -> R.drawable.img_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.img_bitrock_22 "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] + "apechain", "apechain/test" -> R.drawable.ic_alert_24 // todo ApeChain [REDACTED_TASK_KEY] else -> R.drawable.ic_alert_24 } } @@ -263,6 +265,7 @@ fun getGreyedOutIconRes(blockchainId: String): Int { "odyssey", "odyssey/test" -> R.drawable.ic_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.ic_bitrock_22 "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] + "apechain", "apechain/test" -> R.drawable.ic_alert_24 // todo ApeChain [REDACTED_TASK_KEY] else -> R.drawable.ic_alert_24 } } \ No newline at end of file diff --git a/data/common/src/main/kotlin/com/tangem/data/common/currency/NetworkOperations.kt b/data/common/src/main/kotlin/com/tangem/data/common/currency/NetworkOperations.kt index 5d8050b524..09a0186bf9 100644 --- a/data/common/src/main/kotlin/com/tangem/data/common/currency/NetworkOperations.kt +++ b/data/common/src/main/kotlin/com/tangem/data/common/currency/NetworkOperations.kt @@ -295,6 +295,7 @@ private fun Blockchain.getSupportedTransactionExtras(): Network.TransactionExtra Blockchain.OdysseyChain, Blockchain.OdysseyChainTestnet, Blockchain.Bitrock, Blockchain.BitrockTestnet, Blockchain.Sonic, Blockchain.SonicTestnet, + Blockchain.ApeChain, Blockchain.ApeChainTestnet, -> Network.TransactionExtrasType.NONE // endregion } 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 5522fcda36..6da98d7aa9 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 @@ -196,6 +196,8 @@ data object Wallet2CardConfig : CardConfig { Blockchain.BitrockTestnet -> EllipticCurve.Secp256k1 Blockchain.Sonic -> EllipticCurve.Secp256k1 Blockchain.SonicTestnet -> EllipticCurve.Secp256k1 + Blockchain.ApeChain -> EllipticCurve.Secp256k1 + Blockchain.ApeChainTestnet -> EllipticCurve.Secp256k1 } } } \ No newline at end of file diff --git a/domain/legacy/src/test/java/com/tangem/domain/common/configs/Wallet2CardConfigTest.kt b/domain/legacy/src/test/java/com/tangem/domain/common/configs/Wallet2CardConfigTest.kt index f558fb0f9b..dc94df361a 100644 --- a/domain/legacy/src/test/java/com/tangem/domain/common/configs/Wallet2CardConfigTest.kt +++ b/domain/legacy/src/test/java/com/tangem/domain/common/configs/Wallet2CardConfigTest.kt @@ -153,6 +153,8 @@ class Wallet2CardConfigTest { Blockchain.BitrockTestnet to EllipticCurve.Secp256k1, Blockchain.Sonic to EllipticCurve.Secp256k1, Blockchain.SonicTestnet to EllipticCurve.Secp256k1, + Blockchain.ApeChain to EllipticCurve.Secp256k1, + Blockchain.ApeChainTestnet to EllipticCurve.Secp256k1, ) @Test diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt index 2b2b01a125..5d80f1ffdc 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt @@ -981,6 +981,7 @@ internal class SwapInteractorImpl @AssistedInject constructor( OdysseyChain, OdysseyChainTestnet, Bitrock, BitrockTestnet, Sonic, SonicTestnet, + ApeChain, ApeChainTestnet, -> Fee.Common(feeAmount) // endregion } diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 476dbba56a..35bc127dcc 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -88,7 +88,7 @@ markdownComposeView = "0.5.4" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "develop-911" +tangemBlockchainSdk = "develop-913" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "develop-421" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt index fcadee5fda..e3e4cb47b3 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/Blockchain.kt @@ -154,6 +154,8 @@ fun Blockchain.Companion.fromNetworkId(networkId: String): Blockchain? { "bitrock/test" -> Blockchain.BitrockTestnet "sonic" -> Blockchain.Sonic "sonic/test" -> Blockchain.SonicTestnet + "apechain" -> Blockchain.ApeChain + "apechain/test" -> Blockchain.ApeChainTestnet else -> null } } @@ -305,6 +307,8 @@ fun Blockchain.toNetworkId(): String { Blockchain.BitrockTestnet -> "bitrock/test" Blockchain.Sonic -> "sonic" Blockchain.SonicTestnet -> "sonic/test" + Blockchain.ApeChain -> "apechain" + Blockchain.ApeChainTestnet -> "apechain/test" } } @@ -403,6 +407,7 @@ fun Blockchain.toCoinId(): String { Blockchain.OdysseyChain, Blockchain.OdysseyChainTestnet -> "dione" Blockchain.Bitrock, Blockchain.BitrockTestnet -> "bitrock" Blockchain.Sonic, Blockchain.SonicTestnet -> "sonic-3" + Blockchain.ApeChain, Blockchain.ApeChainTestnet -> "apecoin" } } From ec9bd02e35696d07657daf8960f3ec1e3f268ba9 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 22 Jan 2025 16:01:20 +0500 Subject: [PATCH 10/61] Updated on 2026-08-14 --- .../tangem/tap/di/domain/PromoDomainModule.kt | 6 - .../local/preferences/PreferencesDataStore.kt | 6 + .../local/preferences/PreferencesKeys.kt | 6 + .../NotificationWithBackground.kt | 206 ------------------ .../notifications/OkxPromoNotification.kt | 169 -------------- .../notifications/RingPromoNotification.kt | 131 ----------- .../drawable/img_ring_promo_background.webp | Bin 84320 -> 0 bytes .../src/main/res/drawable/img_swap_promo.webp | Bin 2284 -> 0 bytes ...img_swap_promo_blue_banner_background.webp | Bin 12392 -> 0 bytes ...mg_swap_promo_green_banner_background.webp | Bin 12118 -> 0 bytes .../data/promo/DefaultPromoRepository.kt | 78 +------ .../tangem/data/promo/di/PromoDataModule.kt | 10 +- .../tangem/domain/promo/PromoRepository.kt | 12 - .../promo/ShouldShowRingPromoUseCase.kt | 13 -- .../analytics/TokenSwapPromoAnalyticsEvent.kt | 4 +- ...okenDetailsNotificationsAnalyticsSender.kt | 2 +- .../tokendetails/ui/TokenDetailsScreen.kt | 24 +- .../viewmodels/TokenDetailsViewModel.kt | 6 +- .../utils/WalletWarningsAnalyticsSender.kt | 7 +- .../domain/GetMultiWalletWarningsFactory.kt | 41 +--- .../wallet/state/model/WalletNotification.kt | 10 - .../components/common/WalletNotifications.kt | 13 +- .../intents/WalletWarningsClickIntents.kt | 20 +- 23 files changed, 42 insertions(+), 722 deletions(-) delete mode 100644 core/ui/src/main/java/com/tangem/core/ui/components/notifications/NotificationWithBackground.kt delete mode 100644 core/ui/src/main/java/com/tangem/core/ui/components/notifications/OkxPromoNotification.kt delete mode 100644 core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt delete mode 100644 core/ui/src/main/res/drawable/img_ring_promo_background.webp delete mode 100644 core/ui/src/main/res/drawable/img_swap_promo.webp delete mode 100644 core/ui/src/main/res/drawable/img_swap_promo_blue_banner_background.webp delete mode 100644 core/ui/src/main/res/drawable/img_swap_promo_green_banner_background.webp delete mode 100644 domain/promo/src/main/java/com/tangem/domain/promo/ShouldShowRingPromoUseCase.kt diff --git a/app/src/main/java/com/tangem/tap/di/domain/PromoDomainModule.kt b/app/src/main/java/com/tangem/tap/di/domain/PromoDomainModule.kt index 381de50f84..af52907af8 100644 --- a/app/src/main/java/com/tangem/tap/di/domain/PromoDomainModule.kt +++ b/app/src/main/java/com/tangem/tap/di/domain/PromoDomainModule.kt @@ -19,12 +19,6 @@ internal object PromoDomainModule { return ShouldShowSwapPromoWalletUseCase(promoSettingsRepository) } - @Provides - @Singleton - fun provideShouldShowRingPromoUseCase(promoRepository: PromoRepository): ShouldShowRingPromoUseCase { - return ShouldShowRingPromoUseCase(promoRepository) - } - @Provides @Singleton fun provideShouldShowSwapPromoTokenUseCase(promoRepository: PromoRepository): ShouldShowSwapPromoTokenUseCase { diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesDataStore.kt b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesDataStore.kt index 9e326cc62c..daa20726ae 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesDataStore.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesDataStore.kt @@ -11,6 +11,9 @@ import androidx.datastore.preferences.core.emptyPreferences import androidx.datastore.preferences.preferencesDataStoreFile import com.tangem.datasource.local.preferences.PreferencesDataStore.INSTANCE import com.tangem.datasource.local.preferences.PreferencesKeys.APP_LOGS_KEY +import com.tangem.datasource.local.preferences.PreferencesKeys.IS_TOKEN_SWAP_PROMO_OKX_SHOW_KEY +import com.tangem.datasource.local.preferences.PreferencesKeys.IS_WALLET_SWAP_PROMO_OKX_SHOW_KEY +import com.tangem.datasource.local.preferences.PreferencesKeys.SHOULD_SHOW_RING_PROMO_KEY import com.tangem.datasource.local.preferences.utils.CleanupKeyMigration import com.tangem.datasource.local.preferences.utils.SharedPreferencesKeyMigration import kotlinx.coroutines.CoroutineScope @@ -80,6 +83,9 @@ internal object PreferencesDataStore { keyName = PreferencesKeys.BALANCE_HIDING_SETTINGS_KEY.name, ), CleanupKeyMigration(key = APP_LOGS_KEY), + CleanupKeyMigration(key = IS_WALLET_SWAP_PROMO_OKX_SHOW_KEY), + CleanupKeyMigration(key = IS_TOKEN_SWAP_PROMO_OKX_SHOW_KEY), + CleanupKeyMigration(key = SHOULD_SHOW_RING_PROMO_KEY), ) } } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt index 0a5aad5199..bcabd0214c 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/preferences/PreferencesKeys.kt @@ -17,6 +17,9 @@ import com.tangem.datasource.local.preferences.PreferencesKeys.WAS_TWINS_ONBOARD /** * All preferences keys that DataStore is stored. * + * !!!IMPORTANT!!! + * Before DELETING active key do [CleanupKeyMigration] in [PreferencesDataStore] + * [REDACTED_AUTHOR] */ object PreferencesKeys { @@ -87,10 +90,12 @@ object PreferencesKeys { val UNSUBMITTED_TRANSACTIONS_KEY by lazy { stringPreferencesKey(name = "unsubmittedTransactions") } + @Deprecated("Remove after CleanupKeyMigration") val IS_WALLET_SWAP_PROMO_OKX_SHOW_KEY by lazy { booleanPreferencesKey(name = "isWalletSwapPromoOkxShown") } + @Deprecated("Remove after CleanupKeyMigration") val IS_TOKEN_SWAP_PROMO_OKX_SHOW_KEY by lazy { booleanPreferencesKey(name = "isTokenSwapPromoOkxShown") } @@ -99,6 +104,7 @@ object PreferencesKeys { val ADDED_WALLETS_WITH_RING_KEY by lazy { stringSetPreferencesKey(name = "addedWalletsWithRing") } + @Deprecated("Remove after CleanupKeyMigration") val SHOULD_SHOW_RING_PROMO_KEY by lazy { booleanPreferencesKey(name = "shouldShowRingPromo") } val ONRAMP_DEFAULT_COUNTRY by lazy { stringPreferencesKey(name = "onrampDefaultCountry") } diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NotificationWithBackground.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NotificationWithBackground.kt deleted file mode 100644 index 40e33e05ac..0000000000 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/NotificationWithBackground.kt +++ /dev/null @@ -1,206 +0,0 @@ -package com.tangem.core.ui.components.notifications - -import android.content.res.Configuration -import androidx.compose.foundation.Image -import androidx.compose.foundation.clickable -import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.foundation.layout.defaultMinSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.size -import androidx.compose.material3.ButtonColors -import androidx.compose.material3.Icon -import androidx.compose.material3.Text -import androidx.compose.material3.ripple -import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember -import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import androidx.constraintlayout.compose.ConstraintLayout -import androidx.constraintlayout.compose.Dimension -import androidx.constraintlayout.compose.Visibility -import com.tangem.core.ui.R -import com.tangem.core.ui.components.buttons.common.TangemButton -import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition -import com.tangem.core.ui.extensions.resolveReference -import com.tangem.core.ui.extensions.resourceReference -import com.tangem.core.ui.extensions.stringReference -import com.tangem.core.ui.extensions.wrappedList -import com.tangem.core.ui.res.LocalIsInDarkTheme -import com.tangem.core.ui.res.TangemColorPalette.Dark6 -import com.tangem.core.ui.res.TangemColorPalette.Light4 -import com.tangem.core.ui.res.TangemTheme -import com.tangem.core.ui.res.TangemThemePreview - -/** - * Custom notification with image background - * @see [Swap Promo](https://www.figma.com/file/Vs6SkVsFnUPsSCNwlnVf5U/Android-%E2%80%93-UI?type=design&node-id=8713-6307&mode=dev) - */ -@Suppress("LongMethod", "DestructuringDeclarationWithTooManyEntries") -@Composable -fun NotificationWithBackground(config: NotificationConfig, modifier: Modifier = Modifier) { - val button = config.buttonsState as? NotificationConfig.ButtonsState.SecondaryButtonConfig - - ConstraintLayout( - modifier = modifier - .defaultMinSize(minHeight = TangemTheme.dimens.size62) - .fillMaxWidth() - .clip(TangemTheme.shapes.roundedCornersXMedium) - .clickable( - enabled = config.onClick != null, - onClick = config.onClick ?: {}, - ), - ) { - val (iconRef, titleRef, subtitleRef, closeIconRef, buttonRef, backgroundRef) = createRefs() - - val spacing2 = TangemTheme.dimens.spacing2 - val spacing12 = TangemTheme.dimens.spacing12 - val spacing14 = TangemTheme.dimens.spacing14 - - Image( - painter = painterResource(config.backgroundResId ?: R.drawable.img_swap_promo_blue_banner_background), - contentDescription = null, - contentScale = ContentScale.Crop, - modifier = Modifier.constrainAs(backgroundRef) { - top.linkTo(parent.top) - start.linkTo(parent.start) - end.linkTo(parent.end) - bottom.linkTo(parent.bottom) - width = Dimension.fillToConstraints - height = Dimension.fillToConstraints - visibility = if (config.backgroundResId == null) Visibility.Gone else Visibility.Visible - }, - ) - Image( - painter = painterResource(config.iconResId), - contentDescription = null, - modifier = Modifier - .size(TangemTheme.dimens.size34) - .constrainAs(iconRef) { - start.linkTo(parent.start, spacing12) - linkTo(titleRef.top, subtitleRef.bottom, bias = 0.1f) - }, - ) - - val titleText = config.title?.resolveReference() - if (titleText != null) { - Text( - text = titleText, - style = TangemTheme.typography.button, - color = TangemTheme.colors.text.constantWhite, - modifier = Modifier.constrainAs(titleRef) { - top.linkTo(parent.top, spacing12) - start.linkTo(iconRef.end, spacing12) - end.linkTo(closeIconRef.start, spacing2) - width = Dimension.fillToConstraints - }, - ) - } - - Text( - text = config.subtitle.resolveReference(), - style = TangemTheme.typography.caption2, - color = TangemTheme.colors.text.constantWhite, - modifier = Modifier.constrainAs(subtitleRef) { - top.linkTo(titleRef.bottom, spacing2) - start.linkTo(iconRef.end, spacing12) - end.linkTo(parent.end, spacing12) - bottom.linkTo(buttonRef.top, spacing12, spacing14) - width = Dimension.fillToConstraints - }, - ) - Icon( - painter = painterResource(id = R.drawable.ic_close_24), - contentDescription = null, - tint = TangemTheme.colors.text.constantWhite, - modifier = Modifier - .size(TangemTheme.dimens.size16) - .constrainAs(closeIconRef) { - top.linkTo(parent.top, spacing12) - end.linkTo(parent.end, spacing12) - } - .clickable( - interactionSource = remember { MutableInteractionSource() }, - indication = ripple(bounded = false), - ) { - config.onCloseClick?.invoke() - }, - ) - val isDarkMode = LocalIsInDarkTheme.current - TangemButton( - modifier = Modifier.constrainAs(buttonRef) { - start.linkTo(parent.start, spacing12) - end.linkTo(parent.end, spacing12) - bottom.linkTo(parent.bottom, spacing12) - width = Dimension.fillToConstraints - visibility = if (button == null) { - Visibility.Gone - } else { - Visibility.Visible - } - }, - text = button?.text?.resolveReference().orEmpty(), - icon = TangemButtonIconPosition.Start(button?.iconResId ?: R.drawable.ic_exchange_vertical_24), - onClick = button?.onClick ?: {}, - colors = ButtonColors( - containerColor = if (isDarkMode) Light4 else TangemTheme.colors.button.secondary, - contentColor = Dark6, - disabledContainerColor = TangemTheme.colors.button.disabled, - disabledContentColor = TangemTheme.colors.text.disabled, - ), - textStyle = TangemTheme.typography.subtitle1, - enabled = true, - showProgress = false, - ) - } -} - -//region preview -@Preview -@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun NotificationWithBackgroundPreview( - @PreviewParameter(NotificationWithBackgroundPreviewProvider::class) config: NotificationConfig, -) { - TangemThemePreview { - NotificationWithBackground(config = config) - } -} - -private class NotificationWithBackgroundPreviewProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - NotificationConfig( - title = resourceReference(id = R.string.main_swap_changelly_promotion_title), - subtitle = resourceReference( - id = R.string.main_swap_changelly_promotion_message, - formatArgs = wrappedList("1", "2", "3"), - ), - iconResId = R.drawable.img_swap_promo, - backgroundResId = R.drawable.img_swap_promo_blue_banner_background, - ), - NotificationConfig( - title = resourceReference( - id = R.string.token_swap_changelly_promotion_title, - formatArgs = wrappedList("1"), - ), - subtitle = stringReference( - "Swap multiple currencies between any chains you wish. Swap multiple " + - "currencies between any chains you wish. Swap multiple " + - "currencies between any chains you wish. Commission free period " + - "till Dec 31.", - ), - iconResId = R.drawable.img_swap_promo, - backgroundResId = R.drawable.img_swap_promo_blue_banner_background, - buttonsState = NotificationConfig.ButtonsState.SecondaryButtonConfig( - text = resourceReference(id = R.string.token_swap_promotion_button), - onClick = {}, - ), - ), - ) -} -//endregion \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/OkxPromoNotification.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/OkxPromoNotification.kt deleted file mode 100644 index beadc7ce9e..0000000000 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/OkxPromoNotification.kt +++ /dev/null @@ -1,169 +0,0 @@ -package com.tangem.core.ui.components.notifications - -import android.content.res.Configuration -import androidx.compose.foundation.background -import androidx.compose.foundation.clickable -import androidx.compose.foundation.interaction.MutableInteractionSource -import androidx.compose.foundation.layout.* -import androidx.compose.material3.ButtonColors -import androidx.compose.material3.Icon -import androidx.compose.material3.Text -import androidx.compose.material3.ripple -import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.graphics.vector.ImageVector -import androidx.compose.ui.graphics.vector.rememberVectorPainter -import androidx.compose.ui.res.vectorResource -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.tooling.preview.PreviewParameter -import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import com.tangem.core.ui.R -import com.tangem.core.ui.components.buttons.common.TangemButton -import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition -import com.tangem.core.ui.extensions.resolveReference -import com.tangem.core.ui.extensions.resourceReference -import com.tangem.core.ui.res.LocalIsInDarkTheme -import com.tangem.core.ui.res.TangemColorPalette.Dark6 -import com.tangem.core.ui.res.TangemColorPalette.Light4 -import com.tangem.core.ui.res.TangemTheme -import com.tangem.core.ui.res.TangemThemePreview - -private val OxkPromoColor = Color(0xFFBCFF2F) - -@Composable -fun OkxPromoNotification(config: NotificationConfig, modifier: Modifier = Modifier) { - Column( - modifier - .clip(TangemTheme.shapes.roundedCornersXMedium) - .background(Dark6), - ) { - Content(config = config) - Button(config = config) - } -} - -@Composable -private fun Content(config: NotificationConfig) { - Row { - Icon( - painter = rememberVectorPainter(image = ImageVector.vectorResource(id = R.drawable.img_okx_dex_logo)), - contentDescription = null, - tint = TangemTheme.colors.icon.constant, - modifier = Modifier - .padding(start = TangemTheme.dimens.spacing12) - .align(Alignment.CenterVertically), - ) - Column( - verticalArrangement = Arrangement.spacedBy(TangemTheme.dimens.spacing2), - modifier = Modifier - .weight(1f) - .padding(TangemTheme.dimens.spacing12), - ) { - val titleText = config.title?.resolveReference() - - if (titleText != null) { - Text( - text = titleText, - style = TangemTheme.typography.button, - color = OxkPromoColor, - ) - } - - Text( - text = config.subtitle.resolveReference(), - style = TangemTheme.typography.caption2, - color = TangemTheme.colors.text.constantWhite, - ) - } - config.onCloseClick?.let { - Icon( - painter = rememberVectorPainter( - image = ImageVector.vectorResource(R.drawable.ic_close_24), - ), - contentDescription = null, - tint = TangemTheme.colors.icon.constant, - modifier = - Modifier - .padding( - top = TangemTheme.dimens.spacing8, - end = TangemTheme.dimens.spacing8, - ) - .size(TangemTheme.dimens.size20) - .clickable( - interactionSource = remember { MutableInteractionSource() }, - indication = ripple(radius = TangemTheme.dimens.radius10), - onClick = it, - ), - ) - } - } -} - -@Composable -private fun Button(config: NotificationConfig) { - val button = config.buttonsState as? NotificationConfig.ButtonsState.SecondaryButtonConfig - - button?.let { - val isDarkMode = LocalIsInDarkTheme.current - TangemButton( - modifier = Modifier - .fillMaxWidth() - .padding( - start = TangemTheme.dimens.spacing12, - end = TangemTheme.dimens.spacing12, - bottom = TangemTheme.dimens.spacing12, - ), - text = button.text.resolveReference(), - icon = TangemButtonIconPosition.Start(button.iconResId ?: R.drawable.ic_exchange_vertical_24), - onClick = button.onClick, - colors = ButtonColors( - containerColor = if (isDarkMode) Light4 else TangemTheme.colors.button.secondary, - contentColor = Dark6, - disabledContainerColor = TangemTheme.colors.button.disabled, - disabledContentColor = TangemTheme.colors.text.disabled, - ), - textStyle = TangemTheme.typography.subtitle1, - enabled = true, - showProgress = false, - ) - } -} - -// region Preview -@Preview(widthDp = 360) -@Preview(widthDp = 360, uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun OkxPromoNotification_Preview( - @PreviewParameter(OkxPromoNotificationPreviewProvider::class) data: NotificationConfig, -) { - TangemThemePreview { - OkxPromoNotification(data) - } -} - -private class OkxPromoNotificationPreviewProvider : PreviewParameterProvider { - override val values: Sequence - get() = sequenceOf( - NotificationConfig( - title = resourceReference(R.string.swap_promo_title), - subtitle = resourceReference(R.string.swap_promo_text), - iconResId = R.drawable.img_okx_dex_logo, - onCloseClick = {}, - ), - NotificationConfig( - title = resourceReference(R.string.swap_promo_title), - subtitle = resourceReference(R.string.swap_promo_text), - iconResId = R.drawable.img_okx_dex_logo, - onCloseClick = {}, - buttonsState = NotificationConfig.ButtonsState.SecondaryButtonConfig( - text = resourceReference(R.string.token_swap_promotion_button), - onClick = {}, - ), - ), - ) -} -// endregion \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt b/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt deleted file mode 100644 index c40947749d..0000000000 --- a/core/ui/src/main/java/com/tangem/core/ui/components/notifications/RingPromoNotification.kt +++ /dev/null @@ -1,131 +0,0 @@ -package com.tangem.core.ui.components.notifications - -import android.content.res.Configuration -import androidx.annotation.DrawableRes -import androidx.compose.foundation.Image -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.* -import androidx.compose.runtime.* -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.draw.clip -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.layout.FixedScale -import androidx.compose.ui.layout.onSizeChanged -import androidx.compose.ui.platform.LocalDensity -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.Dp -import androidx.compose.ui.unit.dp -import androidx.constraintlayout.compose.ConstraintLayout -import com.tangem.core.ui.R -import com.tangem.core.ui.extensions.TextReference -import com.tangem.core.ui.extensions.resourceReference -import com.tangem.core.ui.res.TangemColorPalette -import com.tangem.core.ui.res.TangemTheme -import com.tangem.core.ui.res.TangemThemePreview - -@Composable -fun RingPromoNotification(config: NotificationConfig, modifier: Modifier = Modifier) { - var textHeightDp by remember { mutableStateOf(0.dp) } - - Box( - modifier = modifier - .fillMaxWidth() - .clip(shape = TangemTheme.shapes.roundedCornersXMedium) - .background(TangemColorPalette.Dark6), - ) { - PromoImage( - backgroundRes = config.backgroundResId, - iconRes = config.iconResId, - modifier = Modifier.height(textHeightDp), - ) - PromoText( - title = config.title, - subtitle = config.subtitle, - onSizeChange = { textHeightDp = it }, - ) - CloseableIconButton( - onClick = config.onCloseClick, - modifier = Modifier.align(alignment = Alignment.TopEnd), - iconTint = TangemTheme.colors.icon.informative, - ) - } -} - -@Composable -private fun PromoImage(@DrawableRes backgroundRes: Int?, @DrawableRes iconRes: Int, modifier: Modifier = Modifier) { - if (backgroundRes == null) return - ConstraintLayout( - modifier = modifier, - ) { - val (background, image) = createRefs() - - Image( - painter = painterResource(backgroundRes), - contentDescription = null, - contentScale = FixedScale(2f), - modifier = Modifier - .constrainAs(background) { - top.linkTo(parent.top) - start.linkTo(image.start) - end.linkTo(image.end) - }, - ) - Image( - painter = painterResource(id = iconRes), - contentDescription = null, - contentScale = ContentScale.FillWidth, - modifier = Modifier - .requiredWidth(width = 60.dp) - .wrapContentHeight(Alignment.Top, unbounded = true) - .constrainAs(image) { - top.linkTo(parent.top, 11.dp) - start.linkTo(parent.start, 9.dp) - }, - ) - } -} - -@Composable -private fun PromoText(title: TextReference?, subtitle: TextReference, onSizeChange: (Dp) -> Unit) { - val density = LocalDensity.current - - Box( - modifier = Modifier.onSizeChanged { - with(density) { onSizeChange(it.height.toDp()) } - }, - ) { - TextsBlock( - title = title, - subtitle = subtitle, - subtitleColor = TangemTheme.colors.text.tertiary, - titleColor = TangemTheme.colors.text.constantWhite, - modifier = Modifier - .wrapContentHeight() - .align(Alignment.CenterStart) - .padding(start = 80.dp, top = 12.dp, end = 12.dp, bottom = 12.dp), - ) - } -} - -// region Preview -@Preview(showBackground = true, widthDp = 360) -@Preview(showBackground = true, widthDp = 360, locale = "fr") -@Preview(showBackground = true, widthDp = 360, uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun RingPromoNotification_Preview() { - TangemThemePreview { - RingPromoNotification( - NotificationConfig( - title = resourceReference(id = R.string.ring_promo_title), - subtitle = resourceReference(id = R.string.ring_promo_text), - iconResId = R.drawable.img_card_with_ring, - backgroundResId = R.drawable.img_ring_promo_background, - onCloseClick = { }, - ), - ) - } -} - -// endregion \ No newline at end of file diff --git a/core/ui/src/main/res/drawable/img_ring_promo_background.webp b/core/ui/src/main/res/drawable/img_ring_promo_background.webp deleted file mode 100644 index aa5ae8be39ee7a636b2620a558b2fffacd2f39d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84320 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 Z*e;_)pz6qSe5LFduL2cHmK6Z-e*iH`Ae{gJ diff --git a/core/ui/src/main/res/drawable/img_swap_promo_green_banner_background.webp b/core/ui/src/main/res/drawable/img_swap_promo_green_banner_background.webp deleted file mode 100644 index ffaced2ad24053b210b26e771c88376f428826da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12118 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 MDW{!NqL?560Qs9?9RL6T diff --git a/data/promo/src/main/java/com/tangem/data/promo/DefaultPromoRepository.kt b/data/promo/src/main/java/com/tangem/data/promo/DefaultPromoRepository.kt index 6a0307943f..c481880b51 100644 --- a/data/promo/src/main/java/com/tangem/data/promo/DefaultPromoRepository.kt +++ b/data/promo/src/main/java/com/tangem/data/promo/DefaultPromoRepository.kt @@ -1,94 +1,32 @@ package com.tangem.data.promo -import com.tangem.data.promo.converters.PromoResponseConverter -import com.tangem.datasource.api.common.response.getOrThrow -import com.tangem.datasource.api.tangemTech.TangemTechApi import com.tangem.datasource.local.preferences.AppPreferencesStore -import com.tangem.datasource.local.preferences.PreferencesKeys.ADDED_WALLETS_WITH_RING_KEY -import com.tangem.datasource.local.preferences.PreferencesKeys.IS_TOKEN_SWAP_PROMO_OKX_SHOW_KEY -import com.tangem.datasource.local.preferences.PreferencesKeys.IS_WALLET_SWAP_PROMO_OKX_SHOW_KEY -import com.tangem.datasource.local.preferences.PreferencesKeys.SHOULD_SHOW_RING_PROMO_KEY import com.tangem.datasource.local.preferences.PreferencesKeys.SHOULD_SHOW_SWAP_STORIES_KEY import com.tangem.datasource.local.preferences.utils.get import com.tangem.datasource.local.preferences.utils.getSyncOrDefault import com.tangem.datasource.local.preferences.utils.store import com.tangem.domain.promo.PromoRepository -import com.tangem.domain.promo.models.PromoBanner -import com.tangem.domain.wallets.models.UserWalletId -import com.tangem.utils.coroutines.CoroutineDispatcherProvider -import com.tangem.utils.coroutines.runCatching import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.flowOf internal class DefaultPromoRepository( - private val tangemApi: TangemTechApi, private val appPreferencesStore: AppPreferencesStore, - private val dispatchers: CoroutineDispatcherProvider, ) : PromoRepository { - private val promoResponseConverter = PromoResponseConverter() - override suspend fun getChangellyPromoBanner(): PromoBanner? { - return runCatching(dispatchers.io) { - promoResponseConverter.convert( - tangemApi.getPromotionInfo(CHANGELLY_NAME) - .getOrThrow(), - ) - }.getOrNull() - } - - override suspend fun getOkxPromoBanner(): PromoBanner? { - return runCatching(dispatchers.io) { - promoResponseConverter.convert( - tangemApi.getPromotionInfo(OKX) - .getOrThrow(), - ) - }.getOrNull() - } - - override suspend fun getRingPromoBanner(): PromoBanner? { - return runCatching(dispatchers.io) { - promoResponseConverter.convert( - tangemApi.getPromotionInfo(RING) - .getOrThrow(), - ) - }.getOrNull() - } - override fun isReadyToShowWalletSwapPromo(): Flow { - return appPreferencesStore.get(IS_WALLET_SWAP_PROMO_OKX_SHOW_KEY, true) + return flowOf(false) // Use it on new promo action } override fun isReadyToShowTokenSwapPromo(): Flow { - return appPreferencesStore.get(IS_TOKEN_SWAP_PROMO_OKX_SHOW_KEY, true) + return flowOf(false) // Use it on new promo action } override suspend fun setNeverToShowWalletSwapPromo() { - appPreferencesStore.store( - key = IS_WALLET_SWAP_PROMO_OKX_SHOW_KEY, - value = false, - ) + // Use it on new promo action } override suspend fun setNeverToShowTokenSwapPromo() { - appPreferencesStore.store( - key = IS_TOKEN_SWAP_PROMO_OKX_SHOW_KEY, - value = false, - ) - } - - override fun isReadyToShowRingPromo(userWalletId: UserWalletId): Flow { - return combine( - flow = appPreferencesStore - .get(key = ADDED_WALLETS_WITH_RING_KEY, default = emptySet()) - .map { userWalletId.stringValue in it }, - flow2 = appPreferencesStore.get(key = SHOULD_SHOW_RING_PROMO_KEY, default = true), - transform = { isRingAdded, shouldShowRingPromo -> isRingAdded && shouldShowRingPromo }, - ) - } - - override suspend fun setNeverToShowRingPromo() { - appPreferencesStore.store(key = SHOULD_SHOW_RING_PROMO_KEY, value = false) + // Use it on new promo action } override fun isReadyToShowSwapStories(): Flow { @@ -105,10 +43,4 @@ internal class DefaultPromoRepository( value = false, ) } - - private companion object { - private const val CHANGELLY_NAME = "changelly" - private const val OKX = "okx" - private const val RING = "ring" - } } \ No newline at end of file diff --git a/data/promo/src/main/java/com/tangem/data/promo/di/PromoDataModule.kt b/data/promo/src/main/java/com/tangem/data/promo/di/PromoDataModule.kt index 102afaa289..40499944ec 100644 --- a/data/promo/src/main/java/com/tangem/data/promo/di/PromoDataModule.kt +++ b/data/promo/src/main/java/com/tangem/data/promo/di/PromoDataModule.kt @@ -1,10 +1,8 @@ package com.tangem.data.promo.di import com.tangem.data.promo.DefaultPromoRepository -import com.tangem.datasource.api.tangemTech.TangemTechApi import com.tangem.datasource.local.preferences.AppPreferencesStore import com.tangem.domain.promo.PromoRepository -import com.tangem.utils.coroutines.CoroutineDispatcherProvider import dagger.Module import dagger.Provides import dagger.hilt.InstallIn @@ -17,11 +15,7 @@ internal object PromoDataModule { @Provides @Singleton - fun providePromoRepository( - tangemTechApi: TangemTechApi, - appPreferencesStore: AppPreferencesStore, - dispatchers: CoroutineDispatcherProvider, - ): PromoRepository { - return DefaultPromoRepository(tangemTechApi, appPreferencesStore, dispatchers) + fun providePromoRepository(appPreferencesStore: AppPreferencesStore): PromoRepository { + return DefaultPromoRepository(appPreferencesStore) } } \ No newline at end of file diff --git a/domain/promo/src/main/java/com/tangem/domain/promo/PromoRepository.kt b/domain/promo/src/main/java/com/tangem/domain/promo/PromoRepository.kt index de2c366987..cc66ada854 100644 --- a/domain/promo/src/main/java/com/tangem/domain/promo/PromoRepository.kt +++ b/domain/promo/src/main/java/com/tangem/domain/promo/PromoRepository.kt @@ -1,17 +1,9 @@ package com.tangem.domain.promo -import com.tangem.domain.promo.models.PromoBanner -import com.tangem.domain.wallets.models.UserWalletId import kotlinx.coroutines.flow.Flow interface PromoRepository { - suspend fun getChangellyPromoBanner(): PromoBanner? - - suspend fun getOkxPromoBanner(): PromoBanner? - - suspend fun getRingPromoBanner(): PromoBanner? - fun isReadyToShowWalletSwapPromo(): Flow fun isReadyToShowTokenSwapPromo(): Flow @@ -20,10 +12,6 @@ interface PromoRepository { suspend fun setNeverToShowTokenSwapPromo() - fun isReadyToShowRingPromo(userWalletId: UserWalletId): Flow - - suspend fun setNeverToShowRingPromo() - fun isReadyToShowSwapStories(): Flow suspend fun isReadyToShowSwapStoriesSync(): Boolean diff --git a/domain/promo/src/main/java/com/tangem/domain/promo/ShouldShowRingPromoUseCase.kt b/domain/promo/src/main/java/com/tangem/domain/promo/ShouldShowRingPromoUseCase.kt deleted file mode 100644 index 78ad8931ef..0000000000 --- a/domain/promo/src/main/java/com/tangem/domain/promo/ShouldShowRingPromoUseCase.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.tangem.domain.promo - -import com.tangem.domain.wallets.models.UserWalletId -import kotlinx.coroutines.flow.Flow - -class ShouldShowRingPromoUseCase(private val promoRepository: PromoRepository) { - - operator fun invoke(userWalletId: UserWalletId): Flow { - return promoRepository.isReadyToShowRingPromo(userWalletId) - } - - suspend fun neverToShow() = promoRepository.setNeverToShowRingPromo() -} \ No newline at end of file diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenSwapPromoAnalyticsEvent.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenSwapPromoAnalyticsEvent.kt index 70f2a8632b..7ed6c36cc2 100644 --- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenSwapPromoAnalyticsEvent.kt +++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/analytics/TokenSwapPromoAnalyticsEvent.kt @@ -36,8 +36,8 @@ sealed class TokenSwapPromoAnalyticsEvent( } } + // Use it on new promo action enum class ProgramName { - OKX, - Ring, + Empty, } } \ No newline at end of file diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt index 8e3ed14b1c..365f441978 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt @@ -38,7 +38,7 @@ internal class TokenDetailsNotificationsAnalyticsSender( currency = cryptoCurrency, ) is TokenDetailsNotification.SwapPromo -> TokenSwapPromoAnalyticsEvent.NoticePromotionBanner( - programName = TokenSwapPromoAnalyticsEvent.ProgramName.OKX, + programName = TokenSwapPromoAnalyticsEvent.ProgramName.Empty, // Use it on new promo action source = AnalyticsParam.ScreensSources.Token, ) is TokenDetailsNotification.KaspaIncompleteTransactionWarning -> TokenDetailsAnalyticsEvent.Notice.Reveal( diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/TokenDetailsScreen.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/TokenDetailsScreen.kt index f353f68068..f60d8ad078 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/TokenDetailsScreen.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/TokenDetailsScreen.kt @@ -23,7 +23,6 @@ import com.tangem.core.ui.components.bottomsheets.tokenreceive.TokenReceiveBotto import com.tangem.core.ui.components.marketprice.MarketPriceBlock import com.tangem.core.ui.components.marketprice.MarketPriceBlockState import com.tangem.core.ui.components.notifications.Notification -import com.tangem.core.ui.components.notifications.OkxPromoNotification import com.tangem.core.ui.components.transactions.state.TxHistoryState import com.tangem.core.ui.components.transactions.txHistoryItems import com.tangem.core.ui.components.containers.pullToRefresh.TangemPullToRefreshContainer @@ -92,21 +91,14 @@ internal fun TokenDetailsScreen(state: TokenDetailsState, tokenMarketBlockCompon key = { it::class.java }, contentType = { it.config::class.java }, itemContent = { - if (it is TokenDetailsNotification.SwapPromo) { - OkxPromoNotification( - config = it.config, - modifier = itemModifier.animateItem(), - ) - } else { - Notification( - modifier = itemModifier.animateItem(), - config = it.config, - iconTint = when (it) { - is TokenDetailsNotification.Informational -> TangemTheme.colors.icon.accent - else -> null - }, - ) - } + Notification( + modifier = itemModifier.animateItem(), + config = it.config, + iconTint = when (it) { + is TokenDetailsNotification.Informational -> TangemTheme.colors.icon.accent + else -> null + }, + ) }, ) diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt index d3ffbeb33b..cb86b9d766 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt @@ -36,7 +36,6 @@ import com.tangem.domain.card.NetworkHasDerivationUseCase import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.demo.IsDemoCardUseCase import com.tangem.domain.onramp.model.OnrampSource -import com.tangem.domain.promo.ShouldShowSwapPromoTokenUseCase import com.tangem.domain.redux.ReduxStateHolder import com.tangem.domain.staking.GetStakingAvailabilityUseCase import com.tangem.domain.staking.GetStakingEntryInfoUseCase @@ -74,6 +73,7 @@ import com.tangem.feature.tokendetails.presentation.tokendetails.state.TokenBala import com.tangem.feature.tokendetails.presentation.tokendetails.state.TokenDetailsState import com.tangem.feature.tokendetails.presentation.tokendetails.state.factory.TokenDetailsStateFactory import com.tangem.feature.tokendetails.presentation.tokendetails.state.factory.express.ExpressStatusFactory +import com.tangem.domain.promo.ShouldShowSwapPromoTokenUseCase import com.tangem.features.onramp.OnrampFeatureToggles import com.tangem.features.tokendetails.impl.R import com.tangem.utils.Provider @@ -807,7 +807,7 @@ internal class TokenDetailsViewModel @Inject constructor( analyticsEventsHandler.send( TokenSwapPromoAnalyticsEvent.PromotionBannerClicked( source = AnalyticsParam.ScreensSources.Token, - programName = TokenSwapPromoAnalyticsEvent.ProgramName.OKX, + programName = TokenSwapPromoAnalyticsEvent.ProgramName.Empty, // Use it on new promo action action = TokenSwapPromoAnalyticsEvent.PromotionBannerClicked.BannerAction.Closed, ), ) @@ -820,7 +820,7 @@ internal class TokenDetailsViewModel @Inject constructor( analyticsEventsHandler.send( TokenSwapPromoAnalyticsEvent.PromotionBannerClicked( source = AnalyticsParam.ScreensSources.Token, - programName = TokenSwapPromoAnalyticsEvent.ProgramName.OKX, + programName = TokenSwapPromoAnalyticsEvent.ProgramName.Empty, // Use it on new promo action action = TokenSwapPromoAnalyticsEvent.PromotionBannerClicked.BannerAction.Clicked, ), ) diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt index cbe0c57c5f..6313ea4653 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/analytics/utils/WalletWarningsAnalyticsSender.kt @@ -4,6 +4,7 @@ import com.tangem.core.analytics.api.AnalyticsEventHandler import com.tangem.core.analytics.models.AnalyticsEvent import com.tangem.core.analytics.models.AnalyticsParam import com.tangem.domain.tokens.model.analytics.TokenSwapPromoAnalyticsEvent +import com.tangem.domain.tokens.model.analytics.TokenSwapPromoAnalyticsEvent.ProgramName import com.tangem.feature.wallet.presentation.wallet.analytics.WalletScreenAnalyticsEvent.MainScreen import com.tangem.feature.wallet.presentation.wallet.state.model.WalletNotification import com.tangem.feature.wallet.presentation.wallet.state.model.WalletState @@ -50,7 +51,7 @@ internal class WalletWarningsAnalyticsSender @Inject constructor( is WalletNotification.NoteMigration -> MainScreen.NotePromo is WalletNotification.SwapPromo -> TokenSwapPromoAnalyticsEvent.NoticePromotionBanner( source = AnalyticsParam.ScreensSources.Main, - programName = TokenSwapPromoAnalyticsEvent.ProgramName.OKX, + programName = TokenSwapPromoAnalyticsEvent.ProgramName.Empty, // Use it on new promo action ) is WalletNotification.UnlockWallets -> null // See [SelectedWalletAnalyticsSender] is WalletNotification.Informational.NoAccount, @@ -58,10 +59,6 @@ internal class WalletWarningsAnalyticsSender @Inject constructor( is WalletNotification.Warning.SomeNetworksUnreachable, is WalletNotification.Warning.NetworksUnreachable, -> null - is WalletNotification.RingPromo -> TokenSwapPromoAnalyticsEvent.NoticePromotionBanner( - source = AnalyticsParam.ScreensSources.Main, - programName = TokenSwapPromoAnalyticsEvent.ProgramName.Ring, - ) is WalletNotification.Critical.SeedPhraseNotification -> MainScreen.NoticeSeedPhraseSupport } } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetMultiWalletWarningsFactory.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetMultiWalletWarningsFactory.kt index b852180742..d863a3dea9 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetMultiWalletWarningsFactory.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/GetMultiWalletWarningsFactory.kt @@ -4,9 +4,6 @@ import com.tangem.domain.common.CardTypesResolver import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.core.lce.Lce import com.tangem.domain.demo.IsDemoCardUseCase -import com.tangem.domain.promo.PromoRepository -import com.tangem.domain.promo.ShouldShowRingPromoUseCase -import com.tangem.domain.promo.models.PromoBanner import com.tangem.domain.settings.IsReadyToShowRateAppUseCase import com.tangem.domain.tokens.error.TokenListError import com.tangem.domain.tokens.model.CryptoCurrency @@ -22,7 +19,6 @@ import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.flow import javax.inject.Inject import kotlin.collections.count @@ -32,8 +28,6 @@ internal class GetMultiWalletWarningsFactory @Inject constructor( private val tokenListStore: MultiWalletTokenListStore, private val isDemoCardUseCase: IsDemoCardUseCase, private val isReadyToShowRateAppUseCase: IsReadyToShowRateAppUseCase, - private val shouldShowRingPromoUseCase: ShouldShowRingPromoUseCase, - private val promoRepository: PromoRepository, private val isNeedToBackupUseCase: IsNeedToBackupUseCase, private val backupValidator: BackupValidator, private val seedPhraseNotificationUseCase: SeedPhraseNotificationUseCase, @@ -43,25 +37,13 @@ internal class GetMultiWalletWarningsFactory @Inject constructor( fun create(userWallet: UserWallet, clickIntents: WalletClickIntents): Flow> { val cardTypesResolver = userWallet.scanResponse.cardTypesResolver - val promoFlow = flow { emit(promoRepository.getRingPromoBanner()) } return combine( - tokenListStore.getOrThrow(userWallet.walletId), - isReadyToShowRateAppUseCase(), - isNeedToBackupUseCase(userWallet.walletId), - shouldShowRingPromoUseCase(userWalletId = userWallet.walletId), - promoFlow, - seedPhraseNotificationUseCase(userWalletId = userWallet.walletId), - ) { - val maybeTokenList = it[0] as Lce - val isReadyToShowRating = it[1] as Boolean - val isNeedToBackup = it[2] as Boolean - val shouldShowPromo = it[3] as Boolean - val promoBanner = it[4] as? PromoBanner - val seedPhraseIssueStatus = it[5] as Boolean - + flow = tokenListStore.getOrThrow(userWallet.walletId), + flow2 = isReadyToShowRateAppUseCase(), + flow3 = isNeedToBackupUseCase(userWallet.walletId), + flow4 = seedPhraseNotificationUseCase(userWalletId = userWallet.walletId), + ) { maybeTokenList, isReadyToShowRating, isNeedToBackup, seedPhraseIssueStatus -> buildList { - addRingPromoNotification(shouldShowPromo, promoBanner, clickIntents) - addCriticalNotifications(userWallet, seedPhraseIssueStatus, clickIntents) addInformationalNotifications(cardTypesResolver, maybeTokenList, clickIntents) @@ -79,19 +61,6 @@ internal class GetMultiWalletWarningsFactory @Inject constructor( } } - private fun MutableList.addRingPromoNotification( - shouldShowPromo: Boolean, - promoBanner: PromoBanner?, - clickIntents: WalletClickIntents, - ) { - promoBanner ?: return - val promoNotification = WalletNotification.RingPromo(onCloseClick = clickIntents::onCloseRingPromoClick) - addIf( - element = promoNotification, - condition = shouldShowPromo && promoBanner.isActive, - ) - } - private fun MutableList.addCriticalNotifications( userWallet: UserWallet, seedPhraseIssueStatus: Boolean, diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletNotification.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletNotification.kt index 2d80995272..dfcfda9298 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletNotification.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletNotification.kt @@ -206,16 +206,6 @@ sealed class WalletNotification(val config: NotificationConfig) { ), ) - data class RingPromo(val onCloseClick: () -> Unit) : WalletNotification( - config = NotificationConfig( - title = resourceReference(id = R.string.ring_promo_title), - subtitle = resourceReference(id = R.string.ring_promo_text), - iconResId = R.drawable.img_card_with_ring, - backgroundResId = R.drawable.img_ring_promo_background, - onCloseClick = onCloseClick, - ), - ) - data class NoteMigration(val onClick: () -> Unit) : WalletNotification( config = NotificationConfig( title = resourceReference(R.string.wallet_promo_banner_title), diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletNotifications.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletNotifications.kt index de41263c1e..b985016105 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletNotifications.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/common/WalletNotifications.kt @@ -5,8 +5,6 @@ import androidx.compose.foundation.lazy.items import androidx.compose.ui.Modifier import com.tangem.core.ui.components.notifications.NoteMigrationNotification import com.tangem.core.ui.components.notifications.Notification -import com.tangem.core.ui.components.notifications.OkxPromoNotification -import com.tangem.core.ui.components.notifications.RingPromoNotification import com.tangem.core.ui.res.TangemTheme import com.tangem.feature.wallet.presentation.wallet.state.model.WalletNotification import kotlinx.collections.immutable.ImmutableList @@ -28,16 +26,7 @@ internal fun LazyListScope.notifications(configs: ImmutableList { - OkxPromoNotification( - config = it.config, - modifier = modifier.animateItem(), - ) - } - is WalletNotification.RingPromo -> { - RingPromoNotification( - config = it.config, - modifier = modifier.animateItem(), - ) + // Use it on new promo action } is WalletNotification.NoteMigration -> { NoteMigrationNotification( diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletWarningsClickIntents.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletWarningsClickIntents.kt index ee807b127a..732ee16502 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletWarningsClickIntents.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletWarningsClickIntents.kt @@ -11,7 +11,6 @@ import com.tangem.domain.card.SetCardWasScannedUseCase import com.tangem.domain.feedback.GetCardInfoUseCase import com.tangem.domain.feedback.SendFeedbackEmailUseCase import com.tangem.domain.feedback.models.FeedbackEmailType -import com.tangem.domain.promo.ShouldShowRingPromoUseCase import com.tangem.domain.promo.ShouldShowSwapPromoWalletUseCase import com.tangem.domain.redux.LegacyAction import com.tangem.domain.redux.ReduxStateHolder @@ -66,8 +65,6 @@ internal interface WalletWarningsClickIntents { fun onCloseSwapPromoClick() - fun onCloseRingPromoClick() - fun onSupportClick() fun onNoteMigrationButtonClick(url: String) @@ -94,7 +91,6 @@ internal class WalletWarningsClickIntentsImplementor @Inject constructor( private val reduxStateHolder: ReduxStateHolder, private val dispatchers: CoroutineDispatcherProvider, private val shouldShowSwapPromoWalletUseCase: ShouldShowSwapPromoWalletUseCase, - private val shouldShowRingPromoUseCase: ShouldShowRingPromoUseCase, private val getCardInfoUseCase: GetCardInfoUseCase, private val sendFeedbackEmailUseCase: SendFeedbackEmailUseCase, private val seedPhraseNotificationUseCase: SeedPhraseNotificationUseCase, @@ -249,7 +245,7 @@ internal class WalletWarningsClickIntentsImplementor @Inject constructor( analyticsEventHandler.send( TokenSwapPromoAnalyticsEvent.PromotionBannerClicked( source = AnalyticsParam.ScreensSources.Main, - programName = TokenSwapPromoAnalyticsEvent.ProgramName.OKX, + programName = TokenSwapPromoAnalyticsEvent.ProgramName.Empty, // Use it on new promo action action = TokenSwapPromoAnalyticsEvent.PromotionBannerClicked.BannerAction.Closed, ), ) @@ -258,20 +254,6 @@ internal class WalletWarningsClickIntentsImplementor @Inject constructor( } } - override fun onCloseRingPromoClick() { - analyticsEventHandler.send( - TokenSwapPromoAnalyticsEvent.PromotionBannerClicked( - source = AnalyticsParam.ScreensSources.Main, - programName = TokenSwapPromoAnalyticsEvent.ProgramName.Ring, - action = TokenSwapPromoAnalyticsEvent.PromotionBannerClicked.BannerAction.Closed, - ), - ) - - viewModelScope.launch { - shouldShowRingPromoUseCase.neverToShow() - } - } - override fun onSupportClick() { val scanResponse = getSelectedUserWallet()?.scanResponse ?: return val cardInfo = getCardInfoUseCase(scanResponse).getOrNull() ?: return From 8c6a582d4ace2aad7eff60ff47c89bc8ca04642d Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Jan 2025 11:50:39 +0500 Subject: [PATCH 11/61] Updated on 2026-08-14 --- .../ui/walletconnect/WalletConnectScreen.kt | 10 +- .../res/drawable/progress_rounded_shape.xml | 17 ++ .../res/layout/view_onboarding_progress.xml | 7 +- ...or.kt => TangemLinearProgressIndicator.kt} | 146 ++++++++++++++++-- .../ui/components/PricePerformanceBlock.kt | 4 +- .../v2/stepper/impl/ui/OnboardingStepper.kt | 10 +- .../api/OnboardingSeedPhraseScreen.kt | 39 ++--- .../tangem/feature/swap/ui/ProviderItem.kt | 6 +- .../express/exchange/ExchangeStatusBlock.kt | 4 +- 9 files changed, 195 insertions(+), 48 deletions(-) create mode 100644 app/src/main/res/drawable/progress_rounded_shape.xml rename core/ui/src/main/java/com/tangem/core/ui/components/progressbar/{LinearProgressIndicator.kt => TangemLinearProgressIndicator.kt} (51%) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectScreen.kt b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectScreen.kt index b25fe77799..252fc23b51 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectScreen.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/walletconnect/WalletConnectScreen.kt @@ -5,7 +5,10 @@ import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material3.* +import androidx.compose.material3.FloatingActionButton +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -15,6 +18,7 @@ import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.tangem.core.analytics.Analytics +import com.tangem.core.ui.components.progressbar.TangemLinearProgressIndicator import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme import com.tangem.tap.common.analytics.events.Settings @@ -71,7 +75,7 @@ private fun AddSessionFab(onAddSession: () -> Unit, modifier: Modifier = Modifie @Composable private fun EmptyScreen(state: WalletConnectScreenState) { if (state.isLoading) { - LinearProgressIndicator( + TangemLinearProgressIndicator( modifier = Modifier.fillMaxWidth(), color = TangemTheme.colors.icon.accent, ) @@ -102,7 +106,7 @@ private fun EmptyScreen(state: WalletConnectScreenState) { @Composable private fun WalletConnectSessions(state: WalletConnectScreenState) { if (state.isLoading) { - LinearProgressIndicator( + TangemLinearProgressIndicator( modifier = Modifier .fillMaxWidth() .height(2.dp), diff --git a/app/src/main/res/drawable/progress_rounded_shape.xml b/app/src/main/res/drawable/progress_rounded_shape.xml new file mode 100644 index 0000000000..7be741d331 --- /dev/null +++ b/app/src/main/res/drawable/progress_rounded_shape.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/view_onboarding_progress.xml b/app/src/main/res/layout/view_onboarding_progress.xml index 696a282eda..83dcb3354b 100644 --- a/app/src/main/res/layout/view_onboarding_progress.xml +++ b/app/src/main/res/layout/view_onboarding_progress.xml @@ -4,9 +4,10 @@ android:id="@+id/pb_state" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="20dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:progressBackgroundTint="@color/icon_informative" - android:progressTint="@color/icon_primary_1" /> + android:paddingVertical="8dp" + android:indeterminate="false" + android:progressDrawable="@drawable/progress_rounded_shape" /> diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/progressbar/LinearProgressIndicator.kt b/core/ui/src/main/java/com/tangem/core/ui/components/progressbar/TangemLinearProgressIndicator.kt similarity index 51% rename from core/ui/src/main/java/com/tangem/core/ui/components/progressbar/LinearProgressIndicator.kt rename to core/ui/src/main/java/com/tangem/core/ui/components/progressbar/TangemLinearProgressIndicator.kt index 05cbf5db85..e9fddfa79e 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/progressbar/LinearProgressIndicator.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/progressbar/TangemLinearProgressIndicator.kt @@ -3,11 +3,11 @@ package com.tangem.core.ui.components.progressbar import android.content.res.Configuration +import androidx.compose.animation.core.* import androidx.compose.foundation.Canvas -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.size -import androidx.compose.runtime.Composable +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.* +import androidx.compose.runtime.* import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Color @@ -39,7 +39,7 @@ import kotlin.math.abs * @param strokeCap stroke cap to use for the ends of this progress indicator */ @Composable -fun LinearProgressIndicator( +fun TangemLinearProgressIndicator( progress: () -> Float, modifier: Modifier = Modifier, color: Color = TangemTheme.colors.text.accent, @@ -61,6 +61,99 @@ fun LinearProgressIndicator( } } +/** + * Progress indicators loading status with infinite animation + * + * @param modifier the [Modifier] to be applied to this progress indicator + * @param color The color of the progress indicator. + * @param backgroundColor The color of the background behind the indicator, visible when the + * progress has not reached that area of the overall indicator yet. + * @param strokeCap stroke cap to use for the ends of this progress indicator + */ +@Suppress("LongMethod") +@Composable +fun TangemLinearProgressIndicator( + modifier: Modifier = Modifier, + color: Color = TangemTheme.colors.text.accent, + backgroundColor: Color = TangemTheme.colors.background.tertiary, + strokeCap: StrokeCap = StrokeCap.Round, +) { + val infiniteTransition = rememberInfiniteTransition() + val firstLineHead by infiniteTransition.animateFloat( + 0f, + 1f, + infiniteRepeatable( + animation = keyframes { + durationMillis = LINEAR_ANIMATION_DURATION + 0f at FIRST_LINE_HEAD_DELAY using FIRST_LINE_HEAD_EASING + 1f at FIRST_LINE_HEAD_DURATION + FIRST_LINE_HEAD_DELAY + }, + ), + ) + val firstLineTail by infiniteTransition.animateFloat( + 0f, + 1f, + infiniteRepeatable( + animation = keyframes { + durationMillis = LINEAR_ANIMATION_DURATION + 0f at FIRST_LINE_TAIL_DELAY using FIRST_LINE_TAIL_EASING + 1f at FIRST_LINE_TAIL_DURATION + FIRST_LINE_TAIL_DELAY + }, + ), + ) + val secondLineHead by infiniteTransition.animateFloat( + 0f, + 1f, + infiniteRepeatable( + animation = keyframes { + durationMillis = LINEAR_ANIMATION_DURATION + 0f at SECOND_LINE_HEAD_DELAY using SECOND_LINE_HEAD_EASING + 1f at SECOND_LINE_HEAD_DURATION + SECOND_LINE_HEAD_DELAY + }, + ), + ) + val secondLineTail by infiniteTransition.animateFloat( + 0f, + 1f, + infiniteRepeatable( + animation = keyframes { + durationMillis = LINEAR_ANIMATION_DURATION + 0f at SECOND_LINE_TAIL_DELAY using SECOND_LINE_TAIL_EASING + 1f at SECOND_LINE_TAIL_DURATION + SECOND_LINE_TAIL_DELAY + }, + ), + ) + Canvas( + modifier + .increaseSemanticsBounds() + .semantics(mergeDescendants = true) { + progressBarRangeInfo = ProgressBarRangeInfo.Indeterminate + } + .size(height = 4.dp, width = 24.dp), + ) { + val strokeWidth = size.height + drawLinearIndicatorBackground(backgroundColor, strokeWidth, strokeCap) + if (firstLineHead - firstLineTail > 0) { + drawLinearIndicator( + firstLineHead, + firstLineTail, + color, + strokeWidth, + strokeCap, + ) + } + if ((secondLineHead - secondLineTail) > 0) { + drawLinearIndicator( + secondLineHead, + secondLineTail, + color, + strokeWidth, + strokeCap, + ) + } + } +} + internal fun Modifier.increaseSemanticsBounds(): Modifier { val padding = 10.dp return this @@ -129,16 +222,51 @@ private fun DrawScope.drawLinearIndicator( private fun DrawScope.drawLinearIndicatorBackground(color: Color, strokeWidth: Float, strokeCap: StrokeCap) = drawLinearIndicator(0f, 1f, color, strokeWidth, strokeCap) +// Indeterminate linear indicator transition specs +// Total duration for one cycle +private const val LINEAR_ANIMATION_DURATION = 1800 + +// Duration of the head and tail animations for both lines +private const val FIRST_LINE_HEAD_DURATION = 750 +private const val FIRST_LINE_TAIL_DURATION = 850 +private const val SECOND_LINE_HEAD_DURATION = 567 +private const val SECOND_LINE_TAIL_DURATION = 533 + +// Delay before the start of the head and tail animations for both lines +private const val FIRST_LINE_HEAD_DELAY = 0 +private const val FIRST_LINE_TAIL_DELAY = 333 +private const val SECOND_LINE_HEAD_DELAY = 1000 +private const val SECOND_LINE_TAIL_DELAY = 1267 + +private val FIRST_LINE_HEAD_EASING = CubicBezierEasing(0.2f, 0f, 0.8f, 1f) +private val FIRST_LINE_TAIL_EASING = CubicBezierEasing(0.4f, 0f, 1f, 1f) +private val SECOND_LINE_HEAD_EASING = CubicBezierEasing(0f, 0f, 0.65f, 1f) +private val SECOND_LINE_TAIL_EASING = CubicBezierEasing(0.1f, 0f, 0.45f, 1f) + // region Preview @Preview(showBackground = true, widthDp = 360) @Preview(showBackground = true, widthDp = 360, uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable private fun LinearProgressIndicator_Preview() { TangemThemePreview { - LinearProgressIndicator( - progress = { 0.5f }, - modifier = Modifier.fillMaxWidth(), - ) + Column( + modifier = Modifier + .background(TangemTheme.colors.background.secondary) + .padding(12.dp), + verticalArrangement = Arrangement.spacedBy(12.dp), + ) { + TangemLinearProgressIndicator( + progress = { 0.6f }, + modifier = Modifier.fillMaxWidth(), + color = TangemTheme.colors.icon.primary1, + backgroundColor = TangemTheme.colors.background.tertiary, + ) + TangemLinearProgressIndicator( + modifier = Modifier.fillMaxWidth(), + color = TangemTheme.colors.icon.primary1, + backgroundColor = TangemTheme.colors.background.tertiary, + ) + } } } // endregion \ No newline at end of file diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/ui/components/PricePerformanceBlock.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/ui/components/PricePerformanceBlock.kt index 1c63ecd0b4..4486732b67 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/ui/components/PricePerformanceBlock.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/ui/components/PricePerformanceBlock.kt @@ -17,7 +17,7 @@ import com.tangem.core.ui.components.SpacerW8 import com.tangem.core.ui.components.TextShimmer import com.tangem.core.ui.components.block.information.InformationBlock import com.tangem.core.ui.components.buttons.segmentedbutton.SegmentedButtons -import com.tangem.core.ui.components.progressbar.LinearProgressIndicator +import com.tangem.core.ui.components.progressbar.TangemLinearProgressIndicator import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemAnimations @@ -116,7 +116,7 @@ private fun Content(state: PricePerformanceUM.Value, modifier: Modifier = Modifi color = TangemTheme.colors.text.tertiary, ) } - LinearProgressIndicator( + TangemLinearProgressIndicator( modifier = Modifier .height(TangemTheme.dimens.size6) .fillMaxWidth(), diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/stepper/impl/ui/OnboardingStepper.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/stepper/impl/ui/OnboardingStepper.kt index a22c50812e..50136e9d10 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/stepper/impl/ui/OnboardingStepper.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/stepper/impl/ui/OnboardingStepper.kt @@ -1,5 +1,6 @@ package com.tangem.features.onboarding.v2.stepper.impl.ui +import android.content.res.Configuration import androidx.compose.animation.core.LinearEasing import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.core.tween @@ -15,7 +16,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.tangem.core.ui.components.appbar.TangemTopAppBar import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM -import com.tangem.core.ui.components.progressbar.LinearProgressIndicator +import com.tangem.core.ui.components.progressbar.TangemLinearProgressIndicator import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.res.TangemAnimations import com.tangem.core.ui.res.TangemTheme @@ -59,7 +60,7 @@ internal fun OnboardingStepper( modifier = modifier, ) - LinearProgressIndicator( + TangemLinearProgressIndicator( modifier = Modifier .alpha(progressAlpha) .padding(horizontal = 16.dp) @@ -67,15 +68,16 @@ internal fun OnboardingStepper( .fillMaxWidth(), progress = { animatedIndicatorFraction }, color = TangemTheme.colors.icon.primary1, - backgroundColor = TangemTheme.colors.background.tertiary, + backgroundColor = TangemTheme.colors.icon.primary1.copy(alpha = 0.4f), strokeCap = StrokeCap.Round, ) } } @Preview +@Preview(uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable -private fun Preview() { +private fun OnboardingStepper_Preview() { TangemThemePreview { Box( Modifier diff --git a/features/onboarding/src/main/java/com/tangem/feature/onboarding/api/OnboardingSeedPhraseScreen.kt b/features/onboarding/src/main/java/com/tangem/feature/onboarding/api/OnboardingSeedPhraseScreen.kt index 6db1217109..51d9740d8c 100644 --- a/features/onboarding/src/main/java/com/tangem/feature/onboarding/api/OnboardingSeedPhraseScreen.kt +++ b/features/onboarding/src/main/java/com/tangem/feature/onboarding/api/OnboardingSeedPhraseScreen.kt @@ -1,10 +1,14 @@ package com.tangem.feature.onboarding.api import androidx.activity.compose.BackHandler -import androidx.compose.foundation.layout.* -import androidx.compose.material.LinearProgressIndicator +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.StrokeCap +import com.tangem.core.ui.components.progressbar.TangemLinearProgressIndicator import com.tangem.core.ui.res.TangemTheme import com.tangem.feature.onboarding.presentation.wallet2.model.OnboardingSeedPhraseState import com.tangem.feature.onboarding.presentation.wallet2.ui.* @@ -19,31 +23,22 @@ class OnboardingSeedPhraseScreen : OnboardingSeedPhraseApi { override fun ScreenContent(uiState: OnboardingSeedPhraseState, subScreen: SeedPhraseScreen, progress: Float) { BackHandler(onBack = uiState.onBackClick) Column { - ProgressIndicator(progress) + TangemLinearProgressIndicator( + progress = { progress }, + color = TangemTheme.colors.icon.primary1, + backgroundColor = TangemTheme.colors.icon.primary1.copy(alpha = 0.4f), + strokeCap = StrokeCap.Round, + modifier = Modifier + .fillMaxWidth() + .wrapContentHeight() + .padding(top = TangemTheme.dimens.size8) + .padding(horizontal = TangemTheme.dimens.size16), + ) Content(subScreen, uiState) } } } -@Composable -private fun ProgressIndicator(progress: Float) { - Box( - modifier = Modifier - .fillMaxWidth() - .wrapContentHeight() - .padding(top = TangemTheme.dimens.size8), - ) { - LinearProgressIndicator( - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = TangemTheme.dimens.size16), - color = TangemTheme.colors.background.action, - backgroundColor = TangemTheme.colors.background.action.copy(alpha = 0.081f), - progress = progress, - ) - } -} - @Composable private fun Content(screen: SeedPhraseScreen, uiState: OnboardingSeedPhraseState) { when (screen) { diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/ProviderItem.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/ProviderItem.kt index 7e1c08759d..d743a4ebda 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/ProviderItem.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/ProviderItem.kt @@ -5,9 +5,9 @@ import androidx.compose.animation.AnimatedContent import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* -import androidx.compose.material.CircularProgressIndicator -import androidx.compose.material.Icon -import androidx.compose.material.Text +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Icon +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/express/exchange/ExchangeStatusBlock.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/express/exchange/ExchangeStatusBlock.kt index 7e0091568c..33fcbc4cf8 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/express/exchange/ExchangeStatusBlock.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/express/exchange/ExchangeStatusBlock.kt @@ -8,8 +8,8 @@ import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.CircleShape -import androidx.compose.material.CircularProgressIndicator -import androidx.compose.material.Icon +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.Icon import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment From 6eee08b9eb08b23ead17a6d02f380fccb126d7a6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Jan 2025 14:05:05 +0500 Subject: [PATCH 12/61] Updated on 2026-08-14 --- .../com/tangem/core/ui/components/Cards.kt | 541 +----------------- .../com/tangem/core/ui/components/Warnings.kt | 209 ------- .../swap/models/states/SwapNotificationUM.kt | 2 +- .../presentation/SwapNotificationsFactory.kt | 6 +- .../tangem/feature/swap/ui/StateBuilder.kt | 1 - .../feature/swap/ui/SwapScreenContent.kt | 28 +- 6 files changed, 24 insertions(+), 763 deletions(-) delete mode 100644 core/ui/src/main/java/com/tangem/core/ui/components/Warnings.kt diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/Cards.kt b/core/ui/src/main/java/com/tangem/core/ui/components/Cards.kt index 380c6bd97b..27c758f8b7 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/components/Cards.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/components/Cards.kt @@ -1,121 +1,20 @@ package com.tangem.core.ui.components import android.content.res.Configuration -import androidx.compose.foundation.Image import androidx.compose.foundation.background -import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Divider -import androidx.compose.material.Icon -import androidx.compose.material.Surface -import androidx.compose.material.Text +import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.Dp import com.tangem.core.ui.R -import com.tangem.core.ui.components.states.Item -import com.tangem.core.ui.components.states.SelectableItemsState -import com.tangem.core.ui.extensions.TextReference -import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.res.TangemThemePreview import com.tangem.core.ui.res.TangemTheme -import com.valentinilk.shimmer.shimmer -import kotlinx.collections.immutable.toImmutableList - -/** - * Small card with text information attached to the edges - * - * @param startText text information attached to the left edge - * @param endText text information attached to the right edge - * @param isLoading if true, shimmer is shown instead of [startText] and [endText] - * - * @see Figma component - */ -@Composable -fun SmallInfoCard(startText: String, endText: String, isLoading: Boolean = false) { - Surface( - shape = RoundedCornerShape(TangemTheme.dimens.radius12), - color = TangemTheme.colors.background.primary, - elevation = TangemTheme.dimens.elevation2, - ) { - CardInfoBox( - startText = startText, - endText = endText, - isLoading = isLoading, - disclaimer = null, - ) - } -} - -/** - * Small card with text information attached to the edges - * - * @param startText text information attached to the left edge - * @param endText text information attached to the right edge - * @param disclaimer closable description text - * @param isLoading if true, shimmer is shown instead of [startText] and [endText] - * - * @see Figma component - */ -@Composable -fun SmallInfoCardWithDisclaimer(startText: String, endText: String, disclaimer: String, isLoading: Boolean = false) { - Surface( - shape = RoundedCornerShape(TangemTheme.dimens.radius12), - color = TangemTheme.colors.background.primary, - elevation = TangemTheme.dimens.elevation2, - ) { - CardInfoBox( - startText = startText, - endText = endText, - isLoading = isLoading, - disclaimer = disclaimer, - ) - } -} - -/** - * [SmallInfoCard] with warning information shown underneath it. - * - * @param startText text information attached to the left edge - * @param endText text information attached to the right edge - * @param warningText text of the warning - * @param disclaimer closable description text - * - * @see Figma component - */ -@Composable -fun SmallInfoCardWithWarning(startText: String, endText: String, warningText: String, disclaimer: String? = null) { - Surface( - shape = RoundedCornerShape(TangemTheme.dimens.size12), - color = TangemTheme.colors.background.primary, - elevation = TangemTheme.dimens.elevation2, - ) { - Column( - modifier = Modifier.fillMaxWidth(), - verticalArrangement = Arrangement.Center, - horizontalAlignment = Alignment.CenterHorizontally, - ) { - CardInfoBox(startText = startText, endText = endText, disclaimer = disclaimer) - - Divider( - color = TangemTheme.colors.stroke.primary, - thickness = TangemTheme.dimens.size0_5, - modifier = Modifier.padding(horizontal = TangemTheme.dimens.spacing12), - ) - - WarningItem(warningText = warningText) - } - } -} /** * Small card with an icon to the left and title with description shown to the right of it. @@ -140,7 +39,8 @@ fun CardWithIcon( Surface( shape = RoundedCornerShape(TangemTheme.dimens.radius12), color = TangemTheme.colors.background.primary, - elevation = TangemTheme.dimens.elevation2, + tonalElevation = TangemTheme.dimens.elevation2, + shadowElevation = TangemTheme.dimens.elevation2, ) { IconWithTitleAndDescription( title = title, @@ -223,393 +123,12 @@ internal fun IconWithTitleAndDescription( } } -/** - * Card with text information attached to the edges and selectable items - * - * @param state state of block with items - * @param isLoading if true, shimmer is shown instead of data - * @param disclaimer description text - * @param onSelect listener on item selection - * - * @see Figma component - */ -@Composable -fun SelectableInfoCard( - state: SelectableItemsState, - onSelect: (Item) -> Unit, - isLoading: Boolean = false, - disclaimer: String? = null, -) { - Surface( - shape = RoundedCornerShape(TangemTheme.dimens.radius12), - color = TangemTheme.colors.background.primary, - elevation = TangemTheme.dimens.elevation2, - ) { - SelectableInfoBlock( - state = state, - isLoading = isLoading, - disclaimer = disclaimer, - onSelect = onSelect, - ) - } -} - -/** - * Card with text information attached to the edges, selectable items and warning - * - * @param state state of block with items - * @param isLoading if true, shimmer is shown instead of data - * @param disclaimer description text - * @param onSelect listener on item selection - * - * @see Figma component - */ -@Composable -fun SelectableInfoCardWithWarning( - state: SelectableItemsState, - warningText: String, - onSelect: (Item) -> Unit, - isLoading: Boolean = false, - disclaimer: String? = null, -) { - Surface( - shape = RoundedCornerShape(TangemTheme.dimens.radius12), - color = TangemTheme.colors.background.primary, - elevation = TangemTheme.dimens.elevation2, - ) { - SelectableInfoBlock( - state = state, - isLoading = isLoading, - disclaimer = disclaimer, - warningText = warningText, - onSelect = onSelect, - ) - } -} - -// region elements - -@Composable -private fun CardInfoBox(startText: String, endText: String, disclaimer: String?, isLoading: Boolean = false) { - val isOpened = remember { mutableStateOf(false) } - Column { - Row( - modifier = Modifier - .fillMaxWidth() - .heightIn(TangemTheme.dimens.size48) - .clickable { isOpened.value = !isOpened.value } - .padding( - horizontal = TangemTheme.dimens.spacing16, - vertical = TangemTheme.dimens.spacing12, - ), - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically, - ) { - Text( - text = startText, - color = TangemTheme.colors.text.tertiary, - maxLines = 1, - style = TangemTheme.typography.subtitle2, - ) - - if (isLoading) { - ShimmerItem(width = TangemTheme.dimens.size40, height = TangemTheme.dimens.size12) - } else { - Row { - Text( - text = endText, - color = TangemTheme.colors.text.primary1, - maxLines = 1, - style = TangemTheme.typography.body2, - ) - if (disclaimer != null) { - val chevronIcon = if (isOpened.value) { - painterResource(id = R.drawable.ic_chevron_up_24) - } else { - painterResource(id = R.drawable.ic_chevron_24) - } - Icon( - modifier = Modifier.size(TangemTheme.dimens.size20), - painter = chevronIcon, - tint = TangemTheme.colors.icon.primary1, - contentDescription = null, - ) - } - } - } - } - if (isOpened.value && disclaimer != null) { - DisclaimerItem(disclaimer) - } - } -} - -@Suppress("LongMethod") -@Composable -private fun SelectableInfoBlock( - state: SelectableItemsState, - onSelect: (Item) -> Unit, - isLoading: Boolean = false, - disclaimer: String? = null, - warningText: String? = null, -) { - var isOpened by remember { mutableStateOf(false) } - Column { - if (isLoading) { - ShimmerItem(width = TangemTheme.dimens.size40, height = TangemTheme.dimens.size12) - } else { - val selectedItem = state.selectedItem - Row( - modifier = Modifier - .fillMaxWidth() - .heightIn(TangemTheme.dimens.size48) - .clickable { isOpened = !isOpened } - .padding( - horizontal = TangemTheme.dimens.spacing16, - vertical = TangemTheme.dimens.spacing12, - ), - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically, - ) { - Text( - text = selectedItem.startText.resolveReference(), - color = TangemTheme.colors.text.tertiary, - maxLines = 1, - style = TangemTheme.typography.subtitle2, - ) - - Row { - Text( - text = selectedItem.endText.resolveReference(), - color = TangemTheme.colors.text.primary1, - maxLines = 1, - style = TangemTheme.typography.body2, - ) - val chevronIcon = if (isOpened) { - painterResource(id = R.drawable.ic_chevron_up_24) - } else { - painterResource(id = R.drawable.ic_chevron_24) - } - Icon( - modifier = Modifier.size(TangemTheme.dimens.size20), - painter = chevronIcon, - tint = TangemTheme.colors.icon.primary1, - contentDescription = null, - ) - } - } - - Divider( - color = TangemTheme.colors.stroke.primary, - thickness = TangemTheme.dimens.size0_5, - modifier = Modifier.padding(horizontal = TangemTheme.dimens.spacing12), - ) - - if (isOpened) { - state.items.forEach { item -> - SelectableItem(item) { - onSelect.invoke(item) - } - Divider( - color = TangemTheme.colors.stroke.primary, - thickness = TangemTheme.dimens.size0_5, - modifier = Modifier.padding(horizontal = TangemTheme.dimens.spacing12), - ) - } - if (disclaimer != null) { - DisclaimerItem(disclaimer) - Divider( - color = TangemTheme.colors.stroke.primary, - thickness = TangemTheme.dimens.size0_5, - modifier = Modifier.padding(horizontal = TangemTheme.dimens.spacing12), - ) - } - } - if (warningText?.isNotEmpty() == true) { - WarningItem(warningText = warningText) - } - } - } -} - -@Composable -private fun SelectableItem(item: Item, onSelect: () -> Unit) { - Row( - modifier = Modifier - .fillMaxWidth() - .heightIn(TangemTheme.dimens.size48) - .clickable { onSelect() } - .padding( - horizontal = TangemTheme.dimens.spacing16, - vertical = TangemTheme.dimens.spacing12, - ), - horizontalArrangement = Arrangement.SpaceBetween, - verticalAlignment = Alignment.CenterVertically, - ) { - Text( - text = item.startText.resolveReference(), - color = TangemTheme.colors.text.primary1, - maxLines = 1, - style = TangemTheme.typography.subtitle2, - ) - - Row( - verticalAlignment = Alignment.CenterVertically, - ) { - Text( - text = item.endText.resolveReference(), - color = TangemTheme.colors.text.primary1, - maxLines = 1, - style = TangemTheme.typography.body2, - ) - val size = TangemTheme.dimens.size24 - if (item.isSelected) { - Icon( - modifier = Modifier.size(size), - painter = painterResource(id = R.drawable.ic_check_24), - tint = TangemTheme.colors.icon.accent, - contentDescription = null, - ) - } else { - SpacerW(width = size) - } - } - } -} - -@Composable -private fun ShimmerItem(width: Dp, height: Dp) { - Box( - modifier = Modifier - .size(width = width, height = height) - .shimmer() - .background( - color = TangemTheme.colors.button.secondary, - shape = RoundedCornerShape(TangemTheme.dimens.radius3), - ), - ) -} - -@Composable -private fun DisclaimerItem(disclaimer: String) { - Divider( - color = TangemTheme.colors.stroke.primary, - thickness = TangemTheme.dimens.size0_5, - modifier = Modifier.padding(horizontal = TangemTheme.dimens.spacing12), - ) - - Row( - modifier = Modifier - .fillMaxWidth() - .padding( - top = TangemTheme.dimens.spacing14, - bottom = TangemTheme.dimens.spacing16, - start = TangemTheme.dimens.spacing16, - end = TangemTheme.dimens.spacing16, - ), - horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.CenterVertically, - ) { - Box( - modifier = Modifier - .background( - color = TangemTheme.colors.background.secondary, - shape = CircleShape, - ) - .height(TangemTheme.dimens.size40) - .width(TangemTheme.dimens.size40), - contentAlignment = Alignment.Center, - ) { - Icon( - painter = painterResource(id = R.drawable.ic_heart_24), - tint = TangemTheme.colors.icon.secondary, - contentDescription = null, - ) - } - SpacerW12() - Text( - text = disclaimer, - color = TangemTheme.colors.text.tertiary, - style = TangemTheme.typography.body2, - ) - } -} - -@Composable -private fun WarningItem(warningText: String) { - Row( - modifier = Modifier - .fillMaxWidth() - .padding( - top = TangemTheme.dimens.spacing14, - bottom = TangemTheme.dimens.spacing16, - start = TangemTheme.dimens.spacing16, - end = TangemTheme.dimens.spacing16, - ), - horizontalArrangement = Arrangement.Center, - verticalAlignment = Alignment.CenterVertically, - ) { - Box( - modifier = Modifier - .background( - color = TangemTheme.colors.background.secondary, - shape = CircleShape, - ) - .height(TangemTheme.dimens.size40) - .width(TangemTheme.dimens.size40), - contentAlignment = Alignment.Center, - ) { - Image( - painter = painterResource(id = R.drawable.img_attention_20), - contentDescription = null, - ) - } - SpacerW12() - Text( - text = warningText, - color = TangemTheme.colors.text.primary1, - style = TangemTheme.typography.body2, - ) - } -} - -// endregion elements - // region Preview - -@Suppress("MagicNumber") +@Preview(widthDp = 360, showBackground = true) +@Preview(widthDp = 360, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) @Composable -private fun CardsPreview() { - Column(modifier = Modifier.fillMaxWidth()) { - SmallInfoCard( - startText = "Balance", - endText = "0.4405434 BTC", - ) - - SpacerH32() - - SmallInfoCardWithDisclaimer( - startText = "Balance", - endText = "0.4405434 BTC", - disclaimer = "Not enough funds for fee on your Polygon wallet to create a transaction." + - "Top up your Polygon wallet first.", - ) - - SpacerH32() - - SmallInfoCardWithWarning( - startText = "Balance", - endText = "0.4405434 BTC", - warningText = "Not enough funds for fee on your Polygon wallet to create a transaction. " + - "Top up your Polygon wallet first.", - disclaimer = "Not enough funds for fee on your Polygon wallet to create a transaction." + - "Top up your Polygon wallet first.", - ) - - SpacerH32() - +private fun Preview_CardWithIcon() { + TangemThemePreview { CardWithIcon( title = "Permit is valid until", description = "26:30", @@ -621,52 +140,6 @@ private fun CardsPreview() { ) }, ) - - SpacerH32() - - val state = SelectableItemsState( - selectedItem = Item(0, TextReference.Str("Balance"), TextReference.Str("0.4405434 BTC"), true, ""), - items = listOf( - Item(0, TextReference.Str("Normal"), TextReference.Str("0.4405434 BTC"), true, ""), - Item(1, TextReference.Str("Priority"), TextReference.Str("0.46 BTC"), false, ""), - ).toImmutableList(), - ) - SelectableInfoCard( - state = state, - isLoading = false, - disclaimer = "Not enough funds for fee on your Polygon wallet to create a transaction", - onSelect = {}, - ) - - SpacerH32() - - SelectableInfoCardWithWarning( - state = state, - isLoading = false, - warningText = "Not enough funds for fee on your Polygon wallet to create a transaction. " + - "Top up your Polygon wallet first.", - disclaimer = "Not enough funds for fee on your Polygon wallet to create a transaction", - onSelect = {}, - ) - } -} - -@Preview(showBackground = true) -@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun Preview_Cards() { - TangemThemePreview { - CardsPreview() - } -} - -@Preview(widthDp = 328, heightDp = 48, showBackground = true) -@Preview(widthDp = 328, heightDp = 48, showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun Preview_SimpleInfoCard() { - TangemThemePreview { - SmallInfoCard(startText = "Balance", endText = "0.4405434 BTC") - SmallInfoCardWithDisclaimer(startText = "Balance", endText = "0.4405434 BTC", disclaimer = "test") } } // endregion Preview \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/components/Warnings.kt b/core/ui/src/main/java/com/tangem/core/ui/components/Warnings.kt deleted file mode 100644 index cee6370513..0000000000 --- a/core/ui/src/main/java/com/tangem/core/ui/components/Warnings.kt +++ /dev/null @@ -1,209 +0,0 @@ -package com.tangem.core.ui.components - -import android.content.res.Configuration -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.material.Card -import androidx.compose.material.ExperimentalMaterialApi -import androidx.compose.material.Icon -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.tooling.preview.Preview -import com.tangem.core.ui.R -import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.core.ui.res.TangemTheme - -/** - * A card with a warning icon to the left and title with description shown to the right of it. - * - * @param title title of the warning in bold - * @param description description of the warning - * - * @see Figma component - */ -@Composable -fun WarningCard(title: String, description: String, icon: @Composable (() -> Unit)? = null) { - WarningCardSurface( - content = { - WarningBody( - title = title, - description = description, - icon = icon, - ) - }, - ) -} - -/** - * A card with a warning icon to the left and title without description shown to the right of it. - * - * @param title title of the warning in bold - * - * @see Figma component - */ -@Composable -fun WarningCardTitleOnly(title: String, icon: @Composable (() -> Unit)? = null) { - WarningCardMaterial3Style( - content = { - WarningBody( - title = title, - description = null, - icon = icon, - iconBackground = TangemTheme.colors.button.disabled, - ) - }, - ) -} - -/** - * [WarningCard], but clickable (with an 'greater then' icon to the left) - * - * @param title title of the warning in bold - * @param description description of the warning - * @param onClick action to be performed when warning is clicked - * - * @see Figma component - */ -@Composable -fun ClickableWarningCard( - title: String, - description: String, - icon: @Composable (() -> Unit)? = null, - onClick: () -> Unit, -) { - WarningCardSurface( - content = { - WarningBody(title = title, description = description, icon = icon) { - SpacerW12() - Icon( - painter = painterResource(id = R.drawable.ic_chevron_right_24), - tint = TangemTheme.colors.icon.informative, - contentDescription = null, - ) - } - }, - onClick = onClick, - ) -} - -/** - * [WarningCard], but clickable and with a 'refresh' icon at the right edge - * - * @param title title of the warning in bold - * @param description description of the warning - * @param onClick action to be performed when warning is clicked - * - * @see Figma component - */ -@Composable -fun RefreshableWarningCard( - title: String, - description: String, - icon: @Composable (() -> Unit)? = null, - onClick: () -> Unit, -) { - WarningCardSurface( - content = { - WarningBody(title = title, description = description, icon = icon) { - SpacerW12() - Icon( - painter = painterResource(id = R.drawable.ic_refresh_24), - tint = TangemTheme.colors.icon.primary1, - contentDescription = null, - ) - } - }, - onClick = onClick, - ) -} - -// region elements - -@Composable -private fun WarningBody( - title: String, - description: String?, - iconBackground: Color = TangemTheme.colors.background.secondary, - icon: @Composable (() -> Unit)? = null, - additionalContent: @Composable () -> Unit = {}, -) { - IconWithTitleAndDescription( - title = title, - description = description, - additionalContent = additionalContent, - icon = icon ?: { - Image( - painter = painterResource(id = R.drawable.img_attention_20), - contentDescription = null, - ) - }, - iconBackground = iconBackground, - ) -} - -@OptIn(ExperimentalMaterialApi::class) -@Composable -private fun WarningCardSurface(onClick: (() -> Unit)? = null, content: @Composable () -> Unit) { - Card( - shape = RoundedCornerShape(TangemTheme.dimens.size12), - backgroundColor = TangemTheme.colors.background.primary, - elevation = TangemTheme.dimens.elevation2, - onClick = onClick ?: {}, - enabled = onClick != null, - ) { - content() - } -} - -@OptIn(ExperimentalMaterialApi::class) -@Composable -private fun WarningCardMaterial3Style(onClick: (() -> Unit)? = null, content: @Composable () -> Unit) { - Card( - shape = RoundedCornerShape(TangemTheme.dimens.radius16), - backgroundColor = TangemTheme.colors.button.disabled, - elevation = TangemTheme.dimens.elevation0, - onClick = onClick ?: {}, - enabled = onClick != null, - ) { - content() - } -} - -// endregion elements - -// region Preview - -@Preview(showBackground = true) -@Preview(showBackground = true, uiMode = Configuration.UI_MODE_NIGHT_YES) -@Composable -private fun WarningsPreview() { - TangemThemePreview { - Column(modifier = Modifier.fillMaxWidth()) { - WarningCard( - title = "Exchange rate has expired", - description = "To access all the networks, you need to scan the card.", - ) - SpacerH32() - ClickableWarningCard( - title = "Exchange rate has expired", - description = "To access all the networks, you need to scan the card.", - onClick = {}, - ) - SpacerH32() - RefreshableWarningCard( - title = "Exchange rate has expired", - description = "To access all the networks, you need to scan the card.", - onClick = {}, - ) - } - } -} -// endregion Preview \ No newline at end of file diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/models/states/SwapNotificationUM.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/models/states/SwapNotificationUM.kt index 7736b9a69d..bf1bfae85a 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/models/states/SwapNotificationUM.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/models/states/SwapNotificationUM.kt @@ -35,7 +35,7 @@ internal object SwapNotificationUM { title = title, subtitle = subtitle ?: resourceReference(id = R.string.common_unknown_error), buttonState = NotificationConfig.ButtonsState.PrimaryButtonConfig( - text = resourceReference(R.string.common_ok), + text = resourceReference(R.string.common_retry), onClick = onConfirmClick, ), ) diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/presentation/SwapNotificationsFactory.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/presentation/SwapNotificationsFactory.kt index 401f98e20f..202f7100a6 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/presentation/SwapNotificationsFactory.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/presentation/SwapNotificationsFactory.kt @@ -43,19 +43,15 @@ internal class SwapNotificationsFactory( } fun getGeneralErrorStateNotifications( - notifications: ImmutableList, message: TextReference?, onClick: () -> Unit, ): ImmutableList { - val updatedNotifications = notifications.toMutableList() - updatedNotifications.add( + return persistentListOf( SwapNotificationUM.Error.GenericError( subtitle = message, onConfirmClick = onClick, ), ) - - return updatedNotifications.toPersistentList() } fun getNotAvailableStateNotifications(fromCurrencyName: String): ImmutableList { diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt index 2cbb63b407..0a7f59c547 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/StateBuilder.kt @@ -911,7 +911,6 @@ internal class StateBuilder( fun addNotification(uiState: SwapStateHolder, message: TextReference?, onClick: () -> Unit): SwapStateHolder { return uiState.copy( notifications = notificationsFactory.getGeneralErrorStateNotifications( - notifications = uiState.notifications, message = message, onClick = onClick, ), diff --git a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt index deecc7282f..5744e49278 100644 --- a/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt +++ b/features/swap/presentation/src/main/java/com/tangem/feature/swap/ui/SwapScreenContent.kt @@ -8,7 +8,7 @@ import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.shape.CircleShape import androidx.compose.foundation.text.ClickableText import androidx.compose.foundation.verticalScroll -import androidx.compose.material.* +import androidx.compose.material3.* import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.ui.Alignment @@ -21,6 +21,7 @@ import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.withStyle import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import androidx.constraintlayout.compose.ConstraintLayout import com.tangem.common.ui.bottomsheet.permission.state.GiveTxPermissionState import com.tangem.common.ui.notifications.NotificationUM @@ -256,14 +257,20 @@ private fun getAnnotatedStringForLegalsWithClick( } } -@OptIn(ExperimentalMaterialApi::class) @Composable private fun SwapButton(state: SwapStateHolder, modifier: Modifier = Modifier) { Card( - elevation = TangemTheme.dimens.elevation3, + elevation = CardDefaults.cardElevation( + defaultElevation = 2.dp, + pressedElevation = 2.dp, + ), shape = CircleShape, - backgroundColor = TangemTheme.colors.background.action, - contentColor = TangemTheme.colors.text.primary1, + colors = CardDefaults.cardColors( + containerColor = TangemTheme.colors.background.action, + disabledContainerColor = TangemTheme.colors.background.action, + contentColor = TangemTheme.colors.text.primary1, + disabledContentColor = TangemTheme.colors.text.primary1, + ), modifier = modifier.size(TangemTheme.dimens.size48), onClick = state.onChangeCardsClicked, enabled = state.changeCardsButtonState == ChangeCardsButtonState.ENABLED, @@ -308,13 +315,6 @@ private fun SwapNotifications(notifications: List) { ) { notifications.forEach { notification -> when (notification) { - is SwapNotificationUM.Error.GenericError -> { - RefreshableWarningCard( - title = notification.title.resolveReference(), - description = notification.config.subtitle.resolveReference(), - onClick = notification.onConfirmClick, - ) - } is SwapNotificationUM.Error.ApprovalInProgressWarning, is SwapNotificationUM.Error.TransactionInProgressWarning, -> { @@ -341,7 +341,9 @@ private fun SwapNotifications(notifications: List) { is NotificationUM.Info, is NotificationUM.Warning, -> null - is NotificationUM.Error -> TangemTheme.colors.icon.warning + is SwapNotificationUM.Error.GenericError, + is NotificationUM.Error, + -> TangemTheme.colors.icon.warning }, ) } From 5863b5af2ac0e180e1fe25ecd180be4d82be5ad1 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 15 Jan 2025 12:05:53 +0500 Subject: [PATCH 13/61] Updated on 2026-08-14 --- app/build.gradle.kts | 7 +- app/proguard-rules.pro | 223 ++++++++++++++++-- .../model/UserWalletInformation.kt | 9 + .../walletconnect2/domain/WcJrpcMethods.kt | 2 + .../walletconnect2/domain/models/Account.kt | 15 +- .../walletconnect2/domain/models/Session.kt | 7 + .../models/binance/WcBinanceCancelOrder.kt | 23 +- .../domain/models/binance/WcBinanceOrder.kt | 19 -- .../models/binance/WcBinanceTradeOrder.kt | 34 ++- .../models/binance/WcBinanceTransferOrder.kt | 33 ++- .../models/binance/WcBinanceTxConfirmParam.kt | 13 + .../exchangeServices/mercuryo/MercuryoApi.kt | 15 +- .../exchangeServices/moonpay/MoonPayApi.kt | 22 +- .../common/ui/charts/layer/ChartMarker.kt | 47 ++-- core/config-toggles/build.gradle.kts | 4 +- core/datasource/build.gradle.kts | 5 + .../datasource/api/common/config/ApiConfig.kt | 1 + .../api/common/config/ApiEnvironment.kt | 13 +- .../datasource/api/common/config/Express.kt | 4 +- .../models/request/AssetsRequestBody.kt | 2 + .../models/request/ExchangeSentRequestBody.kt | 2 + .../express/models/request/LeastTokenInfo.kt | 2 + .../models/request/PairsRequestBody.kt | 2 + .../api/express/models/response/Asset.kt | 2 + .../models/response/ExchangeDataResponse.kt | 8 + .../models/response/ExchangeProvider.kt | 3 + .../models/response/ExchangeQuoteResponse.kt | 2 + .../response/ExchangeSentResponseBody.kt | 2 + .../models/response/ExchangeStatusResponse.kt | 4 + .../models/response/ExpressErrorResponse.kt | 4 + .../api/express/models/response/SwapPair.kt | 4 + .../models/response/OnrampDataResponse.kt | 3 + .../models/response/OnrampStatusResponse.kt | 1 + .../models/request/ActionRequestBody.kt | 6 + .../api/stakekit/models/request/Address.kt | 3 + .../ConstructTransactionRequestBody.kt | 3 + .../MultipleYieldBalancesRequestBody.kt | 5 + .../stakekit/models/request/RevenueOption.kt | 9 +- .../SubmitTransactionHashRequestBody.kt | 2 + .../models/request/YieldBalanceRequestBody.kt | 3 + .../models/response/model/NetworkTypeDTO.kt | 2 + .../response/model/YieldBalanceWrapperDTO.kt | 1 + .../models/response/model/YieldDTO.kt | 5 +- .../model/action/StakingActionStatusDTO.kt | 2 + .../model/action/StakingActionTypeDTO.kt | 2 + .../model/error/StakeKitErrorResponse.kt | 3 + .../StakingTransactionStatusDTO.kt | 2 + .../transaction/StakingTransactionTypeDTO.kt | 2 + .../api/tangemTech/models/CoinsResponse.kt | 4 + .../models/CreateUserTokensAccountBody.kt | 2 + .../tangemTech/models/CurrenciesResponse.kt | 4 +- .../api/tangemTech/models/FeaturesResponse.kt | 2 + .../api/tangemTech/models/QuotesResponse.kt | 3 + .../api/tangemTech/models/RatesResponse.kt | 2 + .../api/tangemTech/models/ReferralResponse.kt | 9 + .../api/tangemTech/models/SalesResponse.kt | 5 + .../api/tangemTech/models/ShopResponse.kt | 2 + .../tangemTech/models/StartReferralBody.kt | 2 + .../models/UpdateUserTokensAccountBody.kt | 2 + .../models/UserTokensAccountResponse.kt | 2 + .../tangemTech/models/UserTokensResponse.kt | 5 + .../models/UserTokensSettingsResponse.kt | 2 + .../models/v2/UserTokensResponseV2.kt | 3 + .../datasource/local/card/UsedCardInfo.kt | 8 + .../config/providers/models/ProviderModel.kt | 3 + .../managers/ProdApiConfigsManagerTest.kt | 9 +- data/manage-tokens/build.gradle.kts | 4 + data/markets/build.gradle.kts | 4 + data/onramp/build.gradle.kts | 6 + data/settings/build.gradle.kts | 4 + data/staking/build.gradle.kts | 4 + data/tokens/build.gradle.kts | 4 + data/visa/build.gradle.kts | 4 + .../com/tangem/data/visa/config/VisaConfig.kt | 4 + domain/analytics/build.gradle.kts | 3 + .../analytics/model/WalletBalanceState.kt | 10 +- .../serialization/BigDecimalSerializer.kt | 2 +- domain/legacy/build.gradle.kts | 4 + domain/legacy/proguard-rules.pro | 21 -- .../tangem/domain/common/BlockchainNetwork.kt | 4 + domain/models/build.gradle.kts | 4 + .../com/tangem/domain/models/scan/CardDTO.kt | 54 +++++ .../tangem/domain/models/scan/ScanResponse.kt | 22 +- domain/onramp/models/build.gradle.kts | 3 + .../domain/onramp/model/OnrampCurrency.kt | 8 + .../onramp/model/cache/OnrampTransaction.kt | 19 ++ domain/staking/models/build.gradle.kts | 6 + .../model/UnsubmittedTransactionMetadata.kt | 6 + domain/wallets/models/build.gradle.kts | 4 + .../domain/wallets/models/UserWallet.kt | 10 + .../domain/wallets/models/UserWalletId.kt | 8 +- features/qr-scanning/impl/proguard-rules.pro | 21 -- features/swap/data/build.gradle.kts | 4 + features/swap/domain/build.gradle.kts | 3 + features/swap/domain/models/build.gradle.kts | 4 + .../swap/domain/models/domain/Currency.kt | 36 --- .../domain/models/domain/ExchangeQuote.kt | 6 - .../domain/models/domain/ExchangeStatus.kt | 39 +++ .../domain/SavedLastSwappedCryptoCurrency.kt | 6 + .../domain/SavedSwapTransactionListModel.kt | 16 ++ .../domain/models/domain/SwapPairLeast.kt | 27 ++- .../domain/models/domain/TransactionModel.kt | 20 -- .../swap/domain/models/ui/TokensDataState.kt | 28 --- .../visa/VisaTxDetailsBottomSheet.kt | 39 +-- gradle/dependencies.toml | 8 +- libs/blockchain-sdk/build.gradle.kts | 4 + libs/visa/build.gradle.kts | 5 + .../lib/visa/model/VisaTxHistoryResponse.kt | 4 + .../extension/AppExtensionConfigurations.kt | 13 +- .../extension/DependencyHandler.kt | 25 ++ .../LibraryExtensionConfigurations.kt | 1 + .../plugin/configuration/model/BuildType.kt | 14 ++ 112 files changed, 919 insertions(+), 282 deletions(-) delete mode 100644 app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceOrder.kt create mode 100644 app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTxConfirmParam.kt delete mode 100644 domain/legacy/proguard-rules.pro delete mode 100644 features/qr-scanning/impl/proguard-rules.pro delete mode 100644 features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/Currency.kt delete mode 100644 features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeQuote.kt delete mode 100644 features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/TransactionModel.kt delete mode 100644 features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/ui/TokensDataState.kt create mode 100644 plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/DependencyHandler.kt diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 9c4e5fbd00..1c3f8708a3 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,4 +1,5 @@ import java.util.Properties +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants plugins { alias(deps.plugins.android.application) @@ -254,6 +255,10 @@ dependencies { implementation(deps.decompose.ext.compose) implementation(deps.moshi.adapters) + implementation(deps.moshi.kotlin) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) + /** Testing libraries */ testImplementation(deps.test.coroutine) testImplementation(deps.test.junit) @@ -271,6 +276,7 @@ dependencies { /** Chucker */ debugImplementation(deps.chucker) + debugPGImplementation(deps.chucker) mockedImplementation(deps.chuckerStub) externalImplementation(deps.chuckerStub) internalImplementation(deps.chuckerStub) @@ -292,5 +298,4 @@ dependencies { // excludes version 9999.0-empty-to-avoid-conflict-with-guava exclude(group = "com.google.guava", module = "listenablefuture") } - } \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 2f9dc5a47e..2a7b205c9d 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,21 +1,208 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle.kts. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html +-dontusemixedcaseclassnames +-flattenpackagehierarchy +-adaptclassstrings -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} +# firebase +-keep public class com.google.firebase.** { *; } +-keep class com.google.android.gms.internal.** { *; } +-keepclasseswithmembers class com.google.firebase.FirebaseException -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable +# hedera sdk +-keep class com.hedera.hashgraph.sdk.** { *; } +-keep interface com.hedera.hashgraph.sdk.** { *; } +-dontwarn com.esaulpaugh.headlong.** +-dontwarn edu.umd.cs.findbugs.annotations.SuppressFBWarnings +-dontwarn io.grpc.stub.** -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile +# trustwallet sdk +-keep class wallet.core.jni.** { *; } + +# solana +-keep class org.p2p.solanaj.** { *; } +-keep class com.tangem.blockchain.blockchains.solana.solanaj.model.** { *; } + +# binance +-keep class com.tangem.blockchain.blockchains.binance.client.** { *; } + +# shadow gson +-keep,allowobfuscation,allowshrinking class shadow.com.google.gson.reflect.TypeToken +-keep,allowobfuscation,allowshrinking class * extends shadow.com.google.gson.reflect.TypeToken + +# polkadot +-keep class io.emeraldpay.polkaj.api.RpcRequest { *; } +-keep class io.emeraldpay.polkaj.api.RpcResponse { *; } +-keep class io.emeraldpay.polkaj.api.RpcResponseError { *; } + +# kethereum +-keep class org.kethereum.bip32.model.ExtendedKey** +-keepclassmembers class org.kethereum.bip32.model.ExtendedKey** { *; } + +# some crypto +-dontwarn net.i2p.crypto.** +-dontwarn java.net.http.** +-dontwarn lombok.** + +-keep class org.spongycastle.** { *; } + +-dontwarn org.apache.hc.core5.** +-dontwarn org.apache.hc.client5.** +-dontwarn org.apache.log4j.config.** + +-dontwarn javax.naming.** +-dontwarn javax.xml.stream.** +-dontwarn javax.script.** + +-dontwarn org.java_websocket.client.WebSocketClient +-dontwarn org.java_websocket.handshake.ServerHandshake + +-dontwarn aQute.bnd.annotation.spi.ServiceProvider + +-dontwarn org.threeten.bp.** +-keep class org.threeten.bp.* +-keepclassmembers class org.threeten.bp.** { *; } + +# joda time +# These aren't necessary if including joda-convert +-dontwarn org.joda.convert.FromString +-dontwarn org.joda.convert.ToString + +-keepnames class org.joda.** implements java.io.Serializable +-keepclassmembers class org.joda.** implements java.io.Serializable { + static final long serialVersionUID; + private static final java.io.ObjectStreamField[] serialPersistentFields; + !static !transient ; + private void writeObject(java.io.ObjectOutputStream); + private void readObject(java.io.ObjectInputStream); + java.lang.Object writeReplace(); + java.lang.Object readResolve(); +} +# joda time + +# The name of @JsonClass types is used to look up the generated adapter. +-keepnames @com.squareup.moshi.JsonClass class * + +-keepclassmembers class * { + @com.squareup.moshi.FromJson ; + @com.squareup.moshi.ToJson ; +} + +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +-keep class kotlin.Metadata { *; } +-keepclassmembers class kotlin.Metadata { + public ; +} + +# Proguard configuration for Jackson 2.x +-keep class com.fasterxml.** { *; } +-keep class com.fasterxml.jackson.databind.ObjectMapper { + public ; + protected ; +} +-keep class com.fasterxml.jackson.databind.ObjectWriter { + public ** writeValueAsString(**); +} +-keepnames class com.fasterxml.jackson.** { *; } +-dontwarn com.fasterxml.jackson.databind.** +-keep class * implements com.fasterxml.jackson.core.type.TypeReference + +-keep class kotlin.reflect.** +-keep public class kotlin.reflect.jvm.internal.impl.** { public *; } + +# Kotlin serialization looks up the generated serializer classes through a function on companion +# objects. The companions are looked up reflectively so we need to explicitly keep these functions. +-keepclasseswithmembers class **.*$Companion { + kotlinx.serialization.KSerializer serializer(...); +} +# If a companion has the serializer function, keep the companion field on the original type so that +# the reflective lookup succeeds. +-if class **.*$Companion { + kotlinx.serialization.KSerializer serializer(...); +} +-keepclassmembers class <1>.<2> { + <1>.<2>$Companion Companion; +} + +-keepnames class * implements android.os.Parcelable { + public static final ** CREATOR; +} +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} + +-dontwarn okhttp3.** +-dontwarn okio.** + +# Retrofit does reflection on generic parameters. InnerClasses is required to use Signature and +# EnclosingMethod is required to use InnerClasses. +-keepattributes Signature, InnerClasses, EnclosingMethod, *Annotation*, Exceptions + +# Retrofit does reflection on method and parameter annotations. +-keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations + +# Keep annotation default values (e.g., retrofit2.http.Field.encoded). +-keepattributes AnnotationDefault + +# Retain service method parameters when optimizing. +-keepclassmembers,allowshrinking,allowobfuscation interface * { + @retrofit2.http.* ; +} + +-keepclasseswithmembers class * { + @retrofit2.http.* ; +} +-keepclassmembernames interface * { + @retrofit.http.* ; +} + +# Ignore annotation used for build tooling. +-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement + +# Ignore JSR 305 annotations for embedding nullability information. +-dontwarn javax.annotation.** + +# Guarded by a NoClassDefFoundError try/catch and only used when on the classpath. +-dontwarn kotlin.Unit + +# Top-level functions that can only be used by Kotlin. +-dontwarn retrofit2.KotlinExtensions +-dontwarn retrofit2.KotlinExtensions.* + +# With R8 full mode, it sees no subtypes of Retrofit interfaces since they are created with a Proxy +# and replaces all potential values with null. Explicitly keeping the interfaces prevents this. +-if interface * { @retrofit2.http.* ; } +-keep,allowobfuscation interface <1> + +# Keep generic signature of Call, Response (R8 full mode strips signatures from non-kept items). +-keep,allowobfuscation,allowshrinking interface retrofit2.Call +-keep,allowobfuscation,allowshrinking class retrofit2.Response + +# With R8 full mode generic signatures are stripped for classes that are not +# kept. Suspend functions are wrapped in continuations where the type argument +# is used. +-keep,allowobfuscation,allowshrinking class kotlin.coroutines.Continuation + +# public tangem android sdk +-keep class com.tangem.operations.** { *; } +-keep class com.tangem.crypto.** { *; } +-keep class com.tangem.common.card.** { *; } + +# TODO remove (easy to fix in sdk) +-keep class com.tangem.common.json.** { *; } +-keep class com.tangem.common.SuccessResponse { *; } +-keep class com.tangem.common.UserCode { *; } +-keep class com.tangem.common.UserCodeType { *; } + +# non-sensitive enums +-keep enum com.tangem.domain.apptheme.model.AppThemeMode { *; } + +-keep class com.reown.walletkit.client.Wallet$Model { *; } +-keep class com.reown.walletkit.client.Wallet { *; } + +-keep class **.R +-keep class **.R$* { + ; +} 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 8a3f2fe559..2697b453b7 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,5 +1,6 @@ package com.tangem.tap.domain.userWalletList.model +import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ScanResponse @@ -7,16 +8,24 @@ import com.tangem.domain.wallets.models.UserWalletId @JsonClass(generateAdapter = true) internal data class UserWalletSensitiveInformation( + @Json(name = "wallets") val wallets: List, ) @JsonClass(generateAdapter = true) internal data class UserWalletPublicInformation( + @Json(name = "name") val name: String, + @Json(name = "walletId") val walletId: UserWalletId, + @Json(name = "artworkUrl") val artworkUrl: String, + @Json(name = "cardsInWallet") val cardsInWallet: Set, + @Json(name = "scanResponse") val scanResponse: ScanResponse, + @Json(name = "isMultiCurrency") val isMultiCurrency: Boolean, + @Json(name = "hasBackupError") val hasBackupError: Boolean = false, ) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/WcJrpcMethods.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/WcJrpcMethods.kt index 7c937b3772..f405179561 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/WcJrpcMethods.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/WcJrpcMethods.kt @@ -52,6 +52,8 @@ data class WcSignMessage( @Json(name = "type") val type: WCSignType, ) : WcRequestData { + + @JsonClass(generateAdapter = false) enum class WCSignType { MESSAGE, PERSONAL_MESSAGE, TYPED_MESSAGE, SOLANA_MESSAGE, } diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/Account.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/Account.kt index 9372666b46..48114a57c4 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/Account.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/Account.kt @@ -1,3 +1,16 @@ package com.tangem.tap.domain.walletconnect2.domain.models -data class Account(val chainId: String, val walletAddress: String, val derivationPath: String?) \ No newline at end of file +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) +data class Account( + @Json(name = "chainId") + val chainId: String, + + @Json(name = "walletAddress") + val walletAddress: String, + + @Json(name = "derivationPath") + val derivationPath: String?, +) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/Session.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/Session.kt index 896b6dc97a..6950d29486 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/Session.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/Session.kt @@ -1,6 +1,13 @@ package com.tangem.tap.domain.walletconnect2.domain.models +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) data class Session( + @Json(name = "topic") val topic: String, + + @Json(name = "accounts") val accounts: List, ) \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceCancelOrder.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceCancelOrder.kt index aebac1b973..112c92e7a6 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceCancelOrder.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceCancelOrder.kt @@ -2,29 +2,34 @@ package com.tangem.tap.domain.walletconnect2.domain.models.binance import com.squareup.moshi.Json import com.squareup.moshi.JsonClass +import com.tangem.tap.domain.walletconnect2.domain.WcRequestData @Suppress("LongParameterList") @JsonClass(generateAdapter = true) -class WcBinanceCancelOrder( +data class WcBinanceCancelOrder( @Json(name = "account_number") - accountNumber: String, + val accountNumber: String, @Json(name = "chain_id") - chainId: String, + val chainId: String, @Json(name = "data") - data: String?, + val data: String?, @Json(name = "memo") - memo: String?, + val memo: String?, @Json(name = "sequence") - sequence: String, + val sequence: String, @Json(name = "source") - source: String, + val source: String, @Json(name = "msgs") - msgs: List, -) : WcBinanceOrder(accountNumber, chainId, data, memo, sequence, source, msgs) { + val msgs: List, +) : WcRequestData { + @JsonClass(generateAdapter = true) data class Message( + @Json(name = "refid") val refid: String, + @Json(name = "sender") val sender: String, + @Json(name = "symbol") val symbol: String, ) } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceOrder.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceOrder.kt deleted file mode 100644 index 1e3f33db29..0000000000 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceOrder.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.tangem.tap.domain.walletconnect2.domain.models.binance - -import com.tangem.tap.domain.walletconnect2.domain.WcRequestData - -@Suppress("LongParameterList") -open class WcBinanceOrder( - val accountNumber: String, - val chainId: String, - val data: String?, - val memo: String?, - val sequence: String, - val source: String, - val msgs: List, -) : WcRequestData - -data class WcBinanceTxConfirmParam( - val ok: Boolean, - val errorMsg: String?, -) : WcRequestData \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTradeOrder.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTradeOrder.kt index d00997295d..bdeaba5b27 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTradeOrder.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTradeOrder.kt @@ -4,21 +4,28 @@ import com.github.salomonbrys.kotson.jsonSerializer import com.google.gson.JsonObject import com.squareup.moshi.Json import com.squareup.moshi.JsonClass +import com.tangem.tap.domain.walletconnect2.domain.WcRequestData @Suppress("LongParameterList") @JsonClass(generateAdapter = true) -class WcBinanceTradeOrder( +data class WcBinanceTradeOrder( @Json(name = "account_number") - accountNumber: String, + val accountNumber: String, @Json(name = "chain_id") - chainId: String, - data: String?, - memo: String?, - sequence: String, - source: String, - msgs: List, -) : WcBinanceOrder(accountNumber, chainId, data, memo, sequence, source, msgs) { + val chainId: String, + @Json(name = "data") + val data: String?, + @Json(name = "memo") + val memo: String?, + @Json(name = "sequence") + val sequence: String, + @Json(name = "source") + val source: String, + @Json(name = "msgs") + val msgs: List, +) : WcRequestData { + @JsonClass(generateAdapter = false) enum class MessageKey(val key: String) { ID("id"), ORDER_TYPE("ordertype"), @@ -30,14 +37,23 @@ class WcBinanceTradeOrder( TIME_INFORCE("timeinforce"), } + @JsonClass(generateAdapter = true) data class Message( + @Json(name = "id") val id: String, + @Json(name = "orderType") val orderType: Int, + @Json(name = "price") val price: Long, + @Json(name = "quantity") val quantity: Long, + @Json(name = "sender") val sender: String, + @Json(name = "side") val side: Int, + @Json(name = "symbol") val symbol: String, + @Json(name = "timeInforce") val timeInforce: Int, ) } diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTransferOrder.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTransferOrder.kt index 6d46e17319..99199c17dc 100644 --- a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTransferOrder.kt +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTransferOrder.kt @@ -2,33 +2,48 @@ package com.tangem.tap.domain.walletconnect2.domain.models.binance import com.squareup.moshi.Json import com.squareup.moshi.JsonClass +import com.tangem.tap.domain.walletconnect2.domain.WcRequestData @Suppress("LongParameterList") @JsonClass(generateAdapter = true) -class WcBinanceTransferOrder( +data class WcBinanceTransferOrder( @Json(name = "account_number") - accountNumber: String, + val accountNumber: String, @Json(name = "chain_id") - chainId: String, - data: String?, - memo: String?, - sequence: String, - source: String, - msgs: List, -) : WcBinanceOrder(accountNumber, chainId, data, memo, sequence, source, msgs) { + val chainId: String, + @Json(name = "data") + val data: String?, + @Json(name = "memo") + val memo: String?, + @Json(name = "sequence") + val sequence: String, + @Json(name = "source") + val source: String, + @Json(name = "msgs") + val msgs: List, +) : WcRequestData { + @JsonClass(generateAdapter = true) data class Message( + @Json(name = "inputs") val inputs: List, + @Json(name = "outputs") val outputs: List, ) { + @JsonClass(generateAdapter = true) data class Item( + @Json(name = "address") val address: String, + @Json(name = "coins") val coins: List, ) { + @JsonClass(generateAdapter = true) data class Coin( + @Json(name = "amount") val amount: Long, + @Json(name = "denom") val denom: String, ) } diff --git a/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTxConfirmParam.kt b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTxConfirmParam.kt new file mode 100644 index 0000000000..24ada4ca98 --- /dev/null +++ b/app/src/main/java/com/tangem/tap/domain/walletconnect2/domain/models/binance/WcBinanceTxConfirmParam.kt @@ -0,0 +1,13 @@ +package com.tangem.tap.domain.walletconnect2.domain.models.binance + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +import com.tangem.tap.domain.walletconnect2.domain.WcRequestData + +@JsonClass(generateAdapter = true) +data class WcBinanceTxConfirmParam( + @Json(name = "ok") + val ok: Boolean, + @Json(name = "errorMsg") + val errorMsg: String?, +) : WcRequestData \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoApi.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoApi.kt index 95f2c90b4c..6709842bb5 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoApi.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/mercuryo/MercuryoApi.kt @@ -1,6 +1,7 @@ package com.tangem.tap.network.exchangeServices.mercuryo import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import retrofit2.http.GET import retrofit2.http.Path @@ -11,21 +12,25 @@ interface MercuryoApi { suspend fun currencies(@Path("apiVersion") apiVersion: String): MercuryoCurrenciesResponse } +@JsonClass(generateAdapter = true) data class MercuryoCurrenciesResponse( - val status: Int, - val data: Data, + @Json(name = "status") val status: Int, + @Json(name = "data") val data: Data, ) { + @JsonClass(generateAdapter = true) data class Data( - val fiat: List, - val crypto: List, - val config: Config, + @Json(name = "fiat") val fiat: List, + @Json(name = "crypto") val crypto: List, + @Json(name = "config") val config: Config, ) + @JsonClass(generateAdapter = true) data class Config( @Json(name = "crypto_currencies") val cryptoCurrencies: List, ) + @JsonClass(generateAdapter = true) data class MercuryoCryptoCurrency( @Json(name = "currency") val currencySymbol: String, diff --git a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayApi.kt b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayApi.kt index e5948ce873..c8235a8f74 100644 --- a/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayApi.kt +++ b/app/src/main/java/com/tangem/tap/network/exchangeServices/moonpay/MoonPayApi.kt @@ -22,7 +22,9 @@ interface MoonPayApi { @JsonClass(generateAdapter = true) data class MoonPayUserStatus( + @Json(name = "isBuyAllowed") val isBuyAllowed: Boolean, + @Json(name = "isSellAllowed") val isSellAllowed: Boolean, @Json(name = "isAllowed") val isMoonpayAllowed: Boolean, @@ -34,18 +36,18 @@ data class MoonPayUserStatus( @JsonClass(generateAdapter = true) data class MoonPayCurrencies( - val type: String, - val code: String, - val supportsLiveMode: Boolean = false, - val isSuspended: Boolean = true, - val isSupportedInUS: Boolean = false, - val isSellSupported: Boolean = false, - val notAllowedUSStates: List = emptyList(), - val metadata: MoonPayCurrenciesMetadata? = null, + @Json(name = "type") val type: String, + @Json(name = "code") val code: String, + @Json(name = "supportsLiveMode") val supportsLiveMode: Boolean = false, + @Json(name = "isSuspended") val isSuspended: Boolean = true, + @Json(name = "isSupportedInUS") val isSupportedInUS: Boolean = false, + @Json(name = "isSellSupported") val isSellSupported: Boolean = false, + @Json(name = "notAllowedUSStates") val notAllowedUSStates: List = emptyList(), + @Json(name = "metadata") val metadata: MoonPayCurrenciesMetadata? = null, ) @JsonClass(generateAdapter = true) data class MoonPayCurrenciesMetadata( - val contractAddress: String?, - val networkCode: String?, + @Json(name = "contractAddress") val contractAddress: String?, + @Json(name = "networkCode") val networkCode: String?, ) \ No newline at end of file diff --git a/common/ui-charts/src/main/kotlin/com/tangem/common/ui/charts/layer/ChartMarker.kt b/common/ui-charts/src/main/kotlin/com/tangem/common/ui/charts/layer/ChartMarker.kt index 0005e47d15..5ef509c92b 100644 --- a/common/ui-charts/src/main/kotlin/com/tangem/common/ui/charts/layer/ChartMarker.kt +++ b/common/ui-charts/src/main/kotlin/com/tangem/common/ui/charts/layer/ChartMarker.kt @@ -15,7 +15,6 @@ import com.patrykandpatrick.vico.core.cartesian.marker.CartesianMarkerValueForma import com.patrykandpatrick.vico.core.cartesian.marker.DefaultCartesianMarker import com.patrykandpatrick.vico.core.common.Dimensions import com.patrykandpatrick.vico.core.common.LayeredComponent -import com.patrykandpatrick.vico.core.common.component.Component import com.patrykandpatrick.vico.core.common.component.TextComponent import com.patrykandpatrick.vico.core.common.shape.Shape import com.tangem.core.ui.res.TangemTheme @@ -39,7 +38,28 @@ internal fun rememberTangemChartMarker(color: Color): CartesianMarker { object : DefaultCartesianMarker( label = TextComponent(textSizeSp = 0f), - indicator = ::indicator, + indicator = { color -> + val composeColor = Color(color) + + LayeredComponent( + rear = shapeComponent( + color = composeColor.copy(alpha = INDICATOR_REAR_COLOR_ALPHA), + shape = Shape.Pill, + ), + front = LayeredComponent( + rear = shapeComponent( + color = composeColor, + shape = Shape.Pill, + ), + front = shapeComponent( + color = Color.White, + shape = Shape.Pill, + ), + padding = indicatorPadding, + ), + padding = indicatorPadding, + ) + }, indicatorSizeDp = INDICATOR_SIZE_DP, guideline = guideline, valueFormatter = object : CartesianMarkerValueFormatter { @@ -81,29 +101,6 @@ internal fun rememberTangemChartMarker(color: Color): CartesianMarker { } } -private fun indicator(color: Int): Component { - val composeColor = Color(color) - - return LayeredComponent( - rear = shapeComponent( - color = composeColor.copy(alpha = INDICATOR_REAR_COLOR_ALPHA), - shape = Shape.Pill, - ), - front = LayeredComponent( - rear = shapeComponent( - color = composeColor, - shape = Shape.Pill, - ), - front = shapeComponent( - color = Color.White, - shape = Shape.Pill, - ), - padding = indicatorPadding, - ), - padding = indicatorPadding, - ) -} - private val indicatorPadding = Dimensions.of(3.dp) private const val LABEL_BACKGROUND_SHADOW_RADIUS_DP = 4f private const val LABEL_BACKGROUND_SHADOW_DY_DP = 2f diff --git a/core/config-toggles/build.gradle.kts b/core/config-toggles/build.gradle.kts index 0a7bc83fdc..97534f26fa 100644 --- a/core/config-toggles/build.gradle.kts +++ b/core/config-toggles/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -11,7 +13,6 @@ android { } dependencies { - /** DI */ implementation(deps.hilt.android) kapt(deps.hilt.kapt) @@ -23,6 +24,7 @@ dependencies { implementation(deps.moshi) implementation(deps.moshi.kotlin) implementation(deps.timber) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) /** Core modules */ implementation(projects.core.datasource) diff --git a/core/datasource/build.gradle.kts b/core/datasource/build.gradle.kts index 3570cea973..f886a6b930 100644 --- a/core/datasource/build.gradle.kts +++ b/core/datasource/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -53,6 +55,8 @@ dependencies { implementation(deps.okHttp.prettyLogging) implementation(deps.retrofit) implementation(deps.retrofit.moshi) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) /** Time */ implementation(deps.jodatime) @@ -62,6 +66,7 @@ dependencies { /** Chucker */ debugImplementation(deps.chucker) + debugPGImplementation(deps.chucker) mockedImplementation(deps.chuckerStub) externalImplementation(deps.chuckerStub) internalImplementation(deps.chuckerStub) diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/ApiConfig.kt b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/ApiConfig.kt index 100cc04382..28d4220428 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/ApiConfig.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/ApiConfig.kt @@ -40,6 +40,7 @@ sealed class ApiConfig { companion object { internal const val DEBUG_BUILD_TYPE = "debug" + internal const val DEBUG_PG_BUILD_TYPE = "debugPG" internal const val INTERNAL_BUILD_TYPE = "internal" internal const val MOCKED_BUILD_TYPE = "mocked" internal const val EXTERNAL_BUILD_TYPE = "external" diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/ApiEnvironment.kt b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/ApiEnvironment.kt index 00945bf772..15c20cc12b 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/ApiEnvironment.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/ApiEnvironment.kt @@ -1,10 +1,21 @@ package com.tangem.datasource.api.common.config +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + /** * Api environment * [REDACTED_AUTHOR] */ +@JsonClass(generateAdapter = false) enum class ApiEnvironment { - DEV, STAGE, PROD + @Json(name = "DEV") + DEV, + + @Json(name = "STAGE") + STAGE, + + @Json(name = "PROD") + PROD, } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/Express.kt b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/Express.kt index a0c28a6880..8a850c20ea 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/common/config/Express.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/common/config/Express.kt @@ -68,7 +68,9 @@ internal class Express( fun getInitialEnvironment(): ApiEnvironment { return when (BuildConfig.BUILD_TYPE) { - DEBUG_BUILD_TYPE -> ApiEnvironment.DEV + DEBUG_BUILD_TYPE, + DEBUG_PG_BUILD_TYPE, + -> ApiEnvironment.DEV INTERNAL_BUILD_TYPE, MOCKED_BUILD_TYPE, -> ApiEnvironment.STAGE diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/AssetsRequestBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/AssetsRequestBody.kt index 2d496a94ec..9b63f6b517 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/AssetsRequestBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/AssetsRequestBody.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.express.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class AssetsRequestBody( @Json(name = "tokensList") val tokensList: List?, ) \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/ExchangeSentRequestBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/ExchangeSentRequestBody.kt index b585a80775..7e2c9eae29 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/ExchangeSentRequestBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/ExchangeSentRequestBody.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.express.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class ExchangeSentRequestBody( @Json(name = "txId") val txId: String, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/LeastTokenInfo.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/LeastTokenInfo.kt index fd636c6682..9b6884f59e 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/LeastTokenInfo.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/LeastTokenInfo.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.express.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class LeastTokenInfo( @Json(name = "contractAddress") val contractAddress: String, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/PairsRequestBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/PairsRequestBody.kt index c22747d9cf..325ac78f23 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/PairsRequestBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/request/PairsRequestBody.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.express.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class PairsRequestBody( @Json(name = "from") val from: List, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/Asset.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/Asset.kt index a4de3fcb40..69e5ccb9a0 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/Asset.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/Asset.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.express.models.response import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class Asset( @Json(name = "contractAddress") val contractAddress: String, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeDataResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeDataResponse.kt index 5e1eb6d5d3..90785de95d 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeDataResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeDataResponse.kt @@ -1,11 +1,17 @@ package com.tangem.datasource.api.express.models.response import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class ExchangeDataResponseWithTxDetails( + @Json(name = "dataResponse") val dataResponse: ExchangeDataResponse, + @Json(name = "txDetails") val txDetails: TxDetails, ) + +@JsonClass(generateAdapter = true) data class ExchangeDataResponse( @Json(name = "fromAmount") val fromAmount: String, @@ -29,6 +35,7 @@ data class ExchangeDataResponse( val signature: String, ) +@JsonClass(generateAdapter = true) data class TxDetails( @Json(name = "payoutAddress") val payoutAddress: String, @@ -70,6 +77,7 @@ data class TxDetails( val gas: String?, ) +@JsonClass(generateAdapter = false) enum class TxType { @Json(name = "send") SEND, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeProvider.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeProvider.kt index 2c962257ca..2ef036c212 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeProvider.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeProvider.kt @@ -1,8 +1,10 @@ package com.tangem.datasource.api.express.models.response import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import java.math.BigDecimal +@JsonClass(generateAdapter = true) data class ExchangeProvider( @Json(name = "id") val id: String, @@ -32,6 +34,7 @@ data class ExchangeProvider( val slippage: BigDecimal?, ) +@JsonClass(generateAdapter = false) enum class ExchangeProviderType { @Json(name = "dex") DEX, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeQuoteResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeQuoteResponse.kt index e643811822..d08ebf45bc 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeQuoteResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeQuoteResponse.kt @@ -1,8 +1,10 @@ package com.tangem.datasource.api.express.models.response import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import java.math.BigDecimal +@JsonClass(generateAdapter = true) data class ExchangeQuoteResponse( @Json(name = "fromAmount") diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeSentResponseBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeSentResponseBody.kt index b6b1453465..284231a50a 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeSentResponseBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeSentResponseBody.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.express.models.response import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class ExchangeSentResponseBody( @Json(name = "txId") val txId: String, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeStatusResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeStatusResponse.kt index a56308d255..043222d3e3 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeStatusResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExchangeStatusResponse.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.express.models.response import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class ExchangeStatusResponse( @Json(name = "providerId") @@ -26,6 +28,7 @@ data class ExchangeStatusResponse( val refundContractAddress: String? = null, ) +@JsonClass(generateAdapter = false) enum class ExchangeStatus { @Json(name = "new") @@ -71,6 +74,7 @@ enum class ExchangeStatus { Unknown, } +@JsonClass(generateAdapter = true) data class ExchangeStatusError( @Json(name = "code") val code: Int, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExpressErrorResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExpressErrorResponse.kt index 183965a431..9d32f36491 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExpressErrorResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/ExpressErrorResponse.kt @@ -1,13 +1,16 @@ package com.tangem.datasource.api.express.models.response import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import java.math.BigDecimal +@JsonClass(generateAdapter = true) data class ExpressErrorResponse( @Json(name = "error") val error: ExpressError, ) +@JsonClass(generateAdapter = true) data class ExpressError( @Json(name = "code") val code: Int, @@ -19,6 +22,7 @@ data class ExpressError( val value: ExpressErrorValue?, ) +@JsonClass(generateAdapter = true) data class ExpressErrorValue( @Json(name = "minAmount") val minAmount: String?, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/SwapPair.kt b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/SwapPair.kt index f96aef7dfc..9b96730278 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/SwapPair.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/express/models/response/SwapPair.kt @@ -1,8 +1,10 @@ package com.tangem.datasource.api.express.models.response import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.datasource.api.express.models.request.LeastTokenInfo +@JsonClass(generateAdapter = true) data class SwapPair( @Json(name = "from") val from: LeastTokenInfo, @@ -15,6 +17,7 @@ data class SwapPair( ) +@JsonClass(generateAdapter = true) data class SwapPairProvider( @Json(name = "providerId") val providerId: String, @@ -23,6 +26,7 @@ data class SwapPairProvider( val rateTypes: List, ) +@JsonClass(generateAdapter = false) enum class RateType { @Json(name = "float") FLOAT, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/onramp/models/response/OnrampDataResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/onramp/models/response/OnrampDataResponse.kt index e558fdd934..03f14b108c 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/onramp/models/response/OnrampDataResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/onramp/models/response/OnrampDataResponse.kt @@ -3,8 +3,11 @@ package com.tangem.datasource.api.onramp.models.response import com.squareup.moshi.Json import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class OnrampDataResponseWithTxDetails( + @Json(name = "dataResponse") val dataResponse: OnrampDataResponse, + @Json(name = "txDetails") val txDetails: OnrampTxDetails, ) diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/onramp/models/response/OnrampStatusResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/onramp/models/response/OnrampStatusResponse.kt index 301fd2421f..c701137912 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/onramp/models/response/OnrampStatusResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/onramp/models/response/OnrampStatusResponse.kt @@ -60,6 +60,7 @@ data class OnrampStatusResponse( val countryCode: String, ) +@JsonClass(generateAdapter = false) enum class Status { @Json(name = "created") Created, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/ActionRequestBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/ActionRequestBody.kt index 9063ff0b74..efd6c85900 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/ActionRequestBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/ActionRequestBody.kt @@ -1,11 +1,13 @@ package com.tangem.datasource.api.stakekit.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.datasource.api.stakekit.models.request.ConstructTransactionRequestBody.GasArgs import com.tangem.datasource.api.stakekit.models.response.model.BalanceDTO import com.tangem.datasource.api.stakekit.models.response.model.TokenDTO import com.tangem.domain.staking.model.stakekit.action.StakingActionType +@JsonClass(generateAdapter = true) data class PendingActionRequestBody( @Json(name = "type") val type: StakingActionType, @@ -19,6 +21,7 @@ data class PendingActionRequestBody( val gasArgs: GasArgs? = null, // used only in estimate_gas request ) +@JsonClass(generateAdapter = true) data class ActionRequestBody( @Json(name = "integrationId") val integrationId: String, @@ -32,6 +35,7 @@ data class ActionRequestBody( val gasArgs: GasArgs? = null, // used only in estimate_gas request ) +@JsonClass(generateAdapter = true) data class ActionRequestBodyArgs( @Json(name = "amount") val amount: String, @@ -55,6 +59,7 @@ data class ActionRequestBodyArgs( val inputToken: TokenDTO? = null, ) +@JsonClass(generateAdapter = true) data class SignatureVerification( @Json(name = "message") val message: String, @@ -62,6 +67,7 @@ data class SignatureVerification( val signed: String, ) +@JsonClass(generateAdapter = false) enum class TronResource { @Json(name = "ENERGY") ENERGY, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/Address.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/Address.kt index 4e93f0353a..fc029f0fb1 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/Address.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/Address.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.stakekit.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class Address( @Json(name = "address") val address: String, @@ -11,6 +13,7 @@ data class Address( val explorerUrl: String? = null, ) { + @JsonClass(generateAdapter = true) data class AdditionalAddresses( // cosmos-specific @Json(name = "cosmosPubKey") diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/ConstructTransactionRequestBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/ConstructTransactionRequestBody.kt index 60ee34b310..55290861d3 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/ConstructTransactionRequestBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/ConstructTransactionRequestBody.kt @@ -1,14 +1,17 @@ package com.tangem.datasource.api.stakekit.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import java.math.BigDecimal +@JsonClass(generateAdapter = true) data class ConstructTransactionRequestBody( @Json(name = "gasArgs") val gasArgs: GasArgs? = null, @Json(name = "ledgerWalletAPICompatible") val ledgerWalletAPICompatible: Boolean? = null, ) { + @JsonClass(generateAdapter = true) data class GasArgs( // cosmos-specific @Json(name = "gasPrice") diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/MultipleYieldBalancesRequestBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/MultipleYieldBalancesRequestBody.kt index 1872f19673..7b4360ac11 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/MultipleYieldBalancesRequestBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/MultipleYieldBalancesRequestBody.kt @@ -1,19 +1,23 @@ package com.tangem.datasource.api.stakekit.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class MultipleYieldBalancesRequestBody( @Json(name = "addresses") val addresses: Address, @Json(name = "args") val args: MultipleYieldBalancesRequestArgs, @Json(name = "integrationId") val integrationId: String, ) { + @JsonClass(generateAdapter = true) data class Address( @Json(name = "address") val address: String, @Json(name = "additionalAddresses") val additionalAddresses: AdditionalAddresses? = null, @Json(name = "explorerUrl") val explorerUrl: String, ) { + @JsonClass(generateAdapter = true) data class AdditionalAddresses( @Json(name = "cosmosPubKey") val cosmosPubKey: String? = null, @Json(name = "binanceBeaconAddress") val binanceBeaconAddress: String? = null, @@ -25,6 +29,7 @@ data class MultipleYieldBalancesRequestBody( ) } + @JsonClass(generateAdapter = true) data class MultipleYieldBalancesRequestArgs( @Json(name = "validatorAddresses") val validatorAddresses: List, ) diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/RevenueOption.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/RevenueOption.kt index e396cd7ebb..0d68f38d13 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/RevenueOption.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/RevenueOption.kt @@ -1,8 +1,13 @@ package com.tangem.datasource.api.stakekit.models.request +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = false) enum class RevenueOption(val value: String) { - SUPPORTS_FEE("supportsFee"), - SUPPORTS_REV_SHARE("supportsRevShare"), + @Json(name = "SUPPORTS_FEE") SUPPORTS_FEE("supportsFee"), + + @Json(name = "SUPPORTS_REV_SHARE") SUPPORTS_REV_SHARE("supportsRevShare"), ; override fun toString(): String { diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/SubmitTransactionHashRequestBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/SubmitTransactionHashRequestBody.kt index c07a103fe1..628ff3b1dc 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/SubmitTransactionHashRequestBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/SubmitTransactionHashRequestBody.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.stakekit.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class SubmitTransactionHashRequestBody( @Json(name = "hash") val hash: String, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/YieldBalanceRequestBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/YieldBalanceRequestBody.kt index b950b05390..159d5b9d71 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/YieldBalanceRequestBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/request/YieldBalanceRequestBody.kt @@ -1,13 +1,16 @@ package com.tangem.datasource.api.stakekit.models.request import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class YieldBalanceRequestBody( @Json(name = "addresses") val addresses: Address, @Json(name = "args") val args: YieldBalanceRequestArgs, @Json(name = "integrationId") val integrationId: String, ) { + @JsonClass(generateAdapter = true) data class YieldBalanceRequestArgs( @Json(name = "validatorAddresses") val validatorAddresses: List, ) diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/NetworkTypeDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/NetworkTypeDTO.kt index c7fedd5ec8..486381bfcc 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/NetworkTypeDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/NetworkTypeDTO.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.stakekit.models.response.model import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = false) enum class NetworkTypeDTO { @Json(name = "avalanche-c") AVALANCHE_C, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldBalanceWrapperDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldBalanceWrapperDTO.kt index 964bde08a7..a83ebdd931 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldBalanceWrapperDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldBalanceWrapperDTO.kt @@ -41,6 +41,7 @@ data class BalanceDTO( val providerId: String?, ) { + @JsonClass(generateAdapter = false) enum class BalanceTypeDTO { @Json(name = "available") AVAILABLE, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldDTO.kt index 88cc922696..5411bcc840 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldDTO.kt @@ -85,7 +85,7 @@ data class YieldDTO( @Json(name = "preferred") val preferred: Boolean?, ) { - @JsonClass(generateAdapter = true) + @JsonClass(generateAdapter = false) enum class ValidatorStatusDTO { @Json(name = "active") ACTIVE, @@ -153,6 +153,7 @@ data class YieldDTO( val enabled: Boolean?, ) + @JsonClass(generateAdapter = false) enum class RewardScheduleDTO { @Json(name = "block") BLOCK, @@ -178,6 +179,7 @@ data class YieldDTO( UNKNOWN, } + @JsonClass(generateAdapter = false) enum class RewardClaimingDTO { @Json(name = "auto") AUTO, @@ -189,6 +191,7 @@ data class YieldDTO( } } + @JsonClass(generateAdapter = false) enum class RewardTypeDTO { @Json(name = "apy") APY, // compound rate diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/action/StakingActionStatusDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/action/StakingActionStatusDTO.kt index 040cab01ea..3695474070 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/action/StakingActionStatusDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/action/StakingActionStatusDTO.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.stakekit.models.response.model.action import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = false) enum class StakingActionStatusDTO { @Json(name = "CANCELED") CANCELED, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/action/StakingActionTypeDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/action/StakingActionTypeDTO.kt index 3ba035dc64..7764d9b75b 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/action/StakingActionTypeDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/action/StakingActionTypeDTO.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.stakekit.models.response.model.action import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = false) enum class StakingActionTypeDTO { @Json(name = "STAKE") STAKE, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/error/StakeKitErrorResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/error/StakeKitErrorResponse.kt index 086837d4b1..34e09b47d5 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/error/StakeKitErrorResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/error/StakeKitErrorResponse.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.stakekit.models.response.model.error import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) class StakeKitErrorResponse( @Json(name = "message") val message: String? = null, @@ -26,6 +28,7 @@ class StakeKitErrorResponse( val tags: List? = null, ) +@JsonClass(generateAdapter = true) data class StakeKitErrorDetailsDTO( @Json(name = "arguments") val arguments: String? = null, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/transaction/StakingTransactionStatusDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/transaction/StakingTransactionStatusDTO.kt index f7a4f6d76d..83b7a61515 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/transaction/StakingTransactionStatusDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/transaction/StakingTransactionStatusDTO.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.stakekit.models.response.model.transaction import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = false) enum class StakingTransactionStatusDTO { @Json(name = "NOT_FOUND") NOT_FOUND, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/transaction/StakingTransactionTypeDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/transaction/StakingTransactionTypeDTO.kt index e79e28e7bb..d129f7c2b9 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/transaction/StakingTransactionTypeDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/transaction/StakingTransactionTypeDTO.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.stakekit.models.response.model.transaction import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = false) enum class StakingTransactionTypeDTO { @Json(name = "SWAP") SWAP, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CoinsResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CoinsResponse.kt index 0a19554bf0..de48c2a17a 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CoinsResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CoinsResponse.kt @@ -1,14 +1,17 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import java.math.BigDecimal +@JsonClass(generateAdapter = true) data class CoinsResponse( @Json(name = "imageHost") val imageHost: String?, @Json(name = "coins") val coins: List, @Json(name = "total") val total: Int, ) { + @JsonClass(generateAdapter = true) data class Coin( @Json(name = "id") val id: String, @Json(name = "name") val name: String, @@ -17,6 +20,7 @@ data class CoinsResponse( @Json(name = "networks") val networks: List = listOf(), ) { + @JsonClass(generateAdapter = true) data class Network( @Json(name = "networkId") val networkId: String, @Json(name = "contractAddress") val contractAddress: String? = null, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CreateUserTokensAccountBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CreateUserTokensAccountBody.kt index 7f88539dad..d5169e4793 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CreateUserTokensAccountBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CreateUserTokensAccountBody.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class CreateUserTokensAccountBody( @Json(name = "accountId") val id: Int, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CurrenciesResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CurrenciesResponse.kt index c2799b1c2d..786d84a760 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CurrenciesResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/CurrenciesResponse.kt @@ -17,7 +17,7 @@ data class CurrenciesResponse( @Json(name = "rateBTC") val rateBTC: String, @Json(name = "unit") val unit: String, // $, €, ₽ @Json(name = "type") val type: String, - val iconSmallUrl: String? = null, - val iconMediumUrl: String? = null, + @Json(name = "iconSmallUrl") val iconSmallUrl: String? = null, + @Json(name = "iconMediumUrl") val iconMediumUrl: String? = null, ) } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/FeaturesResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/FeaturesResponse.kt index 2d72021cd0..eed4e642cd 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/FeaturesResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/FeaturesResponse.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class FeaturesResponse( @Json(name = "send") val isNewSendEnabled: Boolean, ) \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/QuotesResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/QuotesResponse.kt index e1e9e07e40..8c42687aa8 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/QuotesResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/QuotesResponse.kt @@ -1,13 +1,16 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import java.math.BigDecimal +@JsonClass(generateAdapter = true) data class QuotesResponse( @Json(name = "quotes") val quotes: Map, ) { + @JsonClass(generateAdapter = true) data class Quote( @Json(name = "price") val price: BigDecimal?, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/RatesResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/RatesResponse.kt index c743ff9147..4f51d97ee4 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/RatesResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/RatesResponse.kt @@ -1,8 +1,10 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass // rates.keys = networkId's +@JsonClass(generateAdapter = true) data class RatesResponse( @Json(name = "rates") val rates: Map, ) \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/ReferralResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/ReferralResponse.kt index 2abb6e2a57..0327383d27 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/ReferralResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/ReferralResponse.kt @@ -1,30 +1,36 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import org.joda.time.LocalDate +@JsonClass(generateAdapter = true) data class ReferralResponse( @Json(name = "conditions") val conditions: Conditions, @Json(name = "referral") val referral: Referral?, @Json(name = "expectedAwards") val expectedAwards: ExpectedAwards?, ) { + @JsonClass(generateAdapter = true) data class Conditions( @Json(name = "discount") val discount: Discount, @Json(name = "awards") val awards: List, @Json(name = "tosLink") val tosLink: String, ) { + @JsonClass(generateAdapter = true) data class Discount( @Json(name = "amount") val amount: Int, @Json(name = "type") val discountType: String, ) + @JsonClass(generateAdapter = true) data class Award( @Json(name = "amount") val amount: Int, @Json(name = "token") val token: Token, ) { + @JsonClass(generateAdapter = true) data class Token( @Json(name = "id") val id: String, @Json(name = "name") val name: String, @@ -36,6 +42,7 @@ data class ReferralResponse( } } + @JsonClass(generateAdapter = true) data class Referral( @Json(name = "shareLink") val shareLink: String, @Json(name = "address") val address: String, @@ -44,11 +51,13 @@ data class ReferralResponse( @Json(name = "termsAcceptedAt") val termsAcceptedAt: String?, ) + @JsonClass(generateAdapter = true) data class ExpectedAwards( @Json(name = "numberOfWallets") val numberOfWallets: Int, @Json(name = "list") val list: List, ) { + @JsonClass(generateAdapter = true) data class AwardItem( @Json(name = "currency") val currency: String, @Json(name = "paymentDate") val paymentDate: LocalDate, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/SalesResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/SalesResponse.kt index 1c3461f012..c9c923f823 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/SalesResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/SalesResponse.kt @@ -1,10 +1,12 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass /** * Sales response */ +@JsonClass(generateAdapter = true) data class SalesResponse( @Json(name = "sales") val sales: List, ) @@ -17,6 +19,7 @@ data class SalesResponse( * @property product product that is sales * @property notification optional notification for product */ +@JsonClass(generateAdapter = true) data class Sales( @Json(name = "id") val id: String, @Json(name = "state") val state: String, @@ -31,12 +34,14 @@ data class Sales( * @property code code that shows what product it is * @property name product name */ +@JsonClass(generateAdapter = true) data class Product( @Json(name = "id") val id: String, @Json(name = "code") val code: String, @Json(name = "name") val name: String, ) +@JsonClass(generateAdapter = true) data class Notification( @Json(name = "type") val type: String, @Json(name = "title") val title: String, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/ShopResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/ShopResponse.kt index 6331011641..1c1c273265 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/ShopResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/ShopResponse.kt @@ -1,6 +1,7 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass /** * Shop response @@ -9,6 +10,7 @@ import com.squareup.moshi.Json * [REDACTED_AUTHOR] */ +@JsonClass(generateAdapter = true) data class ShopResponse( @Json(name = "canOrder") val isOrderingAvailable: Boolean, ) \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/StartReferralBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/StartReferralBody.kt index 8f2c933f19..d18541e7f2 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/StartReferralBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/StartReferralBody.kt @@ -1,8 +1,10 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass /** Body for make user referral */ +@JsonClass(generateAdapter = true) data class StartReferralBody( @Json(name = "walletId") val walletId: String, @Json(name = "networkId") val networkId: String, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UpdateUserTokensAccountBody.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UpdateUserTokensAccountBody.kt index 2413b85d2b..0ba0f997d5 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UpdateUserTokensAccountBody.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UpdateUserTokensAccountBody.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class UpdateUserTokensAccountBody( @Json(name = "accountTitle") val title: String, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensAccountResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensAccountResponse.kt index 0e8341612d..f4e75add0a 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensAccountResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensAccountResponse.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class UserTokensAccountResponse( @Json(name = "accountId") val id: Int, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensResponse.kt index dcd3107e06..46432b2d8c 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensResponse.kt @@ -1,8 +1,10 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.common.extensions.calculateHashCode +@JsonClass(generateAdapter = true) data class UserTokensResponse( @Json(name = "version") val version: Int = 0, @Json(name = "group") val group: GroupType, @@ -10,6 +12,7 @@ data class UserTokensResponse( @Json(name = "tokens") val tokens: List = emptyList(), ) { + @JsonClass(generateAdapter = true) data class Token( @Json(name = "id") val id: String? = null, @Json(name = "networkId") val networkId: String, @@ -36,6 +39,7 @@ data class UserTokensResponse( ) } + @JsonClass(generateAdapter = false) enum class GroupType { @Json(name = "none") NONE, @@ -47,6 +51,7 @@ data class UserTokensResponse( NETWORK, } + @JsonClass(generateAdapter = false) enum class SortType { @Json(name = "balance") BALANCE, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensSettingsResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensSettingsResponse.kt index 9d5a0554cf..84b17f2677 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensSettingsResponse.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/UserTokensSettingsResponse.kt @@ -1,7 +1,9 @@ package com.tangem.datasource.api.tangemTech.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) data class UserTokensSettingsResponse( @Json(name = "group") val group: UserTokensResponse.GroupType, diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/v2/UserTokensResponseV2.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/v2/UserTokensResponseV2.kt index fdb8a0df7c..e03b095d4e 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/v2/UserTokensResponseV2.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/v2/UserTokensResponseV2.kt @@ -1,13 +1,16 @@ package com.tangem.datasource.api.tangemTech.models.v2 import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.datasource.api.tangemTech.models.UserTokensResponse +@JsonClass(generateAdapter = true) data class UserTokensResponseV2( @Json(name = "accounts") val accounts: List, ) { + @JsonClass(generateAdapter = true) data class TokensAccount( @Json(name = "id") val id: Int, diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/card/UsedCardInfo.kt b/core/datasource/src/main/java/com/tangem/datasource/local/card/UsedCardInfo.kt index 0f619b1eec..2e0064720d 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/card/UsedCardInfo.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/card/UsedCardInfo.kt @@ -1,8 +1,16 @@ package com.tangem.datasource.local.card +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) data class UsedCardInfo( + @Json(name = "cardId") val cardId: String, + @Json(name = "isScanned") val isScanned: Boolean = false, + @Json(name = "isActivationStarted") val isActivationStarted: Boolean = false, + @Json(name = "isActivationFinished") val isActivationFinished: Boolean = false, ) \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/config/providers/models/ProviderModel.kt b/core/datasource/src/main/java/com/tangem/datasource/local/config/providers/models/ProviderModel.kt index 328618476a..88071995fe 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/config/providers/models/ProviderModel.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/config/providers/models/ProviderModel.kt @@ -1,6 +1,7 @@ package com.tangem.datasource.local.config.providers.models import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass /** Config provider model */ sealed class ProviderModel { @@ -12,6 +13,7 @@ sealed class ProviderModel { * "url": "https://example.com" * } */ + @JsonClass(generateAdapter = true) data class Public( @Json(name = "url") val url: String, ) : ProviderModel() @@ -23,6 +25,7 @@ sealed class ProviderModel { * "name": "nownodes" * } */ + @JsonClass(generateAdapter = true) data class Private( @Json(name = "name") val name: String, ) : ProviderModel() diff --git a/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt b/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt index 5e82b60126..0b65dbcbf0 100644 --- a/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt +++ b/core/datasource/src/test/kotlin/com/tangem/datasource/api/common/config/managers/ProdApiConfigsManagerTest.kt @@ -6,6 +6,7 @@ import com.tangem.datasource.BuildConfig import com.tangem.datasource.api.common.AuthProvider import com.tangem.datasource.api.common.config.* import com.tangem.datasource.api.common.config.ApiConfig.Companion.DEBUG_BUILD_TYPE +import com.tangem.datasource.api.common.config.ApiConfig.Companion.DEBUG_PG_BUILD_TYPE import com.tangem.datasource.api.common.config.ApiConfig.Companion.EXTERNAL_BUILD_TYPE import com.tangem.datasource.api.common.config.ApiConfig.Companion.INTERNAL_BUILD_TYPE import com.tangem.datasource.api.common.config.ApiConfig.Companion.MOCKED_BUILD_TYPE @@ -95,7 +96,9 @@ internal class ProdApiConfigsManagerTest(private val model: Model) { private fun createExpressModel(): Model { val environment = when (BuildConfig.BUILD_TYPE) { - DEBUG_BUILD_TYPE -> ApiEnvironment.DEV + DEBUG_BUILD_TYPE, + DEBUG_PG_BUILD_TYPE, + -> ApiEnvironment.DEV INTERNAL_BUILD_TYPE, MOCKED_BUILD_TYPE, -> ApiEnvironment.STAGE @@ -110,7 +113,9 @@ internal class ProdApiConfigsManagerTest(private val model: Model) { expected = ApiEnvironmentConfig( environment = environment, baseUrl = when (BuildConfig.BUILD_TYPE) { - DEBUG_BUILD_TYPE -> "[REDACTED_ENV_URL]" + DEBUG_BUILD_TYPE, + DEBUG_PG_BUILD_TYPE, + -> "[REDACTED_ENV_URL]" INTERNAL_BUILD_TYPE, MOCKED_BUILD_TYPE, -> "[REDACTED_ENV_URL]" diff --git a/data/manage-tokens/build.gradle.kts b/data/manage-tokens/build.gradle.kts index d2ff6fbc92..a8373e38ff 100644 --- a/data/manage-tokens/build.gradle.kts +++ b/data/manage-tokens/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -44,4 +46,6 @@ dependencies { /** Other */ implementation(deps.moshi.kotlin) implementation(deps.timber) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) } \ No newline at end of file diff --git a/data/markets/build.gradle.kts b/data/markets/build.gradle.kts index 632a570f78..e52469954f 100644 --- a/data/markets/build.gradle.kts +++ b/data/markets/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -39,5 +41,7 @@ dependencies { implementation(deps.moshi.kotlin) implementation(deps.timber) implementation(deps.tangem.blockchain) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) // endregion } diff --git a/data/onramp/build.gradle.kts b/data/onramp/build.gradle.kts index 8d28d658eb..ac0f5ce3e9 100644 --- a/data/onramp/build.gradle.kts +++ b/data/onramp/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -41,6 +43,10 @@ dependencies { implementation(deps.moshi) implementation(deps.moshi.kotlin) implementation(deps.timber) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) + implementation(deps.kotlin.serialization) + implementation(projects.libs.blockchainSdk) implementation(projects.libs.crypto) diff --git a/data/settings/build.gradle.kts b/data/settings/build.gradle.kts index 6856b1236f..7997b79d5c 100644 --- a/data/settings/build.gradle.kts +++ b/data/settings/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -31,5 +33,7 @@ dependencies { implementation(deps.moshi) implementation(deps.moshi.kotlin) implementation(deps.timber) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) // endregion } diff --git a/data/staking/build.gradle.kts b/data/staking/build.gradle.kts index f79c7c6109..e793d36c78 100644 --- a/data/staking/build.gradle.kts +++ b/data/staking/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -45,6 +47,8 @@ dependencies { implementation(deps.moshi) implementation(deps.moshi.kotlin) implementation(deps.timber) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) implementation(projects.libs.blockchainSdk) implementation(projects.libs.crypto) diff --git a/data/tokens/build.gradle.kts b/data/tokens/build.gradle.kts index bf90a79e76..b268688860 100644 --- a/data/tokens/build.gradle.kts +++ b/data/tokens/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -48,4 +50,6 @@ dependencies { implementation(deps.timber) implementation(deps.retrofit) // For HttpException implementation(deps.androidx.paging.runtime) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) } \ No newline at end of file diff --git a/data/visa/build.gradle.kts b/data/visa/build.gradle.kts index e552eb58b0..5a74bcefe0 100644 --- a/data/visa/build.gradle.kts +++ b/data/visa/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -37,6 +39,8 @@ dependencies { implementation(deps.timber) implementation(deps.androidx.paging.runtime) implementation(deps.moshi.kotlin) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) /** Libs - Tangem */ implementation(deps.tangem.blockchain) diff --git a/data/visa/src/debug/kotlin/com/tangem/data/visa/config/VisaConfig.kt b/data/visa/src/debug/kotlin/com/tangem/data/visa/config/VisaConfig.kt index 8c5dba275a..187f4ca9e6 100644 --- a/data/visa/src/debug/kotlin/com/tangem/data/visa/config/VisaConfig.kt +++ b/data/visa/src/debug/kotlin/com/tangem/data/visa/config/VisaConfig.kt @@ -1,7 +1,9 @@ package com.tangem.data.visa.config import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +@JsonClass(generateAdapter = true) internal data class VisaConfig( @Json(name = "testnet") val testnet: Addresses, @@ -11,6 +13,7 @@ internal data class VisaConfig( val header: Header, ) { + @JsonClass(generateAdapter = true) data class Addresses( @Json(name = "paymentAccountRegistry") val paymentAccountRegistry: String, @@ -18,6 +21,7 @@ internal data class VisaConfig( val bridgeProcessor: String, ) + @JsonClass(generateAdapter = true) data class Header( @Json(name = "x-asn") val xAsn: String, diff --git a/domain/analytics/build.gradle.kts b/domain/analytics/build.gradle.kts index e5e871ea2f..f649160e1e 100644 --- a/domain/analytics/build.gradle.kts +++ b/domain/analytics/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(deps.plugins.kotlin.jvm) + alias(deps.plugins.kotlin.kapt) id("configuration") } @@ -9,4 +10,6 @@ dependencies { implementation(projects.core.utils) implementation(projects.domain.core) implementation(projects.domain.wallets.models) + implementation(deps.moshi.kotlin) + kapt(deps.moshi.kotlin.codegen) } \ No newline at end of file diff --git a/domain/analytics/src/main/kotlin/com/tangem/domain/analytics/model/WalletBalanceState.kt b/domain/analytics/src/main/kotlin/com/tangem/domain/analytics/model/WalletBalanceState.kt index e9cde413a2..fab29c07ac 100644 --- a/domain/analytics/src/main/kotlin/com/tangem/domain/analytics/model/WalletBalanceState.kt +++ b/domain/analytics/src/main/kotlin/com/tangem/domain/analytics/model/WalletBalanceState.kt @@ -1,5 +1,13 @@ package com.tangem.domain.analytics.model +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = false) enum class WalletBalanceState { - ToppedUp, Empty, Error, + @Json(name = "ToppedUp") ToppedUp, + + @Json(name = "Empty") Empty, + + @Json(name = "Error") Error, } \ No newline at end of file diff --git a/domain/core/src/main/kotlin/com/tangem/domain/core/serialization/BigDecimalSerializer.kt b/domain/core/src/main/kotlin/com/tangem/domain/core/serialization/BigDecimalSerializer.kt index ea7727681f..639de2993b 100644 --- a/domain/core/src/main/kotlin/com/tangem/domain/core/serialization/BigDecimalSerializer.kt +++ b/domain/core/src/main/kotlin/com/tangem/domain/core/serialization/BigDecimalSerializer.kt @@ -7,7 +7,7 @@ import kotlinx.serialization.encoding.Decoder import kotlinx.serialization.encoding.Encoder import java.math.BigDecimal -internal object BigDecimalSerializer : KSerializer { +object BigDecimalSerializer : KSerializer { override val descriptor = PrimitiveSerialDescriptor(serialName = "BigDecimal", PrimitiveKind.STRING) diff --git a/domain/legacy/build.gradle.kts b/domain/legacy/build.gradle.kts index ab9922a279..f87e9728c8 100644 --- a/domain/legacy/build.gradle.kts +++ b/domain/legacy/build.gradle.kts @@ -1,6 +1,9 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) + alias(deps.plugins.kotlin.kapt) id("configuration") } @@ -38,6 +41,7 @@ dependencies { implementation(deps.moshi.kotlin) implementation(deps.reKotlin) implementation(deps.timber) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) /** Testing libraries */ testImplementation(deps.test.junit) diff --git a/domain/legacy/proguard-rules.pro b/domain/legacy/proguard-rules.pro deleted file mode 100644 index ff59496d81..0000000000 --- a/domain/legacy/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle.kts. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/BlockchainNetwork.kt b/domain/legacy/src/main/java/com/tangem/domain/common/BlockchainNetwork.kt index 2b487680f9..a1a8cd1f18 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/BlockchainNetwork.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/BlockchainNetwork.kt @@ -1,5 +1,6 @@ package com.tangem.domain.common +import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.Token @@ -8,8 +9,11 @@ import com.tangem.common.extensions.calculateHashCode @JsonClass(generateAdapter = true) @Deprecated("Use Network model") data class BlockchainNetwork( + @Json(name = "blockchain") val blockchain: Blockchain, + @Json(name = "derivationPath") val derivationPath: String?, + @Json(name = "tokens") val tokens: List, ) { diff --git a/domain/models/build.gradle.kts b/domain/models/build.gradle.kts index 717c52e49c..fec72be756 100644 --- a/domain/models/build.gradle.kts +++ b/domain/models/build.gradle.kts @@ -1,6 +1,9 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.kotlin.jvm) alias(deps.plugins.kotlin.serialization) + alias(deps.plugins.kotlin.kapt) id("configuration") } @@ -11,4 +14,5 @@ dependencies { implementation(deps.moshi.kotlin) implementation(deps.moshi.adapters) implementation(deps.kotlin.serialization) + kapt(deps.moshi.kotlin.codegen) } \ No newline at end of file diff --git a/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt index 706e05a1e5..721fbd04da 100644 --- a/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt +++ b/domain/models/src/main/kotlin/com/tangem/domain/models/scan/CardDTO.kt @@ -1,5 +1,6 @@ package com.tangem.domain.models.scan +import com.squareup.moshi.Json import com.squareup.moshi.JsonClass import com.tangem.common.card.Card import com.tangem.common.card.CardWallet @@ -17,20 +18,35 @@ import com.tangem.common.card.FirmwareVersion as SdkFirmwareVersion * */ @JsonClass(generateAdapter = true) data class CardDTO( + @Json(name = "cardId") val cardId: String, + @Json(name = "batchId") val batchId: String, + @Json(name = "cardPublicKey") val cardPublicKey: ByteArray, + @Json(name = "firmwareVersion") val firmwareVersion: FirmwareVersion, + @Json(name = "manufacturer") val manufacturer: Manufacturer, + @Json(name = "issuer") val issuer: Issuer, + @Json(name = "settings") val settings: Settings, + @Json(name = "userSettings") val userSettings: UserSettings?, + @Json(name = "linkedTerminalStatus") val linkedTerminalStatus: LinkedTerminalStatus, + @Json(name = "isAccessCodeSet") val isAccessCodeSet: Boolean, + @Json(name = "isPasscodeSet") val isPasscodeSet: Boolean?, + @Json(name = "supportedCurves") val supportedCurves: List, + @Json(name = "wallets") val wallets: List, + @Json(name = "attestation") val attestation: Attestation, + @Json(name = "backupStatus") val backupStatus: BackupStatus?, ) { constructor(card: Card) : this( @@ -92,16 +108,27 @@ data class CardDTO( @JsonClass(generateAdapter = true) data class Settings( + @Json(name = "securityDelay") val securityDelay: Int, + @Json(name = "maxWalletsCount") val maxWalletsCount: Int, + @Json(name = "isSettingAccessCodeAllowed") val isSettingAccessCodeAllowed: Boolean, + @Json(name = "isSettingPasscodeAllowed") val isSettingPasscodeAllowed: Boolean, + @Json(name = "isResettingUserCodesAllowed") val isResettingUserCodesAllowed: Boolean, + @Json(name = "isLinkedTerminalEnabled") val isLinkedTerminalEnabled: Boolean, + @Json(name = "isBackupAllowed") val isBackupAllowed: Boolean, + @Json(name = "supportedEncryptionModes") val supportedEncryptionModes: List, + @Json(name = "isFilesAllowed") val isFilesAllowed: Boolean, + @Json(name = "isHDWalletAllowed") val isHDWalletAllowed: Boolean, + @Json(name = "isKeysImportAllowed") val isKeysImportAllowed: Boolean = false, ) { constructor(settings: Card.Settings) : this( @@ -121,6 +148,7 @@ data class CardDTO( @JsonClass(generateAdapter = true) data class UserSettings( + @Json(name = "isUserCodeRecoveryAllowed") val isUserCodeRecoveryAllowed: Boolean, ) { constructor(userSettings: com.tangem.common.card.UserSettings) : this( @@ -130,9 +158,13 @@ data class CardDTO( @JsonClass(generateAdapter = true) data class FirmwareVersion( + @Json(name = "major") val major: Int, + @Json(name = "minor") val minor: Int, + @Json(name = "patch") val patch: Int, + @Json(name = "type") val type: SdkFirmwareVersion.FirmwareType, ) : Comparable { val stringValue: String @@ -161,8 +193,11 @@ data class CardDTO( @JsonClass(generateAdapter = true) data class Manufacturer( + @Json(name = "name") val name: String, + @Json(name = "manufactureDate") val manufactureDate: Date, + @Json(name = "signature") val signature: ByteArray?, ) { constructor(manufacturer: Card.Manufacturer) : this( @@ -195,7 +230,9 @@ data class CardDTO( @JsonClass(generateAdapter = true) data class Issuer( + @Json(name = "name") val name: String, + @Json(name = "publicKey") val publicKey: ByteArray, ) { constructor(issuer: Card.Issuer) : this( @@ -220,16 +257,27 @@ data class CardDTO( @JsonClass(generateAdapter = true) data class Wallet( + @Json(name = "publicKey") val publicKey: ByteArray, + @Json(name = "chainCode") val chainCode: ByteArray?, + @Json(name = "curve") val curve: EllipticCurve, + @Json(name = "settings") val settings: CardWallet.Settings, + @Json(name = "totalSignedHashes") val totalSignedHashes: Int?, + @Json(name = "remainingSignatures") val remainingSignatures: Int?, + @Json(name = "index") val index: Int, + @Json(name = "hasBackup") val hasBackup: Boolean, + @Json(name = "derivedKeys") val derivedKeys: Map, + @Json(name = "extendedPublicKey") val extendedPublicKey: ExtendedPublicKey?, + @Json(name = "isImported") val isImported: Boolean = false, ) { constructor(wallet: CardWallet) : this( @@ -281,9 +329,15 @@ data class CardDTO( } } + @JsonClass(generateAdapter = false) enum class LinkedTerminalStatus { + @Json(name = "Current") Current, + + @Json(name = "Other") Other, + + @Json(name = "None") None, ; 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 index 98954e2c5c..44caa2dc29 100644 --- 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 @@ -28,6 +28,26 @@ data class ScanResponse( typealias KeyWalletPublicKey = ByteArrayKey +@JsonClass(generateAdapter = false) enum class ProductType { - Note, Twins, Wallet, Start2Coin, Wallet2, Ring, Visa, + @Json(name = "Note") + Note, + + @Json(name = "Twins") + Twins, + + @Json(name = "Wallet") + Wallet, + + @Json(name = "Start2Coin") + Start2Coin, + + @Json(name = "Wallet2") + Wallet2, + + @Json(name = "Ring") + Ring, + + @Json(name = "Visa") + Visa, } \ No newline at end of file diff --git a/domain/onramp/models/build.gradle.kts b/domain/onramp/models/build.gradle.kts index dc13a99957..b717a7ae41 100644 --- a/domain/onramp/models/build.gradle.kts +++ b/domain/onramp/models/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(deps.plugins.kotlin.jvm) alias(deps.plugins.kotlin.serialization) + alias(deps.plugins.kotlin.kapt) id("configuration") } @@ -9,6 +10,8 @@ dependencies { implementation(projects.domain.tokens.models) implementation(projects.domain.wallets.models) + implementation(deps.moshi.kotlin) + kapt(deps.moshi.kotlin.codegen) implementation(deps.kotlin.serialization) implementation(deps.jodatime) } \ No newline at end of file diff --git a/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/OnrampCurrency.kt b/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/OnrampCurrency.kt index 8b5bdbf34b..ffb0107b88 100644 --- a/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/OnrampCurrency.kt +++ b/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/OnrampCurrency.kt @@ -1,12 +1,20 @@ package com.tangem.domain.onramp.model +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import kotlinx.serialization.Serializable @Serializable +@JsonClass(generateAdapter = true) data class OnrampCurrency( + @Json(name = "name") val name: String, + @Json(name = "code") val code: String, + @Json(name = "image") val image: String?, + @Json(name = "precision") val precision: Int, + @Json(name = "unit") val unit: String, ) \ No newline at end of file diff --git a/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/cache/OnrampTransaction.kt b/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/cache/OnrampTransaction.kt index 61c4d5798e..da977b2004 100644 --- a/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/cache/OnrampTransaction.kt +++ b/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/cache/OnrampTransaction.kt @@ -1,5 +1,7 @@ package com.tangem.domain.onramp.model.cache +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.domain.core.serialization.SerializedBigDecimal import com.tangem.domain.onramp.model.OnrampCurrency import com.tangem.domain.onramp.model.OnrampStatus @@ -24,21 +26,38 @@ import com.tangem.domain.wallets.models.UserWalletId * @property paymentMethod Transaction payment method * @property paymentMethod Residency country */ +@JsonClass(generateAdapter = true) data class OnrampTransaction( + @Json(name = "txId") val txId: String, + @Json(name = "userWalletId") val userWalletId: UserWalletId, + @Json(name = "fromAmount") val fromAmount: SerializedBigDecimal, + @Json(name = "fromCurrency") val fromCurrency: OnrampCurrency, + @Json(name = "toAmount") val toAmount: SerializedBigDecimal, + @Json(name = "toCurrencyId") val toCurrencyId: String, + @Json(name = "status") val status: OnrampStatus.Status, + @Json(name = "externalTxUrl") val externalTxUrl: String?, + @Json(name = "externalTxId") val externalTxId: String?, + @Json(name = "timestamp") val timestamp: Long, + @Json(name = "providerName") val providerName: String, // todo onramp fix after SwapProvider moved to own module + @Json(name = "providerImageUrl") val providerImageUrl: String, // todo onramp fix after SwapProvider moved to own module + @Json(name = "providerType") val providerType: String, // todo onramp fix after SwapProvider moved to own module + @Json(name = "redirectUrl") val redirectUrl: String, + @Json(name = "paymentMethod") val paymentMethod: String, + @Json(name = "residency") val residency: String, ) \ No newline at end of file diff --git a/domain/staking/models/build.gradle.kts b/domain/staking/models/build.gradle.kts index 7558c5ca61..68f2c9b6df 100644 --- a/domain/staking/models/build.gradle.kts +++ b/domain/staking/models/build.gradle.kts @@ -1,6 +1,9 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.kotlin.jvm) alias(deps.plugins.kotlin.serialization) + alias(deps.plugins.kotlin.kapt) id("configuration") } @@ -9,4 +12,7 @@ dependencies { implementation(deps.kotlin.serialization) implementation(deps.jodatime) + + implementation(deps.moshi) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) } \ No newline at end of file diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/UnsubmittedTransactionMetadata.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/UnsubmittedTransactionMetadata.kt index e57067b382..811b2ba5d1 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/UnsubmittedTransactionMetadata.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/UnsubmittedTransactionMetadata.kt @@ -1,6 +1,12 @@ package com.tangem.domain.staking.model +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) data class UnsubmittedTransactionMetadata( + @Json(name = "transactionHash") val transactionHash: String, + @Json(name = "transactionId") val transactionId: String, ) \ No newline at end of file diff --git a/domain/wallets/models/build.gradle.kts b/domain/wallets/models/build.gradle.kts index 1b3ce4dfaf..9c259ee6b6 100644 --- a/domain/wallets/models/build.gradle.kts +++ b/domain/wallets/models/build.gradle.kts @@ -1,6 +1,7 @@ plugins { alias(deps.plugins.kotlin.jvm) alias(deps.plugins.kotlin.serialization) + alias(deps.plugins.kotlin.kapt) id("configuration") } @@ -15,5 +16,8 @@ dependencies { // region Other libraries implementation(deps.kotlin.serialization) + implementation(deps.moshi.kotlin) + implementation(deps.timber) + kapt(deps.moshi.kotlin.codegen) // endregion } \ No newline at end of file diff --git a/domain/wallets/models/src/main/java/com/tangem/domain/wallets/models/UserWallet.kt b/domain/wallets/models/src/main/java/com/tangem/domain/wallets/models/UserWallet.kt index 4904076698..95b44fff95 100644 --- a/domain/wallets/models/src/main/java/com/tangem/domain/wallets/models/UserWallet.kt +++ b/domain/wallets/models/src/main/java/com/tangem/domain/wallets/models/UserWallet.kt @@ -1,5 +1,7 @@ package com.tangem.domain.wallets.models +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ScanResponse @@ -14,13 +16,21 @@ import com.tangem.domain.models.scan.ScanResponse * @property isMultiCurrency Indicates whether this user wallet can work with more than one currency * @property scanResponse [ScanResponse] of primary user's wallet card. */ +@JsonClass(generateAdapter = true) data class UserWallet( + @Json(name = "name") val name: String, + @Json(name = "walletId") val walletId: UserWalletId, + @Json(name = "artworkUrl") val artworkUrl: String, + @Json(name = "cardsInWallet") val cardsInWallet: Set, + @Json(name = "isMultiCurrency") val isMultiCurrency: Boolean, + @Json(name = "hasBackupError") val hasBackupError: Boolean, + @Json(name = "scanResponse") val scanResponse: ScanResponse, // TODO: Replace with [com.tangem.domain.models.scan.CardDTO] ) { diff --git a/domain/wallets/models/src/main/java/com/tangem/domain/wallets/models/UserWalletId.kt b/domain/wallets/models/src/main/java/com/tangem/domain/wallets/models/UserWalletId.kt index 4ea8ab824c..49e01f0922 100644 --- a/domain/wallets/models/src/main/java/com/tangem/domain/wallets/models/UserWalletId.kt +++ b/domain/wallets/models/src/main/java/com/tangem/domain/wallets/models/UserWalletId.kt @@ -1,11 +1,17 @@ package com.tangem.domain.wallets.models +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toHexString import kotlinx.serialization.Serializable @Serializable -data class UserWalletId(val stringValue: String) { +@JsonClass(generateAdapter = true) +data class UserWalletId( + @Json(name = "stringValue") + val stringValue: String, +) { val value = stringValue.hexToBytes() diff --git a/features/qr-scanning/impl/proguard-rules.pro b/features/qr-scanning/impl/proguard-rules.pro deleted file mode 100644 index 481bb43481..0000000000 --- a/features/qr-scanning/impl/proguard-rules.pro +++ /dev/null @@ -1,21 +0,0 @@ -# Add project specific ProGuard rules here. -# You can control the set of applied configuration files using the -# proguardFiles setting in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} - -# Uncomment this to preserve the line number information for -# debugging stack traces. -#-keepattributes SourceFile,LineNumberTable - -# If you keep the line number information, uncomment this to -# hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/features/swap/data/build.gradle.kts b/features/swap/data/build.gradle.kts index f9d6ff0013..805cd27a59 100644 --- a/features/swap/data/build.gradle.kts +++ b/features/swap/data/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -27,6 +29,8 @@ dependencies { implementation(deps.moshi) implementation(deps.moshi.kotlin) implementation(deps.arrow.core) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) /** Domain */ implementation(projects.domain.tokens.models) diff --git a/features/swap/domain/build.gradle.kts b/features/swap/domain/build.gradle.kts index 55f5e6eea3..bbf66619e0 100644 --- a/features/swap/domain/build.gradle.kts +++ b/features/swap/domain/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -51,4 +53,5 @@ dependencies { implementation(deps.tangem.blockchain) implementation(deps.tangem.card.core) implementation(deps.moshi) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) } \ No newline at end of file diff --git a/features/swap/domain/models/build.gradle.kts b/features/swap/domain/models/build.gradle.kts index 431789f3d2..dd42b09ca2 100644 --- a/features/swap/domain/models/build.gradle.kts +++ b/features/swap/domain/models/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -21,5 +23,7 @@ dependencies { /** Other Libraries **/ implementation(deps.kotlin.serialization) implementation(deps.arrow.core) + implementation(deps.moshi.kotlin) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) } \ No newline at end of file diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/Currency.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/Currency.kt deleted file mode 100644 index 40cf980a73..0000000000 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/Currency.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.tangem.feature.swap.domain.models.domain - -import kotlinx.serialization.Serializable - -@Serializable -sealed class Currency { - abstract val id: String - abstract val name: String - abstract val symbol: String - abstract val networkId: String - abstract val logoUrl: String - - @Serializable - data class NativeToken( - override val id: String, - override val name: String, - override val symbol: String, - override val networkId: String, - override val logoUrl: String, - ) : Currency() - - @Serializable - data class NonNativeToken( - override val id: String, - override val name: String, - override val symbol: String, - override val networkId: String, - override val logoUrl: String, - val contractAddress: String, - val decimalCount: Int, - ) : Currency() -} - -fun Currency.isNonNative(): Boolean { - return this is Currency.NonNativeToken -} \ No newline at end of file diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeQuote.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeQuote.kt deleted file mode 100644 index 41d7826e07..0000000000 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeQuote.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.tangem.feature.swap.domain.models.domain - -data class ExchangeQuote( - val toAmount: String, - val allowanceContract: String?, -) \ No newline at end of file diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt index 95cc0f4d22..161326f0bb 100644 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt +++ b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt @@ -1,28 +1,67 @@ package com.tangem.feature.swap.domain.models.domain +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) data class ExchangeStatusModel( + @Json(name = "providerId") val providerId: String, + @Json(name = "status") val status: ExchangeStatus? = null, + @Json(name = "txId") val txId: String? = null, + @Json(name = "txExternalUrl") val txExternalUrl: String? = null, + @Json(name = "txExternalId") val txExternalId: String? = null, + @Json(name = "refundNetwork") val refundNetwork: String? = null, + @Json(name = "refundContractAddress") val refundContractAddress: String? = null, ) +@JsonClass(generateAdapter = false) enum class ExchangeStatus { + @Json(name = "New") New, + + @Json(name = "Waiting") Waiting, + + @Json(name = "WaitingTxHash") WaitingTxHash, + + @Json(name = "Confirming") Confirming, + + @Json(name = "Verifying") Verifying, + + @Json(name = "Exchanging") Exchanging, + + @Json(name = "Failed") Failed, + + @Json(name = "Sending") Sending, + + @Json(name = "Finished") Finished, + + @Json(name = "Refunded") Refunded, + + @Json(name = "Cancelled") Cancelled, + + @Json(name = "TxFailed") TxFailed, + + @Json(name = "Unknown") Unknown, + + @Json(name = "Paused") Paused, } \ No newline at end of file diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SavedLastSwappedCryptoCurrency.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SavedLastSwappedCryptoCurrency.kt index 2db24c66eb..357ec53b20 100644 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SavedLastSwappedCryptoCurrency.kt +++ b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SavedLastSwappedCryptoCurrency.kt @@ -1,6 +1,12 @@ package com.tangem.feature.swap.domain.models.domain +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass + +@JsonClass(generateAdapter = true) data class SavedLastSwappedCryptoCurrency( + @Json(name = "userWalletId") val userWalletId: String, + @Json(name = "cryptoCurrencyId") val cryptoCurrencyId: String, ) \ No newline at end of file diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SavedSwapTransactionListModel.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SavedSwapTransactionListModel.kt index d771aa4ecb..39fc4ef525 100644 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SavedSwapTransactionListModel.kt +++ b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SavedSwapTransactionListModel.kt @@ -1,5 +1,7 @@ package com.tangem.feature.swap.domain.models.domain +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.datasource.api.tangemTech.models.UserTokensResponse import com.tangem.domain.tokens.model.CryptoCurrency import java.math.BigDecimal @@ -17,21 +19,35 @@ data class SavedSwapTransactionListModel( * IMPORTANT !!! * This is internal model for storing swap tx. It should not be used outside. */ +@JsonClass(generateAdapter = true) data class SavedSwapTransactionListModelInner( + @Json(name = "userWalletId") val userWalletId: String, + @Json(name = "fromCryptoCurrencyId") val fromCryptoCurrencyId: String, + @Json(name = "toCryptoCurrencyId") val toCryptoCurrencyId: String, + @Json(name = "fromTokensResponse") val fromTokensResponse: UserTokensResponse.Token? = null, + @Json(name = "toTokensResponse") val toTokensResponse: UserTokensResponse.Token? = null, + @Json(name = "transactions") val transactions: List, ) // TODO refactor to use separate models to store +@JsonClass(generateAdapter = true) data class SavedSwapTransactionModel( + @Json(name = "txId") val txId: String, + @Json(name = "timestamp") val timestamp: Long, + @Json(name = "fromCryptoAmount") val fromCryptoAmount: BigDecimal, + @Json(name = "toCryptoAmount") val toCryptoAmount: BigDecimal, + @Json(name = "provider") val provider: SwapProvider, + @Json(name = "status") val status: ExchangeStatusModel? = null, ) \ No newline at end of file diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SwapPairLeast.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SwapPairLeast.kt index 561858f9f1..abbcf27ea2 100644 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SwapPairLeast.kt +++ b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/SwapPairLeast.kt @@ -1,5 +1,7 @@ package com.tangem.feature.swap.domain.models.domain +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import com.tangem.domain.tokens.model.CryptoCurrencyStatus import java.math.BigDecimal @@ -31,22 +33,35 @@ data class CryptoCurrencySwapInfo( * Uses to store transaction data in datastore, when extends - should always add default value * to support backward compatibility */ +@JsonClass(generateAdapter = true) data class SwapProvider( + @Json(name = "providerId") val providerId: String, + @Json(name = "rateTypes") val rateTypes: List = emptyList(), + @Json(name = "name") val name: String, + @Json(name = "type") val type: ExchangeProviderType, + @Json(name = "imageLarge") val imageLarge: String, + @Json(name = "termsOfUse") val termsOfUse: String?, + @Json(name = "privacyPolicy") val privacyPolicy: String?, + @Json(name = "isRecommended") val isRecommended: Boolean = false, + @Json(name = "slippage") val slippage: BigDecimal?, ) +@JsonClass(generateAdapter = false) enum class ExchangeProviderType(val providerName: String) { - DEX("DEX"), - CEX("CEX"), - DEX_BRIDGE("DEX/Bridge"), + @Json(name = "DEX") DEX("DEX"), + + @Json(name = "CEX") CEX("CEX"), + + @Json(name = "DEX_BRIDGE") DEX_BRIDGE("DEX/Bridge"), } /** @@ -54,7 +69,9 @@ enum class ExchangeProviderType(val providerName: String) { * * Current implementation contains only float type, fixed will be supported later. */ +@JsonClass(generateAdapter = false) enum class RateType { - FLOAT, - FIXED, + @Json(name = "FLOAT") FLOAT, + + @Json(name = "FIXED") FIXED, } \ No newline at end of file diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/TransactionModel.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/TransactionModel.kt deleted file mode 100644 index ac5b7b2b05..0000000000 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/TransactionModel.kt +++ /dev/null @@ -1,20 +0,0 @@ -package com.tangem.feature.swap.domain.models.domain - -/** - * Transaction model - * - * @property fromWalletAddress wallet from address (transactions will be sent from this address) - * @property toWalletAddress transactions will be sent to our(1inch) contract address - * @property data The encoded data to call the approve method on the swapped token contract - * @property value Native token value in WEI (for approve is always 0) - * @property gasPrice maximum amount of gas for a swap default: 11500000; max: 11500000 - * @property gas estimated amount of the gas limit, increase this value by 25% - */ -data class TransactionModel( - val fromWalletAddress: String, - val toWalletAddress: String, - val data: String, - val value: String, - val gasPrice: String, - val gas: String, -) \ No newline at end of file diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/ui/TokensDataState.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/ui/TokensDataState.kt deleted file mode 100644 index 8d17d05808..0000000000 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/ui/TokensDataState.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.tangem.feature.swap.domain.models.ui - -import com.tangem.feature.swap.domain.models.domain.Currency - -data class TokensDataState( - val preselectTokens: PreselectTokens, - val foundTokensState: FoundTokensState, -) - -data class FoundTokensState( - val tokensInWallet: List, - val loadedTokens: List, -) - -data class PreselectTokens( - val fromToken: Currency, - val toToken: Currency, -) - -data class TokenWithBalance( - val token: Currency, - val tokenBalanceData: TokenBalanceData? = null, -) - -data class TokenBalanceData( - val amount: String?, - val amountEquivalent: String?, -) \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/visa/VisaTxDetailsBottomSheet.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/visa/VisaTxDetailsBottomSheet.kt index 441f6e8c56..4511cf32ef 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/visa/VisaTxDetailsBottomSheet.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/components/visa/VisaTxDetailsBottomSheet.kt @@ -107,32 +107,33 @@ private fun TransactionBlock(transaction: VisaTxDetailsBottomSheetConfig.Transac ) } +@Suppress("LongMethod") @Composable private fun BlockchainRequestBlock(request: VisaTxDetailsBottomSheetConfig.Request, modifier: Modifier = Modifier) { BlockContent( modifier = modifier, title = stringReference(value = "Blockchain request"), description = { - if (request.onExploreClick == null) return - - Row( - modifier = Modifier.clickable(onClick = request.onExploreClick), - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.spacedBy(space = TangemTheme.dimens.spacing4), - ) { - Icon( - painter = painterResource(id = R.drawable.ic_compass_24), - contentDescription = null, - modifier = Modifier.size(size = TangemTheme.dimens.size18), - tint = TangemTheme.colors.icon.informative, - ) - Text( - text = "Explore", - color = TangemTheme.colors.text.tertiary, - style = TangemTheme.typography.caption1, - ) + if (request.onExploreClick != null) { + Row( + modifier = Modifier.clickable(onClick = request.onExploreClick), + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(space = TangemTheme.dimens.spacing4), + ) { + Icon( + painter = painterResource(id = R.drawable.ic_compass_24), + contentDescription = null, + modifier = Modifier.size(size = TangemTheme.dimens.size18), + tint = TangemTheme.colors.icon.informative, + ) + Text( + text = "Explore", + color = TangemTheme.colors.text.tertiary, + style = TangemTheme.typography.caption1, + ) + } + SpacerW12() } - SpacerW12() }, content = { BlockItem( diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 476dbba56a..f78d65d4a1 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -57,11 +57,11 @@ kotlin-immutable-collections = "0.3.5" kotsonGsonExt = "2.5.0" lottie = "3.4.0" lottie-compose = "6.6.0" -moshi = "1.12.0" +moshi = "1.15.1" okhttp = "4.9.3" rekotlin = "1.0.4" -retrofit = "2.8.1" -retrofitMoshiConverter = "2.6.0" +retrofit = "2.11.0" +retrofitMoshiConverter = "2.9.0" spongycastleCryptoCore = "1.58.0.0" timber = "4.7.1" viewBindingDelegate = "1.5.9" @@ -238,11 +238,13 @@ material = { module = "com.google.android.material:material", version.ref = "goo moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" } moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" } moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" } +moshi-kotlin-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" } okHttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" } okHttp-prettyLogging = { module = "com.github.ihsanbal:LoggingInterceptor", version.ref = "okHttp-prettyLogging" } spongecastle-core = { module = "com.madgag.spongycastle:core", version.ref = "spongycastleCryptoCore" } reKotlin = { module = "org.rekotlin:rekotlin", version.ref = "rekotlin" } retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" } +retrofit-response-type-keeper = { module = "com.squareup.retrofit2:response-type-keeper", version.ref = "retrofit" } retrofit-moshi = { module = "com.squareup.retrofit2:converter-moshi", version.ref = "retrofitMoshiConverter" } timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" } viewBindingDelegate = { module = "com.github.kirich1409:viewbindingpropertydelegate-noreflection", version.ref = "viewBindingDelegate" } diff --git a/libs/blockchain-sdk/build.gradle.kts b/libs/blockchain-sdk/build.gradle.kts index 96dcda0905..bdbb9dde4f 100644 --- a/libs/blockchain-sdk/build.gradle.kts +++ b/libs/blockchain-sdk/build.gradle.kts @@ -1,3 +1,5 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) @@ -31,6 +33,8 @@ dependencies { implementation(deps.moshi) implementation(deps.moshi.kotlin) implementation(deps.timber) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) // endregion // region Firebase libraries diff --git a/libs/visa/build.gradle.kts b/libs/visa/build.gradle.kts index 8ef254a4e4..eb6f922306 100644 --- a/libs/visa/build.gradle.kts +++ b/libs/visa/build.gradle.kts @@ -1,6 +1,9 @@ +import com.tangem.plugin.configuration.configurations.extension.kaptForObfuscatingVariants + plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) + alias(deps.plugins.kotlin.kapt) id("configuration") } @@ -21,6 +24,8 @@ dependencies { implementation(deps.okHttp.prettyLogging) implementation(deps.retrofit) implementation(deps.retrofit.moshi) + kaptForObfuscatingVariants(deps.moshi.kotlin.codegen) + kaptForObfuscatingVariants(deps.retrofit.response.type.keeper) /** Libs - Other */ implementation(deps.web3j.core) diff --git a/libs/visa/src/main/kotlin/com/tangem/lib/visa/model/VisaTxHistoryResponse.kt b/libs/visa/src/main/kotlin/com/tangem/lib/visa/model/VisaTxHistoryResponse.kt index dcec060570..bf722ca7bf 100644 --- a/libs/visa/src/main/kotlin/com/tangem/lib/visa/model/VisaTxHistoryResponse.kt +++ b/libs/visa/src/main/kotlin/com/tangem/lib/visa/model/VisaTxHistoryResponse.kt @@ -1,9 +1,11 @@ package com.tangem.lib.visa.model import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass import org.joda.time.DateTime import java.math.BigDecimal +@JsonClass(generateAdapter = true) data class VisaTxHistoryResponse( @Json(name = "card_wallet_address") val cardWalletAddress: String, @@ -11,6 +13,7 @@ data class VisaTxHistoryResponse( val transactions: List, ) { + @JsonClass(generateAdapter = true) data class Transaction( @Json(name = "auth_code") val authCode: String?, @@ -52,6 +55,7 @@ data class VisaTxHistoryResponse( val transactionType: String, ) { + @JsonClass(generateAdapter = true) data class Request( @Json(name = "billing_amount") val billingAmount: BigDecimal, diff --git a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/AppExtensionConfigurations.kt b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/AppExtensionConfigurations.kt index fb3e3e15a1..a4bc580673 100644 --- a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/AppExtensionConfigurations.kt +++ b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/AppExtensionConfigurations.kt @@ -71,12 +71,15 @@ private fun AndroidBuildType.configureBuildVariant(appExtension: AppExtension, b when (buildType) { BuildType.Release -> { isDebuggable = false - isMinifyEnabled = false - proguardFiles(appExtension.getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro") } BuildType.Debug -> { isDebuggable = true - isMinifyEnabled = false + } + BuildType.DebugPG -> { + // build is not debuggable to let R8 make optimizations + // otherwise, only shrinking will be applied + matchingFallbacks.add(BuildType.Debug.id) + signingConfig = appExtension.signingConfigs.getByName(BuildType.Debug.id) } BuildType.Internal, BuildType.External, @@ -95,6 +98,9 @@ private fun AndroidBuildType.configureBuildVariant(appExtension: AppExtension, b versionNameSuffix = buildType.versionSuffix?.let { "-$it" } applicationIdSuffix = buildType.appIdSuffix?.let { ".$it" } + isMinifyEnabled = buildType.obfuscating + isShrinkResources = buildType.obfuscating + proguardFiles("proguard-rules.pro", appExtension.getDefaultProguardFile("proguard-android.txt")) } private fun AppExtension.configurePackagingOptions() { @@ -104,6 +110,7 @@ private fun AppExtension.configurePackagingOptions() { excludes += "lib/x86_64/freebsd/libscrypt.so" excludes += "lib/x86_64/linux/libscrypt.so" excludes += "META-INF/gradle/incremental.annotation.processors" + pickFirsts += "google/protobuf/*" merges += "paymentrequest.proto" } diff --git a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/DependencyHandler.kt b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/DependencyHandler.kt new file mode 100644 index 0000000000..c6a34d5600 --- /dev/null +++ b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/DependencyHandler.kt @@ -0,0 +1,25 @@ +package com.tangem.plugin.configuration.configurations.extension + +import com.android.build.gradle.internal.plugins.AppPlugin +import com.android.build.gradle.internal.plugins.LibraryPlugin +import com.tangem.plugin.configuration.model.BuildType +import org.gradle.api.Project + +fun Project.kaptForObfuscatingVariants(dependencyNotation: Any) { + plugins.all { + when (this) { + is AppPlugin -> { + BuildType.values().filter { it.obfuscating }.forEach { + dependencies.add(it.createKaptConfiguration(), dependencyNotation) + } + } + is LibraryPlugin -> { + BuildType.values().filter { it.obfuscating }.forEach { + dependencies.add(it.createKaptConfiguration(), dependencyNotation) + } + } + } + } +} + +private fun BuildType.createKaptConfiguration() = "kapt" + name.replaceFirstChar(Char::titlecase) \ No newline at end of file diff --git a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/LibraryExtensionConfigurations.kt b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/LibraryExtensionConfigurations.kt index f82cfcf71e..572a39af72 100644 --- a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/LibraryExtensionConfigurations.kt +++ b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/configurations/extension/LibraryExtensionConfigurations.kt @@ -45,6 +45,7 @@ private fun LibraryExtension.configurePackagingOptions() { excludes += "lib/x86_64/freebsd/libscrypt.so" excludes += "lib/x86_64/linux/libscrypt.so" excludes += "META-INF/gradle/incremental.annotation.processors" + pickFirsts += "google/protobuf/*" } } } \ No newline at end of file diff --git a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/model/BuildType.kt b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/model/BuildType.kt index 27271c7cea..1ca95f8b20 100644 --- a/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/model/BuildType.kt +++ b/plugins/configuration/src/main/kotlin/com/tangem/plugin/configuration/model/BuildType.kt @@ -4,6 +4,7 @@ internal enum class BuildType( val id: String, val appIdSuffix: String? = null, val versionSuffix: String? = null, + val obfuscating: Boolean = false, val configFields: List, ) { @@ -31,6 +32,19 @@ internal enum class BuildType( ), ), + DebugPG( + id = "debugPG", + appIdSuffix = "debug", + obfuscating = true, + configFields = listOf( + BuildConfigField.Environment(value = "dev"), + BuildConfigField.TestActionEnabled(isEnabled = true), + BuildConfigField.LogEnabled(isEnabled = true), + BuildConfigField.TesterMenuAvailability(isEnabled = true), + BuildConfigField.MockDataSource(isEnabled = false), + ), + ), + /** * Build type for QA and business * From 5c8e4c134e9b13fd256a3de15bea749d4cd2fd45 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Jan 2025 16:46:34 +0500 Subject: [PATCH 14/61] Updated on 2026-08-14 --- gradle/dependencies.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index baaa74a4d5..6cd0918be2 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -88,7 +88,7 @@ markdownComposeView = "0.5.4" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "develop-913" +tangemBlockchainSdk = "develop-914" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "develop-421" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ From dfb2896bb4c370745caa8ea948650244b325bb88 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Jan 2025 16:36:00 +0200 Subject: [PATCH 15/61] Updated on 2026-08-14 --- Dockerfile => ci_resources/Dockerfile.android | 2 +- ci_resources/Dockerfile.lightweight | 14 ++++++++++++++ ci_resources/x86_64_libs/ld-linux-x86-64.so.2 | Bin 236616 -> 0 bytes ci_resources/x86_64_libs/libc.so.6 | Bin 2125328 -> 0 bytes ci_resources/x86_64_libs/libdl.so.2 | Bin 14408 -> 0 bytes ci_resources/x86_64_libs/libgcc_s.so.1 | Bin 183024 -> 0 bytes ci_resources/x86_64_libs/libm.so.6 | Bin 952616 -> 0 bytes ci_resources/x86_64_libs/libpthread.so.0 | Bin 14408 -> 0 bytes ci_resources/x86_64_libs/librt.so.1 | Bin 14624 -> 0 bytes 9 files changed, 15 insertions(+), 1 deletion(-) rename Dockerfile => ci_resources/Dockerfile.android (98%) create mode 100644 ci_resources/Dockerfile.lightweight delete mode 100755 ci_resources/x86_64_libs/ld-linux-x86-64.so.2 delete mode 100755 ci_resources/x86_64_libs/libc.so.6 delete mode 100644 ci_resources/x86_64_libs/libdl.so.2 delete mode 100644 ci_resources/x86_64_libs/libgcc_s.so.1 delete mode 100644 ci_resources/x86_64_libs/libm.so.6 delete mode 100644 ci_resources/x86_64_libs/libpthread.so.0 delete mode 100644 ci_resources/x86_64_libs/librt.so.1 diff --git a/Dockerfile b/ci_resources/Dockerfile.android similarity index 98% rename from Dockerfile rename to ci_resources/Dockerfile.android index a91ea81c41..4573a0972d 100644 --- a/Dockerfile +++ b/ci_resources/Dockerfile.android @@ -42,7 +42,7 @@ RUN gem install bundler:2.5.23 RUN gem install fastlane -v 2.211.0 -N -V RUN gem install fastlane-plugin-firebase_app_distribution -v 0.9.1 -N -V -COPY Gemfile Gemfile.lock ./ +COPY ../Gemfile Gemfile.lock ./ RUN bundle install --jobs=4 --retry=3 --verbose RUN bundle exec fastlane -v diff --git a/ci_resources/Dockerfile.lightweight b/ci_resources/Dockerfile.lightweight new file mode 100644 index 0000000000..8ea81ff654 --- /dev/null +++ b/ci_resources/Dockerfile.lightweight @@ -0,0 +1,14 @@ +FROM ubuntu:24.04 + +RUN apt-get update && apt-get install -y \ + curl \ + git \ + && apt-get clean + +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list && \ + apt-get update && apt-get install -y gh && \ + apt-get clean + +CMD ["bash"] diff --git a/ci_resources/x86_64_libs/ld-linux-x86-64.so.2 b/ci_resources/x86_64_libs/ld-linux-x86-64.so.2 deleted file mode 100755 index 8ef4df1a3d45b2ce889133a8f1ec6ecb0d589a3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 236616 zcmeFadtg-6)$l!&WMB~R1SJv_Yt ZxA)gNK!K}1LxpGQNT;pA_^#qf@DTeL4q@b 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%0A` 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%0ABANrdOl%4ZM3~RdJAX4 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

bIaM>LM=Yyv9h;3 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 =Yk81A~XUAvDI=_&jbLH7|RQ%Gj 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 diff --git a/ci_resources/x86_64_libs/libc.so.6 b/ci_resources/x86_64_libs/libc.so.6 deleted file mode 100755 index 4b600449a03786fb72476959d52cf583f50332f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2125328 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 }QVtRUI{ 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≫GiO{ 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≻A@snm1v%S}hTNseA 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

+r#Gcys&>;<*2a4i!V76<=jI)49)?Z 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%0DBPf-}5A|ClLYJW`=LF-#T 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
    *1cQ_eeU2^!Ra+8PIoz2*n(wkjluoN!Yqd98 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˴jN;eKYD_C~H2%sbrAXvWyw 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 diff --git a/ci_resources/x86_64_libs/libdl.so.2 b/ci_resources/x86_64_libs/libdl.so.2 deleted file mode 100644 index 2862f8ef7e57e4f2d597e9c39dc267d3f250dc3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14408 zcmeHOTWl0n7(UxlTm;*qVg!tAv>0!UwWW=XR@Q>J7%+mMA<>M}?zG*w?AG0>7JYCN z)Oe4QX!>MKd=QC=#zf;KF%T4aQ{#&!KJa2v6Qih6QGxOQX8vy(#y0U1U-bNB=KF8o zIcNSkb9T#|ec<|y>svAzLuobFnv<3>c?}exV8Ct6~AN|8L6;O$Y~9_0~p znorEe%|v6wIQM8gjoq3@O!GcdUK-aaj~LZLe7AfV6#q_tH!Ck)N7`N5ACdiS79Q&I zXN9+Ui}p9yeHhp4CgOfW&~Hu-%$XZ*+GZqeAAGHHKw28Hoyp}iQS)8U%vd- zzOO3B+waIv@6C-|^fvey7dXg)AYX?N*^A}8P!3!x@=uq8eTv$Y1x+nhI1X57FPiId zXwEYp5zYhT<3KxcorgLbqQVCoxfl!Nm!w#Ab zT-Uf8wr+BZe$5{%)dRn_b<^5%wc>B}hRc2&n?2%=OnL5Tsp6GO_er8#E)5sU?md33 zUXsQq%HD`SUM)+zMj|6lz3TKsE0&@5m>V{37+UN0I6Y2ZQ}1&pbCDvvjZehT4ydHs8FV zHpYUx%svjUk${MhqA^8=oMsY!Tqos7!k>H|k0$(hUMXDfnVZQoV$oK>R=`%kR=`%k zR=`%^|5bq>I?n&KuFn0A9Tc+ z*&c@BOi@k;+g6I5xkI?k{=xt1UJ2@WVB<=GQ5~9BE>0`90=5FS0=5FS0=5FS0=5FS z0=5FS0=5FS0{@W;WR|yHjdwnHFOoYFhIzqm!Er%(eHS)>B6x2E$=tWaWTrYZ%NL!N zeOg`~fs1!dpM4vK(Yv4a&h_o*-q^A5-fY9HSvGKKZ&&ns5PbRX0<({KqC>#BU5+W~ zlkfcCw_+<`D_|>ND_|>ND_|>ND_|>ND_|?|f2qI`-AMPEBKGM)u*VM49z%1F-y*fS z0q+d8v$~&hsoLBJx14dsWr{E8{$~752jPCyd9i77_(M_T#}i={IITAScAL>e?BjzR z);Ra7ei*x>J+)BJRa?`{A>F^n?c$GULmbDQn$P{VC7iJ^jN2PSGEp90TLkXSc5~PJO%{)Bt2)t+Lw z(gr%=hFeLk`DG9MNUOzKsZt7zGf|FD&RA8Hz@L({Y~3vx#~*h`Yu*mu9WP1?w2T9u z>(y$Wj2@ZPrFm~hX+*~71)gz+>-A_DvVT~rQ7%>Pifi~!&e&s)InO<=bNya`eQ+Mr z#{5q5)4vkcui4>D>5mHqR1-7G$=LF98CBYr5cq;OrJZ@Va1Gsx#UK|Dtj zdHu{Ij!GPB7HzI$#D?-Qe$A8BHWIPn&6upY2Rb05xU%{2U|l^NM_oH7VGSp5*8BbCalMlR}&LVv66b z0V4C*0BzzcDSlo9#1BYRB#-XbQ+$4I6Zv`0{Pgv|rF`B$lhaJaE;R{h{y_<#e&k=A zi!+H6vDrNHzR~fqDELl-X9&XY8T_43I-fT23*mIgK|a5Syr93kVjkLt&?e4^4|9in zejf67TRFWj%zp@Zybmvl57$pVzlR*U0@+4>@ph_^Py9~8NxsQzes_$_Q*X0>+CPhe r9QL2h$C2zDeDsx+V`8Lzh?BoMnJjwx{+}}TMD8`(|H4$`DbxH8s$1rV diff --git a/ci_resources/x86_64_libs/libgcc_s.so.1 b/ci_resources/x86_64_libs/libgcc_s.so.1 deleted file mode 100644 index 0e7b8a593990505dbc52cd05bf104b24602a0e7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183024 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 Y@+aiYysfB?XLbJN7YnUdzgOG;1FMOk&;S4c diff --git a/ci_resources/x86_64_libs/libm.so.6 b/ci_resources/x86_64_libs/libm.so.6 deleted file mode 100644 index 7a473b15f32ad6fd548a360296c5e336d23d525c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 952616 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

    {pF+6l^6h`J`L8iQ{z|nu-d`^kd+)4lDAC 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ν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 |7{1MX?HL&cZ(scu!vmWU9L5unO-Gw{w9ov3z zP~mZi!=BBLc73#n(;C%1v*Qd}zwie=;LBhNAJ`nb`=O;DvfZXr`POZ|sz&zhQ3h@# zP?J=w^JvT1aoyC|q}k6O3MV@Q1_}eSwbGiyd9+ACpV64MT}HErmmoJM@y#EZUr__A zaaD;NzL4fjf~hxqix=lNjbp-ZUG(+vLj-Jgywx;NI$`s@rwBleG)KG zyNgK1=kHuU6HqHq=#7jj4f!cv&=J<1X{Pfgj{K3F%mR?&q zoHKHpPw5sTwEprB{?tVic<)$@?anWI{2|R&dQ+79{V^8p%Om0TX!(3FrfPYnZ-6)O zH^Z4@IB@&gDATd;ToZBbM&6P!37*A;$9+4`Grd{+0vKp9*Pw|dNr>ZZY<5LmouP_2_5|MbEB z(+B%cAM8JUu>bVI{?iBhPao_*eX#%Z!T!?+`@cjV3|;E;XT6>rdEE~)CFG@qVw6yh z5^7RHEG4v}gszk@h!RFn!emNFpoBG)u!j;7DIpa_SBjYu@=`)EN+?GOSM#qQoWHv>Eue~Ap9pMieqUA!scGmt;Iv(<`r2Hp(xpXNsQ$KtM- zeM?TCh7&O(4!nWW@GZ|)aPr?QUge%m35+42H(cWw{30JqZ6fMY3LMM7` z$wmH2=!qSFE4OJ9m@er!2aZfY>6u(x^|}cdnS15ukU0Uja$@@E!zUp4_={W`uL%&h z?XbLHF#)=B*DvwuO#t5d%^r}QfOBoq8d-ZLKnV|zA8wvN&%qPS%$gmCiP^8ukM)j2 ztt34UOF4R&fe@pb)TeQn`FZ0&QusLZzTWiR7Cldq+wufZYi zp*9Ye30#R5QseM@(;>&O-Q&Q^viuo`<1{Hhix!D+ZAV^I&M*=3w4@3rn~Cr

    O7D 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 O2>Ti3cSV9nO!F_H|87_S diff --git a/ci_resources/x86_64_libs/librt.so.1 b/ci_resources/x86_64_libs/librt.so.1 deleted file mode 100644 index 8edf9c431250740bd0f3aee8752043a6c2ee2500..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14624 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 From 4d48e8b985c70b5e34961345b5786b11de9addb5 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Jan 2025 20:33:44 +0500 Subject: [PATCH 16/61] Updated on 2026-08-14 --- .../core/ui/extensions/BlockchainIcons.kt | 12 +-- .../src/main/res/drawable/ic_apecoin_22.xml | 78 ++++++++++++++++ core/ui/src/main/res/drawable/ic_sonic_22.xml | 10 +++ .../src/main/res/drawable/img_apecoin_22.xml | 88 +++++++++++++++++++ .../ui/src/main/res/drawable/img_sonic_22.xml | 20 +++++ 5 files changed, 202 insertions(+), 6 deletions(-) create mode 100644 core/ui/src/main/res/drawable/ic_apecoin_22.xml create mode 100644 core/ui/src/main/res/drawable/ic_sonic_22.xml create mode 100644 core/ui/src/main/res/drawable/img_apecoin_22.xml create mode 100644 core/ui/src/main/res/drawable/img_sonic_22.xml diff --git a/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt b/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt index 286a622caf..c0571b8065 100644 --- a/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt +++ b/core/ui/src/main/java/com/tangem/core/ui/extensions/BlockchainIcons.kt @@ -87,8 +87,8 @@ fun getActiveIconRes(blockchainId: String): Int { "fact0rn" -> R.drawable.img_fact0rn_22 "odyssey", "odyssey/test" -> R.drawable.img_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.img_bitrock_22 - "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] - "apechain", "apechain/test" -> R.drawable.ic_alert_24 // todo ApeChain [REDACTED_TASK_KEY] + "sonic", "sonic/test" -> R.drawable.img_sonic_22 + "apechain", "apechain/test" -> R.drawable.img_apecoin_22 else -> R.drawable.ic_alert_24 } } @@ -174,8 +174,8 @@ fun getActiveIconResByCoinId(coinId: String): Int { "fact0rn" -> R.drawable.img_fact0rn_22 "odyssey", "odyssey/test" -> R.drawable.img_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.img_bitrock_22 - "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] - "apechain", "apechain/test" -> R.drawable.ic_alert_24 // todo ApeChain [REDACTED_TASK_KEY] + "sonic", "sonic/test" -> R.drawable.img_sonic_22 + "apechain", "apechain/test" -> R.drawable.img_apecoin_22 else -> R.drawable.ic_alert_24 } } @@ -264,8 +264,8 @@ fun getGreyedOutIconRes(blockchainId: String): Int { "fact0rn" -> R.drawable.ic_fact0rn_22 "odyssey", "odyssey/test" -> R.drawable.ic_odyssey_chain_22 "bitrock", "bitrock/test" -> R.drawable.ic_bitrock_22 - "sonic", "sonic/test" -> R.drawable.ic_alert_24 // todo Sonic [REDACTED_TASK_KEY] - "apechain", "apechain/test" -> R.drawable.ic_alert_24 // todo ApeChain [REDACTED_TASK_KEY] + "sonic", "sonic/test" -> R.drawable.ic_sonic_22 + "apechain", "apechain/test" -> R.drawable.ic_apecoin_22 else -> R.drawable.ic_alert_24 } } \ No newline at end of file diff --git a/core/ui/src/main/res/drawable/ic_apecoin_22.xml b/core/ui/src/main/res/drawable/ic_apecoin_22.xml new file mode 100644 index 0000000000..99e14d7f9c --- /dev/null +++ b/core/ui/src/main/res/drawable/ic_apecoin_22.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/ui/src/main/res/drawable/ic_sonic_22.xml b/core/ui/src/main/res/drawable/ic_sonic_22.xml new file mode 100644 index 0000000000..c4a026c93a --- /dev/null +++ b/core/ui/src/main/res/drawable/ic_sonic_22.xml @@ -0,0 +1,10 @@ + + + diff --git a/core/ui/src/main/res/drawable/img_apecoin_22.xml b/core/ui/src/main/res/drawable/img_apecoin_22.xml new file mode 100644 index 0000000000..8a9a5266a0 --- /dev/null +++ b/core/ui/src/main/res/drawable/img_apecoin_22.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/core/ui/src/main/res/drawable/img_sonic_22.xml b/core/ui/src/main/res/drawable/img_sonic_22.xml new file mode 100644 index 0000000000..22ab5bd01e --- /dev/null +++ b/core/ui/src/main/res/drawable/img_sonic_22.xml @@ -0,0 +1,20 @@ + + + + + + + + From 248bed5ec98145fa38635e3cff92faf06990ef29 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Jan 2025 19:26:08 +0200 Subject: [PATCH 17/61] Updated on 2026-08-14 --- ci_resources/Dockerfile.lightweight | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ci_resources/Dockerfile.lightweight b/ci_resources/Dockerfile.lightweight index 8ea81ff654..62c29262d9 100644 --- a/ci_resources/Dockerfile.lightweight +++ b/ci_resources/Dockerfile.lightweight @@ -11,4 +11,9 @@ RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | d apt-get update && apt-get install -y gh && \ apt-get clean +RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \ + apt-get install -y git-lfs && \ + git lfs install && \ + apt-get clean + CMD ["bash"] From f99b66a8b27cebd28a4be35a0e0df99dd9f26ccc Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 23 Jan 2025 18:16:59 +0300 Subject: [PATCH 18/61] Updated on 2026-08-14 --- .../configs/feature_toggles_config.json | 4 ++ core/res/src/main/res/values-de/strings.xml | 21 ++++-- core/res/src/main/res/values-es/strings.xml | 69 ++++++++++--------- core/res/src/main/res/values-fr/strings.xml | 1 + core/res/src/main/res/values-ja/strings.xml | 13 +++- core/res/src/main/res/values-ru/strings.xml | 3 +- .../src/main/res/values-uk-rUA/strings.xml | 1 + core/res/src/main/res/values/strings.xml | 11 ++- .../features/onramp/OnrampFeatureToggles.kt | 2 + .../onramp/DefaultOnrampFeatureToggles.kt | 5 +- 10 files changed, 85 insertions(+), 45 deletions(-) diff --git a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json index 1beda5a73b..33cddf22fe 100644 --- a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json +++ b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json @@ -34,5 +34,9 @@ { "name": "VISA_ONBOARDING_ENABLED", "version": "undefined" + }, + { + "name": "ONRAMP_HOT_TOKENS_ENABLED", + "version": "undefined" } ] diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index 6e3db49a06..9d34a45453 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -87,6 +87,8 @@ Nicht genug ADA Akzeptieren Zugang verweigert + Zum Portfolio hinzufügen + Token hinzufügen Alle Erlauben Analysen @@ -105,7 +107,7 @@ Ändern Aktion wählen Beanspruchen - Stakingbelohnungen beanstpruchen + Stakingbelohnungen beanspruchen Schließen Bestätigen Weiter @@ -197,7 +199,7 @@ Ich verstehe Es ist ein Fehler aufgetreten. Bitte versuche es erneut. Nicht erreichbar - staking beenden + Staking beenden woche mit Ja @@ -338,6 +340,8 @@ Unbegrenzt Karte oder Ring bestellen Karte oder Ring scannen + An %s + In %s Diese Informationen wurden mithilfe von KI generiert.\nTippe hier, wenn Du Fehler finden. Um den Zugangscode zu ändern, halte die Karte oder Ring wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs. Um den Passcode zu ändern, halte die Karte oder Ring wie oben gezeigt an das Gerät und entferne sie erst am Ende des Vorgangs. @@ -808,7 +812,7 @@ Du bist dabei, Dein gesamtes Guthaben zu staken. Wir empfehlen, einen kleinen Betrag übrig zu lassen, um die Netzwerkgebühren für die Aufhebung des Stakes oder das Einfordern von Prämien abzudecken. Entsperre dein Geld, um es aus dem Staking-Prozess abzuheben. Das Freischalten nimmt %s. Nach Ablauf der 21-tägigen Bindungsfrist kannst Du über Dein Guthaben verfügen. Die Prämie wird zusammen mit dem ungestaketen Guthaben abgehoben. - Deine Assets steht Dir nach Ablauf der Frist für die Aufhebung der Bindung %s zur Verfügung. + Deine Assets stehen Dir nach Ablauf der Frist für die Aufhebung der Bindung %s zur Verfügung. Du kannst Dein Guthaben jetzt abheben. Es steht Dir sofort zur Verfügung. Wenn du im Tron-Netzwerk mit einem neuen Validator stakest, werden alle zuvor eingesetzten Assets automatisch an diesen Validator übertragen. Vorbereitung @@ -840,7 +844,7 @@ Tippe zum Entsperren oder Abstimmen Zum abheben antippen Stake %s - Staking beenden%s + Staking beenden %s Die Transaktion wird bearbeitet! Derzeit findet eine Validierung in der Blockchain statt. Dies kann einige Minuten dauern. Lösen der Bindungen Gelocktes unlocken @@ -914,6 +918,7 @@ Tausche diesen Token gegen einen anderen zu %1$s Servicegebühren von Februar %2$s-%3$s. Tausche mit Changelly, %s Gebühren Jetzt tauschen + Hot Krypto 🔥 Nicht verfügbar zum Kauf Nicht zum Verkauf verfügbar Nicht verfügbar für Tausch von %s @@ -947,7 +952,7 @@ Sei der Erste, der von neuen Aktionen erfährt Möchtest du Push-Benachrichtigungen verwenden? Neues Wallet hinzufügen - Möchtest du diese Wallet wirklich löschen? + Möchtest Du diese Wallet wirklich entfernen? Es ist ein Fehler aufgetreten, bitte scanne deine Karte oder Ring, um sich anzumelden Dieses Wallet wurde bereits gespeichert, du kannst ein weiteres hinzufügen Die Wallet mit dem Namen %s existiert bereits @@ -957,7 +962,7 @@ Alle mit %s freischalten Blockchain ist nicht erreichbar. Versuche es später nochmal Karte oder Ring scannen - Diese Wallet wurde bereits früher aktiviert.\nWenn es nicht von Dir durchgeführt wurde, wende Dich bitte an den Support.\nTangem verkauft niemals Wallets zusammen mit dem vorgenerierten Zugangscode. + Dieses Wallet wurde bereits früher aktiviert. \n Wenn dies nicht von Dir durchgeführt wurde, wende Dich bitte an den Support. \n Tangem verkauft niemals Wallets zusammen mit vorgenerierten Zugangscodes. Aufforderung zum Signieren einer Nachricht. \n\n %s Dapp %1$s, mit der Bitte um\nBNB-Transaktion zu unterzeichnen.\n\n%2$s Handelsauftrag für %1$s\n Preis: %2$s\n Zu erhaltender Betrag: %3$s\n Zu zahlender Betrag: %4$s @@ -1046,6 +1051,7 @@ Bist Du sicher, dass Du die Transaktion stornieren willst? Du kannst die Transaktion nicht erneut starten. Deine Transaktion mit einem Betrag von %1$s %2$s wurde nicht abgeschlossen. Du kannst versuchen, diese erneut abzuschließen. Du hast eine nicht abgeschlossene Transaktion + Letzte Aktualisierung war %s Auf dieser Karte oder Ring sind nur noch %s Unterschriften übrig. Du musst dein gesamtes Guthaben abheben. Geringe Anzahl von Unterschriften Token in verschiedenen Netzwerken können unterschiedliche Adressen haben. Überprüfe bei der Überweisung noch einmal, ob deine Adresse mit der des Netzwerks übereinstimmt. @@ -1069,7 +1075,7 @@ Netzmietgebühr erforderlich Vielen Dank! Alles erledigt! Keine weiteren Maßnahmen erforderlich. Sie werden jetzt auf die offizielle Tangem-Website weitergeleitet. Bitte lesen und befolgen Sie dort die Anweisungen. - Haben Sie jemals das Support-Team von Tangem direkt über diese Anwendung kontaktiert? + Hast Du das Tangem-Supportteam schon einmal direkt über diese Anwendung kontaktiert? Verpflichtendes Sicherheitsupdate %1$s ist ein Vermögenswert im %2$s Netzwerk. Um eine %3$s Transaktion durchzuführen, musst du etwas %4$s (%5$s) einzahlen, um die Netzwerkgebühr zu decken. Unzureichende %1$s zur Deckung der Netzgebühr @@ -1078,6 +1084,7 @@ Das Solana-Netzwerk erhebt alle 2 Tage eine Miete von %1$s. Konten, die sich die Miete nicht leisten können, werden aus dem Netzwerk gelöscht. Hinterlege deinem Konto mit mehr als %2$s, um es kostenlos zu nutzen. Wischen Sie nach unten, um zu aktualisieren, oder versuchen Sie es später erneut. Einige Netzwerke sind nicht erreichbar + Einige Token-Guthaben konnten nicht aktualisiert werden Dies ist eine Testnet-Karte. Sie kann keine Transaktionen verarbeiten und sollte nur zu Test- und Entwicklungszwecken verwendet werden. Nur für Testzwecke Verwerfen diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml index ad2f784c78..1c536e5ea2 100644 --- a/core/res/src/main/res/values-es/strings.xml +++ b/core/res/src/main/res/values-es/strings.xml @@ -1,6 +1,6 @@ - ¿No encuentra el token en su billetera? Consulte los mercados para encontrarlo y añadirlo a la compra + ¿No encuentra el token en su billetera? Consulte la sección de Mercados para encontrarlo y añadirlo a la compra ¿No encuentra el token en su billetera? Consulte los mercados para encontrarlo y añadirlo a la venta Vender Esto puede tardar unos segundos. Inténtelo de nuevo más tarde. @@ -28,8 +28,8 @@ Razón: %s No se puede completar una transacción El seleccionado no admite la red %1$s - Para activar el %1$s cifrado criptográfico de la blockchain, necesitarás reiniciar la billetera a los ajustes de fábrica. Por favor, retire sus fondos antes de hacerlo para asegurarte de no perderlos, y luego complete el proceso de reinicio. El acceso a la billetera actual no será posible después del reinicio. - Esta tarjeta no admite %1$s tokens de red debido a una limitación del firmware. + Para activar el %1$s cifrado criptográfico de la blockchain, necesitarás reiniciar la billetera a los ajustes de fábrica. Por favor, retire sus fondos antes de hacerlo para asegurarse no perderlos, y luego complete el proceso de reinicio. El acceso a la billetera actual no será posible después del reinicio. + Esta tarjeta no admite tokens en la red %1$s debido a una limitación del firmware. ¿Tiene dificultades para escanear su tarjeta/anillo? Esta tarjeta no está diseñada para funcionar con Tangem Tarifa por defecto @@ -39,7 +39,7 @@ Esto eliminará todos los códigos de acceso guardados de la billetera. Cualquier operación posterior con la billetera requerirá introducir el código de acceso. Eliminar la tarjeta guardada borra todos las billeteras guardadas y sus códigos de acceso de la app. Guardar código de acceso - Se solicitará la autenticación biométrica en lugar del código de acceso para interactuar con su tarjeta. + Se solicitará la autenticación biométrica en lugar del código de acceso para las interacciones con su tarjeta o anillo. Mantener la billetera en la app Habilite para vincular todos las billeteras a la app Tangem. Se requerirá autenticación biométrica para desbloquear la app. La firma de transacciones requiere tocar su tarjeta Tangem. Oscuro @@ -51,6 +51,8 @@ No mostrar de nuevo Entendido Los saldos están ocultos + Según los desarrolladores de la blockchain, los tokens de Kaspa se encuentran actualmente en fase beta. ¡Estén atentos a las actualizaciones! + Modo Beta Por favor, escanee la tarjeta/anillo Por favor, inténtelo de nuevo en 30 segundos o escanee la tarjeta/anillo Demasiados intentos @@ -64,17 +66,17 @@ Desactive esta opción si no quiere que esta tarjeta se use para reiniciar códigos de acceso en otras tarjetas de esta billetera. Tenga en cuenta que esto también evitará que reinicie el código de acceso en esta tarjeta. Permite usar esta tarjeta para reiniciar el código de acceso en otras tarjetas de esta billetera Recuperación de código de acceso - Reiniciar + Resetear ¿Está seguro de que quiere hacer esto? Cambiar código de acceso El código de acceso se cambiará solo en esta tarjeta o este anillo - Todas las tarjetas de la billetera seleccionada se han restablecido a la configuración de fábrica. Ahora puedes crear una nueva billetera. + Todos los dispositivos de la billetera seleccionada se han restablecido a la configuración de fábrica. Ahora puedes crear una nueva billetera. Reinicio completado ¿Quiere restablecer el siguiente dispositivo en esta billetera? - Reinicio de tarjeta - Recomendamos completar el proceso de reinicio para todas las tarjetas en esta billetera. + Reseteo de billetera + Recomendamos completar el proceso de reinicio para todos los dispositivos en esta billetera. No ha reseteado todas sus dispositivos Tangem - Restablecer a ajustes de fábrica + Resetear a configuración de fábrica Modo de seguridad Ajustes del dispositivo Además de la tarifa de red, la red Cardano cobra %1$s ADA al realizar transacciones con el %2$s token @@ -234,7 +236,7 @@ Código de acceso Deberá ingresar la contraseña correcta antes de escanear la tarjeta. Sostenga la tarjeta firmemente - Este mecanismo protege contra ataques sin contacto a la tarjeta. Hay un retraso entre la recepción y la ejecución del pedido. Después de la primera transacción firmada, ese teléfono se asociará con la tarjeta y las transacciones se firmarán inmediatamente. + Este mecanismo protege contra los ataques de proximidad a una tarjeta o anillo. Aplicará un retardo entre la recepción y la ejecución de un comando. Contraseña Antes de ejecutar un comando que cambie el estado de la tarjeta, deberá ingresar una contraseña. Programa de referidos @@ -251,14 +253,14 @@ Detalles Compruebe su conexión a internet o cambia a una red diferente Condiciones de uso - Ha usado una tarjeta de otro wallet. Toque la tarjeta asociada con esta billetera + Ha usado una tarjeta de otra billetera. Toque la tarjeta asociada con esta billetera Mis tokens Aún no ha añadido ningún token. Agregue tokens a través de Market para hacer swap No se puede intercambiar por %s Proporcionado por Estado Tangem ofrece swaps de tokens a través de proveedores externos según los términos de cada proveedor - Elige un proveedor + Elija proveedor Ha ocurrido un error. Código: %s Error %1$s. El proveedor seleccionado no puede procesar la transacción especificada. Por favor, redondee el valor a %2$s o cámbielo El proveedor seleccionado no está disponible actualmente. Inténtelo de nuevo más tarde. (Código: %s) @@ -334,7 +336,7 @@ Para continuar, de autorización a los smart contracts de %1s para usar su %2s Dar autorización Ilimitado - Ordenar + Pedir Tangem Escanee Esta información fue generada con IA.\nPulse aquí si encuentra algún error. Para cambiar el código de acceso coloque la tarjeta o el anillo como se muestra arriba y no lo retire hasta el fin de la operación @@ -342,7 +344,7 @@ Para crear la billetera, coloque la tarjeta o el anillo como se muestra arriba y no la retire hasta el fin de la operación Para crear la billetera, ponga el anillo como se muestra arriba y manténgala hasta que termine la operación. Toque la tarjeta no. %s de la billetera - Coloque para escanear + Acerque para escanear Toque para firmar Coloque la tarjeta o el anillo Ha actualizado la biometría, escanee su tarjeta o anillo para entrar @@ -357,7 +359,7 @@ Para comenzar a seguir tus activos crypto y transacciones, agregue tokens Gestionar tokens Para acceder a todas las redes necesita escanear la tarjeta - Escanee su tarjeta + Escanee su tarjeta o anillo Benefíciese de %1$s tarifa de servicio en intercambios a través de Changelly del %2$s al %3$s de febrero Intercambio con Changelly, %s tarifa Tokens @@ -496,7 +498,7 @@ Vuelva a introducir su código de acceso El código de acceso debe tener al menos 4 caracteres El código de acceso introducido no coincide con el código de acceso inicial - Por favor repita la operación. La tarjeta se restablecerá a la configuración de fábrica. + Por favor repita la operación. La tarjeta/anillo se restablecerá a la configuración de fábrica. Error de activación Agregar tokens Ha agregado una tarjeta/anillo de backup. Cuando el proceso de backup finalice, no podrá añadir más dispositivos de backup. Si tiene otra tarjeta o anillo, agréguela al backup. ¿Quiere continuar el proceso de backup? @@ -601,7 +603,7 @@ Seleccione el país correcto para garantizar opciones de pago y servicios precisos. Ajustes Puede comprobar el estado de la transacción desde la página del token. - Puede comprobar el estado de la transacción desde la página del token + Puede comprobar el estado de la transacción desde la página detallada del token Vía Agrupar Por saldo @@ -646,16 +648,16 @@ %d billetera %d billeteras - Restablecer la tarjeta + Resetear la tarjeta Entiendo que después de realizar esta acción, ya no tendré acceso a la billetera actual Entiendo que no puedo usar esta tarjeta para recuperar mi código de acceso en las otras tarjetas de la wallet actual El restablecimiento de fábrica eliminará completamente la billetera de la tarjeta seleccionada. No podrá restaurar la billetera actual ni usar la tarjeta para recuperar el código de acceso. - El restablecimiento de fábrica eliminará completamente la billetera de la tarjeta seleccionada y lo eliminará de la app. No podrá restaurar la billetera actual. + El reseteo a valores de fábrica eliminará completamente la billetera de la tarjeta/anillo seleccionado y lo eliminará de la app. No podrá restaurar la billetera actual. Si tienes un Anillo Tangem, ¡3 swaps sin comisión en Changelly hasta el 15/11! ¡Intercambia con 0%% de comisión! ¿Tiene una tarjeta bancaria de otro país y un permiso de residencia o registro fuera de la Federación Rusa? Las tarjetas bancarias rusas no se aceptan actualmente - Inicie sesión en la app y comprueba su saldo sin escanear la tarjeta + Inicie sesión en la app y comprueba su saldo sin escanear la tarjeta o el anillo Acceder a la app Permitir el uso de biometría Se solicitará la biometría en lugar del código de acceso para interactuar con su billetera @@ -664,9 +666,9 @@ Activar la autorización biométrica ¿Le gustaría usar la biometría? Tenga en cuenta que realizar una transacción con sus fondos seguirá requiriendo su tarjeta - Escanee su tarjeta - Escanee la tarjeta para cambiar sus ajustes. Los cambios afectarán solo a la tarjeta que has escaneado y no afectarán a otras tarjetas vinculadas a su billetera. - ¡Prepare su tarjeta! + Escanear tarjeta o anillo + Escanee la tarjeta o el anillo para cambiar su configuración. Los cambios afectarán solo a la tarjeta o el anillo que haya escaneado y no afectarán a otros dispositivos vinculados a su billetera. + ¡Prepare su tarjeta/anillo! Alerta de seguridad No tiene fondos suficientes en su saldo para vender esta criptomoneda. Deposite el activo deseado para continuar. Saldo insuficiente @@ -774,7 +776,7 @@ Método para recibir recompensas por apuesta.\nPuede ser automático, donde la recompensa se acredita en tu dirección, o manual, donde debes retirar la recompensa creando una transacción para recibirla. Calendario de recompensas Este es un cronograma que determina cuándo los participantes reciben sus recompensas. La duración de la distribución de recompensas puede variar ligeramente según el validador y la carga de la red. - Recompensas para reclamar: %s + Recompensas : %s Staking %s Periodo de disociación El período que debes esperar después de solicitar el retiro de fondos del staking antes de que los tokens estén disponibles. @@ -859,7 +861,7 @@ Billetera de hardware revolucionaria Hasta 3 tarjetas físicas o anillos por billetera Backup ultra seguro - Una billetera de hardware para su Bitcoin, Ethereum y muchas más monedas simultáneamente – todo en una sola tarjeta + Una billetera de hardware para su Bitcoin, Ethereum y muchas más monedas simultáneamente – todo en una sola tarjeta o anillo Miles de monedas Úselo en cualquier lugar, en cualquier momento. Sin cables ni baterías. Solo toque la tarjeta con su teléfono cuando necesites su cripto. La billetera para todos @@ -873,7 +875,7 @@ El monto incluye:\n• tarifas del proveedor de servicios\n• tarifas de red por enviar %1$s desde el intercambio a la dirección del usuario. \n\nEl slippage del proveedor puede alcanzar el %2$s El importe incluye los honorarios del proveedor de servicios. El importe incluye las tarifas del proveedor de servicios. \n\nEl slippage del proveedor puede alcanzar el %s - Tarifa + Información Todos los exchanges descentralizados requieren aprobaciones para evitar que los smart contracts accedan a su billetera sin su permiso. Por diseño, los smart contracts no pueden acceder a tus tokens a menos que lo apruebes. Al \"desbloquear\" sus tokens, autoriza al smart contract de 1-inch a gastarlos. Los mineros de la red reciben una tarifa de gas (pagada por voz) para registrar esta acción en la blockchain. Puede intercambiar su token después de dar la aprobación. Aprobar Error en la estimación de la tarifa. Envíe sus comentarios al servicio de asistencia. @@ -912,6 +914,7 @@ Cambie este token por otro por una tarifa de servicio de %1$s del %2$s al %3$s de febrero. Intercambio con Changelly, %s tarifa Intercambie ahora + Crypto-monnaies populaire 🔥 No disponible para compra No disponible para vender No disponible para cambio desde %s @@ -955,7 +958,7 @@ Desbloquear todo con %s La blockchain está Inaccesible. Inténtelo más tarde Escanee la tarjeta o el anillo - Esta billetera ya ha sido activada anteriormente.\nSi no fue usted quien lo hizo, comuníquese con el servicio de asistencia.\nTangem nunca vende billeteras junto con el código de acceso generado previamente. + Esta billetera ya ha sido activada anteriormente.\nSi no fue usted quien lo hizo, comuníquese con el servicio de asistencia.\nTangem nunca vende billeteras junto con un código de acceso generado previamente. Solicitud para firmar un mensaje.\n\n%s Dapp %1$s, solicitando\nfirmar transacción BNB.\n\n%2$s Orden de intercambio por %1$s\nPrecio: %2$s\nCantidad a recibir: %3$s\nCantidad a pagar: %4$s @@ -996,12 +999,12 @@ Consíguelo ahora con un 10 %% de descuento Accede a más de 13 000 criptomonedas. Compra, vende, intercambia y realiza staking con un solo toque.\nVincula hasta tres tarjetas para hacer copias de seguridad. Descubre Tangem Wallet - Ajusta de la wallet + Ajustes de la wallet Tangem Use %s o escanee una tarjeta/anillo para desbloquear el acceso a su billetera El proceso de obtención de permisos está actualmente en marcha y se completará pronto. Aprobación en curso - Parece que la activación de la tarjeta no ha ido correctamente. Esto puede deberse a un problema con el módulo NFC de su dispositivo o a una mala conexión de la tarjeta de su dispositivo. Comuníquese con nuestro equipo de soporte para obtener ayuda. + Parece que la activación de la tarjeta no ha funcionado correctamente. Esto puede deberse a un problema con el módulo NFC de su dispositivo o a una mala conexión de la tarjeta con su dispositivo. Comuníquese con nuestro equipo de soporte para obtener ayuda. Error de activación El 3 de diciembre de 2024, la red BEP-2 fue desactivada por decisión de los desarrolladores de la red y ya no es compatible BNB Beacon Chain se cerrará @@ -1065,7 +1068,7 @@ ¿Disfrutando de Tangem? Deba asociar su token antes de recibir tokens Se requiere tarifa de alquiler de red - ¡Gracias! ¡Todo está listo! No se requieren más acciones. + ¡Gracias! ¡Todo listo! No se requieren más acciones. Ahora será redirigido al sitio web oficial de Tangem. Por favor, lea y siga las instrucciones allí indicadas. ¿Alguna vez contactó al equipo de soporte de Tangem directamente desde esta aplicación? Actualización de seguridad obligatoria @@ -1074,7 +1077,7 @@ La red Solana está congestionada. Si su transacción no se procesa dentro de 2 minutos, repita la transacción. Alerta de red Solana La red Solana cobra un alquiler de %1$s cada %2$s días. Las cuentas que no pueden pagar el alquiler son eliminadas de la red. Deposite en su cuenta más de 2 para usarla de forma gratuita. - Algunas redes no están disponibles actualmente. Por favor, inténtalo de nuevo más tarde. + Deslice hacia abajo para refrescar o inténtelo de nuevo más tarde. Algunas redes no están disponibles Esta es una tarjeta de Testnet. No puede procesar transacciones y solo deba usarse para pruebas y desarrollo. Solo para fines de prueba @@ -1086,7 +1089,7 @@ Reanudar backup Esta es una acción irreversible Iniciar sesión con %s - Escanee la tarjeta - Use %s o escanee una tarjeta para acceder a la app + Escanee la tarjeta o el anillo + Use %s o escanee una tarjeta/anillo para acceder a la app ¡Bienvenido de nuevo! diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index 2f0c658d65..3359111424 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -914,6 +914,7 @@ Échangez ce jeton contre un autre moyennant des frais de service de %1$s du %2$s au %3$s février. Échangez avec Changelly, %s frais Échangez maintenant + Crypto-monnaies populaire 🔥 Non disponible à l\'achat Indisponible à la vente Non disponible pour l\'échange de %s diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index 7d9a780c4d..7d4ad5df3b 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -86,6 +86,8 @@ ADAが不足しています。 受け入れる アクセスが拒否されました + ポートフォリオに追加 + トークンを追加 すべて 許可する アナリティクス @@ -335,6 +337,8 @@ 無制限 Tangemを注文 Tangemをスキャン + %sへ + %s内 この情報はAIで生成されました。 \nエラーが見つかった場合は、ここをタップしてください。 アクセスコードを変更するには、上図のようにカードまたはリングをタップし、操作が終了するまで取り外さないでください。 パスコードを変更するには、上記のようにカードをタップし、操作が終了するまで取り外さないでください。 @@ -904,6 +908,7 @@ このトークンは、2月%2$s-%3$s の間、%1$s のサービス手数料で別のトークンと交換できます。 Changellyでスワップ、手数料%s 今すぐスワップ + ホットな暗号資産🔥 買付できません 売却できません %sからのスワップは利用できません @@ -937,7 +942,7 @@ 新しいプロモーション情報をいち早く入手しましょう プッシュ通知を使用しますか? 新しいウォレットを追加 - 本当にこのウォレットを削除してもよろしいですか? + このウォレットを忘れてもよろしいですか? エラーが発生しました。カードまたはリングをスキャンしてログインしてください。 このウォレットはすでに保存されています。別のウォレットを追加できます。 %sという名前のウォレットはすでに存在します。 @@ -1036,6 +1041,7 @@ 取引をキャンセルしてもよろしいですか? 取引を再試行することはできません %1$s %2$sの取引が完了しませんでした。もう一度試して完了してください。 未完了の取引があります + 最終更新日は%sです このカードには%sの署名のみが残っています。資金をすべて引き出す必要があります。 署名数が少ないです 異なるネットワーク上のトークンは、異なるアドレスを持つ場合があります。資金を送金する際には、アドレスがネットワークと一致していることを再確認してください。 @@ -1056,6 +1062,10 @@ Tangemを楽しんでいますか? トークンを受け取る前に、トークンを関連付ける必要があります。 ネットワーク使用料が必要です + ありがとうございます。準備完了です。これ以上の操作は必要ありません。 + Tangemの公式ウェブサイトに移動します。そちらの指示に従ってください。 + このアプリ経由でTangemサポートチームに直接連絡したことがありますか? + 必須のセキュリティアップデート %1$s は %2$s ネットワーク内のアセットです。%3$s 取引を行うには、ネットワーク手数料のために %4$s (%5$s) を入金する必要があります。 ネットワーク料金をカバーするための%1$sが足りません Solanaネットワークが混雑しています。2分以内に取引が完了しない場合は、再度取引を繰り返してください。 @@ -1063,6 +1073,7 @@ Solana ネットワークは 2 日ごとに%1$sのレンタル料を請求します。レンタル料を支払えないアカウントはネットワークから削除されます。アカウントに%2$s以上入金すると、無料で使用できます。 下にスワイプして更新するか、後でもう一度お試しください。 一部のネットワークにアクセスできません + 一部のトークン残高を更新できませんでした これはテストネットカードです。取引処理はできませんので、テストおよび開発目的でのみご利用ください。 テスト目的のみ 破棄 diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index 191593c0bb..55539a0c30 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -931,6 +931,7 @@ Обменивайте этот токен на другие с %1$s комиссии за обслуживание с %2$s по %3$s февраля. Обмен с Changelly, %s комиссии Обменять + В тренде🔥 Недоступно для покупки Недоступно для продажи Недоступно для обмена с %s @@ -964,7 +965,7 @@ Узнавайте первым о новых акциях Хотите использовать Push-уведомления? Добавить новый кошелек - Вы уверены, что хотите удалить этот кошелек? + Вы уверены, что хотите забыть этот кошелек? Произошла ошибка, пожалуйста, отсканируйте свою карту или кольцо для входа Этот кошелек уже был сохранен, вы можете добавить другой Кошелек с именем %s уже существует diff --git a/core/res/src/main/res/values-uk-rUA/strings.xml b/core/res/src/main/res/values-uk-rUA/strings.xml index 5203d19d26..4671e06916 100644 --- a/core/res/src/main/res/values-uk-rUA/strings.xml +++ b/core/res/src/main/res/values-uk-rUA/strings.xml @@ -932,6 +932,7 @@ Обмінюйте цей токен на інші з %1$s комісією за обслуговування з %2$s по %3$s лютого. Обмін із Changelly, %s комісії Обміняти + В тренді 🔥 Недоступно для покупки Недоступно для продажу Недоступно для обміну з %s diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 7f19088018..6f0a7f4223 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -87,6 +87,8 @@ Not enough ADA Accept Access denied + Add to portfolio + Add token All Allow Analytics @@ -338,6 +340,8 @@ Unlimited Order Tangem Scan Tangem + to %s + In %s This information was generated with AI.\nTap here, if you find any errors. To change the access code tap the card or ring as shown above and do not remove until the end of the operation To change the passcode tap the card as shown above and do not remove until the end of the operation @@ -914,6 +918,7 @@ Exchange this token for another at %1$s service fees from February %2$s-%3$s. Swap with Changelly, %s fees Swap now + Hot crypto 🔥 Unavailable to purchase Unavailable to sell Unavailable for swap from %s @@ -947,7 +952,7 @@ Be the first to know about new promotions Would you like to use\nPush-notifications? Add new wallet - Are you sure you want to delete this wallet? + Are you sure you want to forget this wallet? An error has occurred, please scan your card or ring to log in This wallet has already been saved, you can add another one The wallet with name %s already exists @@ -957,7 +962,7 @@ Unlock all with %s Blockchain is unreachable. Try later Scan card or ring - This wallet has already been activated earlier.\nIf it was done not by you please contact support.\nTangem never sells wallets along with the pre-generated access code. + This wallet has already been activated earlier.\nIf it was not done by you, please contact support.\nTangem never sells wallets along with pre-generated access codes. Requesting to sign a message.\n\n%s Dapp %1$s, requesting to\nsign BNB transaction.\n\n%2$s Trade order for %1$s\nPrice: %2$s\nAmount to receive: %3$s\nAmount to pay: %4$s @@ -1046,6 +1051,7 @@ Are you sure you want to cancel the transaction? You will not be able to retry the transaction again Your transaction with an amount of %1$s %2$s was not completed. You can try again to complete it. You have unfinished transaction + Last update was %s Only %s signatures are left on this card. You must withdraw all of your funds. Low signature count Tokens on different networks can have different addresses. Double-check that your address matches the network when you transfer funds. @@ -1078,6 +1084,7 @@ Solana network charges a rent of %1$s every 2 days. Accounts that can\'t afford the rent are purged from the network. Deposit your account with more than %2$s to use it for free. Swipe down to refresh or try again later. Some networks are unreachable + Some token balances could not updated This is a Testnet card. It cannot process transactions and should only be used for testing and development purposes. For testing purposes only Discard diff --git a/features/onramp/api/src/main/kotlin/com/tangem/features/onramp/OnrampFeatureToggles.kt b/features/onramp/api/src/main/kotlin/com/tangem/features/onramp/OnrampFeatureToggles.kt index 7d46cb6ad1..9202fd9fc8 100644 --- a/features/onramp/api/src/main/kotlin/com/tangem/features/onramp/OnrampFeatureToggles.kt +++ b/features/onramp/api/src/main/kotlin/com/tangem/features/onramp/OnrampFeatureToggles.kt @@ -3,4 +3,6 @@ package com.tangem.features.onramp interface OnrampFeatureToggles { val isFeatureEnabled: Boolean + + val isHotTokensEnabled: Boolean } \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/DefaultOnrampFeatureToggles.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/DefaultOnrampFeatureToggles.kt index 337eb159c5..5a0c6f5a15 100644 --- a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/DefaultOnrampFeatureToggles.kt +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/DefaultOnrampFeatureToggles.kt @@ -7,5 +7,8 @@ internal class DefaultOnrampFeatureToggles( ) : OnrampFeatureToggles { override val isFeatureEnabled: Boolean - get() = featureTogglesManager.isFeatureEnabled("ONRAMP_ENABLED") + get() = featureTogglesManager.isFeatureEnabled(name = "ONRAMP_ENABLED") + + override val isHotTokensEnabled: Boolean + get() = featureTogglesManager.isFeatureEnabled(name = "ONRAMP_HOT_TOKENS_ENABLED") } \ No newline at end of file From faafa2724ae70b32e6be10f82e554a6253b18d5c Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 24 Jan 2025 23:52:02 +0300 Subject: [PATCH 19/61] Updated on 2026-08-14 --- .../src/main/assets/configs/feature_toggles_config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json index 33cddf22fe..de076e5379 100644 --- a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json +++ b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json @@ -21,7 +21,7 @@ }, { "name": "ONBOARDING_CODE_REFACTORING_ENABLED", - "version": "undefined" + "version": "5.21.0" }, { "name": "NAVIGATION_REFACTORING", From 04b7287332c21a21f8edf87d48980bb9ef78cb42 Mon Sep 17 00:00:00 2001 From: Tangem Date: Sun, 26 Jan 2025 12:50:53 +0300 Subject: [PATCH 20/61] Updated on 2026-08-14 --- .../features/onboarding/OnboardingHelper.kt | 10 +- .../tangem/core/ui/extensions/OutsetBorder.kt | 42 ++++ .../core/ui/security/DisableScreenshots.kt | 24 +++ .../com/tangem/core/ui/utils/ContextUtils.kt | 14 ++ core/ui/src/main/res/drawable/ic_loader.xml | 9 + .../main/res/drawable/ic_tangem_card_grey.xml | 18 ++ .../main/res/drawable/ic_wallet_filled_24.xml | 7 + .../src/main/res/drawable/img_card_visa.webp | Bin 71700 -> 804348 bytes .../entry/impl/model/OnboardingEntryModel.kt | 7 + .../impl/routing/OnboardingChildFactory.kt | 1 + .../v2/entry/impl/routing/OnboardingRoute.kt | 1 + .../DefaultOnboardingMultiWalletComponent.kt | 10 +- .../MultiWalletSeedPhraseComponent.kt | 28 +-- .../v2/visa/api/OnboardingVisaComponent.kt | 1 + .../impl/DefaultOnboardingVisaComponent.kt | 158 +++++++++++++- .../OnboardingVisaAccessCodeComponent.kt | 7 + .../model/OnboardingVisaAccessCodeModel.kt | 95 ++++++--- .../accesscode/ui/OnboardingVisaAccessCode.kt | 2 +- .../ui/state/OnboardingVisaAccessCodeUM.kt | 2 +- .../approve/OnboardingVisaApproveComponent.kt | 45 ++++ .../model/OnboardingVisaApproveModel.kt | 35 ++++ .../child/approve/ui/OnboardingVisaApprove.kt | 83 ++++++++ .../ui/state/OnboardingVisaApproveUM.kt | 5 + .../OnboardingVisaChooseWalletComponent.kt | 50 +++++ .../model/OnboardingVisaChooseWalletModel.kt | 59 ++++++ .../ui/OnboardingVisaChooseWallet.kt | 174 ++++++++++++++++ .../ui/state/OnboardingVisaChooseWalletUM.kt | 11 + .../ui/state/SelectableChainRowUM.kt | 11 + .../OnboardingVisaInProgressComponent.kt | 41 ++++ .../model/OnboardingVisaInProgressModel.kt | 27 +++ .../inprogress/ui/OnboardingVisaInProgress.kt | 37 ++++ .../OnboardingVisaOtherWalletComponent.kt | 46 +++++ .../model/OnboardingVisaOtherWalletModel.kt | 38 ++++ .../ui/OnboardingVisaOtherWallet.kt | 137 ++++++++++++ .../ui/state/OnboardingVisaOtherWalletUM.kt | 6 + .../pincode/OnboardingVisaPinCodeComponent.kt | 48 +++++ .../model/OnboardingVisaPinCodeModel.kt | 52 +++++ .../child/pincode/ui/OnboardingVisaPinCode.kt | 195 ++++++++++++++++++ .../ui/state/OnboardingVisaPinCodeUM.kt | 7 + .../welcome/OnboardingVisaWelcomeComponent.kt | 17 +- .../child/welcome/ui/OnboardingVisaWelcome.kt | 20 +- .../v2/visa/impl/di/ComponentModule.kt | 51 +++++ .../v2/visa/impl/model/OnboardingVisaModel.kt | 23 +++ .../v2/visa/impl/route/OnboardingVisaRoute.kt | 28 +++ .../wallet/ui/utils/ReviewManagerRequester.kt | 11 +- 45 files changed, 1597 insertions(+), 96 deletions(-) create mode 100644 core/ui/src/main/java/com/tangem/core/ui/extensions/OutsetBorder.kt create mode 100644 core/ui/src/main/java/com/tangem/core/ui/security/DisableScreenshots.kt create mode 100644 core/ui/src/main/java/com/tangem/core/ui/utils/ContextUtils.kt create mode 100644 core/ui/src/main/res/drawable/ic_loader.xml create mode 100644 core/ui/src/main/res/drawable/ic_tangem_card_grey.xml create mode 100644 core/ui/src/main/res/drawable/ic_wallet_filled_24.xml create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/model/OnboardingVisaChooseWalletModel.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/OnboardingVisaChooseWallet.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/state/OnboardingVisaChooseWalletUM.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/state/SelectableChainRowUM.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/ui/OnboardingVisaInProgress.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/ui/OnboardingVisaOtherWallet.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/ui/state/OnboardingVisaOtherWalletUM.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/model/OnboardingVisaPinCodeModel.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/state/OnboardingVisaPinCodeUM.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt 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 796b99ce27..5551a4af79 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 @@ -14,6 +14,7 @@ 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.settings.usercountry.models.UserCountry +import com.tangem.domain.visa.model.VisaCardActivationStatus import com.tangem.domain.wallets.builder.UserWalletBuilder import com.tangem.domain.wallets.builder.UserWalletIdBuilder import com.tangem.domain.wallets.models.UserWallet @@ -44,6 +45,12 @@ object OnboardingHelper { store.state.globalState.onboardingState.onboardingManager ?: OnboardingManager(response) val cardId = response.card.cardId return when { + response.cardTypesResolver.isVisaWallet() -> { + if (response.visaCardActivationStatus == null) error("Visa card activation status is null") + + response.visaCardActivationStatus !is VisaCardActivationStatus.Activated + } + response.cardTypesResolver.isTangemTwins() -> { if (!response.twinsIsTwinned()) { true @@ -68,7 +75,8 @@ object OnboardingHelper { fun whereToNavigate(scanResponse: ScanResponse): AppRoute { val newOnboardingSupportTypes = scanResponse.productType == ProductType.Wallet2 || scanResponse.productType == ProductType.Ring || - scanResponse.productType == ProductType.Wallet // AppRoute.OnboardingOther is also supported + scanResponse.productType == ProductType.Wallet || + scanResponse.productType == ProductType.Visa // AppRoute.OnboardingOther is also supported if (store.inject(DaggerGraphState::onboardingV2FeatureToggles).isOnboardingV2Enabled && newOnboardingSupportTypes ) { diff --git a/core/ui/src/main/java/com/tangem/core/ui/extensions/OutsetBorder.kt b/core/ui/src/main/java/com/tangem/core/ui/extensions/OutsetBorder.kt new file mode 100644 index 0000000000..8dfc3ecd52 --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/extensions/OutsetBorder.kt @@ -0,0 +1,42 @@ +package com.tangem.core.ui.extensions + +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.drawWithCache +import androidx.compose.ui.geometry.CornerRadius +import androidx.compose.ui.geometry.Offset +import androidx.compose.ui.geometry.isSimple +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.Outline +import androidx.compose.ui.graphics.Shape +import androidx.compose.ui.graphics.drawscope.Stroke +import androidx.compose.ui.unit.Dp + +/** + * Modifier that adds an outset border to the content. + * @see [androidx.compose.foundation.border] + * + * @param width The width of the border. + * @param color The color of the border. + * @param shape The shape of the border. + */ +fun Modifier.outsetBorder(width: Dp, color: Color, shape: Shape) = drawWithCache { + val outline = shape.createOutline(size, layoutDirection, this) + val cornerRadius = when { + outline is Outline.Rounded && outline.roundRect.isSimple -> outline.roundRect.topLeftCornerRadius + else -> CornerRadius.Zero + } + + onDrawWithContent { + drawContent() + drawRoundRect( + color = color, + topLeft = Offset(-width.toPx() / 2, -width.toPx() / 2), + size = size.copy( + width = size.width + width.toPx(), + height = size.height + width.toPx(), + ), + cornerRadius = cornerRadius, + style = Stroke(width = width.toPx()), + ) + } +} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/security/DisableScreenshots.kt b/core/ui/src/main/java/com/tangem/core/ui/security/DisableScreenshots.kt new file mode 100644 index 0000000000..4a421ead77 --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/security/DisableScreenshots.kt @@ -0,0 +1,24 @@ +package com.tangem.core.ui.security + +import android.view.WindowManager +import androidx.compose.runtime.Composable +import androidx.compose.runtime.DisposableEffect +import androidx.compose.ui.platform.LocalContext +import com.tangem.core.ui.utils.findActivity + +/** + * Disables screenshots for the current composition. + */ +@Composable +fun DisableScreenshotsDisposableEffect() { + val activity = LocalContext.current.findActivity() + DisposableEffect(activity) { + activity.window.setFlags( + WindowManager.LayoutParams.FLAG_SECURE, + WindowManager.LayoutParams.FLAG_SECURE, + ) + onDispose { + activity.window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE) + } + } +} \ No newline at end of file diff --git a/core/ui/src/main/java/com/tangem/core/ui/utils/ContextUtils.kt b/core/ui/src/main/java/com/tangem/core/ui/utils/ContextUtils.kt new file mode 100644 index 0000000000..576cf1f08a --- /dev/null +++ b/core/ui/src/main/java/com/tangem/core/ui/utils/ContextUtils.kt @@ -0,0 +1,14 @@ +package com.tangem.core.ui.utils + +import android.app.Activity +import android.content.Context +import android.content.ContextWrapper + +fun Context.findActivity(): Activity { + var context = this + while (context is ContextWrapper) { + if (context is Activity) return context + context = context.baseContext + } + error("Cannot find activity. Please make sure that the context is attached to an activity.") +} \ No newline at end of file diff --git a/core/ui/src/main/res/drawable/ic_loader.xml b/core/ui/src/main/res/drawable/ic_loader.xml new file mode 100644 index 0000000000..5c61f9a912 --- /dev/null +++ b/core/ui/src/main/res/drawable/ic_loader.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/core/ui/src/main/res/drawable/ic_tangem_card_grey.xml b/core/ui/src/main/res/drawable/ic_tangem_card_grey.xml new file mode 100644 index 0000000000..fb390ee999 --- /dev/null +++ b/core/ui/src/main/res/drawable/ic_tangem_card_grey.xml @@ -0,0 +1,18 @@ + + + + + + diff --git a/core/ui/src/main/res/drawable/ic_wallet_filled_24.xml b/core/ui/src/main/res/drawable/ic_wallet_filled_24.xml new file mode 100644 index 0000000000..c2e83ec569 --- /dev/null +++ b/core/ui/src/main/res/drawable/ic_wallet_filled_24.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/core/ui/src/main/res/drawable/img_card_visa.webp b/core/ui/src/main/res/drawable/img_card_visa.webp index bd2804ca997a5208ed5e55fbc7c7a6592545e42d..f51b3d8f95c040f47305b8da9296df4c351c7f63 100644 GIT binary patch literal 804348 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 z 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 z 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 *0pS_nF^B4XwCn`(4IxP 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

    R6ojr!ktdoNqIEC7N6QA1 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%0A`qPo= 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

    aj-hcjDN9$GRd%1!uq%lgkv-3g_kTa=c8#*Uzu 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

    k_^1i(4Hsew?^3Oeg*8A8$ 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%0Dl69i;`Bhm!Ll@<%p3l^0^cBrE*g4d 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�fC`om$}h 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

    gRG6?`hxbRxerBO4(OlxmNQyI& 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 J6J>|x7sXVhq$d*(|`7)%X?q#x#Sk85QDq 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 diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/model/OnboardingEntryModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/model/OnboardingEntryModel.kt index ef564c6194..281ec29e57 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/model/OnboardingEntryModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/model/OnboardingEntryModel.kt @@ -72,6 +72,7 @@ internal class OnboardingEntryModel @Inject constructor( ProductType.Visa -> OnboardingRoute.Visa( scanResponse = scanResponse, titleProvider = titleProvider, + onDone = ::onVisaOnboardingDone, ) else -> error("Unsupported") } @@ -89,6 +90,12 @@ internal class OnboardingEntryModel @Inject constructor( } } + private fun onVisaOnboardingDone() { + stackNavigation.navigate { + listOf(OnboardingRoute.Done(onDone = ::navigateToWalletScreen)) + } + } + private fun navigateToWalletScreen() { modelScope.launch(NonCancellable) { router.replaceAll(AppRoute.Wallet) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/routing/OnboardingChildFactory.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/routing/OnboardingChildFactory.kt index a7488de99a..6e614deefd 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/routing/OnboardingChildFactory.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/routing/OnboardingChildFactory.kt @@ -31,6 +31,7 @@ internal class OnboardingChildFactory @Inject constructor( params = OnboardingVisaComponent.Params( scanResponse = route.scanResponse, titleProvider = route.titleProvider, + onDone = route.onDone, ), ) is OnboardingRoute.ManageTokens -> onboardingManageTokensComponentFactory.create( diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/routing/OnboardingRoute.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/routing/OnboardingRoute.kt index 090724dff0..69778da3b4 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/routing/OnboardingRoute.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/entry/impl/routing/OnboardingRoute.kt @@ -21,6 +21,7 @@ sealed class OnboardingRoute : Route { data class Visa( val titleProvider: TitleProvider, val scanResponse: ScanResponse, + val onDone: () -> Unit, ) : OnboardingRoute() data class ManageTokens( diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/DefaultOnboardingMultiWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/DefaultOnboardingMultiWalletComponent.kt index 6e7321f878..51bf2171ca 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/DefaultOnboardingMultiWalletComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/DefaultOnboardingMultiWalletComponent.kt @@ -54,7 +54,7 @@ internal class DefaultOnboardingMultiWalletComponent @AssistedInject constructor private val model: OnboardingMultiWalletModel = getOrCreateModel(params) private val stackNavigation = StackNavigation() - private val artworksState = instanceKeeper.getOrCreateSimple { + private val artworksState = instanceKeeper.getOrCreateSimple(key = "artworksState") { MutableStateFlow( when (model.state.value.currentStep) { CreateWallet -> WalletArtworksState.Folded @@ -68,9 +68,11 @@ internal class DefaultOnboardingMultiWalletComponent @AssistedInject constructor ) } - private val innerNavigationStateFlow = MutableStateFlow( - MultiWalletInnerNavigationState(1, 5), - ) + private val innerNavigationStateFlow = instanceKeeper.getOrCreateSimple(key = "innerNavigationState") { + MutableStateFlow( + MultiWalletInnerNavigationState(1, 5), + ) + } private val childParams = MultiWalletChildParams( multiWalletState = model.state, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/seedphrase/MultiWalletSeedPhraseComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/seedphrase/MultiWalletSeedPhraseComponent.kt index 2a9df6122b..6e6722ddb7 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/seedphrase/MultiWalletSeedPhraseComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/seedphrase/MultiWalletSeedPhraseComponent.kt @@ -1,19 +1,14 @@ package com.tangem.features.onboarding.v2.multiwallet.impl.child.seedphrase -import android.app.Activity -import android.content.Context -import android.content.ContextWrapper -import android.view.WindowManager import androidx.activity.compose.BackHandler import androidx.compose.runtime.Composable -import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.LocalContext import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.extensions.resourceReference +import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect import com.tangem.features.onboarding.v2.impl.R import com.tangem.features.onboarding.v2.multiwallet.impl.child.MultiWalletChildComponent import com.tangem.features.onboarding.v2.multiwallet.impl.child.MultiWalletChildParams @@ -79,30 +74,11 @@ internal class MultiWalletSeedPhraseComponent( model.onBack() } - // disable screenshots - val activity = LocalContext.current.findActivity() - DisposableEffect(activity) { - activity.window.setFlags( - WindowManager.LayoutParams.FLAG_SECURE, - WindowManager.LayoutParams.FLAG_SECURE, - ) - onDispose { - activity.window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE) - } - } + DisableScreenshotsDisposableEffect() MultiWalletSeedPhrase( modifier = modifier, state = state, ) } - - private fun Context.findActivity(): Activity { - var context = this - while (context is ContextWrapper) { - if (context is Activity) return context - context = context.baseContext - } - error("") - } } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/api/OnboardingVisaComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/api/OnboardingVisaComponent.kt index 19cf83fac8..6aa983e077 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/api/OnboardingVisaComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/api/OnboardingVisaComponent.kt @@ -11,6 +11,7 @@ interface OnboardingVisaComponent : ComposableContentComponent, InnerNavigationH data class Params( val scanResponse: ScanResponse, val titleProvider: TitleProvider, + val onDone: () -> Unit, ) interface Factory : ComponentFactory diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt index 67982e4535..4f5b70b7a8 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt @@ -1,15 +1,34 @@ package com.tangem.features.onboarding.v2.visa.impl import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier +import com.arkivanov.decompose.extensions.compose.jetpack.stack.Children +import com.arkivanov.decompose.extensions.compose.jetpack.stack.animation.slide +import com.arkivanov.decompose.extensions.compose.jetpack.stack.animation.stackAnimation +import com.arkivanov.decompose.extensions.compose.jetpack.subscribeAsState +import com.arkivanov.decompose.router.stack.* +import com.arkivanov.decompose.value.Value +import com.arkivanov.essenty.instancekeeper.getOrCreateSimple import com.tangem.core.decompose.context.AppComponentContext +import com.tangem.core.decompose.context.childByContext +import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.decompose.navigation.inner.InnerNavigation import com.tangem.core.decompose.navigation.inner.InnerNavigationState +import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.features.onboarding.v2.visa.api.OnboardingVisaComponent +import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.OnboardingVisaAccessCodeComponent +import com.tangem.features.onboarding.v2.visa.impl.child.approve.OnboardingVisaApproveComponent +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.OnboardingVisaChooseWalletComponent +import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.OnboardingVisaInProgressComponent +import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.OnboardingVisaOtherWalletComponent +import com.tangem.features.onboarding.v2.visa.impl.child.pincode.OnboardingVisaPinCodeComponent +import com.tangem.features.onboarding.v2.visa.impl.child.welcome.OnboardingVisaWelcomeComponent +import com.tangem.features.onboarding.v2.visa.impl.model.OnboardingVisaModel +import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -import kotlinx.coroutines.channels.BufferOverflow import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -21,27 +40,144 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( @Assisted private val params: OnboardingVisaComponent.Params, ) : OnboardingVisaComponent, AppComponentContext by appComponentContext { - private val innerNavigationState = MutableStateFlow( - OnboardingVisaInnerNavigationState( - stackSize = 1, - stackMaxSize = 7, - ), - ) + private val model: OnboardingVisaModel = getOrCreateModel(params) - private val currentChildBackEventHandle = MutableSharedFlow(onBufferOverflow = BufferOverflow.DROP_LATEST) + private val innerNavigationState = instanceKeeper.getOrCreateSimple(key = "innerNavigationState") { + MutableStateFlow( + OnboardingVisaInnerNavigationState( + stackSize = 1, + stackMaxSize = 7, + ), + ) + } + + private val currentChildBackEventHandle = instanceKeeper.getOrCreateSimple(key = "currentChildBackEventHandle") { + MutableSharedFlow() + } + + private val stackNavigation = StackNavigation() + + private val childStack: Value> = + childStack( + key = "innerStack", + source = stackNavigation, + serializer = null, + initialConfiguration = model.initialRoute, + handleBackButton = true, + childFactory = { configuration, factoryContext -> + createChild( + configuration, + childByContext(factoryContext), + ) + }, + ) override val innerNavigation: InnerNavigation = object : InnerNavigation { override val state: StateFlow = innerNavigationState override fun pop(onComplete: (Boolean) -> Unit) { - // TODO add stack handling - componentScope.launch { currentChildBackEventHandle.emit(Unit) } + if (childStack.value.active.configuration is OnboardingVisaRoute.AccessCode) { + componentScope.launch { currentChildBackEventHandle.emit(Unit) } + } else { + stackNavigation.pop() + } + } + } + + private fun createChild( + route: OnboardingVisaRoute, + factoryContext: AppComponentContext, + ): ComposableContentComponent { + return when (route) { + is OnboardingVisaRoute.Welcome -> OnboardingVisaWelcomeComponent( + appComponentContext = factoryContext, + params = OnboardingVisaWelcomeComponent.Params( + isWelcomeBack = route.isWelcomeBack, + onBack = ::onChildBack, + onDone = { stackNavigation.push(OnboardingVisaRoute.AccessCode) }, + ), + ) + OnboardingVisaRoute.AccessCode -> OnboardingVisaAccessCodeComponent( + appComponentContext = factoryContext, + params = OnboardingVisaAccessCodeComponent.Params( + onBack = ::onChildBack, + parentBackEvent = currentChildBackEventHandle, + onDone = { stackNavigation.push(OnboardingVisaRoute.ChooseWallet) }, + ), + ) + OnboardingVisaRoute.ChooseWallet -> OnboardingVisaChooseWalletComponent( + appComponentContext = factoryContext, + params = OnboardingVisaChooseWalletComponent.Params( + onBack = ::onChildBack, + onEvent = { event -> + stackNavigation.push( + when (event) { + OnboardingVisaChooseWalletComponent.Params.Event.TangemWallet -> + OnboardingVisaRoute.TangemWalletApproveOption + OnboardingVisaChooseWalletComponent.Params.Event.OtherWallet -> + OnboardingVisaRoute.OtherWalletApproveOption + }, + ) + }, + ), + ) + OnboardingVisaRoute.InProgress -> OnboardingVisaInProgressComponent( + appComponentContext = factoryContext, + params = OnboardingVisaInProgressComponent.Params( + onBack = ::onChildBack, + onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, + ), + ) + OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( + appComponentContext = factoryContext, + params = OnboardingVisaOtherWalletComponent.Params( + onBack = ::onChildBack, + onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, + ), + ) + OnboardingVisaRoute.PinCode -> OnboardingVisaPinCodeComponent( + appComponentContext = factoryContext, + params = OnboardingVisaPinCodeComponent.Params( + onBack = ::onChildBack, + onDone = { params.onDone() }, + ), + ) + OnboardingVisaRoute.TangemWalletApproveOption -> OnboardingVisaApproveComponent( + appComponentContext = factoryContext, + params = OnboardingVisaApproveComponent.Params( + onBack = ::onChildBack, + onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, + ), + ) + } + } + + private fun onChildBack() { + when (childStack.value.active.configuration) { + OnboardingVisaRoute.AccessCode, + OnboardingVisaRoute.TangemWalletApproveOption, + OnboardingVisaRoute.OtherWalletApproveOption, + -> stackNavigation.pop() + is OnboardingVisaRoute.Welcome, + OnboardingVisaRoute.ChooseWallet, + OnboardingVisaRoute.InProgress, + OnboardingVisaRoute.OtherWalletApproveOption, + OnboardingVisaRoute.PinCode, + -> { + } } } @Composable override fun Content(modifier: Modifier) { - TODO("Not yet implemented") + val stackState by childStack.subscribeAsState() + + Children( + stack = stackState, + animation = stackAnimation(slide()), + ) { + it.instance.Content(modifier) + } } @AssistedFactory diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt index 5ffff0e28f..06faafcbd7 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt @@ -8,6 +8,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model.OnboardingVisaAccessCodeModel import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.OnboardingVisaAccessCode import kotlinx.coroutines.flow.SharedFlow @@ -29,6 +30,9 @@ internal class OnboardingVisaAccessCodeComponent( model.onBack() } } + componentScope.launch { + model.onDone.collect { params.onDone() } + } } @Composable @@ -37,11 +41,14 @@ internal class OnboardingVisaAccessCodeComponent( BackHandler(onBack = model::onBack) + DisableScreenshotsDisposableEffect() + OnboardingVisaAccessCode(state, modifier) } data class Params( val parentBackEvent: SharedFlow, val onBack: () -> Unit, + val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt index 24d171ebb9..4281e33a1a 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt @@ -1,6 +1,7 @@ package com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model import androidx.compose.runtime.Stable +import androidx.compose.ui.text.input.TextFieldValue import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.state.OnboardingVisaAccessCodeUM @@ -14,12 +15,14 @@ import javax.inject.Inject @ComponentScoped internal class OnboardingVisaAccessCodeModel @Inject constructor( override val dispatchers: CoroutineDispatcherProvider, + @Suppress("UnusedPrivateMember") private val tangemSdkManager: TangemSdkManager, ) : Model() { private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() val onBack = MutableSharedFlow() + val onDone = MutableSharedFlow() fun onBack() { when (uiState.value.step) { @@ -31,64 +34,90 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( private fun getInitialState(): OnboardingVisaAccessCodeUM { return OnboardingVisaAccessCodeUM( - onAccessCodeFirstChange = { _uiState.update { it.copy(accessCodeFirst = it.accessCodeFirst) } }, - onAccessCodeSecondChange = { _uiState.update { it.copy(accessCodeSecond = it.accessCodeSecond) } }, + onAccessCodeFirstChange = ::onAccessCodeFirstChange, + onAccessCodeSecondChange = ::onAccessCodeSecondChange, onAccessCodeHideClick = { _uiState.update { it.copy(accessCodeHidden = !it.accessCodeHidden) } }, onContinue = { onContinue() }, ) } - private fun onContinue() { - if (checkAccessCode().not()) return + private fun onAccessCodeFirstChange(textFieldValue: TextFieldValue) { + _uiState.update { + it.copy( + accessCodeFirst = textFieldValue, + atLeastMinCharsError = false, + ) + } + } + private fun onAccessCodeSecondChange(textFieldValue: TextFieldValue) { + _uiState.update { + it.copy( + accessCodeSecond = textFieldValue, + codesNotMatchError = false, + ) + } + } + + private fun onContinue() { when (uiState.value.step) { OnboardingVisaAccessCodeUM.Step.Enter -> { + if (checkAccessCodeMinChars().not()) return _uiState.update { it.copy(step = OnboardingVisaAccessCodeUM.Step.ReEnter) } } OnboardingVisaAccessCodeUM.Step.ReEnter -> { + if (checkAccessCodesMatch().not()) return startActivationProcess(accessCode = uiState.value.accessCodeFirst.text) } } } - private fun checkAccessCode(): Boolean { + private fun checkAccessCodeMinChars(): Boolean { val first = uiState.value.accessCodeFirst.text - val second = uiState.value.accessCodeSecond.text - when { - first.length < ACCESS_CODE_MIN_LENGTH -> { - _uiState.update { it.copy(atLeastMinCharsError = true) } - return false - } - first != second -> { - _uiState.update { it.copy(codesNotMatchError = true) } - return false - } + if (first.length < ACCESS_CODE_MIN_LENGTH) { + _uiState.update { it.copy(atLeastMinCharsError = true) } + return false } return true } - private fun startActivationProcess(accessCode: String) { - modelScope.launch { - @Suppress("UnusedPrivateMember") - val result = tangemSdkManager.activateVisaCard( - accessCode = accessCode, - challengeToSign = null, - activationInput = TODO(), - ) + private fun checkAccessCodesMatch(): Boolean { + val first = uiState.value.accessCodeFirst.text + val second = uiState.value.accessCodeSecond.text - // when (result) { - // is CompletionResult.Success -> { - // val response = result.data - // TODO() - // } - // is CompletionResult.Failure -> { - // // show alert - // TODO() - // } - // } + if (first != second) { + _uiState.update { it.copy(codesNotMatchError = true) } + return false } + + return true + } + + @Suppress("UnusedPrivateMember") + private fun startActivationProcess(accessCode: String) { + modelScope.launch { onDone.emit(Unit) } + + // modelScope.launch { + // @Suppress("UnusedPrivateMember") + // val result = tangemSdkManager.activateVisaCard( + // accessCode = accessCode, + // challengeToSign = null, + // activationInput = TODO(), + // ) + // + // when (result) { + // is CompletionResult.Success -> { + // val response = result.data + // TODO() + // } + // is CompletionResult.Failure -> { + // // show alert + // TODO() + // } + // } + // } } private companion object { diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt index f5c8364420..6fefcee506 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt @@ -43,7 +43,7 @@ internal fun OnboardingVisaAccessCode(state: OnboardingVisaAccessCodeUM, modifie .weight(1f), targetState = state.step, transitionSpec = TangemAnimations.AnimatedContent - .slide { initial, target -> initial.ordinal < target.ordinal }, + .slide { initial, target -> initial.ordinal > target.ordinal }, ) { step -> Content( state = state, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt index 0cf7770ac0..b707b9067c 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt @@ -2,7 +2,7 @@ package com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.state import androidx.compose.ui.text.input.TextFieldValue -data class OnboardingVisaAccessCodeUM( +internal data class OnboardingVisaAccessCodeUM( val step: Step = Step.Enter, val accessCodeFirst: TextFieldValue = TextFieldValue(""), val accessCodeSecond: TextFieldValue = TextFieldValue(""), diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt new file mode 100644 index 0000000000..70a5560fc0 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt @@ -0,0 +1,45 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.approve + +import androidx.activity.compose.BackHandler +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.tangem.core.decompose.context.AppComponentContext +import com.tangem.core.decompose.model.getOrCreateModel +import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.child.approve.model.OnboardingVisaApproveModel +import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.OnboardingVisaApprove +import kotlinx.coroutines.launch + +internal class OnboardingVisaApproveComponent( + appComponentContext: AppComponentContext, + private val params: Params, +) : ComposableContentComponent, AppComponentContext by appComponentContext { + + private val model: OnboardingVisaApproveModel = getOrCreateModel() + + init { + componentScope.launch { + model.onDone.collect { params.onDone() } + } + } + + @Composable + override fun Content(modifier: Modifier) { + val state by model.uiState.collectAsStateWithLifecycle() + + BackHandler(onBack = remember(this) { { params.onBack() } }) + + OnboardingVisaApprove( + state = state, + modifier = modifier, + ) + } + + data class Params( + val onBack: () -> Unit, + val onDone: () -> Unit, + ) +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt new file mode 100644 index 0000000000..11bd07d94b --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt @@ -0,0 +1,35 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.approve.model + +import androidx.compose.runtime.Stable +import com.tangem.core.decompose.di.ComponentScoped +import com.tangem.core.decompose.model.Model +import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.state.OnboardingVisaApproveUM +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch +import javax.inject.Inject + +@Stable +@ComponentScoped +internal class OnboardingVisaApproveModel @Inject constructor( + override val dispatchers: CoroutineDispatcherProvider, +) : Model() { + + private val _uiState = MutableStateFlow(getInitialState()) + + val uiState = _uiState.asStateFlow() + val onDone = MutableSharedFlow() + + private fun getInitialState(): OnboardingVisaApproveUM { + return OnboardingVisaApproveUM( + onApproveClick = ::onApproveClick, + ) + } + + private fun onApproveClick() { + // TODO + modelScope.launch { onDone.emit(Unit) } + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt new file mode 100644 index 0000000000..bc1b5f0ff9 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt @@ -0,0 +1,83 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.approve.ui + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.* +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.vectorResource +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.tangem.common.ui.navigationButtons.NavigationButton +import com.tangem.common.ui.navigationButtons.NavigationPrimaryButton +import com.tangem.core.ui.components.SpacerH +import com.tangem.core.ui.extensions.TextReference +import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.TangemThemePreview +import com.tangem.features.onboarding.v2.impl.R +import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.state.OnboardingVisaApproveUM + +@Composable +internal fun OnboardingVisaApprove(state: OnboardingVisaApproveUM, modifier: Modifier = Modifier) { + Column( + modifier + .fillMaxSize() + .navigationBarsPadding(), + ) { + Column( + modifier = Modifier + .weight(1f) + .padding(top = 56.dp, bottom = 32.dp) + .padding(horizontal = 34.dp), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Image( + imageVector = ImageVector.vectorResource(R.drawable.ic_tangem_card_grey), + contentDescription = null, + modifier = Modifier.fillMaxWidth(), + ) + + SpacerH(86.dp) + + Text( + text = "Prepare Tangem Wallet", + style = TangemTheme.typography.h2, + color = TangemTheme.colors.text.primary1, + textAlign = TextAlign.Center, + ) + + SpacerH(12.dp) + + Text( + text = "Prepare the Tangem card\nand tap to approve", + style = TangemTheme.typography.body1, + color = TangemTheme.colors.text.secondary, + textAlign = TextAlign.Center, + ) + } + + NavigationPrimaryButton( + modifier = Modifier + .imePadding() + .padding(start = 16.dp, end = 16.dp, bottom = 16.dp) + .fillMaxWidth(), + primaryButton = NavigationButton( + textReference = TextReference.Str("Approve"), + iconRes = R.drawable.ic_tangem_24, + isIconVisible = true, + onClick = state.onApproveClick, + ), + ) + } +} + +@Preview(showBackground = true) +@Composable +private fun Preview() { + TangemThemePreview { + OnboardingVisaApprove(state = OnboardingVisaApproveUM()) + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt new file mode 100644 index 0000000000..90bb2ef920 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt @@ -0,0 +1,5 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.state + +internal data class OnboardingVisaApproveUM( + val onApproveClick: () -> Unit = {}, +) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt new file mode 100644 index 0000000000..f8310b209e --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt @@ -0,0 +1,50 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.choosewallet + +import androidx.activity.compose.BackHandler +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.tangem.core.decompose.context.AppComponentContext +import com.tangem.core.decompose.model.getOrCreateModel +import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.model.OnboardingVisaChooseWalletModel +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.OnboardingVisaChooseWallet +import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.onEach + +internal class OnboardingVisaChooseWalletComponent( + appComponentContext: AppComponentContext, + private val params: Params, +) : ComposableContentComponent, AppComponentContext by appComponentContext { + + private val model: OnboardingVisaChooseWalletModel = getOrCreateModel() + + init { + model.onEvent + .onEach { params.onEvent(it) } + .launchIn(componentScope) + } + + @Composable + override fun Content(modifier: Modifier) { + val state by model.uiState.collectAsStateWithLifecycle() + + BackHandler(onBack = remember(this) { { params.onBack() } }) + + OnboardingVisaChooseWallet( + modifier = modifier, + state = state, + ) + } + + data class Params( + val onBack: () -> Unit, + val onEvent: (Event) -> Unit, + ) { + enum class Event { + TangemWallet, OtherWallet + } + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/model/OnboardingVisaChooseWalletModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/model/OnboardingVisaChooseWalletModel.kt new file mode 100644 index 0000000000..4f6629cae9 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/model/OnboardingVisaChooseWalletModel.kt @@ -0,0 +1,59 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.model + +import androidx.compose.runtime.Stable +import com.tangem.core.decompose.di.ComponentScoped +import com.tangem.core.decompose.model.Model +import com.tangem.core.ui.extensions.TextReference +import com.tangem.features.onboarding.v2.impl.R +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.OnboardingVisaChooseWalletComponent.Params.Event +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.state.OnboardingVisaChooseWalletUM +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.state.SelectableChainRowUM +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.collections.immutable.persistentListOf +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update +import kotlinx.coroutines.launch +import javax.inject.Inject + +@Stable +@ComponentScoped +internal class OnboardingVisaChooseWalletModel @Inject constructor( + override val dispatchers: CoroutineDispatcherProvider, +) : Model() { + + private val _uiState = MutableStateFlow(getInitialState()) + + val onEvent = MutableSharedFlow() + val uiState = _uiState.asStateFlow() + + private fun getInitialState(): OnboardingVisaChooseWalletUM { + val selectedOption = SelectableChainRowUM( + event = Event.TangemWallet, + icon = R.drawable.ic_tangem_24, + text = TextReference.Str("Tangem Wallet"), + ) + + return OnboardingVisaChooseWalletUM( + options = persistentListOf( + selectedOption, + SelectableChainRowUM( + event = Event.OtherWallet, + icon = R.drawable.ic_wallet_filled_24, + text = TextReference.Str("Other Wallet"), + ), + ), + selectedOption = selectedOption, + onOptionSelected = { option -> _uiState.update { it.copy(selectedOption = option) } }, + onContinueClick = ::onContinueClicked, + ) + } + + private fun onContinueClicked() { + modelScope.launch { + val selectedOption = _uiState.value.selectedOption ?: return@launch + onEvent.emit(selectedOption.event) + } + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/OnboardingVisaChooseWallet.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/OnboardingVisaChooseWallet.kt new file mode 100644 index 0000000000..b44e28c2c6 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/OnboardingVisaChooseWallet.kt @@ -0,0 +1,174 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui + +import androidx.compose.foundation.border +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.vectorResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.tangem.core.ui.components.PrimaryButton +import com.tangem.core.ui.components.notifications.Notification +import com.tangem.core.ui.components.notifications.NotificationConfig +import com.tangem.core.ui.components.rows.RowContentContainer +import com.tangem.core.ui.extensions.TextReference +import com.tangem.core.ui.extensions.outsetBorder +import com.tangem.core.ui.extensions.resolveReference +import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.TangemThemePreview +import com.tangem.features.onboarding.v2.impl.R +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.OnboardingVisaChooseWalletComponent +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.state.OnboardingVisaChooseWalletUM +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.state.SelectableChainRowUM +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf + +@Composable +internal fun OnboardingVisaChooseWallet(state: OnboardingVisaChooseWalletUM, modifier: Modifier = Modifier) { + Column( + modifier + .fillMaxSize() + .navigationBarsPadding(), + ) { + Column( + Modifier + .weight(1f) + .padding(top = 12.dp) + .padding(horizontal = 16.dp), + ) { + Notification( + config = NotificationConfig( + subtitle = TextReference.Str( + "Please choose the wallet you started the registration" + + " process with to sign the transaction for creating your account on the Blockchain.", + ), + iconResId = R.drawable.ic_alert_circle_24, + ), + iconTint = TangemTheme.colors.icon.accent, + ) + + Text( + modifier = Modifier + .padding( + top = 12.dp, + bottom = 8.dp, + start = 12.dp, + end = 12.dp, + ), + text = "Choose wallet", + style = TangemTheme.typography.subtitle2, + color = TangemTheme.colors.text.tertiary, + ) + + SelectableChainRows( + items = state.options, + selected = state.selectedOption, + onClick = state.onOptionSelected, + ) + } + + PrimaryButton( + modifier = Modifier + .imePadding() + .padding(start = 16.dp, end = 16.dp, bottom = 16.dp) + .fillMaxWidth(), + text = "Continue", + onClick = state.onContinueClick, + ) + } +} + +@Composable +private fun SelectableChainRows( + items: ImmutableList, + selected: SelectableChainRowUM?, + onClick: (SelectableChainRowUM) -> Unit, + modifier: Modifier = Modifier, +) { + Column(modifier) { + items.forEach { item -> + SelectableChainRow( + state = item, + selected = item == selected, + onClick = { onClick(item) }, + ) + } + } +} + +@Composable +private fun SelectableChainRow( + state: SelectableChainRowUM, + selected: Boolean, + onClick: () -> Unit, + modifier: Modifier = Modifier, +) { + RowContentContainer( + modifier = modifier + .heightIn(min = 48.dp) + .outsetBorder( + color = if (selected) TangemTheme.colors.icon.accent.copy(alpha = 0.15f) else Color.Transparent, + width = 5.dp, + shape = RoundedCornerShape(size = 18.dp), + ) + .clip(TangemTheme.shapes.roundedCornersXMedium) + .border( + width = 1.dp, + color = if (selected) TangemTheme.colors.icon.accent else Color.Transparent, + shape = TangemTheme.shapes.roundedCornersXMedium, + ) + .clickable(onClick = onClick) + .padding(12.dp), + icon = { + Icon( + imageVector = ImageVector.vectorResource(id = state.icon), + tint = if (selected) TangemTheme.colors.icon.primary1 else TangemTheme.colors.icon.informative, + contentDescription = null, + ) + }, + text = { + Text( + text = state.text.resolveReference(), + style = TangemTheme.typography.button, + color = if (selected) TangemTheme.colors.text.primary1 else TangemTheme.colors.text.secondary, + ) + }, + action = {}, + horizontalArrangement = Arrangement.spacedBy(12.dp), + ) +} + +@Preview(showBackground = true) +@Composable +private fun Preview() { + TangemThemePreview { + OnboardingVisaChooseWallet( + state = OnboardingVisaChooseWalletUM( + options = persistentListOf( + SelectableChainRowUM( + event = OnboardingVisaChooseWalletComponent.Params.Event.TangemWallet, + icon = R.drawable.ic_tangem_24, + text = TextReference.Str("Tangem Wallet"), + ), + SelectableChainRowUM( + event = OnboardingVisaChooseWalletComponent.Params.Event.OtherWallet, + icon = R.drawable.ic_wallet_filled_24, + text = TextReference.Str("Other Wallet"), + ), + ), + selectedOption = SelectableChainRowUM( + event = OnboardingVisaChooseWalletComponent.Params.Event.OtherWallet, + icon = R.drawable.ic_tangem_24, + text = TextReference.Str("Tangem Wallet"), + ), + ), + ) + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/state/OnboardingVisaChooseWalletUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/state/OnboardingVisaChooseWalletUM.kt new file mode 100644 index 0000000000..0281417755 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/state/OnboardingVisaChooseWalletUM.kt @@ -0,0 +1,11 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.state + +import kotlinx.collections.immutable.ImmutableList +import kotlinx.collections.immutable.persistentListOf + +internal data class OnboardingVisaChooseWalletUM( + val options: ImmutableList = persistentListOf(), + val selectedOption: SelectableChainRowUM? = null, + val onOptionSelected: (SelectableChainRowUM) -> Unit = {}, + val onContinueClick: () -> Unit = {}, +) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/state/SelectableChainRowUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/state/SelectableChainRowUM.kt new file mode 100644 index 0000000000..dee93cf95f --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/ui/state/SelectableChainRowUM.kt @@ -0,0 +1,11 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.state + +import androidx.annotation.DrawableRes +import com.tangem.core.ui.extensions.TextReference +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.OnboardingVisaChooseWalletComponent + +internal data class SelectableChainRowUM( + val event: OnboardingVisaChooseWalletComponent.Params.Event, + @DrawableRes val icon: Int, + val text: TextReference, +) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt new file mode 100644 index 0000000000..f1fca1c49b --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt @@ -0,0 +1,41 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.inprogress + +import androidx.activity.compose.BackHandler +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import com.tangem.core.decompose.context.AppComponentContext +import com.tangem.core.decompose.model.getOrCreateModel +import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.model.OnboardingVisaInProgressModel +import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.ui.OnboardingVisaInProgress +import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.onEach + +class OnboardingVisaInProgressComponent( + appComponentContext: AppComponentContext, + private val params: Params, +) : ComposableContentComponent, AppComponentContext by appComponentContext { + + private val model: OnboardingVisaInProgressModel = getOrCreateModel() + + init { + model.onDone + .onEach { params.onDone() } + .launchIn(componentScope) + } + + @Composable + override fun Content(modifier: Modifier) { + BackHandler(onBack = remember(this) { { params.onBack() } }) + + OnboardingVisaInProgress( + modifier = modifier, + ) + } + + data class Params( + val onBack: () -> Unit, + val onDone: () -> Unit, + ) +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt new file mode 100644 index 0000000000..9639c4ddc8 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt @@ -0,0 +1,27 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.inprogress.model + +import androidx.compose.runtime.Stable +import com.tangem.core.decompose.di.ComponentScoped +import com.tangem.core.decompose.model.Model +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.delay +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.launch +import javax.inject.Inject + +@Stable +@ComponentScoped +internal class OnboardingVisaInProgressModel @Inject constructor( + override val dispatchers: CoroutineDispatcherProvider, +) : Model() { + + val onDone = MutableSharedFlow() + + init { + modelScope.launch { + // TODO check state + delay(timeMillis = 2000) + onDone.emit(Unit) + } + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/ui/OnboardingVisaInProgress.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/ui/OnboardingVisaInProgress.kt new file mode 100644 index 0000000000..d30e9a0b79 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/ui/OnboardingVisaInProgress.kt @@ -0,0 +1,37 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.inprogress.ui + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.tangem.core.ui.res.TangemThemePreview + +@Composable +internal fun OnboardingVisaInProgress(modifier: Modifier = Modifier) { + Column( + modifier + .fillMaxSize() + .navigationBarsPadding(), + ) { + Column( + Modifier + .weight(1f) + .padding(top = 12.dp) + .padding(horizontal = 16.dp), + ) { + // TODO + } + } +} + +@Preview(showBackground = true) +@Composable +private fun Preview() { + TangemThemePreview { + OnboardingVisaInProgress() + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt new file mode 100644 index 0000000000..50ca03977d --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt @@ -0,0 +1,46 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.otherwallet + +import androidx.activity.compose.BackHandler +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.tangem.core.decompose.context.AppComponentContext +import com.tangem.core.decompose.model.getOrCreateModel +import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model.OnboardingVisaOtherWalletModel +import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.OnboardingVisaOtherWallet +import kotlinx.coroutines.flow.launchIn +import kotlinx.coroutines.flow.onEach + +internal class OnboardingVisaOtherWalletComponent( + appComponentContext: AppComponentContext, + private val params: Params, +) : ComposableContentComponent, AppComponentContext by appComponentContext { + + private val model: OnboardingVisaOtherWalletModel = getOrCreateModel() + + init { + model.onDone + .onEach { params.onDone() } + .launchIn(componentScope) + } + + @Composable + override fun Content(modifier: Modifier) { + val state by model.uiState.collectAsStateWithLifecycle() + + BackHandler(onBack = remember(this) { { params.onBack() } }) + + OnboardingVisaOtherWallet( + modifier = modifier, + state = state, + ) + } + + data class Params( + val onBack: () -> Unit, + val onDone: () -> Unit, + ) +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt new file mode 100644 index 0000000000..42254b2c08 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt @@ -0,0 +1,38 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model + +import androidx.compose.runtime.Stable +import com.tangem.core.decompose.di.ComponentScoped +import com.tangem.core.decompose.model.Model +import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.state.OnboardingVisaOtherWalletUM +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow +import javax.inject.Inject + +@Stable +@ComponentScoped +internal class OnboardingVisaOtherWalletModel @Inject constructor( + override val dispatchers: CoroutineDispatcherProvider, +) : Model() { + + private val _uiState = MutableStateFlow(getInitialState()) + + val uiState = _uiState.asStateFlow() + val onDone = MutableSharedFlow() + + private fun getInitialState(): OnboardingVisaOtherWalletUM { + return OnboardingVisaOtherWalletUM( + onShareClick = ::onShareClicked, + onOpenInBrowserClick = ::onOpenInBrowserClicked, + ) + } + + private fun onShareClicked() { + // TODO + } + + private fun onOpenInBrowserClicked() { + // TODO + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/ui/OnboardingVisaOtherWallet.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/ui/OnboardingVisaOtherWallet.kt new file mode 100644 index 0000000000..4b0a8c2f3f --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/ui/OnboardingVisaOtherWallet.kt @@ -0,0 +1,137 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui + +import androidx.compose.foundation.Image +import androidx.compose.foundation.background +import androidx.compose.foundation.layout.* +import androidx.compose.material3.Icon +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.res.vectorResource +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.tangem.core.ui.components.PrimaryButton +import com.tangem.core.ui.components.SecondaryButton +import com.tangem.core.ui.components.SpacerH12 +import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.TangemThemePreview +import com.tangem.features.onboarding.v2.impl.R +import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.state.OnboardingVisaOtherWalletUM + +@Composable +internal fun OnboardingVisaOtherWallet(state: OnboardingVisaOtherWalletUM, modifier: Modifier = Modifier) { + Column( + modifier + .fillMaxSize() + .navigationBarsPadding(), + ) { + Box( + modifier = Modifier + .weight(1f) + .padding(top = 12.dp, bottom = 32.dp) + .padding(horizontal = 16.dp), + contentAlignment = Alignment.Center, + ) { + Column( + modifier = Modifier.fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + IconBlock() + + SpacerH12() + + Text( + text = "Go to Website", + style = TangemTheme.typography.h2, + color = TangemTheme.colors.text.primary1, + textAlign = TextAlign.Center, + ) + + SpacerH12() + + Text( + text = "You will be able to complete your connection \n" + + "on the third-party web-site \n" + + "and back to the Tangem app", + style = TangemTheme.typography.body1, + color = TangemTheme.colors.text.secondary, + textAlign = TextAlign.Center, + ) + } + } + + Column { + PrimaryButton( + modifier = Modifier + .padding(horizontal = 16.dp) + .fillMaxWidth(), + text = "Open in Browser", + onClick = state.onOpenInBrowserClick, + ) + + SpacerH12() + + SecondaryButton( + modifier = Modifier + .padding(start = 16.dp, end = 16.dp, bottom = 16.dp) + .fillMaxWidth(), + text = "Share Link", + onClick = state.onOpenInBrowserClick, + ) + } + } +} + +@Composable +private fun IconBlock(modifier: Modifier = Modifier) { + Row( + modifier = modifier, + verticalAlignment = Alignment.CenterVertically, + horizontalArrangement = Arrangement.spacedBy(12.dp), + ) { + Box( + modifier = Modifier + .size(64.dp) + .background(TangemTheme.colors.button.primary, TangemTheme.shapes.roundedCorners8), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = ImageVector.vectorResource(id = R.drawable.ic_tangem_24), + contentDescription = null, + tint = TangemTheme.colors.icon.primary2, + modifier = Modifier.size(38.dp), + ) + } + + Image( + imageVector = ImageVector.vectorResource(id = R.drawable.ic_loader), + contentDescription = null, + modifier = Modifier.width(32.dp), + ) + + Box( + modifier = Modifier + .size(64.dp) + .background(TangemTheme.colors.background.tertiary, TangemTheme.shapes.roundedCorners8), + contentAlignment = Alignment.Center, + ) { + Icon( + imageVector = ImageVector.vectorResource(id = R.drawable.ic_web_24), + contentDescription = null, + tint = TangemTheme.colors.icon.primary1, + modifier = Modifier.size(48.dp), + ) + } + } +} + +@Preview(showBackground = true) +@Composable +private fun Preview() { + TangemThemePreview { + OnboardingVisaOtherWallet(OnboardingVisaOtherWalletUM()) + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/ui/state/OnboardingVisaOtherWalletUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/ui/state/OnboardingVisaOtherWalletUM.kt new file mode 100644 index 0000000000..11895f4ca9 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/ui/state/OnboardingVisaOtherWalletUM.kt @@ -0,0 +1,6 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.state + +internal data class OnboardingVisaOtherWalletUM( + val onShareClick: () -> Unit = {}, + val onOpenInBrowserClick: () -> Unit = {}, +) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt new file mode 100644 index 0000000000..6df8920a6f --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt @@ -0,0 +1,48 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.pincode + +import androidx.activity.compose.BackHandler +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.tangem.core.decompose.context.AppComponentContext +import com.tangem.core.decompose.model.getOrCreateModel +import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect +import com.tangem.features.onboarding.v2.visa.impl.child.pincode.model.OnboardingVisaPinCodeModel +import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.OnboardingVisaPinCode +import kotlinx.coroutines.launch + +internal class OnboardingVisaPinCodeComponent( + appComponentContext: AppComponentContext, + private val params: Params, +) : ComposableContentComponent, AppComponentContext by appComponentContext { + + private val model: OnboardingVisaPinCodeModel = getOrCreateModel() + + init { + componentScope.launch { + model.onDone.collect { params.onDone() } + } + } + + @Composable + override fun Content(modifier: Modifier) { + val state by model.uiState.collectAsStateWithLifecycle() + + BackHandler(onBack = remember(this) { { params.onBack() } }) + + DisableScreenshotsDisposableEffect() + + OnboardingVisaPinCode( + modifier = modifier, + state = state, + ) + } + + data class Params( + val onBack: () -> Unit, + val onDone: () -> Unit, + ) +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/model/OnboardingVisaPinCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/model/OnboardingVisaPinCodeModel.kt new file mode 100644 index 0000000000..19f65cfd96 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/model/OnboardingVisaPinCodeModel.kt @@ -0,0 +1,52 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.pincode.model + +import androidx.compose.runtime.Stable +import com.tangem.core.decompose.di.ComponentScoped +import com.tangem.core.decompose.model.Model +import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.state.OnboardingVisaPinCodeUM +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update +import kotlinx.coroutines.launch +import javax.inject.Inject + +@Stable +@ComponentScoped +internal class OnboardingVisaPinCodeModel @Inject constructor( + override val dispatchers: CoroutineDispatcherProvider, +) : Model() { + + private val _uiState = MutableStateFlow(getInitialState()) + + val uiState = _uiState.asStateFlow() + val onDone = MutableSharedFlow() + + private fun getInitialState(): OnboardingVisaPinCodeUM { + return OnboardingVisaPinCodeUM( + onPinCodeChange = ::onPinCodeChange, + onSubmitClick = ::onSubmitClick, + ) + } + + private fun onPinCodeChange(pin: String) { + if (pin.all { it.isDigit() }) _uiState.update { it.copy(pinCode = pin) } + } + + private fun onSubmitClick() { + if (checkPinCode(_uiState.value.pinCode).not()) return + + // TODO + + modelScope.launch { onDone.emit(Unit) } + } + + private fun checkPinCode(pin: String): Boolean { + return pin.length == PIN_CODE_LENGTH + } + + private companion object { + const val PIN_CODE_LENGTH = 4 + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt new file mode 100644 index 0000000000..cf47762749 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt @@ -0,0 +1,195 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui + +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.text.BasicTextField +import androidx.compose.foundation.text.KeyboardActions +import androidx.compose.foundation.text.KeyboardOptions +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.alpha +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.Color.Companion.Transparent +import androidx.compose.ui.platform.LocalDensity +import androidx.compose.ui.platform.LocalSoftwareKeyboardController +import androidx.compose.ui.text.TextStyle +import androidx.compose.ui.text.input.ImeAction +import androidx.compose.ui.text.input.KeyboardType +import androidx.compose.ui.text.rememberTextMeasurer +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp +import androidx.compose.ui.unit.dp +import com.tangem.core.ui.components.PrimaryButton +import com.tangem.core.ui.components.SpacerH +import com.tangem.core.ui.components.SpacerH16 +import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.TangemThemePreview +import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.state.OnboardingVisaPinCodeUM +import kotlinx.coroutines.delay + +@Composable +internal fun OnboardingVisaPinCode(state: OnboardingVisaPinCodeUM, modifier: Modifier = Modifier) { + Column( + modifier = modifier + .fillMaxSize() + .navigationBarsPadding(), + ) { + Column( + modifier = Modifier + .fillMaxWidth() + .padding(top = 48.dp) + .padding(horizontal = 36.dp) + .weight(1f), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + Text( + text = "Create\nPIN Code", + style = TangemTheme.typography.h2, + color = TangemTheme.colors.text.primary1, + textAlign = TextAlign.Center, + ) + + SpacerH16() + + Text( + text = "Set up a 4-digit code.\nIt will be used for payments.", + style = TangemTheme.typography.body1, + color = TangemTheme.colors.text.secondary, + textAlign = TextAlign.Center, + ) + + SpacerH(26.dp) + + PinCodeSection(state) + } + + PrimaryButton( + modifier = Modifier + .imePadding() + .padding(start = 16.dp, end = 16.dp, bottom = 16.dp) + .fillMaxWidth(), + text = "Submit", + onClick = state.onSubmitClick, + ) + } +} + +@Composable +private fun PinCodeSection(state: OnboardingVisaPinCodeUM, modifier: Modifier = Modifier) { + val focusRequester = remember { FocusRequester() } + + PinCode( + modifier = modifier, + value = state.pinCode, + onValueChange = state.onPinCodeChange, + focusRequester = focusRequester, + ) + + LaunchedEffect(Unit) { + delay(timeMillis = 300) + focusRequester.requestFocus() + } +} + +@Composable +private fun PinCode( + value: String, + onValueChange: (String) -> Unit, + modifier: Modifier = Modifier, + numbersCount: Int = 4, + focusRequester: FocusRequester = remember { FocusRequester() }, + onDone: ((String) -> Unit)? = null, +) { + val keyboardController = LocalSoftwareKeyboardController.current + + Box( + contentAlignment = Alignment.Center, + modifier = modifier, + ) { + BasicTextField( + value = value, + onValueChange = { text -> + if (text.length <= numbersCount) { + onValueChange(text) + if (text.length == numbersCount) { + onDone?.invoke(text) + } + } + }, + keyboardOptions = KeyboardOptions.Default.copy( + keyboardType = KeyboardType.Number, + imeAction = ImeAction.Done, + ), + keyboardActions = KeyboardActions(onDone = { + keyboardController?.hide() + },), + modifier = Modifier + .alpha(alpha = 0.01f) + .focusRequester(focusRequester), + textStyle = TextStyle.Default.copy(color = Transparent), + ) + + Row( + modifier = Modifier + .clickable( + indication = null, + interactionSource = remember { MutableInteractionSource() }, + onClick = { + keyboardController?.show() + focusRequester.requestFocus() + }, + ), + horizontalArrangement = Arrangement.spacedBy(12.dp), + ) { + repeat(numbersCount) { index -> + Box( + modifier = Modifier + .background( + color = Color(color = 0xFFF5F5F5), + shape = TangemTheme.shapes.roundedCornersXMedium, + ) + .padding( + vertical = 12.dp, + horizontal = 16.dp, + ), + contentAlignment = Alignment.Center, + ) { + Text( + modifier = Modifier.widthIn(min = measureTextWidth("0", TangemTheme.typography.h1)), + text = value.getOrNull(index)?.toString() ?: "", + style = TangemTheme.typography.h1, + color = TangemTheme.colors.text.primary1, + ) + } + } + } + } +} + +@Composable +private fun measureTextWidth(text: String, style: TextStyle): Dp { + val textMeasurer = rememberTextMeasurer() + val widthInPixels = textMeasurer.measure(text, style).size.width + return with(LocalDensity.current) { widthInPixels.toDp() } +} + +@Preview(showBackground = true) +@Composable +private fun Preview() { + TangemThemePreview { + OnboardingVisaPinCode( + state = OnboardingVisaPinCodeUM( + pinCode = "1234", + ), + ) + } +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/state/OnboardingVisaPinCodeUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/state/OnboardingVisaPinCodeUM.kt new file mode 100644 index 0000000000..a8d26f44a3 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/state/OnboardingVisaPinCodeUM.kt @@ -0,0 +1,7 @@ +package com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.state + +internal data class OnboardingVisaPinCodeUM( + val pinCode: String = "", + val onPinCodeChange: (String) -> Unit = {}, + val onSubmitClick: () -> Unit = {}, +) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt index 0194489e69..3180bdfba5 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt @@ -16,16 +16,29 @@ internal class OnboardingVisaWelcomeComponent( @Composable override fun Content(modifier: Modifier) { + val state = remember(this) { + OnboardingVisaWelcomeUM( + mode = if (params.isWelcomeBack) { + OnboardingVisaWelcomeUM.Mode.WelcomeBack + } else { + OnboardingVisaWelcomeUM.Mode.Hello + }, + userName = "User", // TODO: + onContinueClick = params.onDone, + ) + } + BackHandler(onBack = remember(this) { { params.onBack() } }) OnboardingVisaWelcome( modifier = modifier, - state = OnboardingVisaWelcomeUM(), + state = state, ) } data class Params( + val isWelcomeBack: Boolean, val onBack: () -> Unit, - val startActivation: () -> Unit, + val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt index 61c2b6e0d8..26516e4075 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt @@ -1,14 +1,16 @@ package com.tangem.features.onboarding.v2.visa.impl.child.welcome.ui import androidx.compose.foundation.Canvas +import androidx.compose.foundation.Image import androidx.compose.foundation.layout.* import androidx.compose.material3.Text -import androidx.compose.runtime.Composable +import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.onSizeChanged +import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp -import coil.compose.AsyncImage import com.tangem.core.ui.components.PrimaryButton import com.tangem.core.ui.components.PrimaryButtonIconEnd import com.tangem.core.ui.components.SpacerH @@ -87,10 +89,12 @@ internal fun OnboardingVisaWelcome(state: OnboardingVisaWelcomeUM, modifier: Mod } } +@Suppress("MagicNumber") @Composable fun Artwork(modifier: Modifier = Modifier) { Box(modifier) { val circleColor = TangemTheme.colors.background.secondary + var cardHeightPx by remember { mutableIntStateOf(0) } Canvas( modifier = Modifier @@ -100,17 +104,19 @@ fun Artwork(modifier: Modifier = Modifier) { ) { drawCircle( color = circleColor, - radius = size.width / 2, + radius = cardHeightPx / 2 + cardHeightPx / 8f, center = center, ) } - AsyncImage( - model = R.drawable.img_card_visa, + Image( + painter = painterResource(R.drawable.img_card_visa), contentDescription = null, - modifier = Modifier + modifier = modifier .align(Alignment.Center) - .size(128.dp), // Adjust the size as needed + .onSizeChanged { cardHeightPx = it.height } + .widthIn(max = 512.dp) + .fillMaxWidth(), ) } } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/di/ComponentModule.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/di/ComponentModule.kt index abb9a0cecf..5ee550c847 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/di/ComponentModule.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/di/ComponentModule.kt @@ -1,11 +1,22 @@ package com.tangem.features.onboarding.v2.visa.impl.di +import com.tangem.core.decompose.di.DecomposeComponent +import com.tangem.core.decompose.model.Model import com.tangem.features.onboarding.v2.visa.api.OnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent +import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model.OnboardingVisaAccessCodeModel +import com.tangem.features.onboarding.v2.visa.impl.child.approve.model.OnboardingVisaApproveModel +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.model.OnboardingVisaChooseWalletModel +import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.model.OnboardingVisaInProgressModel +import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model.OnboardingVisaOtherWalletModel +import com.tangem.features.onboarding.v2.visa.impl.child.pincode.model.OnboardingVisaPinCodeModel +import com.tangem.features.onboarding.v2.visa.impl.model.OnboardingVisaModel import dagger.Binds import dagger.Module import dagger.hilt.InstallIn import dagger.hilt.components.SingletonComponent +import dagger.multibindings.ClassKey +import dagger.multibindings.IntoMap import javax.inject.Singleton @Module @@ -15,4 +26,44 @@ internal interface ComponentModule { @Binds @Singleton fun bindComponentFactory(factory: DefaultOnboardingVisaComponent.Factory): OnboardingVisaComponent.Factory +} + +@Module +@InstallIn(DecomposeComponent::class) +internal interface ModelModule { + + @Binds + @IntoMap + @ClassKey(OnboardingVisaAccessCodeModel::class) + fun provideModel(model: OnboardingVisaAccessCodeModel): Model + + @Binds + @IntoMap + @ClassKey(OnboardingVisaChooseWalletModel::class) + fun provideModel2(model: OnboardingVisaChooseWalletModel): Model + + @Binds + @IntoMap + @ClassKey(OnboardingVisaPinCodeModel::class) + fun provideModel3(model: OnboardingVisaPinCodeModel): Model + + @Binds + @IntoMap + @ClassKey(OnboardingVisaApproveModel::class) + fun provideModel4(model: OnboardingVisaApproveModel): Model + + @Binds + @IntoMap + @ClassKey(OnboardingVisaOtherWalletModel::class) + fun provideModel5(model: OnboardingVisaOtherWalletModel): Model + + @Binds + @IntoMap + @ClassKey(OnboardingVisaInProgressModel::class) + fun provideModel6(model: OnboardingVisaInProgressModel): Model + + @Binds + @IntoMap + @ClassKey(OnboardingVisaModel::class) + fun provideModel7(model: OnboardingVisaModel): Model } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt new file mode 100644 index 0000000000..f3d92c1ea3 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt @@ -0,0 +1,23 @@ +package com.tangem.features.onboarding.v2.visa.impl.model + +import androidx.compose.runtime.Stable +import com.tangem.core.decompose.di.ComponentScoped +import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.features.onboarding.v2.visa.api.OnboardingVisaComponent +import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import javax.inject.Inject + +@Stable +@ComponentScoped +internal class OnboardingVisaModel @Inject constructor( + paramsContainer: ParamsContainer, + override val dispatchers: CoroutineDispatcherProvider, +) : Model() { + + @Suppress("UnusedPrivateMember") + private val params = paramsContainer.require() + + val initialRoute = OnboardingVisaRoute.Welcome(isWelcomeBack = false) +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt new file mode 100644 index 0000000000..8eba780fd5 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt @@ -0,0 +1,28 @@ +package com.tangem.features.onboarding.v2.visa.impl.route + +import kotlinx.serialization.Serializable + +@Serializable +sealed class OnboardingVisaRoute { + + @Serializable + data class Welcome(val isWelcomeBack: Boolean) : OnboardingVisaRoute() + + @Serializable + data object AccessCode : OnboardingVisaRoute() + + @Serializable + data object ChooseWallet : OnboardingVisaRoute() + + @Serializable + data object TangemWalletApproveOption : OnboardingVisaRoute() + + @Serializable + data object OtherWalletApproveOption : OnboardingVisaRoute() + + @Serializable + data object InProgress : OnboardingVisaRoute() + + @Serializable + data object PinCode : OnboardingVisaRoute() +} \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/utils/ReviewManagerRequester.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/utils/ReviewManagerRequester.kt index 1826afb74d..a04cb17d49 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/utils/ReviewManagerRequester.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/ui/utils/ReviewManagerRequester.kt @@ -2,11 +2,11 @@ package com.tangem.feature.wallet.presentation.wallet.ui.utils import android.app.Activity import android.content.Context -import android.content.ContextWrapper import com.google.android.gms.tasks.Task import com.google.android.play.core.review.ReviewInfo import com.google.android.play.core.review.ReviewManager import com.google.android.play.core.review.ReviewManagerFactory +import com.tangem.core.ui.utils.findActivity import timber.log.Timber internal object ReviewManagerRequester { @@ -44,13 +44,4 @@ internal object ReviewManagerRequester { Timber.e(task.exception) } } - - private fun Context.findActivity(): Activity { - var context = this - while (context is ContextWrapper) { - if (context is Activity) return context - context = context.baseContext - } - error("Permissions should be called in the context of an Activity") - } } \ No newline at end of file From 2fb2466db53a5ebb6ad8862e1823910be416b4c8 Mon Sep 17 00:00:00 2001 From: Tangem Date: Sun, 19 Jan 2025 21:50:00 +0300 Subject: [PATCH 21/61] Updated on 2026-08-14 --- .../onboarding/v2/visa/impl/ui/OnboardingVisa.kt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt new file mode 100644 index 0000000000..40a9a8597d --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt @@ -0,0 +1,9 @@ +package com.tangem.features.onboarding.v2.visa.impl.ui + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier + +@Composable +internal fun OnboardingVisa(modifier: Modifier = Modifier, childContent: @Composable (Modifier) -> Unit) { + childContent(modifier) +} \ No newline at end of file From b7abe2bf7afe260aabe7b81f8af5c6915c759ee6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 21 Jan 2025 16:33:02 +0300 Subject: [PATCH 22/61] Updated on 2026-08-14 --- .../onboarding/v2/visa/impl/ui/OnboardingVisa.kt | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt deleted file mode 100644 index 40a9a8597d..0000000000 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.tangem.features.onboarding.v2.visa.impl.ui - -import androidx.compose.runtime.Composable -import androidx.compose.ui.Modifier - -@Composable -internal fun OnboardingVisa(modifier: Modifier = Modifier, childContent: @Composable (Modifier) -> Unit) { - childContent(modifier) -} \ No newline at end of file From 503c471e1d2de08d05233ecbeb9898ffd9a997e5 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 21 Jan 2025 17:52:52 +0300 Subject: [PATCH 23/61] Updated on 2026-08-14 --- .../impl/DefaultOnboardingVisaComponent.kt | 56 ++++++++++++------- .../OnboardingVisaAccessCodeComponent.kt | 9 ++- .../approve/OnboardingVisaApproveComponent.kt | 5 +- .../OnboardingVisaChooseWalletComponent.kt | 5 +- .../OnboardingVisaInProgressComponent.kt | 7 ++- .../OnboardingVisaOtherWalletComponent.kt | 5 +- .../pincode/OnboardingVisaPinCodeComponent.kt | 5 +- .../welcome/OnboardingVisaWelcomeComponent.kt | 5 +- .../v2/visa/impl/model/OnboardingVisaModel.kt | 3 + .../onboarding/v2/visa/impl/route/Step.kt | 14 +++++ .../onboarding/v2/visa/impl/route/Titles.kt | 14 +++++ 11 files changed, 90 insertions(+), 38 deletions(-) create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt index 4f5b70b7a8..31ba359b56 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt @@ -9,6 +9,7 @@ import com.arkivanov.decompose.extensions.compose.jetpack.stack.animation.stackA import com.arkivanov.decompose.extensions.compose.jetpack.subscribeAsState import com.arkivanov.decompose.router.stack.* import com.arkivanov.decompose.value.Value +import com.arkivanov.decompose.value.observe import com.arkivanov.essenty.instancekeeper.getOrCreateSimple import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.context.childByContext @@ -25,13 +26,14 @@ import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.OnboardingV import com.tangem.features.onboarding.v2.visa.impl.child.pincode.OnboardingVisaPinCodeComponent import com.tangem.features.onboarding.v2.visa.impl.child.welcome.OnboardingVisaWelcomeComponent import com.tangem.features.onboarding.v2.visa.impl.model.OnboardingVisaModel +import com.tangem.features.onboarding.v2.visa.impl.route.ONBOARDING_VISA_STEPS_COUNT import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute +import com.tangem.features.onboarding.v2.visa.impl.route.screenTitle +import com.tangem.features.onboarding.v2.visa.impl.route.stepNum import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -import kotlinx.coroutines.flow.MutableSharedFlow -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch @Suppress("UnusedPrivateMember") @@ -43,12 +45,7 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( private val model: OnboardingVisaModel = getOrCreateModel(params) private val innerNavigationState = instanceKeeper.getOrCreateSimple(key = "innerNavigationState") { - MutableStateFlow( - OnboardingVisaInnerNavigationState( - stackSize = 1, - stackMaxSize = 7, - ), - ) + MutableStateFlow(OnboardingVisaInnerNavigationState(stackSize = model.initialStepNum)) } private val currentChildBackEventHandle = instanceKeeper.getOrCreateSimple(key = "currentChildBackEventHandle") { @@ -84,6 +81,20 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } } + init { + // sets title and stepper value + childStack.observe(lifecycle) { stack -> + val currentRoute = stack.active.configuration + params.titleProvider.changeTitle(currentRoute.screenTitle()) + innerNavigationState.update { it.copy(stackSize = currentRoute.stepNum()) } + } + } + + private val childParams = ChildParams( + onBack = ::onChildBack, + parentBackEvent = currentChildBackEventHandle, + ) + private fun createChild( route: OnboardingVisaRoute, factoryContext: AppComponentContext, @@ -93,22 +104,21 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( appComponentContext = factoryContext, params = OnboardingVisaWelcomeComponent.Params( isWelcomeBack = route.isWelcomeBack, - onBack = ::onChildBack, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.AccessCode) }, ), ) OnboardingVisaRoute.AccessCode -> OnboardingVisaAccessCodeComponent( appComponentContext = factoryContext, params = OnboardingVisaAccessCodeComponent.Params( - onBack = ::onChildBack, - parentBackEvent = currentChildBackEventHandle, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.ChooseWallet) }, ), ) OnboardingVisaRoute.ChooseWallet -> OnboardingVisaChooseWalletComponent( appComponentContext = factoryContext, params = OnboardingVisaChooseWalletComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onEvent = { event -> stackNavigation.push( when (event) { @@ -124,28 +134,28 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( OnboardingVisaRoute.InProgress -> OnboardingVisaInProgressComponent( appComponentContext = factoryContext, params = OnboardingVisaInProgressComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, ), ) OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( appComponentContext = factoryContext, params = OnboardingVisaOtherWalletComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, ), ) OnboardingVisaRoute.PinCode -> OnboardingVisaPinCodeComponent( appComponentContext = factoryContext, params = OnboardingVisaPinCodeComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onDone = { params.onDone() }, ), ) OnboardingVisaRoute.TangemWalletApproveOption -> OnboardingVisaApproveComponent( appComponentContext = factoryContext, params = OnboardingVisaApproveComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, ), ) @@ -180,6 +190,11 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } } + data class ChildParams( + val onBack: () -> Unit, + val parentBackEvent: SharedFlow, + ) + @AssistedFactory interface Factory : OnboardingVisaComponent.Factory { override fun create( @@ -189,7 +204,8 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } } -data class OnboardingVisaInnerNavigationState( +internal data class OnboardingVisaInnerNavigationState( override val stackSize: Int, - override val stackMaxSize: Int?, -) : InnerNavigationState \ No newline at end of file +) : InnerNavigationState { + override val stackMaxSize: Int = ONBOARDING_VISA_STEPS_COUNT +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt index 06faafcbd7..8734fa0726 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt @@ -9,9 +9,9 @@ import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model.OnboardingVisaAccessCodeModel import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.OnboardingVisaAccessCode -import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.launch internal class OnboardingVisaAccessCodeComponent( @@ -23,10 +23,10 @@ internal class OnboardingVisaAccessCodeComponent( init { componentScope.launch { - model.onBack.collect { params.onBack() } + model.onBack.collect { params.childParams.onBack() } } componentScope.launch { - params.parentBackEvent.collect { + params.childParams.parentBackEvent.collect { model.onBack() } } @@ -47,8 +47,7 @@ internal class OnboardingVisaAccessCodeComponent( } data class Params( - val parentBackEvent: SharedFlow, - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt index 70a5560fc0..b7b5fc37ab 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.approve.model.OnboardingVisaApproveModel import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.OnboardingVisaApprove import kotlinx.coroutines.launch @@ -30,7 +31,7 @@ internal class OnboardingVisaApproveComponent( override fun Content(modifier: Modifier) { val state by model.uiState.collectAsStateWithLifecycle() - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaApprove( state = state, @@ -39,7 +40,7 @@ internal class OnboardingVisaApproveComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt index f8310b209e..3c8967551c 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.model.OnboardingVisaChooseWalletModel import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.OnboardingVisaChooseWallet import kotlinx.coroutines.flow.launchIn @@ -31,7 +32,7 @@ internal class OnboardingVisaChooseWalletComponent( override fun Content(modifier: Modifier) { val state by model.uiState.collectAsStateWithLifecycle() - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaChooseWallet( modifier = modifier, @@ -40,7 +41,7 @@ internal class OnboardingVisaChooseWalletComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onEvent: (Event) -> Unit, ) { enum class Event { diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt index f1fca1c49b..f8d10a865f 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt @@ -7,12 +7,13 @@ import androidx.compose.ui.Modifier import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.model.OnboardingVisaInProgressModel import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.ui.OnboardingVisaInProgress import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach -class OnboardingVisaInProgressComponent( +internal class OnboardingVisaInProgressComponent( appComponentContext: AppComponentContext, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { @@ -27,7 +28,7 @@ class OnboardingVisaInProgressComponent( @Composable override fun Content(modifier: Modifier) { - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaInProgress( modifier = modifier, @@ -35,7 +36,7 @@ class OnboardingVisaInProgressComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt index 50ca03977d..8b8784dd1d 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model.OnboardingVisaOtherWalletModel import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.OnboardingVisaOtherWallet import kotlinx.coroutines.flow.launchIn @@ -31,7 +32,7 @@ internal class OnboardingVisaOtherWalletComponent( override fun Content(modifier: Modifier) { val state by model.uiState.collectAsStateWithLifecycle() - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaOtherWallet( modifier = modifier, @@ -40,7 +41,7 @@ internal class OnboardingVisaOtherWalletComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt index 6df8920a6f..05aeba0384 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt @@ -10,6 +10,7 @@ import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.pincode.model.OnboardingVisaPinCodeModel import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.OnboardingVisaPinCode import kotlinx.coroutines.launch @@ -31,7 +32,7 @@ internal class OnboardingVisaPinCodeComponent( override fun Content(modifier: Modifier) { val state by model.uiState.collectAsStateWithLifecycle() - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) DisableScreenshotsDisposableEffect() @@ -42,7 +43,7 @@ internal class OnboardingVisaPinCodeComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt index 3180bdfba5..95264e1199 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt @@ -6,6 +6,7 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.welcome.ui.OnboardingVisaWelcome import com.tangem.features.onboarding.v2.visa.impl.child.welcome.ui.state.OnboardingVisaWelcomeUM @@ -28,7 +29,7 @@ internal class OnboardingVisaWelcomeComponent( ) } - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaWelcome( modifier = modifier, @@ -37,8 +38,8 @@ internal class OnboardingVisaWelcomeComponent( } data class Params( + val childParams: DefaultOnboardingVisaComponent.ChildParams, val isWelcomeBack: Boolean, - val onBack: () -> Unit, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt index f3d92c1ea3..fab035bcb3 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt @@ -6,6 +6,7 @@ import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer import com.tangem.features.onboarding.v2.visa.api.OnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute +import com.tangem.features.onboarding.v2.visa.impl.route.stepNum import com.tangem.utils.coroutines.CoroutineDispatcherProvider import javax.inject.Inject @@ -20,4 +21,6 @@ internal class OnboardingVisaModel @Inject constructor( private val params = paramsContainer.require() val initialRoute = OnboardingVisaRoute.Welcome(isWelcomeBack = false) + + val initialStepNum = initialRoute.stepNum() } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt new file mode 100644 index 0000000000..f82df04969 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt @@ -0,0 +1,14 @@ +package com.tangem.features.onboarding.v2.visa.impl.route + +@Suppress("MagicNumber") +internal fun OnboardingVisaRoute.stepNum() = when (this) { + is OnboardingVisaRoute.Welcome -> 1 + OnboardingVisaRoute.AccessCode -> 2 + OnboardingVisaRoute.ChooseWallet -> 3 + OnboardingVisaRoute.OtherWalletApproveOption -> 4 + OnboardingVisaRoute.TangemWalletApproveOption -> 4 + OnboardingVisaRoute.InProgress -> 5 + OnboardingVisaRoute.PinCode -> 6 +} + +internal const val ONBOARDING_VISA_STEPS_COUNT = 7 \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt new file mode 100644 index 0000000000..32a8e57a51 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt @@ -0,0 +1,14 @@ +package com.tangem.features.onboarding.v2.visa.impl.route + +import com.tangem.core.ui.extensions.TextReference + +// TODO add translations [REDACTED_TASK_KEY] +internal fun OnboardingVisaRoute.screenTitle(): TextReference = when (this) { + OnboardingVisaRoute.AccessCode -> TextReference.Str("Access code") + OnboardingVisaRoute.ChooseWallet -> TextReference.Str("Account activation") + OnboardingVisaRoute.InProgress -> TextReference.Str("In progress") + OnboardingVisaRoute.OtherWalletApproveOption -> TextReference.Str("Wallet connection") + OnboardingVisaRoute.PinCode -> TextReference.Str("PIN code") + OnboardingVisaRoute.TangemWalletApproveOption -> TextReference.Str("Wallet connection") + is OnboardingVisaRoute.Welcome -> TextReference.Str("Getting started") +} \ No newline at end of file From 1388e0cd9e3565efbf626409c802a490d1800d90 Mon Sep 17 00:00:00 2001 From: Tangem Date: Sun, 19 Jan 2025 21:50:00 +0300 Subject: [PATCH 24/61] Updated on 2026-08-14 --- .../onboarding/v2/visa/impl/ui/OnboardingVisa.kt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt new file mode 100644 index 0000000000..40a9a8597d --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt @@ -0,0 +1,9 @@ +package com.tangem.features.onboarding.v2.visa.impl.ui + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier + +@Composable +internal fun OnboardingVisa(modifier: Modifier = Modifier, childContent: @Composable (Modifier) -> Unit) { + childContent(modifier) +} \ No newline at end of file From 6fa81d165493668e99900b09a2256848a917c222 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 22 Jan 2025 20:41:34 +0300 Subject: [PATCH 25/61] Updated on 2026-08-14 --- .../sdk/impl/DefaultTangemSdkManager.kt | 14 ++ .../domain/sdk/impl/MockTangemSdkManager.kt | 10 + .../domain/tasks/product/ScanProductTask.kt | 18 +- .../tasks/visa/VisaCardActivationTask.kt | 2 +- .../visa/VisaCustomerWalletApproveTask.kt | 188 ++++++++++++++++++ .../visa/DefaultVisaActivationRepository.kt | 1 + .../domain/common/DerivationStyleProvider.kt | 4 +- .../domain/common/TangemCardTypesResolver.kt | 6 +- .../tangem/domain/common/TapWorkarounds.kt | 3 + .../domain/common/util/ScanResponseExt.kt | 8 +- .../domain/common/visa/VisaUtilities.kt | 4 +- .../common/visa/VisaWalletPublicKeyUtility.kt | 63 ++++++ .../domain/visa/model/VisaActivationError.kt | 1 + .../domain/visa/model/VisaDataForApprove.kt | 10 + features/onboarding-v2/impl/build.gradle.kts | 1 + .../impl/DefaultOnboardingVisaComponent.kt | 67 +++++-- .../OnboardingVisaAccessCodeComponent.kt | 18 +- .../model/OnboardingVisaAccessCodeModel.kt | 82 ++++++-- .../accesscode/ui/OnboardingVisaAccessCode.kt | 1 + .../ui/state/OnboardingVisaAccessCodeUM.kt | 1 + .../approve/OnboardingVisaApproveComponent.kt | 8 +- .../model/OnboardingVisaApproveModel.kt | 34 +++- .../child/approve/ui/OnboardingVisaApprove.kt | 1 + .../ui/state/OnboardingVisaApproveUM.kt | 1 + .../OnboardingVisaOtherWalletComponent.kt | 8 +- .../model/OnboardingVisaOtherWalletModel.kt | 5 + .../child/welcome/ui/OnboardingVisaWelcome.kt | 7 +- .../v2/visa/impl/route/OnboardingVisaRoute.kt | 10 +- .../onboarding/v2/visa/impl/route/Step.kt | 6 +- .../onboarding/v2/visa/impl/route/Titles.kt | 6 +- .../com/tangem/sdk/api/TangemSdkManager.kt | 4 + 31 files changed, 515 insertions(+), 77 deletions(-) create mode 100644 app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt create mode 100644 domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaWalletPublicKeyUtility.kt create mode 100644 domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt index 7ce6aa9702..ac325d7207 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt @@ -27,6 +27,7 @@ import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge import com.tangem.domain.visa.model.VisaCardActivationResponse +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.features.onboarding.v2.OnboardingV2FeatureToggles import com.tangem.operations.ScanTask @@ -35,6 +36,7 @@ import com.tangem.operations.derivation.DeriveMultipleWalletPublicKeysTask import com.tangem.operations.derivation.DeriveWalletPublicKeyTask import com.tangem.operations.pins.SetUserCodeCommand import com.tangem.operations.preflightread.PreflightReadFilter +import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.usersetttings.SetUserCodeRecoveryAllowedTask import com.tangem.operations.wallet.CreateWalletResponse import com.tangem.sdk.api.CreateProductWalletTaskResponse @@ -45,6 +47,7 @@ import com.tangem.tap.domain.tasks.product.ResetBackupCardTask import com.tangem.tap.domain.tasks.product.ResetToFactorySettingsTask import com.tangem.tap.domain.tasks.product.ScanProductTask import com.tangem.tap.domain.tasks.visa.VisaCardActivationTask +import com.tangem.tap.domain.tasks.visa.VisaCustomerWalletApproveTask import com.tangem.tap.domain.twins.CreateFirstTwinWalletTask import com.tangem.tap.domain.twins.CreateSecondTwinWalletTask import com.tangem.tap.domain.twins.FinalizeTwinTask @@ -494,6 +497,17 @@ internal class DefaultTangemSdkManager( } } + override suspend fun visaCustomerWalletApprove( + visaDataForApprove: VisaDataForApprove, + ): CompletionResult { + return runTaskAsyncReturnOnMain( + runnable = VisaCustomerWalletApproveTask( + visaDataForApprove = visaDataForApprove, + ), + initialMessage = Message(resources.getStringSafe(R.string.initial_message_tap_header)), + ) + } + // endregion companion object { diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt index c0dd2c2c03..3e8dce1c1e 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt @@ -20,9 +20,11 @@ import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge import com.tangem.domain.visa.model.VisaCardActivationResponse +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.operations.derivation.DerivationTaskResponse import com.tangem.operations.preflightread.PreflightReadFilter +import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.wallet.CreateWalletResponse import com.tangem.sdk.api.CreateProductWalletTaskResponse import com.tangem.sdk.api.TangemSdkManager @@ -207,4 +209,12 @@ class MockTangemSdkManager( ): CompletionResult { error("Not implemented") } + + override suspend fun visaCustomerWalletApprove( + visaDataForApprove: VisaDataForApprove, + ): CompletionResult { + error("Not implemented") + } + + // endregion } \ No newline at end of file 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 bc2268c5a9..3437af2b04 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 @@ -45,6 +45,7 @@ import com.tangem.tap.scope import com.tangem.tap.store import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch +import timber.log.Timber import kotlin.collections.set internal class ScanProductTask( @@ -172,6 +173,7 @@ private class ScanWalletProcessor( ) { @Suppress("MagicNumber") if (card.firmwareVersion.doubleValue >= 4.39 && card.settings.maxWalletsCount == 1) { + Timber.tag("ASDASD").i("ScanWalletProcessor: ${card.firmwareVersion}") readFile(card, session, callback) return } @@ -190,6 +192,7 @@ private class ScanWalletProcessor( when (result) { is CompletionResult.Success -> { + Timber.tag("ASDASD").i("ReadFilesTask: ${result.data}") val file = result.data.firstOrNull() val counter = file?.counter val signature = file?.signature @@ -311,15 +314,12 @@ private class ScanWalletProcessor( } private fun getWalletProductType(card: CardDTO): ProductType { - if (RING_BATCH_IDS.contains(card.batchId) || card.batchId.startsWith(RING_BATCH_PREFIX)) { - return ProductType.Ring - } - return if (card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && - card.settings.isKeysImportAllowed - ) { - ProductType.Wallet2 - } else { - ProductType.Wallet + return when { + card.isVisa -> ProductType.Visa + RING_BATCH_IDS.contains(card.batchId) || card.batchId.startsWith(RING_BATCH_PREFIX) -> ProductType.Ring + card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && + card.settings.isKeysImportAllowed -> ProductType.Wallet2 + else -> ProductType.Wallet } } diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt index d1efcf68c4..709be0263d 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt @@ -1,12 +1,12 @@ package com.tangem.tap.domain.tasks.visa -import com.reown.util.hexToBytes import com.tangem.common.CompletionResult import com.tangem.common.card.Card import com.tangem.common.core.CardSession import com.tangem.common.core.CardSessionRunnable import com.tangem.common.core.CompletionCallback import com.tangem.common.core.TangemSdkError +import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toHexString import com.tangem.common.map import com.tangem.datasource.local.visa.VisaAuthTokenStorage diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt new file mode 100644 index 0000000000..c9fb9dc1d0 --- /dev/null +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt @@ -0,0 +1,188 @@ +package com.tangem.tap.domain.tasks.visa + +import arrow.core.getOrElse +import com.tangem.common.CompletionResult +import com.tangem.common.card.Card +import com.tangem.common.card.CardWallet +import com.tangem.common.core.CardSession +import com.tangem.common.core.CardSessionRunnable +import com.tangem.common.core.CompletionCallback +import com.tangem.common.core.TangemSdkError +import com.tangem.common.extensions.hexToBytes +import com.tangem.crypto.hdWallet.DerivationPath +import com.tangem.crypto.hdWallet.bip32.ExtendedPublicKey +import com.tangem.domain.common.util.derivationStyleProvider +import com.tangem.domain.common.visa.VisaUtilities +import com.tangem.domain.common.visa.VisaWalletPublicKeyUtility +import com.tangem.domain.common.visa.VisaWalletPublicKeyUtility.findKeyWithoutDerivation +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.visa.model.VisaActivationError +import com.tangem.domain.visa.model.VisaDataForApprove +import com.tangem.operations.ScanTask +import com.tangem.operations.derivation.DeriveWalletPublicKeyTask +import com.tangem.operations.sign.SignHashCommand +import com.tangem.operations.sign.SignHashResponse + +class VisaCustomerWalletApproveTask( + private val visaDataForApprove: VisaDataForApprove, +) : CardSessionRunnable { + + override fun run(session: CardSession, callback: CompletionCallback) { + val card = session.environment.card ?: run { + callback(CompletionResult.Failure(TangemSdkError.MissingPreflightRead())) + return + } + + if (VisaUtilities.isVisaCard(card.firmwareVersion.doubleValue, card.batchId).not()) { + callback(CompletionResult.Failure(TangemSdkError.Underlying("Card is identified as not Visa"))) + return + } + + if (card.settings.isHDWalletAllowed) { + proceedApprove(card, session, callback) + } else { + proceedApproveWithLegacyCard(card, session, callback) + } + } + + private fun proceedApprove(card: Card, session: CardSession, callback: CompletionCallback) { + val cardDTO = CardDTO(card) + + val derivationStyle = cardDTO.derivationStyleProvider.getDerivationStyle() ?: run { + proceedApproveWithLegacyCard( + card = card, + session = session, + callback = callback, + ) + return + } + + val derivationPath = VisaUtilities.visaDefaultDerivationPath(derivationStyle) ?: run { + callback( + CompletionResult.Failure( + TangemSdkError.Underlying("Failed to generate derivation path with provided derivation style"), + ), + ) + return + } + + val wallet = card.wallets.firstOrNull { it.curve == VisaUtilities.mandatoryCurve } ?: run { + callback(CompletionResult.Failure(TangemSdkError.Underlying(VisaActivationError.MissingWallet.message))) + return + } + + val derivationTask = DeriveWalletPublicKeyTask( + walletPublicKey = wallet.publicKey, + derivationPath = derivationPath, + ) + + derivationTask.run(session) { result -> + when (result) { + is CompletionResult.Success -> { + processDerivedKey( + wallet = wallet, + extendedPublicKey = result.data, + derivationPath = derivationPath, + session = session, + callback = callback, + ) + } + is CompletionResult.Failure -> { + callback(CompletionResult.Failure(result.error)) + } + } + } + } + + private fun processDerivedKey( + wallet: CardWallet, + extendedPublicKey: ExtendedPublicKey, + derivationPath: DerivationPath, + session: CardSession, + callback: CompletionCallback, + ) { + val validationResult = VisaWalletPublicKeyUtility.validateExtendedPublicKey( + targetAddress = visaDataForApprove.targetAddress, + extendedPublicKey = extendedPublicKey, + ) + + validationResult.onLeft { + callback(CompletionResult.Failure(TangemSdkError.Underlying(it.message))) + return + } + + signApproveData( + targetWalletPublicKey = wallet.publicKey, + derivationPath = derivationPath, + session = session, + callback = callback, + ) + } + + private fun proceedApproveWithLegacyCard( + card: Card, + session: CardSession, + callback: CompletionCallback, + ) { + val publicKey = findKeyWithoutDerivation( + targetAddress = visaDataForApprove.targetAddress, + card = CardDTO(card), + ).getOrElse { + callback(CompletionResult.Failure(TangemSdkError.Underlying(it.message))) + return + } + + signApproveData( + targetWalletPublicKey = publicKey, + derivationPath = null, + session = session, + callback = callback, + ) + } + + private fun signApproveData( + targetWalletPublicKey: ByteArray, + derivationPath: DerivationPath?, + session: CardSession, + callback: CompletionCallback, + ) { + val signTask = SignHashCommand( + hash = visaDataForApprove.approveHash.hexToBytes(), + walletPublicKey = targetWalletPublicKey, + derivationPath = derivationPath, + ) + + signTask.run(session) { result -> + when (result) { + is CompletionResult.Success -> { + scanCard( + signHashResponse = result.data, + session = session, + callback = callback, + ) + } + is CompletionResult.Failure -> { + callback(CompletionResult.Failure(result.error)) + } + } + } + } + + private fun scanCard( + signHashResponse: SignHashResponse, + session: CardSession, + callback: CompletionCallback, + ) { + val scanTask = ScanTask() + scanTask.run(session) { result -> + when (result) { + is CompletionResult.Success -> { + callback(CompletionResult.Success(signHashResponse)) + } + is CompletionResult.Failure -> { + callback(CompletionResult.Failure(result.error)) + } + } + } + } +} \ No newline at end of file diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt index 17862805b5..b11958c4f5 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt @@ -20,6 +20,7 @@ internal class DefaultVisaActivationRepository @AssistedInject constructor( override suspend fun getActivationRemoteState(): VisaActivationRemoteState = withContext(dispatcherProvider.io) { visaActivationStatusConverter.convert(visaApi.getRemoteActivationStatus(cardId)) + VisaActivationRemoteState.CardWalletSignatureRequired // mock // TODO implement refreshing access token if it's expired } diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/DerivationStyleProvider.kt b/domain/legacy/src/main/java/com/tangem/domain/common/DerivationStyleProvider.kt index 570071b37a..e4ff4eea14 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/DerivationStyleProvider.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/DerivationStyleProvider.kt @@ -1,6 +1,7 @@ package com.tangem.domain.common import com.tangem.blockchain.common.derivation.DerivationStyle +import com.tangem.domain.common.TapWorkarounds.isWallet2 import com.tangem.domain.models.scan.CardDTO interface DerivationStyleProvider { @@ -8,14 +9,13 @@ interface DerivationStyleProvider { } internal class TangemDerivationStyleProvider( - private val cardTypesResolver: CardTypesResolver, private val card: CardDTO, ) : DerivationStyleProvider { override fun getDerivationStyle(): DerivationStyle? { return when { !card.settings.isHDWalletAllowed -> null firstBatchesOfWallet1(card) -> DerivationStyle.V1 - cardTypesResolver.isWallet2() -> DerivationStyle.V3 + card.isWallet2 -> DerivationStyle.V3 else -> DerivationStyle.V2 } } diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt index bcf606539a..46035bd37d 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt @@ -8,6 +8,7 @@ import com.tangem.common.card.WalletData import com.tangem.domain.common.TapWorkarounds.getTangemNoteBlockchain import com.tangem.domain.common.TapWorkarounds.isStart2Coin import com.tangem.domain.common.TapWorkarounds.isTestCard +import com.tangem.domain.common.TapWorkarounds.isWallet2 import com.tangem.domain.common.visa.VisaUtilities import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ProductType @@ -35,10 +36,7 @@ internal class TangemCardTypesResolver( return walletData == null && card.firmwareVersion <= FirmwareVersion.HDWalletAvailable } - override fun isWallet2(): Boolean { - return card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && - card.settings.isKeysImportAllowed - } + override fun isWallet2(): Boolean = card.isWallet2 override fun isVisaWallet(): Boolean = productType == ProductType.Visa diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt index b369611972..493d724f8b 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt @@ -23,6 +23,9 @@ object TapWorkarounds { val CardDTO.isStart2Coin: Boolean get() = isStart2CoinIssuer(issuer.name) + val CardDTO.isWallet2: Boolean + get() = firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && settings.isKeysImportAllowed + val CardDTO.isVisa: Boolean get() = VisaUtilities.isVisaCard(this) diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExt.kt b/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExt.kt index 94727f02cb..3c24fb103f 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExt.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExt.kt @@ -24,10 +24,10 @@ val ScanResponse.cardTypesResolver: CardTypesResolver ) val ScanResponse.derivationStyleProvider: DerivationStyleProvider - get() = TangemDerivationStyleProvider( - cardTypesResolver, - card, - ) + get() = card.derivationStyleProvider + +val CardDTO.derivationStyleProvider: DerivationStyleProvider + get() = TangemDerivationStyleProvider(this) val UserWallet.cardTypesResolver: CardTypesResolver get() = scanResponse.cardTypesResolver diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt index 32d4282b20..b84ed4f673 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt @@ -18,12 +18,14 @@ object VisaUtilities { val visaDefaultDerivationPath = visaBlockchain.derivationPath(DerivationStyle.V3) + fun visaDefaultDerivationPath(style: DerivationStyle) = visaBlockchain.derivationPath(style) + fun isVisaCard(card: CardDTO): Boolean { return isVisaCard(card.firmwareVersion.doubleValue, card.batchId) } fun isVisaCard(firmwareVersion: Double, batchId: String): Boolean { - return FirmwareVersion.visaRange.contains(firmwareVersion) && + return firmwareVersion in FirmwareVersion.visaRange && batchId.startsWith(VISA_BATCH_START) } } \ No newline at end of file diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaWalletPublicKeyUtility.kt b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaWalletPublicKeyUtility.kt new file mode 100644 index 0000000000..60a095ca16 --- /dev/null +++ b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaWalletPublicKeyUtility.kt @@ -0,0 +1,63 @@ +package com.tangem.domain.common.visa + +import arrow.core.Either +import arrow.core.raise.catch +import arrow.core.raise.either +import com.tangem.blockchain.common.address.Address +import com.tangem.crypto.hdWallet.bip32.ExtendedPublicKey +import com.tangem.domain.models.scan.CardDTO + +object VisaWalletPublicKeyUtility { + + fun validateExtendedPublicKey(targetAddress: String, extendedPublicKey: ExtendedPublicKey): Either = + either { + validatePublicKey( + targetAddress = targetAddress, + publicKey = extendedPublicKey.publicKey, + ).bind() + } + + fun findKeyWithoutDerivation(targetAddress: String, card: CardDTO): Either = either { + val wallet = findWalletOnVisaCurve(card).bind() + + validatePublicKey( + targetAddress = targetAddress, + publicKey = wallet.publicKey, + ).bind() + + wallet.publicKey + } + + private fun findWalletOnVisaCurve(card: CardDTO): Either = either { + card.wallets.firstOrNull { it.curve == VisaUtilities.mandatoryCurve } ?: raise(Error.MissingWalletOnTargetCurve) + } + + private fun validatePublicKey(targetAddress: String, publicKey: ByteArray): Either = either { + val address = generateAddressOnVisaCurve(publicKey).bind() + + if (address.value != targetAddress) { + raise(Error.AddressNotMatched) + } + } + + private fun generateAddressOnVisaCurve(walletPublicKey: ByteArray): Either = either { + val addresses = catch( + block = { + VisaUtilities.visaBlockchain.makeAddresses( + walletPublicKey = walletPublicKey, + pairPublicKey = null, + curve = VisaUtilities.mandatoryCurve, + ) + }, + catch = { raise(Error.FailedToCreateAddress) }, + ) + + addresses.firstOrNull() ?: raise(Error.FailedToCreateAddress) + } + + enum class Error(val message: String) { + AddressNotMatched("ValidationError: Address not matched"), + FailedToCreateAddress("ValidationError: Failed to create address"), + MissingWalletOnTargetCurve("ValidationError: Missing wallet on target curve"), + } +} \ No newline at end of file diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationError.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationError.kt index 11685b3866..f115a703f5 100644 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationError.kt +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationError.kt @@ -4,5 +4,6 @@ enum class VisaActivationError(val message: String) { BlockedForActivation("Card is blocked for activation"), InvalidActivationState("Invalid activation state"), WrongCard("Wrong card tapped"), + MissingWallet("Missing wallet"), MissingRootOTP("Missing root OTP"), } \ No newline at end of file diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt new file mode 100644 index 0000000000..5a5fe7cb4d --- /dev/null +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt @@ -0,0 +1,10 @@ +package com.tangem.domain.visa.model + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class VisaDataForApprove( + @SerialName("targetAddress") val targetAddress: String, + @SerialName("approveHash") val approveHash: String, +) \ No newline at end of file diff --git a/features/onboarding-v2/impl/build.gradle.kts b/features/onboarding-v2/impl/build.gradle.kts index 6a64d3f440..3f1c7150fc 100644 --- a/features/onboarding-v2/impl/build.gradle.kts +++ b/features/onboarding-v2/impl/build.gradle.kts @@ -41,6 +41,7 @@ dependencies { implementation(projects.domain.legacy) implementation(projects.domain.settings) implementation(projects.domain.onboarding) + implementation(projects.domain.visa) /** Tangem libraries */ implementation(projects.libs.tangemSdkApi) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt index 31ba359b56..a174ae69e0 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt @@ -52,6 +52,11 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( MutableSharedFlow() } + private val childParams = ChildParams( + onBack = ::onChildBack, + parentBackEvent = currentChildBackEventHandle, + ) + private val stackNavigation = StackNavigation() private val childStack: Value> = @@ -76,7 +81,7 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( if (childStack.value.active.configuration is OnboardingVisaRoute.AccessCode) { componentScope.launch { currentChildBackEventHandle.emit(Unit) } } else { - stackNavigation.pop() + onChildBack() } } } @@ -90,11 +95,7 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } } - private val childParams = ChildParams( - onBack = ::onChildBack, - parentBackEvent = currentChildBackEventHandle, - ) - + @Suppress("LongMethod") private fun createChild( route: OnboardingVisaRoute, factoryContext: AppComponentContext, @@ -112,10 +113,24 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( appComponentContext = factoryContext, params = OnboardingVisaAccessCodeComponent.Params( childParams = childParams, - onDone = { stackNavigation.push(OnboardingVisaRoute.ChooseWallet) }, + onDone = { + stackNavigation.push( + if (it.walletFound) { + OnboardingVisaRoute.TangemWalletApproveOption( + visaDataForApprove = it.visaDataForApprove, + allowNavigateBack = false, + ) + } else { + OnboardingVisaRoute.ChooseWallet(it.visaDataForApprove) + }, + ) + }, + ), + config = OnboardingVisaAccessCodeComponent.Config( + scanResponse = params.scanResponse, ), ) - OnboardingVisaRoute.ChooseWallet -> OnboardingVisaChooseWalletComponent( + is OnboardingVisaRoute.ChooseWallet -> OnboardingVisaChooseWalletComponent( appComponentContext = factoryContext, params = OnboardingVisaChooseWalletComponent.Params( childParams = childParams, @@ -123,9 +138,12 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( stackNavigation.push( when (event) { OnboardingVisaChooseWalletComponent.Params.Event.TangemWallet -> - OnboardingVisaRoute.TangemWalletApproveOption + OnboardingVisaRoute.TangemWalletApproveOption( + visaDataForApprove = route.visaDataForApprove, + allowNavigateBack = true, + ) OnboardingVisaChooseWalletComponent.Params.Event.OtherWallet -> - OnboardingVisaRoute.OtherWalletApproveOption + OnboardingVisaRoute.OtherWalletApproveOption(route.visaDataForApprove) }, ) }, @@ -138,8 +156,11 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, ), ) - OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( + is OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( appComponentContext = factoryContext, + config = OnboardingVisaOtherWalletComponent.Config( + visaDataForApprove = route.visaDataForApprove, + ), params = OnboardingVisaOtherWalletComponent.Params( childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, @@ -152,8 +173,11 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( onDone = { params.onDone() }, ), ) - OnboardingVisaRoute.TangemWalletApproveOption -> OnboardingVisaApproveComponent( + is OnboardingVisaRoute.TangemWalletApproveOption -> OnboardingVisaApproveComponent( appComponentContext = factoryContext, + config = OnboardingVisaApproveComponent.Config( + visaDataForApprove = route.visaDataForApprove, + ), params = OnboardingVisaApproveComponent.Params( childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, @@ -163,15 +187,24 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } private fun onChildBack() { - when (childStack.value.active.configuration) { + if (childStack.value.backStack.size == 1) { + // TODO show dialog + return + } + + when (val route = childStack.value.active.configuration) { OnboardingVisaRoute.AccessCode, - OnboardingVisaRoute.TangemWalletApproveOption, - OnboardingVisaRoute.OtherWalletApproveOption, + is OnboardingVisaRoute.OtherWalletApproveOption, -> stackNavigation.pop() + is OnboardingVisaRoute.TangemWalletApproveOption -> { + if (route.allowNavigateBack) { + stackNavigation.pop() + } + } + is OnboardingVisaRoute.Welcome, - OnboardingVisaRoute.ChooseWallet, + is OnboardingVisaRoute.ChooseWallet, OnboardingVisaRoute.InProgress, - OnboardingVisaRoute.OtherWalletApproveOption, OnboardingVisaRoute.PinCode, -> { } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt index 8734fa0726..dd7a6f2ed6 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt @@ -9,6 +9,8 @@ import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect +import com.tangem.domain.models.scan.ScanResponse +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model.OnboardingVisaAccessCodeModel import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.OnboardingVisaAccessCode @@ -16,10 +18,11 @@ import kotlinx.coroutines.launch internal class OnboardingVisaAccessCodeComponent( appComponentContext: AppComponentContext, + config: Config, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { - private val model: OnboardingVisaAccessCodeModel = getOrCreateModel() + private val model: OnboardingVisaAccessCodeModel = getOrCreateModel(config) init { componentScope.launch { @@ -31,7 +34,7 @@ internal class OnboardingVisaAccessCodeComponent( } } componentScope.launch { - model.onDone.collect { params.onDone() } + model.onDone.collect { params.onDone(it) } } } @@ -46,8 +49,17 @@ internal class OnboardingVisaAccessCodeComponent( OnboardingVisaAccessCode(state, modifier) } + data class Config( + val scanResponse: ScanResponse, + ) + data class Params( val childParams: DefaultOnboardingVisaComponent.ChildParams, - val onDone: () -> Unit, + val onDone: (DoneEvent) -> Unit, + ) + + data class DoneEvent( + val visaDataForApprove: VisaDataForApprove, + val walletFound: Boolean, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt index 4281e33a1a..1186c22057 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt @@ -2,8 +2,15 @@ package com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model import androidx.compose.runtime.Stable import androidx.compose.ui.text.input.TextFieldValue +import com.tangem.common.CompletionResult +import com.tangem.common.extensions.toHexString import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.domain.visa.model.VisaCardActivationStatus +import com.tangem.domain.visa.model.VisaDataForApprove +import com.tangem.domain.visa.repository.VisaAuthRepository +import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.OnboardingVisaAccessCodeComponent import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.state.OnboardingVisaAccessCodeUM import com.tangem.sdk.api.TangemSdkManager import com.tangem.utils.coroutines.CoroutineDispatcherProvider @@ -14,15 +21,22 @@ import javax.inject.Inject @Stable @ComponentScoped internal class OnboardingVisaAccessCodeModel @Inject constructor( + paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, @Suppress("UnusedPrivateMember") private val tangemSdkManager: TangemSdkManager, + private val visaAuthRepository: VisaAuthRepository, ) : Model() { + private val params: OnboardingVisaAccessCodeComponent.Config = paramsContainer.require() + private val activationStatus = + params.scanResponse.visaCardActivationStatus as? VisaCardActivationStatus.NotStartedActivation + ?: error("Visa activation status is not set or incorrect for this step") + private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() val onBack = MutableSharedFlow() - val onDone = MutableSharedFlow() + val onDone = MutableSharedFlow() fun onBack() { when (uiState.value.step) { @@ -97,27 +111,53 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( @Suppress("UnusedPrivateMember") private fun startActivationProcess(accessCode: String) { - modelScope.launch { onDone.emit(Unit) } + loading(true) - // modelScope.launch { - // @Suppress("UnusedPrivateMember") - // val result = tangemSdkManager.activateVisaCard( - // accessCode = accessCode, - // challengeToSign = null, - // activationInput = TODO(), - // ) - // - // when (result) { - // is CompletionResult.Success -> { - // val response = result.data - // TODO() - // } - // is CompletionResult.Failure -> { - // // show alert - // TODO() - // } - // } - // } + modelScope.launch { + val challengeToSign = runCatching { + visaAuthRepository.getCardAuthChallenge( + cardId = activationStatus.activationInput.cardId, + cardPublicKey = activationStatus.activationInput.cardPublicKey.toHexString(), + ) + }.getOrElse { + loading(false) + // show alert + return@launch + } + + val result = tangemSdkManager.activateVisaCard( + accessCode = accessCode, + challengeToSign = challengeToSign, + activationInput = activationStatus.activationInput, + ) + // + when (result) { + is CompletionResult.Success -> { + // TODO load approve data from backend + // TODO try to find wallet in the app + + modelScope.launch { + onDone.emit( + OnboardingVisaAccessCodeComponent.DoneEvent( + visaDataForApprove = VisaDataForApprove( + targetAddress = "x9F65354e595284956599F2892fA4A4a87653D6E6", + approveHash = "approve hash", + ), + walletFound = false, // TODO + ), + ) + } + } + is CompletionResult.Failure -> { + loading(false) + // show alert + } + } + } + } + + private fun loading(state: Boolean) { + _uiState.update { it.copy(buttonLoading = state) } } private companion object { diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt index 6fefcee506..1557683bfe 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt @@ -65,6 +65,7 @@ internal fun OnboardingVisaAccessCode(state: OnboardingVisaAccessCodeUM, modifie }, onClick = state.onContinue, iconRes = R.drawable.ic_tangem_24, + showProgress = state.buttonLoading, isIconVisible = state.step == OnboardingVisaAccessCodeUM.Step.ReEnter, ), ) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt index b707b9067c..35403457fd 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt @@ -9,6 +9,7 @@ internal data class OnboardingVisaAccessCodeUM( val codesNotMatchError: Boolean = false, val atLeastMinCharsError: Boolean = false, val accessCodeHidden: Boolean = true, + val buttonLoading: Boolean = false, val onAccessCodeFirstChange: (TextFieldValue) -> Unit = {}, val onAccessCodeSecondChange: (TextFieldValue) -> Unit = {}, val onContinue: () -> Unit = {}, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt index b7b5fc37ab..60141475ad 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.approve.model.OnboardingVisaApproveModel import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.OnboardingVisaApprove @@ -16,10 +17,11 @@ import kotlinx.coroutines.launch internal class OnboardingVisaApproveComponent( appComponentContext: AppComponentContext, + config: Config, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { - private val model: OnboardingVisaApproveModel = getOrCreateModel() + private val model: OnboardingVisaApproveModel = getOrCreateModel(config) init { componentScope.launch { @@ -39,6 +41,10 @@ internal class OnboardingVisaApproveComponent( ) } + data class Config( + val visaDataForApprove: VisaDataForApprove, + ) + data class Params( val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt index 11bd07d94b..a79fe4aa78 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt @@ -1,22 +1,30 @@ package com.tangem.features.onboarding.v2.visa.impl.child.approve.model import androidx.compose.runtime.Stable +import com.tangem.common.CompletionResult import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.features.onboarding.v2.visa.impl.child.approve.OnboardingVisaApproveComponent import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.state.OnboardingVisaApproveUM +import com.tangem.sdk.api.TangemSdkManager import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import javax.inject.Inject @Stable @ComponentScoped internal class OnboardingVisaApproveModel @Inject constructor( + paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, + private val tangemSdkManager: TangemSdkManager, ) : Model() { + private val params = paramsContainer.require() private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() @@ -29,7 +37,29 @@ internal class OnboardingVisaApproveModel @Inject constructor( } private fun onApproveClick() { - // TODO - modelScope.launch { onDone.emit(Unit) } + loading(true) + + modelScope.launch { + val result = tangemSdkManager.visaCustomerWalletApprove( + visaDataForApprove = params.visaDataForApprove, + ) + + when (result) { + is CompletionResult.Success -> { + // TODO make backend call + + onDone.emit(Unit) + } + is CompletionResult.Failure -> { + loading(false) + // TODO show dialog + return@launch + } + } + } + } + + private fun loading(state: Boolean) { + _uiState.update { it.copy(approveButtonLoading = state) } } } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt index bc1b5f0ff9..f93ebd7cd3 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt @@ -68,6 +68,7 @@ internal fun OnboardingVisaApprove(state: OnboardingVisaApproveUM, modifier: Mod textReference = TextReference.Str("Approve"), iconRes = R.drawable.ic_tangem_24, isIconVisible = true, + showProgress = state.approveButtonLoading, onClick = state.onApproveClick, ), ) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt index 90bb2ef920..60bf3ff09d 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt @@ -1,5 +1,6 @@ package com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.state internal data class OnboardingVisaApproveUM( + val approveButtonLoading: Boolean = false, val onApproveClick: () -> Unit = {}, ) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt index 8b8784dd1d..3442f47224 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model.OnboardingVisaOtherWalletModel import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.OnboardingVisaOtherWallet @@ -17,10 +18,11 @@ import kotlinx.coroutines.flow.onEach internal class OnboardingVisaOtherWalletComponent( appComponentContext: AppComponentContext, + config: Config, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { - private val model: OnboardingVisaOtherWalletModel = getOrCreateModel() + private val model: OnboardingVisaOtherWalletModel = getOrCreateModel(config) init { model.onDone @@ -40,6 +42,10 @@ internal class OnboardingVisaOtherWalletComponent( ) } + data class Config( + val visaDataForApprove: VisaDataForApprove, + ) + data class Params( val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt index 42254b2c08..7e5ece076a 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt @@ -3,6 +3,8 @@ package com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model import androidx.compose.runtime.Stable import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.OnboardingVisaOtherWalletComponent import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.state.OnboardingVisaOtherWalletUM import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.MutableSharedFlow @@ -13,9 +15,12 @@ import javax.inject.Inject @Stable @ComponentScoped internal class OnboardingVisaOtherWalletModel @Inject constructor( + paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, ) : Model() { + @Suppress("UnusedPrivateMember") + private val config = paramsContainer.require() private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt index 26516e4075..d21c1a2f43 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt @@ -8,6 +8,7 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.layout.onSizeChanged +import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -95,16 +96,18 @@ fun Artwork(modifier: Modifier = Modifier) { Box(modifier) { val circleColor = TangemTheme.colors.background.secondary var cardHeightPx by remember { mutableIntStateOf(0) } + val circleRadiusPx = cardHeightPx / 2 + cardHeightPx / 8f + val circleSize = with(LocalDensity.current) { (circleRadiusPx * 2).toDp() } Canvas( modifier = Modifier .align(Alignment.Center) - .size(254.dp) + .size(circleSize) .fillMaxSize(), ) { drawCircle( color = circleColor, - radius = cardHeightPx / 2 + cardHeightPx / 8f, + radius = circleRadiusPx, center = center, ) } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt index 8eba780fd5..64f7576d0f 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt @@ -1,5 +1,6 @@ package com.tangem.features.onboarding.v2.visa.impl.route +import com.tangem.domain.visa.model.VisaDataForApprove import kotlinx.serialization.Serializable @Serializable @@ -12,13 +13,16 @@ sealed class OnboardingVisaRoute { data object AccessCode : OnboardingVisaRoute() @Serializable - data object ChooseWallet : OnboardingVisaRoute() + data class ChooseWallet(val visaDataForApprove: VisaDataForApprove) : OnboardingVisaRoute() @Serializable - data object TangemWalletApproveOption : OnboardingVisaRoute() + data class TangemWalletApproveOption( + val visaDataForApprove: VisaDataForApprove, + val allowNavigateBack: Boolean, + ) : OnboardingVisaRoute() @Serializable - data object OtherWalletApproveOption : OnboardingVisaRoute() + data class OtherWalletApproveOption(val visaDataForApprove: VisaDataForApprove) : OnboardingVisaRoute() @Serializable data object InProgress : OnboardingVisaRoute() diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt index f82df04969..a4deb7fcdb 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt @@ -4,9 +4,9 @@ package com.tangem.features.onboarding.v2.visa.impl.route internal fun OnboardingVisaRoute.stepNum() = when (this) { is OnboardingVisaRoute.Welcome -> 1 OnboardingVisaRoute.AccessCode -> 2 - OnboardingVisaRoute.ChooseWallet -> 3 - OnboardingVisaRoute.OtherWalletApproveOption -> 4 - OnboardingVisaRoute.TangemWalletApproveOption -> 4 + is OnboardingVisaRoute.ChooseWallet -> 3 + is OnboardingVisaRoute.OtherWalletApproveOption -> 4 + is OnboardingVisaRoute.TangemWalletApproveOption -> 4 OnboardingVisaRoute.InProgress -> 5 OnboardingVisaRoute.PinCode -> 6 } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt index 32a8e57a51..89e6c7a044 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt @@ -5,10 +5,10 @@ import com.tangem.core.ui.extensions.TextReference // TODO add translations [REDACTED_TASK_KEY] internal fun OnboardingVisaRoute.screenTitle(): TextReference = when (this) { OnboardingVisaRoute.AccessCode -> TextReference.Str("Access code") - OnboardingVisaRoute.ChooseWallet -> TextReference.Str("Account activation") + is OnboardingVisaRoute.ChooseWallet -> TextReference.Str("Account activation") OnboardingVisaRoute.InProgress -> TextReference.Str("In progress") - OnboardingVisaRoute.OtherWalletApproveOption -> TextReference.Str("Wallet connection") + is OnboardingVisaRoute.OtherWalletApproveOption -> TextReference.Str("Wallet connection") OnboardingVisaRoute.PinCode -> TextReference.Str("PIN code") - OnboardingVisaRoute.TangemWalletApproveOption -> TextReference.Str("Wallet connection") + is OnboardingVisaRoute.TangemWalletApproveOption -> TextReference.Str("Wallet connection") is OnboardingVisaRoute.Welcome -> TextReference.Str("Getting started") } \ No newline at end of file diff --git a/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt b/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt index d86b31b3d0..fd17f4da84 100644 --- a/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt +++ b/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt @@ -18,9 +18,11 @@ import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge import com.tangem.domain.visa.model.VisaCardActivationResponse +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.operations.derivation.DerivationTaskResponse import com.tangem.operations.preflightread.PreflightReadFilter +import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.wallet.CreateWalletResponse @Suppress("TooManyFunctions") @@ -153,5 +155,7 @@ interface TangemSdkManager { activationInput: VisaActivationInput, ): CompletionResult + suspend fun visaCustomerWalletApprove(visaDataForApprove: VisaDataForApprove): CompletionResult + // endregion } \ No newline at end of file From 9d49f37de6654e2aec900be98681c86f46862935 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 27 Jan 2025 12:22:44 +0300 Subject: [PATCH 26/61] Updated on 2026-08-14 --- .../impl/DefaultOnboardingVisaComponent.kt | 56 ++++++++++++------- .../OnboardingVisaAccessCodeComponent.kt | 9 ++- .../approve/OnboardingVisaApproveComponent.kt | 5 +- .../OnboardingVisaChooseWalletComponent.kt | 5 +- .../OnboardingVisaInProgressComponent.kt | 7 ++- .../OnboardingVisaOtherWalletComponent.kt | 5 +- .../pincode/OnboardingVisaPinCodeComponent.kt | 5 +- .../welcome/OnboardingVisaWelcomeComponent.kt | 5 +- .../v2/visa/impl/model/OnboardingVisaModel.kt | 3 + .../onboarding/v2/visa/impl/route/Step.kt | 14 +++++ .../onboarding/v2/visa/impl/route/Titles.kt | 14 +++++ 11 files changed, 90 insertions(+), 38 deletions(-) create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt index 4f5b70b7a8..31ba359b56 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt @@ -9,6 +9,7 @@ import com.arkivanov.decompose.extensions.compose.jetpack.stack.animation.stackA import com.arkivanov.decompose.extensions.compose.jetpack.subscribeAsState import com.arkivanov.decompose.router.stack.* import com.arkivanov.decompose.value.Value +import com.arkivanov.decompose.value.observe import com.arkivanov.essenty.instancekeeper.getOrCreateSimple import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.context.childByContext @@ -25,13 +26,14 @@ import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.OnboardingV import com.tangem.features.onboarding.v2.visa.impl.child.pincode.OnboardingVisaPinCodeComponent import com.tangem.features.onboarding.v2.visa.impl.child.welcome.OnboardingVisaWelcomeComponent import com.tangem.features.onboarding.v2.visa.impl.model.OnboardingVisaModel +import com.tangem.features.onboarding.v2.visa.impl.route.ONBOARDING_VISA_STEPS_COUNT import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute +import com.tangem.features.onboarding.v2.visa.impl.route.screenTitle +import com.tangem.features.onboarding.v2.visa.impl.route.stepNum import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject -import kotlinx.coroutines.flow.MutableSharedFlow -import kotlinx.coroutines.flow.MutableStateFlow -import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch @Suppress("UnusedPrivateMember") @@ -43,12 +45,7 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( private val model: OnboardingVisaModel = getOrCreateModel(params) private val innerNavigationState = instanceKeeper.getOrCreateSimple(key = "innerNavigationState") { - MutableStateFlow( - OnboardingVisaInnerNavigationState( - stackSize = 1, - stackMaxSize = 7, - ), - ) + MutableStateFlow(OnboardingVisaInnerNavigationState(stackSize = model.initialStepNum)) } private val currentChildBackEventHandle = instanceKeeper.getOrCreateSimple(key = "currentChildBackEventHandle") { @@ -84,6 +81,20 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } } + init { + // sets title and stepper value + childStack.observe(lifecycle) { stack -> + val currentRoute = stack.active.configuration + params.titleProvider.changeTitle(currentRoute.screenTitle()) + innerNavigationState.update { it.copy(stackSize = currentRoute.stepNum()) } + } + } + + private val childParams = ChildParams( + onBack = ::onChildBack, + parentBackEvent = currentChildBackEventHandle, + ) + private fun createChild( route: OnboardingVisaRoute, factoryContext: AppComponentContext, @@ -93,22 +104,21 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( appComponentContext = factoryContext, params = OnboardingVisaWelcomeComponent.Params( isWelcomeBack = route.isWelcomeBack, - onBack = ::onChildBack, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.AccessCode) }, ), ) OnboardingVisaRoute.AccessCode -> OnboardingVisaAccessCodeComponent( appComponentContext = factoryContext, params = OnboardingVisaAccessCodeComponent.Params( - onBack = ::onChildBack, - parentBackEvent = currentChildBackEventHandle, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.ChooseWallet) }, ), ) OnboardingVisaRoute.ChooseWallet -> OnboardingVisaChooseWalletComponent( appComponentContext = factoryContext, params = OnboardingVisaChooseWalletComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onEvent = { event -> stackNavigation.push( when (event) { @@ -124,28 +134,28 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( OnboardingVisaRoute.InProgress -> OnboardingVisaInProgressComponent( appComponentContext = factoryContext, params = OnboardingVisaInProgressComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, ), ) OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( appComponentContext = factoryContext, params = OnboardingVisaOtherWalletComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, ), ) OnboardingVisaRoute.PinCode -> OnboardingVisaPinCodeComponent( appComponentContext = factoryContext, params = OnboardingVisaPinCodeComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onDone = { params.onDone() }, ), ) OnboardingVisaRoute.TangemWalletApproveOption -> OnboardingVisaApproveComponent( appComponentContext = factoryContext, params = OnboardingVisaApproveComponent.Params( - onBack = ::onChildBack, + childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, ), ) @@ -180,6 +190,11 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } } + data class ChildParams( + val onBack: () -> Unit, + val parentBackEvent: SharedFlow, + ) + @AssistedFactory interface Factory : OnboardingVisaComponent.Factory { override fun create( @@ -189,7 +204,8 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } } -data class OnboardingVisaInnerNavigationState( +internal data class OnboardingVisaInnerNavigationState( override val stackSize: Int, - override val stackMaxSize: Int?, -) : InnerNavigationState \ No newline at end of file +) : InnerNavigationState { + override val stackMaxSize: Int = ONBOARDING_VISA_STEPS_COUNT +} \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt index 06faafcbd7..8734fa0726 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt @@ -9,9 +9,9 @@ import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model.OnboardingVisaAccessCodeModel import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.OnboardingVisaAccessCode -import kotlinx.coroutines.flow.SharedFlow import kotlinx.coroutines.launch internal class OnboardingVisaAccessCodeComponent( @@ -23,10 +23,10 @@ internal class OnboardingVisaAccessCodeComponent( init { componentScope.launch { - model.onBack.collect { params.onBack() } + model.onBack.collect { params.childParams.onBack() } } componentScope.launch { - params.parentBackEvent.collect { + params.childParams.parentBackEvent.collect { model.onBack() } } @@ -47,8 +47,7 @@ internal class OnboardingVisaAccessCodeComponent( } data class Params( - val parentBackEvent: SharedFlow, - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt index 70a5560fc0..b7b5fc37ab 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.approve.model.OnboardingVisaApproveModel import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.OnboardingVisaApprove import kotlinx.coroutines.launch @@ -30,7 +31,7 @@ internal class OnboardingVisaApproveComponent( override fun Content(modifier: Modifier) { val state by model.uiState.collectAsStateWithLifecycle() - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaApprove( state = state, @@ -39,7 +40,7 @@ internal class OnboardingVisaApproveComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt index f8310b209e..3c8967551c 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/choosewallet/OnboardingVisaChooseWalletComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.model.OnboardingVisaChooseWalletModel import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.ui.OnboardingVisaChooseWallet import kotlinx.coroutines.flow.launchIn @@ -31,7 +32,7 @@ internal class OnboardingVisaChooseWalletComponent( override fun Content(modifier: Modifier) { val state by model.uiState.collectAsStateWithLifecycle() - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaChooseWallet( modifier = modifier, @@ -40,7 +41,7 @@ internal class OnboardingVisaChooseWalletComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onEvent: (Event) -> Unit, ) { enum class Event { diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt index f1fca1c49b..f8d10a865f 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt @@ -7,12 +7,13 @@ import androidx.compose.ui.Modifier import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.model.OnboardingVisaInProgressModel import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.ui.OnboardingVisaInProgress import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach -class OnboardingVisaInProgressComponent( +internal class OnboardingVisaInProgressComponent( appComponentContext: AppComponentContext, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { @@ -27,7 +28,7 @@ class OnboardingVisaInProgressComponent( @Composable override fun Content(modifier: Modifier) { - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaInProgress( modifier = modifier, @@ -35,7 +36,7 @@ class OnboardingVisaInProgressComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt index 50ca03977d..8b8784dd1d 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model.OnboardingVisaOtherWalletModel import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.OnboardingVisaOtherWallet import kotlinx.coroutines.flow.launchIn @@ -31,7 +32,7 @@ internal class OnboardingVisaOtherWalletComponent( override fun Content(modifier: Modifier) { val state by model.uiState.collectAsStateWithLifecycle() - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaOtherWallet( modifier = modifier, @@ -40,7 +41,7 @@ internal class OnboardingVisaOtherWalletComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt index 6df8920a6f..05aeba0384 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt @@ -10,6 +10,7 @@ import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.pincode.model.OnboardingVisaPinCodeModel import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.OnboardingVisaPinCode import kotlinx.coroutines.launch @@ -31,7 +32,7 @@ internal class OnboardingVisaPinCodeComponent( override fun Content(modifier: Modifier) { val state by model.uiState.collectAsStateWithLifecycle() - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) DisableScreenshotsDisposableEffect() @@ -42,7 +43,7 @@ internal class OnboardingVisaPinCodeComponent( } data class Params( - val onBack: () -> Unit, + val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt index 3180bdfba5..95264e1199 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/OnboardingVisaWelcomeComponent.kt @@ -6,6 +6,7 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.welcome.ui.OnboardingVisaWelcome import com.tangem.features.onboarding.v2.visa.impl.child.welcome.ui.state.OnboardingVisaWelcomeUM @@ -28,7 +29,7 @@ internal class OnboardingVisaWelcomeComponent( ) } - BackHandler(onBack = remember(this) { { params.onBack() } }) + BackHandler(onBack = remember(this) { { params.childParams.onBack() } }) OnboardingVisaWelcome( modifier = modifier, @@ -37,8 +38,8 @@ internal class OnboardingVisaWelcomeComponent( } data class Params( + val childParams: DefaultOnboardingVisaComponent.ChildParams, val isWelcomeBack: Boolean, - val onBack: () -> Unit, val onDone: () -> Unit, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt index f3d92c1ea3..fab035bcb3 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt @@ -6,6 +6,7 @@ import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer import com.tangem.features.onboarding.v2.visa.api.OnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute +import com.tangem.features.onboarding.v2.visa.impl.route.stepNum import com.tangem.utils.coroutines.CoroutineDispatcherProvider import javax.inject.Inject @@ -20,4 +21,6 @@ internal class OnboardingVisaModel @Inject constructor( private val params = paramsContainer.require() val initialRoute = OnboardingVisaRoute.Welcome(isWelcomeBack = false) + + val initialStepNum = initialRoute.stepNum() } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt new file mode 100644 index 0000000000..f82df04969 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt @@ -0,0 +1,14 @@ +package com.tangem.features.onboarding.v2.visa.impl.route + +@Suppress("MagicNumber") +internal fun OnboardingVisaRoute.stepNum() = when (this) { + is OnboardingVisaRoute.Welcome -> 1 + OnboardingVisaRoute.AccessCode -> 2 + OnboardingVisaRoute.ChooseWallet -> 3 + OnboardingVisaRoute.OtherWalletApproveOption -> 4 + OnboardingVisaRoute.TangemWalletApproveOption -> 4 + OnboardingVisaRoute.InProgress -> 5 + OnboardingVisaRoute.PinCode -> 6 +} + +internal const val ONBOARDING_VISA_STEPS_COUNT = 7 \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt new file mode 100644 index 0000000000..32a8e57a51 --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt @@ -0,0 +1,14 @@ +package com.tangem.features.onboarding.v2.visa.impl.route + +import com.tangem.core.ui.extensions.TextReference + +// TODO add translations [REDACTED_TASK_KEY] +internal fun OnboardingVisaRoute.screenTitle(): TextReference = when (this) { + OnboardingVisaRoute.AccessCode -> TextReference.Str("Access code") + OnboardingVisaRoute.ChooseWallet -> TextReference.Str("Account activation") + OnboardingVisaRoute.InProgress -> TextReference.Str("In progress") + OnboardingVisaRoute.OtherWalletApproveOption -> TextReference.Str("Wallet connection") + OnboardingVisaRoute.PinCode -> TextReference.Str("PIN code") + OnboardingVisaRoute.TangemWalletApproveOption -> TextReference.Str("Wallet connection") + is OnboardingVisaRoute.Welcome -> TextReference.Str("Getting started") +} \ No newline at end of file From 11c083481561c33a7f89eca400c6c2559c88fb87 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 27 Jan 2025 12:35:02 +0300 Subject: [PATCH 27/61] Updated on 2026-08-14 --- .../com/tangem/tap/domain/tasks/product/ScanProductTask.kt | 3 --- 1 file changed, 3 deletions(-) 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 3437af2b04..fdc3898fbf 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 @@ -45,7 +45,6 @@ import com.tangem.tap.scope import com.tangem.tap.store import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch -import timber.log.Timber import kotlin.collections.set internal class ScanProductTask( @@ -173,7 +172,6 @@ private class ScanWalletProcessor( ) { @Suppress("MagicNumber") if (card.firmwareVersion.doubleValue >= 4.39 && card.settings.maxWalletsCount == 1) { - Timber.tag("ASDASD").i("ScanWalletProcessor: ${card.firmwareVersion}") readFile(card, session, callback) return } @@ -192,7 +190,6 @@ private class ScanWalletProcessor( when (result) { is CompletionResult.Success -> { - Timber.tag("ASDASD").i("ReadFilesTask: ${result.data}") val file = result.data.firstOrNull() val counter = file?.counter val signature = file?.signature From 10bb7699163565dd5fc6e78555967da9968de79c Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 24 Jan 2025 10:06:29 +0300 Subject: [PATCH 28/61] Updated on 2026-08-14 --- .../tap/di/domain/OnrampDomainModule.kt | 7 ++ core/datasource/build.gradle.kts | 1 + .../api/tangemTech/TangemTechApi.kt | 3 + .../tangemTech/models/HotCryptoResponse.kt | 24 ++++++ .../exchangeservice/HotCryptoLoaderModule.kt | 18 +++++ .../hotcrypto/DefaultHotCryptoLoader.kt | 81 +++++++++++++++++++ .../hotcrypto/HotCryptoLoader.kt | 26 ++++++ .../hotcrypto/HotCryptoResponseStore.kt | 16 ++++ data/onramp/build.gradle.kts | 1 + .../data/onramp/DefaultHotCryptoRepository.kt | 41 ++++++++++ .../converters/HotCryptoCurrencyConverter.kt | 78 ++++++++++++++++++ .../tangem/data/onramp/di/OnrampDataModule.kt | 19 +++++ .../tangem/data/tokens/di/TokensDataModule.kt | 3 + .../repository/DefaultCurrenciesRepository.kt | 19 +++-- .../domain/onramp/model/HotCryptoCurrency.kt | 19 +++++ .../domain/onramp/GetHotCryptoUseCase.kt | 22 +++++ .../repositories/HotCryptoRepository.kt | 16 ++++ 17 files changed, 389 insertions(+), 5 deletions(-) create mode 100644 core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/HotCryptoResponse.kt create mode 100644 core/datasource/src/main/java/com/tangem/datasource/di/exchangeservice/HotCryptoLoaderModule.kt create mode 100644 core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/DefaultHotCryptoLoader.kt create mode 100644 core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/HotCryptoLoader.kt create mode 100644 core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/HotCryptoResponseStore.kt create mode 100644 data/onramp/src/main/java/com/tangem/data/onramp/DefaultHotCryptoRepository.kt create mode 100644 data/onramp/src/main/java/com/tangem/data/onramp/converters/HotCryptoCurrencyConverter.kt create mode 100644 domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/HotCryptoCurrency.kt create mode 100644 domain/onramp/src/main/java/com/tangem/domain/onramp/GetHotCryptoUseCase.kt create mode 100644 domain/onramp/src/main/java/com/tangem/domain/onramp/repositories/HotCryptoRepository.kt diff --git a/app/src/main/java/com/tangem/tap/di/domain/OnrampDomainModule.kt b/app/src/main/java/com/tangem/tap/di/domain/OnrampDomainModule.kt index ca9f43d672..afc7a73f59 100644 --- a/app/src/main/java/com/tangem/tap/di/domain/OnrampDomainModule.kt +++ b/app/src/main/java/com/tangem/tap/di/domain/OnrampDomainModule.kt @@ -1,6 +1,7 @@ package com.tangem.tap.di.domain import com.tangem.domain.onramp.* +import com.tangem.domain.onramp.repositories.HotCryptoRepository import com.tangem.domain.onramp.repositories.OnrampErrorResolver import com.tangem.domain.onramp.repositories.OnrampRepository import com.tangem.domain.onramp.repositories.OnrampTransactionRepository @@ -229,4 +230,10 @@ internal object OnrampDomainModule { ): FetchOnrampCountriesUseCase { return FetchOnrampCountriesUseCase(onrampRepository, onrampErrorResolver) } + + @Provides + @Singleton + fun provideGetHotCryptoTokensUseCase(hotCryptoRepository: HotCryptoRepository): GetHotCryptoUseCase { + return GetHotCryptoUseCase(hotCryptoRepository) + } } \ No newline at end of file diff --git a/core/datasource/build.gradle.kts b/core/datasource/build.gradle.kts index f886a6b930..128cbb0ab2 100644 --- a/core/datasource/build.gradle.kts +++ b/core/datasource/build.gradle.kts @@ -31,6 +31,7 @@ dependencies { implementation(projects.domain.staking.models) implementation(projects.domain.onramp.models) implementation(projects.domain.models) + implementation(projects.features.onramp.api) /** Tangem libraries */ implementation(deps.tangem.blockchain) diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/TangemTechApi.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/TangemTechApi.kt index 660e465d75..96d2a236d8 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/TangemTechApi.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/TangemTechApi.kt @@ -122,6 +122,9 @@ interface TangemTechApi { @Body body: SeedPhraseNotificationDTO, ): ApiResponse + @GET("hot_crypto") + suspend fun getHotCrypto(@Query("currency") currencyId: String): ApiResponse + companion object { val marketsQuoteFields = listOf( "price", diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/HotCryptoResponse.kt b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/HotCryptoResponse.kt new file mode 100644 index 0000000000..14e00f6187 --- /dev/null +++ b/core/datasource/src/main/java/com/tangem/datasource/api/tangemTech/models/HotCryptoResponse.kt @@ -0,0 +1,24 @@ +package com.tangem.datasource.api.tangemTech.models + +import com.squareup.moshi.Json +import com.squareup.moshi.JsonClass +import java.math.BigDecimal + +@JsonClass(generateAdapter = true) +data class HotCryptoResponse( + @Json(name = "imageHost") val imageHost: String? = null, + @Json(name = "tokens") val tokens: List, +) { + + @JsonClass(generateAdapter = true) + data class Token( + @Json(name = "id") val id: String, + @Json(name = "symbol") val symbol: String, + @Json(name = "name") val name: String, + @Json(name = "network_id") val networkId: String, + @Json(name = "current_price") val currentPrice: BigDecimal, + @Json(name = "price_change_percentage_24h") val priceChangePercentage: BigDecimal, + @Json(name = "contractAddress") val contractAddress: String? = null, // specific for token + @Json(name = "decimal_count") val decimalCount: Int? = null, // specific for token + ) +} \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/di/exchangeservice/HotCryptoLoaderModule.kt b/core/datasource/src/main/java/com/tangem/datasource/di/exchangeservice/HotCryptoLoaderModule.kt new file mode 100644 index 0000000000..2e651928df --- /dev/null +++ b/core/datasource/src/main/java/com/tangem/datasource/di/exchangeservice/HotCryptoLoaderModule.kt @@ -0,0 +1,18 @@ +package com.tangem.datasource.di.exchangeservice + +import com.tangem.datasource.exchangeservice.hotcrypto.DefaultHotCryptoLoader +import com.tangem.datasource.exchangeservice.hotcrypto.HotCryptoLoader +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +internal interface HotCryptoLoaderModule { + + @Binds + @Singleton + fun bindExpressServiceLoader(defaultHotCryptoLoader: DefaultHotCryptoLoader): HotCryptoLoader +} \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/DefaultHotCryptoLoader.kt b/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/DefaultHotCryptoLoader.kt new file mode 100644 index 0000000000..4a8260bf8d --- /dev/null +++ b/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/DefaultHotCryptoLoader.kt @@ -0,0 +1,81 @@ +package com.tangem.datasource.exchangeservice.hotcrypto + +import com.tangem.datasource.api.common.response.getOrThrow +import com.tangem.datasource.api.tangemTech.TangemTechApi +import com.tangem.datasource.api.tangemTech.models.CurrenciesResponse +import com.tangem.datasource.api.tangemTech.models.HotCryptoResponse +import com.tangem.datasource.api.tangemTech.models.UserTokensResponse +import com.tangem.datasource.local.preferences.AppPreferencesStore +import com.tangem.datasource.local.preferences.PreferencesKeys +import com.tangem.datasource.local.preferences.utils.getObjectSyncOrNull +import com.tangem.domain.tokens.model.CryptoCurrency +import com.tangem.features.onramp.OnrampFeatureToggles +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import com.tangem.utils.coroutines.runCatching +import timber.log.Timber +import javax.inject.Inject + +/** + * Default implementation of [HotCryptoLoader] + * + * @property tangemTechApi tangem tech api + * @property hotCryptoResponseStore store of [HotCryptoResponse] + * @property appPreferencesStore app preferences store + * @property dispatchers dispatchers + * @property onrampFeatureToggles onramp feature toggles + * +[REDACTED_AUTHOR] + */ +internal class DefaultHotCryptoLoader @Inject constructor( + private val tangemTechApi: TangemTechApi, + private val hotCryptoResponseStore: HotCryptoResponseStore, + private val appPreferencesStore: AppPreferencesStore, + private val dispatchers: CoroutineDispatcherProvider, + private val onrampFeatureToggles: OnrampFeatureToggles, +) : HotCryptoLoader { + + override suspend fun fetch(tokens: List) { + updateInternal { hotToken -> + tokens.none { + it.id == hotToken.id && it.contractAddress == hotToken.contractAddress && + it.networkId == hotToken.networkId + } + } + } + + override suspend fun update(currencies: List) { + updateInternal { hotToken -> + currencies.none { + it.id.rawCurrencyId == hotToken.id && + (it as? CryptoCurrency.Token)?.contractAddress == hotToken.contractAddress && + it.network.id.value == hotToken.networkId + } + } + } + + private suspend fun updateInternal(filterPredicate: (HotCryptoResponse.Token) -> Boolean) { + if (!onrampFeatureToggles.isHotTokensEnabled) return + + runCatching(dispatchers.io) { + tangemTechApi.getHotCrypto(currencyId = getAppCurrencyId()).getOrThrow() + } + .onSuccess { + Timber.d("HotCrypto is successfully updated") + + hotCryptoResponseStore.store( + value = it.copy(tokens = it.tokens.filter(filterPredicate)), + ) + } + .onFailure { + Timber.e(it, "Unable to fetch hot crypto") + } + } + + private suspend fun getAppCurrencyId(): String { + return appPreferencesStore.getObjectSyncOrNull( + key = PreferencesKeys.SELECTED_APP_CURRENCY_KEY, + ) + ?.id + ?: "usd" + } +} \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/HotCryptoLoader.kt b/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/HotCryptoLoader.kt new file mode 100644 index 0000000000..05536e4e8d --- /dev/null +++ b/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/HotCryptoLoader.kt @@ -0,0 +1,26 @@ +package com.tangem.datasource.exchangeservice.hotcrypto + +import com.tangem.datasource.api.tangemTech.models.UserTokensResponse +import com.tangem.domain.tokens.model.CryptoCurrency + +/** + * Hot crypto loader + * +[REDACTED_AUTHOR] + */ +interface HotCryptoLoader { + + /** + * Fetch hot crypto + * + * @param tokens already added tokens + */ + suspend fun fetch(tokens: List) + + /** + * Update hot crypto + * + * @param currencies already added crypto currencies + */ + suspend fun update(currencies: List) +} \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/HotCryptoResponseStore.kt b/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/HotCryptoResponseStore.kt new file mode 100644 index 0000000000..fcfb0a901a --- /dev/null +++ b/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/HotCryptoResponseStore.kt @@ -0,0 +1,16 @@ +package com.tangem.datasource.exchangeservice.hotcrypto + +import com.tangem.datasource.api.tangemTech.models.HotCryptoResponse +import com.tangem.datasource.local.datastore.RuntimeStateStore +import javax.inject.Inject +import javax.inject.Singleton + +/** + * Store of [HotCryptoResponse] + * +[REDACTED_AUTHOR] + */ +@Singleton +class HotCryptoResponseStore @Inject constructor() : RuntimeStateStore by RuntimeStateStore( + defaultValue = HotCryptoResponse(imageHost = null, tokens = emptyList()), +) \ No newline at end of file diff --git a/data/onramp/build.gradle.kts b/data/onramp/build.gradle.kts index ac0f5ce3e9..dd8b614228 100644 --- a/data/onramp/build.gradle.kts +++ b/data/onramp/build.gradle.kts @@ -26,6 +26,7 @@ dependencies { implementation(projects.domain.onramp) implementation(projects.domain.legacy) implementation(projects.domain.appTheme.models) + implementation(projects.domain.models) // region DI diff --git a/data/onramp/src/main/java/com/tangem/data/onramp/DefaultHotCryptoRepository.kt b/data/onramp/src/main/java/com/tangem/data/onramp/DefaultHotCryptoRepository.kt new file mode 100644 index 0000000000..5e296aa7dd --- /dev/null +++ b/data/onramp/src/main/java/com/tangem/data/onramp/DefaultHotCryptoRepository.kt @@ -0,0 +1,41 @@ +package com.tangem.data.onramp + +import com.tangem.blockchainsdk.utils.ExcludedBlockchains +import com.tangem.data.onramp.converters.HotCryptoCurrencyConverter +import com.tangem.datasource.exchangeservice.hotcrypto.HotCryptoResponseStore +import com.tangem.datasource.local.userwallet.UserWalletsStore +import com.tangem.domain.onramp.model.HotCryptoCurrency +import com.tangem.domain.onramp.repositories.HotCryptoRepository +import com.tangem.domain.wallets.models.UserWalletId +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.map + +/** + * Default implementation of [HotCryptoRepository] + * + * @property excludedBlockchains excluded blockchains + * @property hotCryptoResponseStore store of `HotCryptoResponse` + * @property userWalletsStore store of `UserWallet` + * +[REDACTED_AUTHOR] + */ +internal class DefaultHotCryptoRepository( + private val excludedBlockchains: ExcludedBlockchains, + private val hotCryptoResponseStore: HotCryptoResponseStore, + private val userWalletsStore: UserWalletsStore, +) : HotCryptoRepository { + + override fun getCurrencies(userWalletId: UserWalletId): Flow> { + return hotCryptoResponseStore.get() + .map { + val userWallet = userWalletsStore.getSyncOrNull(userWalletId) + ?: error("UserWalletId [$userWalletId] not found") + + HotCryptoCurrencyConverter( + scanResponse = userWallet.scanResponse, + imageHost = it.imageHost, + excludedBlockchains = excludedBlockchains, + ).convertList(input = it.tokens) + } + } +} \ No newline at end of file diff --git a/data/onramp/src/main/java/com/tangem/data/onramp/converters/HotCryptoCurrencyConverter.kt b/data/onramp/src/main/java/com/tangem/data/onramp/converters/HotCryptoCurrencyConverter.kt new file mode 100644 index 0000000000..1742009b08 --- /dev/null +++ b/data/onramp/src/main/java/com/tangem/data/onramp/converters/HotCryptoCurrencyConverter.kt @@ -0,0 +1,78 @@ +package com.tangem.data.onramp.converters + +import com.tangem.blockchain.common.Blockchain +import com.tangem.blockchainsdk.utils.ExcludedBlockchains +import com.tangem.blockchainsdk.utils.fromNetworkId +import com.tangem.data.common.currency.CryptoCurrencyFactory +import com.tangem.data.common.currency.getNetwork +import com.tangem.datasource.api.tangemTech.models.HotCryptoResponse +import com.tangem.domain.models.scan.ScanResponse +import com.tangem.domain.onramp.model.HotCryptoCurrency +import com.tangem.domain.tokens.model.CryptoCurrency +import com.tangem.domain.tokens.model.Network +import com.tangem.utils.converter.Converter + +/** + * Converter from [HotCryptoResponse.Token] to [HotCryptoCurrency] + * + * @property scanResponse scan response + * @property imageHost image host + * @property excludedBlockchains excluded blockchains + * +[REDACTED_AUTHOR] + */ +internal class HotCryptoCurrencyConverter( + private val scanResponse: ScanResponse, + private val imageHost: String?, + private val excludedBlockchains: ExcludedBlockchains, +) : Converter { + + private val cryptoCurrencyFactory by lazy { CryptoCurrencyFactory(excludedBlockchains) } + + override fun convert(value: HotCryptoResponse.Token): HotCryptoCurrency { + val network = createNetwork(value.networkId) + + val contractAddress = value.contractAddress + val decimals = value.decimalCount + val currency = if (contractAddress != null && decimals != null) { + cryptoCurrencyFactory.createToken( + network = network, + rawId = value.id, + name = value.name, + symbol = value.symbol, + decimals = decimals, + contractAddress = contractAddress, + ) + } else { + cryptoCurrencyFactory.createCoin(network = network) + } + + return HotCryptoCurrency( + cryptoCurrency = currency.setupIconUrl(id = value.id), + fiatRate = value.currentPrice, + priceChange = value.priceChangePercentage, + ) + } + + private fun createNetwork(networkId: String): Network { + return requireNotNull( + getNetwork( + blockchain = requireNotNull(Blockchain.fromNetworkId(networkId)), + extraDerivationPath = null, + scanResponse = scanResponse, + excludedBlockchains = excludedBlockchains, + ), + ) + } + + private fun CryptoCurrency.setupIconUrl(id: String): CryptoCurrency { + imageHost ?: return this + + val iconUrl = "${imageHost}large/$id.png" + + return when (this) { + is CryptoCurrency.Coin -> copy(iconUrl = iconUrl) + is CryptoCurrency.Token -> copy(iconUrl = iconUrl) + } + } +} \ No newline at end of file diff --git a/data/onramp/src/main/java/com/tangem/data/onramp/di/OnrampDataModule.kt b/data/onramp/src/main/java/com/tangem/data/onramp/di/OnrampDataModule.kt index febd5c21c9..979d18d4b7 100644 --- a/data/onramp/src/main/java/com/tangem/data/onramp/di/OnrampDataModule.kt +++ b/data/onramp/src/main/java/com/tangem/data/onramp/di/OnrampDataModule.kt @@ -1,6 +1,8 @@ package com.tangem.data.onramp.di import com.squareup.moshi.Moshi +import com.tangem.blockchainsdk.utils.ExcludedBlockchains +import com.tangem.data.onramp.DefaultHotCryptoRepository import com.tangem.data.onramp.DefaultOnrampErrorResolver import com.tangem.data.onramp.DefaultOnrampRepository import com.tangem.data.onramp.DefaultOnrampTransactionRepository @@ -10,12 +12,15 @@ import com.tangem.datasource.api.express.models.response.ExpressErrorResponse import com.tangem.datasource.api.onramp.OnrampApi import com.tangem.datasource.crypto.DataSignatureVerifier import com.tangem.datasource.di.NetworkMoshi +import com.tangem.datasource.exchangeservice.hotcrypto.HotCryptoResponseStore import com.tangem.datasource.local.onramp.countries.OnrampCountriesStore import com.tangem.datasource.local.onramp.currencies.OnrampCurrenciesStore import com.tangem.datasource.local.onramp.pairs.OnrampPairsStore import com.tangem.datasource.local.onramp.paymentmethods.OnrampPaymentMethodsStore import com.tangem.datasource.local.onramp.quotes.OnrampQuotesStore import com.tangem.datasource.local.preferences.AppPreferencesStore +import com.tangem.datasource.local.userwallet.UserWalletsStore +import com.tangem.domain.onramp.repositories.HotCryptoRepository import com.tangem.domain.onramp.repositories.OnrampErrorResolver import com.tangem.domain.onramp.repositories.OnrampRepository import com.tangem.domain.onramp.repositories.OnrampTransactionRepository @@ -83,4 +88,18 @@ internal object OnrampDataModule { OnrampErrorConverter(jsonAdapter), ) } + + @Provides + @Singleton + fun provideHotCryptoRepository( + excludedBlockchains: ExcludedBlockchains, + hotCryptoResponseStore: HotCryptoResponseStore, + userWalletsStore: UserWalletsStore, + ): HotCryptoRepository { + return DefaultHotCryptoRepository( + excludedBlockchains = excludedBlockchains, + hotCryptoResponseStore = hotCryptoResponseStore, + userWalletsStore = userWalletsStore, + ) + } } \ No newline at end of file diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/di/TokensDataModule.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/di/TokensDataModule.kt index 4250ccab0e..0a2312b1a8 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/di/TokensDataModule.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/di/TokensDataModule.kt @@ -4,6 +4,7 @@ import com.tangem.blockchainsdk.utils.ExcludedBlockchains import com.tangem.data.common.cache.CacheRegistry import com.tangem.data.tokens.repository.* import com.tangem.datasource.api.tangemTech.TangemTechApi +import com.tangem.datasource.exchangeservice.hotcrypto.HotCryptoLoader import com.tangem.datasource.exchangeservice.swap.ExpressServiceLoader import com.tangem.datasource.local.network.NetworksStatusesStore import com.tangem.datasource.local.preferences.AppPreferencesStore @@ -32,6 +33,7 @@ internal object TokensDataModule { cacheRegistry: CacheRegistry, dispatchers: CoroutineDispatcherProvider, expressServiceLoader: ExpressServiceLoader, + hotCryptoLoader: HotCryptoLoader, excludedBlockchains: ExcludedBlockchains, ): CurrenciesRepository { return DefaultCurrenciesRepository( @@ -42,6 +44,7 @@ internal object TokensDataModule { appPreferencesStore = appPreferencesStore, dispatchers = dispatchers, expressServiceLoader = expressServiceLoader, + hotCryptoLoader = hotCryptoLoader, excludedBlockchains = excludedBlockchains, ) } diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt index 4fb9ef47d2..4f9c1eecb2 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt @@ -15,6 +15,7 @@ import com.tangem.datasource.api.express.models.TangemExpressValues.EMPTY_CONTRA import com.tangem.datasource.api.express.models.request.LeastTokenInfo import com.tangem.datasource.api.tangemTech.TangemTechApi import com.tangem.datasource.api.tangemTech.models.UserTokensResponse +import com.tangem.datasource.exchangeservice.hotcrypto.HotCryptoLoader import com.tangem.datasource.exchangeservice.swap.ExpressServiceLoader import com.tangem.datasource.local.preferences.AppPreferencesStore import com.tangem.datasource.local.preferences.PreferencesKeys @@ -33,10 +34,8 @@ import com.tangem.domain.walletmanager.WalletManagersFacade import com.tangem.domain.wallets.models.UserWallet import com.tangem.domain.wallets.models.UserWalletId import com.tangem.utils.coroutines.CoroutineDispatcherProvider -import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.* import kotlinx.coroutines.flow.* -import kotlinx.coroutines.plus -import kotlinx.coroutines.withContext import timber.log.Timber import com.tangem.blockchain.common.FeePaidCurrency as FeePaidSdkCurrency @@ -48,6 +47,7 @@ internal class DefaultCurrenciesRepository( private val cacheRegistry: CacheRegistry, private val appPreferencesStore: AppPreferencesStore, private val expressServiceLoader: ExpressServiceLoader, + private val hotCryptoLoader: HotCryptoLoader, private val dispatchers: CoroutineDispatcherProvider, excludedBlockchains: ExcludedBlockchains, ) : CurrenciesRepository { @@ -601,7 +601,11 @@ internal class DefaultCurrenciesRepository( network = token.networkId, ) } - expressServiceLoader.update(userWalletId, tokens) + + coroutineScope { + launch { expressServiceLoader.update(userWalletId, tokens) } + launch { hotCryptoLoader.fetch(tokens = userTokens.tokens) } + } } private suspend fun fetchExpressAssetsByNetworkIds( @@ -619,7 +623,12 @@ internal class DefaultCurrenciesRepository( cacheRegistry.invokeOnExpire( key = getAssetsCacheKey(userWalletId), skipCache = refresh, - block = { expressServiceLoader.update(userWalletId, tokens) }, + block = { + coroutineScope { + launch { expressServiceLoader.update(userWalletId, tokens) } + launch { hotCryptoLoader.update(cryptoCurrencies) } + } + }, ) } diff --git a/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/HotCryptoCurrency.kt b/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/HotCryptoCurrency.kt new file mode 100644 index 0000000000..ad722d847a --- /dev/null +++ b/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/HotCryptoCurrency.kt @@ -0,0 +1,19 @@ +package com.tangem.domain.onramp.model + +import com.tangem.domain.tokens.model.CryptoCurrency +import java.math.BigDecimal + +/** + * Hot crypto currency + * + * @property cryptoCurrency crypto currency + * @property fiatRate fiat rate + * @property priceChange price change + * +[REDACTED_AUTHOR] + */ +data class HotCryptoCurrency( + val cryptoCurrency: CryptoCurrency, + val fiatRate: BigDecimal, + val priceChange: BigDecimal, +) \ No newline at end of file diff --git a/domain/onramp/src/main/java/com/tangem/domain/onramp/GetHotCryptoUseCase.kt b/domain/onramp/src/main/java/com/tangem/domain/onramp/GetHotCryptoUseCase.kt new file mode 100644 index 0000000000..13062a4be6 --- /dev/null +++ b/domain/onramp/src/main/java/com/tangem/domain/onramp/GetHotCryptoUseCase.kt @@ -0,0 +1,22 @@ +package com.tangem.domain.onramp + +import com.tangem.domain.onramp.model.HotCryptoCurrency +import com.tangem.domain.onramp.repositories.HotCryptoRepository +import com.tangem.domain.wallets.models.UserWalletId +import kotlinx.coroutines.flow.Flow + +/** + * Get hot crypto currencies + * + * @property hotCryptoRepository hot crypto repository + * +[REDACTED_AUTHOR] + */ +class GetHotCryptoUseCase( + private val hotCryptoRepository: HotCryptoRepository, +) { + + operator fun invoke(userWalletId: UserWalletId): Flow> { + return hotCryptoRepository.getCurrencies(userWalletId) + } +} \ No newline at end of file diff --git a/domain/onramp/src/main/java/com/tangem/domain/onramp/repositories/HotCryptoRepository.kt b/domain/onramp/src/main/java/com/tangem/domain/onramp/repositories/HotCryptoRepository.kt new file mode 100644 index 0000000000..1e14c4dd2c --- /dev/null +++ b/domain/onramp/src/main/java/com/tangem/domain/onramp/repositories/HotCryptoRepository.kt @@ -0,0 +1,16 @@ +package com.tangem.domain.onramp.repositories + +import com.tangem.domain.onramp.model.HotCryptoCurrency +import com.tangem.domain.wallets.models.UserWalletId +import kotlinx.coroutines.flow.Flow + +/** + * Hot crypto repository + * +[REDACTED_AUTHOR] + */ +interface HotCryptoRepository { + + /** Get currencies by [userWalletId] */ + fun getCurrencies(userWalletId: UserWalletId): Flow> +} \ No newline at end of file From bb32839f9d0ee6406d14f5ae66d54fdbd2767e08 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 27 Jan 2025 12:45:57 +0300 Subject: [PATCH 29/61] Updated on 2026-08-14 --- .../sdk/impl/DefaultTangemSdkManager.kt | 14 ++ .../domain/sdk/impl/MockTangemSdkManager.kt | 10 + .../domain/tasks/product/ScanProductTask.kt | 15 +- .../tasks/visa/VisaCardActivationTask.kt | 2 +- .../visa/VisaCustomerWalletApproveTask.kt | 188 ++++++++++++++++++ .../visa/DefaultVisaActivationRepository.kt | 1 + .../domain/common/DerivationStyleProvider.kt | 4 +- .../domain/common/TangemCardTypesResolver.kt | 6 +- .../tangem/domain/common/TapWorkarounds.kt | 3 + .../domain/common/util/ScanResponseExt.kt | 8 +- .../domain/common/visa/VisaUtilities.kt | 4 +- .../common/visa/VisaWalletPublicKeyUtility.kt | 63 ++++++ .../domain/visa/model/VisaActivationError.kt | 1 + .../domain/visa/model/VisaDataForApprove.kt | 10 + features/onboarding-v2/impl/build.gradle.kts | 1 + .../impl/DefaultOnboardingVisaComponent.kt | 67 +++++-- .../OnboardingVisaAccessCodeComponent.kt | 18 +- .../model/OnboardingVisaAccessCodeModel.kt | 82 ++++++-- .../accesscode/ui/OnboardingVisaAccessCode.kt | 1 + .../ui/state/OnboardingVisaAccessCodeUM.kt | 1 + .../approve/OnboardingVisaApproveComponent.kt | 8 +- .../model/OnboardingVisaApproveModel.kt | 34 +++- .../child/approve/ui/OnboardingVisaApprove.kt | 1 + .../ui/state/OnboardingVisaApproveUM.kt | 1 + .../OnboardingVisaOtherWalletComponent.kt | 8 +- .../model/OnboardingVisaOtherWalletModel.kt | 5 + .../child/welcome/ui/OnboardingVisaWelcome.kt | 7 +- .../v2/visa/impl/route/OnboardingVisaRoute.kt | 10 +- .../onboarding/v2/visa/impl/route/Step.kt | 6 +- .../onboarding/v2/visa/impl/route/Titles.kt | 6 +- .../v2/visa/impl/ui/OnboardingVisa.kt | 9 + .../com/tangem/sdk/api/TangemSdkManager.kt | 4 + 32 files changed, 521 insertions(+), 77 deletions(-) create mode 100644 app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt create mode 100644 domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaWalletPublicKeyUtility.kt create mode 100644 domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt create mode 100644 features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt index 7ce6aa9702..ac325d7207 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt @@ -27,6 +27,7 @@ import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge import com.tangem.domain.visa.model.VisaCardActivationResponse +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.features.onboarding.v2.OnboardingV2FeatureToggles import com.tangem.operations.ScanTask @@ -35,6 +36,7 @@ import com.tangem.operations.derivation.DeriveMultipleWalletPublicKeysTask import com.tangem.operations.derivation.DeriveWalletPublicKeyTask import com.tangem.operations.pins.SetUserCodeCommand import com.tangem.operations.preflightread.PreflightReadFilter +import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.usersetttings.SetUserCodeRecoveryAllowedTask import com.tangem.operations.wallet.CreateWalletResponse import com.tangem.sdk.api.CreateProductWalletTaskResponse @@ -45,6 +47,7 @@ import com.tangem.tap.domain.tasks.product.ResetBackupCardTask import com.tangem.tap.domain.tasks.product.ResetToFactorySettingsTask import com.tangem.tap.domain.tasks.product.ScanProductTask import com.tangem.tap.domain.tasks.visa.VisaCardActivationTask +import com.tangem.tap.domain.tasks.visa.VisaCustomerWalletApproveTask import com.tangem.tap.domain.twins.CreateFirstTwinWalletTask import com.tangem.tap.domain.twins.CreateSecondTwinWalletTask import com.tangem.tap.domain.twins.FinalizeTwinTask @@ -494,6 +497,17 @@ internal class DefaultTangemSdkManager( } } + override suspend fun visaCustomerWalletApprove( + visaDataForApprove: VisaDataForApprove, + ): CompletionResult { + return runTaskAsyncReturnOnMain( + runnable = VisaCustomerWalletApproveTask( + visaDataForApprove = visaDataForApprove, + ), + initialMessage = Message(resources.getStringSafe(R.string.initial_message_tap_header)), + ) + } + // endregion companion object { diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt index c0dd2c2c03..3e8dce1c1e 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt @@ -20,9 +20,11 @@ import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge import com.tangem.domain.visa.model.VisaCardActivationResponse +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.operations.derivation.DerivationTaskResponse import com.tangem.operations.preflightread.PreflightReadFilter +import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.wallet.CreateWalletResponse import com.tangem.sdk.api.CreateProductWalletTaskResponse import com.tangem.sdk.api.TangemSdkManager @@ -207,4 +209,12 @@ class MockTangemSdkManager( ): CompletionResult { error("Not implemented") } + + override suspend fun visaCustomerWalletApprove( + visaDataForApprove: VisaDataForApprove, + ): CompletionResult { + error("Not implemented") + } + + // endregion } \ No newline at end of file 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 bc2268c5a9..fdc3898fbf 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 @@ -311,15 +311,12 @@ private class ScanWalletProcessor( } private fun getWalletProductType(card: CardDTO): ProductType { - if (RING_BATCH_IDS.contains(card.batchId) || card.batchId.startsWith(RING_BATCH_PREFIX)) { - return ProductType.Ring - } - return if (card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && - card.settings.isKeysImportAllowed - ) { - ProductType.Wallet2 - } else { - ProductType.Wallet + return when { + card.isVisa -> ProductType.Visa + RING_BATCH_IDS.contains(card.batchId) || card.batchId.startsWith(RING_BATCH_PREFIX) -> ProductType.Ring + card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && + card.settings.isKeysImportAllowed -> ProductType.Wallet2 + else -> ProductType.Wallet } } diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt index d1efcf68c4..709be0263d 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt @@ -1,12 +1,12 @@ package com.tangem.tap.domain.tasks.visa -import com.reown.util.hexToBytes import com.tangem.common.CompletionResult import com.tangem.common.card.Card import com.tangem.common.core.CardSession import com.tangem.common.core.CardSessionRunnable import com.tangem.common.core.CompletionCallback import com.tangem.common.core.TangemSdkError +import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toHexString import com.tangem.common.map import com.tangem.datasource.local.visa.VisaAuthTokenStorage diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt new file mode 100644 index 0000000000..c9fb9dc1d0 --- /dev/null +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt @@ -0,0 +1,188 @@ +package com.tangem.tap.domain.tasks.visa + +import arrow.core.getOrElse +import com.tangem.common.CompletionResult +import com.tangem.common.card.Card +import com.tangem.common.card.CardWallet +import com.tangem.common.core.CardSession +import com.tangem.common.core.CardSessionRunnable +import com.tangem.common.core.CompletionCallback +import com.tangem.common.core.TangemSdkError +import com.tangem.common.extensions.hexToBytes +import com.tangem.crypto.hdWallet.DerivationPath +import com.tangem.crypto.hdWallet.bip32.ExtendedPublicKey +import com.tangem.domain.common.util.derivationStyleProvider +import com.tangem.domain.common.visa.VisaUtilities +import com.tangem.domain.common.visa.VisaWalletPublicKeyUtility +import com.tangem.domain.common.visa.VisaWalletPublicKeyUtility.findKeyWithoutDerivation +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.visa.model.VisaActivationError +import com.tangem.domain.visa.model.VisaDataForApprove +import com.tangem.operations.ScanTask +import com.tangem.operations.derivation.DeriveWalletPublicKeyTask +import com.tangem.operations.sign.SignHashCommand +import com.tangem.operations.sign.SignHashResponse + +class VisaCustomerWalletApproveTask( + private val visaDataForApprove: VisaDataForApprove, +) : CardSessionRunnable { + + override fun run(session: CardSession, callback: CompletionCallback) { + val card = session.environment.card ?: run { + callback(CompletionResult.Failure(TangemSdkError.MissingPreflightRead())) + return + } + + if (VisaUtilities.isVisaCard(card.firmwareVersion.doubleValue, card.batchId).not()) { + callback(CompletionResult.Failure(TangemSdkError.Underlying("Card is identified as not Visa"))) + return + } + + if (card.settings.isHDWalletAllowed) { + proceedApprove(card, session, callback) + } else { + proceedApproveWithLegacyCard(card, session, callback) + } + } + + private fun proceedApprove(card: Card, session: CardSession, callback: CompletionCallback) { + val cardDTO = CardDTO(card) + + val derivationStyle = cardDTO.derivationStyleProvider.getDerivationStyle() ?: run { + proceedApproveWithLegacyCard( + card = card, + session = session, + callback = callback, + ) + return + } + + val derivationPath = VisaUtilities.visaDefaultDerivationPath(derivationStyle) ?: run { + callback( + CompletionResult.Failure( + TangemSdkError.Underlying("Failed to generate derivation path with provided derivation style"), + ), + ) + return + } + + val wallet = card.wallets.firstOrNull { it.curve == VisaUtilities.mandatoryCurve } ?: run { + callback(CompletionResult.Failure(TangemSdkError.Underlying(VisaActivationError.MissingWallet.message))) + return + } + + val derivationTask = DeriveWalletPublicKeyTask( + walletPublicKey = wallet.publicKey, + derivationPath = derivationPath, + ) + + derivationTask.run(session) { result -> + when (result) { + is CompletionResult.Success -> { + processDerivedKey( + wallet = wallet, + extendedPublicKey = result.data, + derivationPath = derivationPath, + session = session, + callback = callback, + ) + } + is CompletionResult.Failure -> { + callback(CompletionResult.Failure(result.error)) + } + } + } + } + + private fun processDerivedKey( + wallet: CardWallet, + extendedPublicKey: ExtendedPublicKey, + derivationPath: DerivationPath, + session: CardSession, + callback: CompletionCallback, + ) { + val validationResult = VisaWalletPublicKeyUtility.validateExtendedPublicKey( + targetAddress = visaDataForApprove.targetAddress, + extendedPublicKey = extendedPublicKey, + ) + + validationResult.onLeft { + callback(CompletionResult.Failure(TangemSdkError.Underlying(it.message))) + return + } + + signApproveData( + targetWalletPublicKey = wallet.publicKey, + derivationPath = derivationPath, + session = session, + callback = callback, + ) + } + + private fun proceedApproveWithLegacyCard( + card: Card, + session: CardSession, + callback: CompletionCallback, + ) { + val publicKey = findKeyWithoutDerivation( + targetAddress = visaDataForApprove.targetAddress, + card = CardDTO(card), + ).getOrElse { + callback(CompletionResult.Failure(TangemSdkError.Underlying(it.message))) + return + } + + signApproveData( + targetWalletPublicKey = publicKey, + derivationPath = null, + session = session, + callback = callback, + ) + } + + private fun signApproveData( + targetWalletPublicKey: ByteArray, + derivationPath: DerivationPath?, + session: CardSession, + callback: CompletionCallback, + ) { + val signTask = SignHashCommand( + hash = visaDataForApprove.approveHash.hexToBytes(), + walletPublicKey = targetWalletPublicKey, + derivationPath = derivationPath, + ) + + signTask.run(session) { result -> + when (result) { + is CompletionResult.Success -> { + scanCard( + signHashResponse = result.data, + session = session, + callback = callback, + ) + } + is CompletionResult.Failure -> { + callback(CompletionResult.Failure(result.error)) + } + } + } + } + + private fun scanCard( + signHashResponse: SignHashResponse, + session: CardSession, + callback: CompletionCallback, + ) { + val scanTask = ScanTask() + scanTask.run(session) { result -> + when (result) { + is CompletionResult.Success -> { + callback(CompletionResult.Success(signHashResponse)) + } + is CompletionResult.Failure -> { + callback(CompletionResult.Failure(result.error)) + } + } + } + } +} \ No newline at end of file diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt index 17862805b5..b11958c4f5 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt @@ -20,6 +20,7 @@ internal class DefaultVisaActivationRepository @AssistedInject constructor( override suspend fun getActivationRemoteState(): VisaActivationRemoteState = withContext(dispatcherProvider.io) { visaActivationStatusConverter.convert(visaApi.getRemoteActivationStatus(cardId)) + VisaActivationRemoteState.CardWalletSignatureRequired // mock // TODO implement refreshing access token if it's expired } diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/DerivationStyleProvider.kt b/domain/legacy/src/main/java/com/tangem/domain/common/DerivationStyleProvider.kt index 570071b37a..e4ff4eea14 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/DerivationStyleProvider.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/DerivationStyleProvider.kt @@ -1,6 +1,7 @@ package com.tangem.domain.common import com.tangem.blockchain.common.derivation.DerivationStyle +import com.tangem.domain.common.TapWorkarounds.isWallet2 import com.tangem.domain.models.scan.CardDTO interface DerivationStyleProvider { @@ -8,14 +9,13 @@ interface DerivationStyleProvider { } internal class TangemDerivationStyleProvider( - private val cardTypesResolver: CardTypesResolver, private val card: CardDTO, ) : DerivationStyleProvider { override fun getDerivationStyle(): DerivationStyle? { return when { !card.settings.isHDWalletAllowed -> null firstBatchesOfWallet1(card) -> DerivationStyle.V1 - cardTypesResolver.isWallet2() -> DerivationStyle.V3 + card.isWallet2 -> DerivationStyle.V3 else -> DerivationStyle.V2 } } diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt index bcf606539a..46035bd37d 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TangemCardTypesResolver.kt @@ -8,6 +8,7 @@ import com.tangem.common.card.WalletData import com.tangem.domain.common.TapWorkarounds.getTangemNoteBlockchain import com.tangem.domain.common.TapWorkarounds.isStart2Coin import com.tangem.domain.common.TapWorkarounds.isTestCard +import com.tangem.domain.common.TapWorkarounds.isWallet2 import com.tangem.domain.common.visa.VisaUtilities import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ProductType @@ -35,10 +36,7 @@ internal class TangemCardTypesResolver( return walletData == null && card.firmwareVersion <= FirmwareVersion.HDWalletAvailable } - override fun isWallet2(): Boolean { - return card.firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && - card.settings.isKeysImportAllowed - } + override fun isWallet2(): Boolean = card.isWallet2 override fun isVisaWallet(): Boolean = productType == ProductType.Visa diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt b/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt index b369611972..493d724f8b 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/TapWorkarounds.kt @@ -23,6 +23,9 @@ object TapWorkarounds { val CardDTO.isStart2Coin: Boolean get() = isStart2CoinIssuer(issuer.name) + val CardDTO.isWallet2: Boolean + get() = firmwareVersion >= FirmwareVersion.Ed25519Slip0010Available && settings.isKeysImportAllowed + val CardDTO.isVisa: Boolean get() = VisaUtilities.isVisaCard(this) diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExt.kt b/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExt.kt index 94727f02cb..3c24fb103f 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExt.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/util/ScanResponseExt.kt @@ -24,10 +24,10 @@ val ScanResponse.cardTypesResolver: CardTypesResolver ) val ScanResponse.derivationStyleProvider: DerivationStyleProvider - get() = TangemDerivationStyleProvider( - cardTypesResolver, - card, - ) + get() = card.derivationStyleProvider + +val CardDTO.derivationStyleProvider: DerivationStyleProvider + get() = TangemDerivationStyleProvider(this) val UserWallet.cardTypesResolver: CardTypesResolver get() = scanResponse.cardTypesResolver diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt index 32d4282b20..b84ed4f673 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt @@ -18,12 +18,14 @@ object VisaUtilities { val visaDefaultDerivationPath = visaBlockchain.derivationPath(DerivationStyle.V3) + fun visaDefaultDerivationPath(style: DerivationStyle) = visaBlockchain.derivationPath(style) + fun isVisaCard(card: CardDTO): Boolean { return isVisaCard(card.firmwareVersion.doubleValue, card.batchId) } fun isVisaCard(firmwareVersion: Double, batchId: String): Boolean { - return FirmwareVersion.visaRange.contains(firmwareVersion) && + return firmwareVersion in FirmwareVersion.visaRange && batchId.startsWith(VISA_BATCH_START) } } \ No newline at end of file diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaWalletPublicKeyUtility.kt b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaWalletPublicKeyUtility.kt new file mode 100644 index 0000000000..60a095ca16 --- /dev/null +++ b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaWalletPublicKeyUtility.kt @@ -0,0 +1,63 @@ +package com.tangem.domain.common.visa + +import arrow.core.Either +import arrow.core.raise.catch +import arrow.core.raise.either +import com.tangem.blockchain.common.address.Address +import com.tangem.crypto.hdWallet.bip32.ExtendedPublicKey +import com.tangem.domain.models.scan.CardDTO + +object VisaWalletPublicKeyUtility { + + fun validateExtendedPublicKey(targetAddress: String, extendedPublicKey: ExtendedPublicKey): Either = + either { + validatePublicKey( + targetAddress = targetAddress, + publicKey = extendedPublicKey.publicKey, + ).bind() + } + + fun findKeyWithoutDerivation(targetAddress: String, card: CardDTO): Either = either { + val wallet = findWalletOnVisaCurve(card).bind() + + validatePublicKey( + targetAddress = targetAddress, + publicKey = wallet.publicKey, + ).bind() + + wallet.publicKey + } + + private fun findWalletOnVisaCurve(card: CardDTO): Either = either { + card.wallets.firstOrNull { it.curve == VisaUtilities.mandatoryCurve } ?: raise(Error.MissingWalletOnTargetCurve) + } + + private fun validatePublicKey(targetAddress: String, publicKey: ByteArray): Either = either { + val address = generateAddressOnVisaCurve(publicKey).bind() + + if (address.value != targetAddress) { + raise(Error.AddressNotMatched) + } + } + + private fun generateAddressOnVisaCurve(walletPublicKey: ByteArray): Either = either { + val addresses = catch( + block = { + VisaUtilities.visaBlockchain.makeAddresses( + walletPublicKey = walletPublicKey, + pairPublicKey = null, + curve = VisaUtilities.mandatoryCurve, + ) + }, + catch = { raise(Error.FailedToCreateAddress) }, + ) + + addresses.firstOrNull() ?: raise(Error.FailedToCreateAddress) + } + + enum class Error(val message: String) { + AddressNotMatched("ValidationError: Address not matched"), + FailedToCreateAddress("ValidationError: Failed to create address"), + MissingWalletOnTargetCurve("ValidationError: Missing wallet on target curve"), + } +} \ No newline at end of file diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationError.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationError.kt index 11685b3866..f115a703f5 100644 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationError.kt +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaActivationError.kt @@ -4,5 +4,6 @@ enum class VisaActivationError(val message: String) { BlockedForActivation("Card is blocked for activation"), InvalidActivationState("Invalid activation state"), WrongCard("Wrong card tapped"), + MissingWallet("Missing wallet"), MissingRootOTP("Missing root OTP"), } \ No newline at end of file diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt new file mode 100644 index 0000000000..5a5fe7cb4d --- /dev/null +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt @@ -0,0 +1,10 @@ +package com.tangem.domain.visa.model + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class VisaDataForApprove( + @SerialName("targetAddress") val targetAddress: String, + @SerialName("approveHash") val approveHash: String, +) \ No newline at end of file diff --git a/features/onboarding-v2/impl/build.gradle.kts b/features/onboarding-v2/impl/build.gradle.kts index 6a64d3f440..3f1c7150fc 100644 --- a/features/onboarding-v2/impl/build.gradle.kts +++ b/features/onboarding-v2/impl/build.gradle.kts @@ -41,6 +41,7 @@ dependencies { implementation(projects.domain.legacy) implementation(projects.domain.settings) implementation(projects.domain.onboarding) + implementation(projects.domain.visa) /** Tangem libraries */ implementation(projects.libs.tangemSdkApi) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt index 31ba359b56..a174ae69e0 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt @@ -52,6 +52,11 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( MutableSharedFlow() } + private val childParams = ChildParams( + onBack = ::onChildBack, + parentBackEvent = currentChildBackEventHandle, + ) + private val stackNavigation = StackNavigation() private val childStack: Value> = @@ -76,7 +81,7 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( if (childStack.value.active.configuration is OnboardingVisaRoute.AccessCode) { componentScope.launch { currentChildBackEventHandle.emit(Unit) } } else { - stackNavigation.pop() + onChildBack() } } } @@ -90,11 +95,7 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } } - private val childParams = ChildParams( - onBack = ::onChildBack, - parentBackEvent = currentChildBackEventHandle, - ) - + @Suppress("LongMethod") private fun createChild( route: OnboardingVisaRoute, factoryContext: AppComponentContext, @@ -112,10 +113,24 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( appComponentContext = factoryContext, params = OnboardingVisaAccessCodeComponent.Params( childParams = childParams, - onDone = { stackNavigation.push(OnboardingVisaRoute.ChooseWallet) }, + onDone = { + stackNavigation.push( + if (it.walletFound) { + OnboardingVisaRoute.TangemWalletApproveOption( + visaDataForApprove = it.visaDataForApprove, + allowNavigateBack = false, + ) + } else { + OnboardingVisaRoute.ChooseWallet(it.visaDataForApprove) + }, + ) + }, + ), + config = OnboardingVisaAccessCodeComponent.Config( + scanResponse = params.scanResponse, ), ) - OnboardingVisaRoute.ChooseWallet -> OnboardingVisaChooseWalletComponent( + is OnboardingVisaRoute.ChooseWallet -> OnboardingVisaChooseWalletComponent( appComponentContext = factoryContext, params = OnboardingVisaChooseWalletComponent.Params( childParams = childParams, @@ -123,9 +138,12 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( stackNavigation.push( when (event) { OnboardingVisaChooseWalletComponent.Params.Event.TangemWallet -> - OnboardingVisaRoute.TangemWalletApproveOption + OnboardingVisaRoute.TangemWalletApproveOption( + visaDataForApprove = route.visaDataForApprove, + allowNavigateBack = true, + ) OnboardingVisaChooseWalletComponent.Params.Event.OtherWallet -> - OnboardingVisaRoute.OtherWalletApproveOption + OnboardingVisaRoute.OtherWalletApproveOption(route.visaDataForApprove) }, ) }, @@ -138,8 +156,11 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, ), ) - OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( + is OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( appComponentContext = factoryContext, + config = OnboardingVisaOtherWalletComponent.Config( + visaDataForApprove = route.visaDataForApprove, + ), params = OnboardingVisaOtherWalletComponent.Params( childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, @@ -152,8 +173,11 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( onDone = { params.onDone() }, ), ) - OnboardingVisaRoute.TangemWalletApproveOption -> OnboardingVisaApproveComponent( + is OnboardingVisaRoute.TangemWalletApproveOption -> OnboardingVisaApproveComponent( appComponentContext = factoryContext, + config = OnboardingVisaApproveComponent.Config( + visaDataForApprove = route.visaDataForApprove, + ), params = OnboardingVisaApproveComponent.Params( childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, @@ -163,15 +187,24 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( } private fun onChildBack() { - when (childStack.value.active.configuration) { + if (childStack.value.backStack.size == 1) { + // TODO show dialog + return + } + + when (val route = childStack.value.active.configuration) { OnboardingVisaRoute.AccessCode, - OnboardingVisaRoute.TangemWalletApproveOption, - OnboardingVisaRoute.OtherWalletApproveOption, + is OnboardingVisaRoute.OtherWalletApproveOption, -> stackNavigation.pop() + is OnboardingVisaRoute.TangemWalletApproveOption -> { + if (route.allowNavigateBack) { + stackNavigation.pop() + } + } + is OnboardingVisaRoute.Welcome, - OnboardingVisaRoute.ChooseWallet, + is OnboardingVisaRoute.ChooseWallet, OnboardingVisaRoute.InProgress, - OnboardingVisaRoute.OtherWalletApproveOption, OnboardingVisaRoute.PinCode, -> { } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt index 8734fa0726..dd7a6f2ed6 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt @@ -9,6 +9,8 @@ import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect +import com.tangem.domain.models.scan.ScanResponse +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model.OnboardingVisaAccessCodeModel import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.OnboardingVisaAccessCode @@ -16,10 +18,11 @@ import kotlinx.coroutines.launch internal class OnboardingVisaAccessCodeComponent( appComponentContext: AppComponentContext, + config: Config, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { - private val model: OnboardingVisaAccessCodeModel = getOrCreateModel() + private val model: OnboardingVisaAccessCodeModel = getOrCreateModel(config) init { componentScope.launch { @@ -31,7 +34,7 @@ internal class OnboardingVisaAccessCodeComponent( } } componentScope.launch { - model.onDone.collect { params.onDone() } + model.onDone.collect { params.onDone(it) } } } @@ -46,8 +49,17 @@ internal class OnboardingVisaAccessCodeComponent( OnboardingVisaAccessCode(state, modifier) } + data class Config( + val scanResponse: ScanResponse, + ) + data class Params( val childParams: DefaultOnboardingVisaComponent.ChildParams, - val onDone: () -> Unit, + val onDone: (DoneEvent) -> Unit, + ) + + data class DoneEvent( + val visaDataForApprove: VisaDataForApprove, + val walletFound: Boolean, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt index 4281e33a1a..1186c22057 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt @@ -2,8 +2,15 @@ package com.tangem.features.onboarding.v2.visa.impl.child.accesscode.model import androidx.compose.runtime.Stable import androidx.compose.ui.text.input.TextFieldValue +import com.tangem.common.CompletionResult +import com.tangem.common.extensions.toHexString import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.domain.visa.model.VisaCardActivationStatus +import com.tangem.domain.visa.model.VisaDataForApprove +import com.tangem.domain.visa.repository.VisaAuthRepository +import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.OnboardingVisaAccessCodeComponent import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.state.OnboardingVisaAccessCodeUM import com.tangem.sdk.api.TangemSdkManager import com.tangem.utils.coroutines.CoroutineDispatcherProvider @@ -14,15 +21,22 @@ import javax.inject.Inject @Stable @ComponentScoped internal class OnboardingVisaAccessCodeModel @Inject constructor( + paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, @Suppress("UnusedPrivateMember") private val tangemSdkManager: TangemSdkManager, + private val visaAuthRepository: VisaAuthRepository, ) : Model() { + private val params: OnboardingVisaAccessCodeComponent.Config = paramsContainer.require() + private val activationStatus = + params.scanResponse.visaCardActivationStatus as? VisaCardActivationStatus.NotStartedActivation + ?: error("Visa activation status is not set or incorrect for this step") + private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() val onBack = MutableSharedFlow() - val onDone = MutableSharedFlow() + val onDone = MutableSharedFlow() fun onBack() { when (uiState.value.step) { @@ -97,27 +111,53 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( @Suppress("UnusedPrivateMember") private fun startActivationProcess(accessCode: String) { - modelScope.launch { onDone.emit(Unit) } + loading(true) - // modelScope.launch { - // @Suppress("UnusedPrivateMember") - // val result = tangemSdkManager.activateVisaCard( - // accessCode = accessCode, - // challengeToSign = null, - // activationInput = TODO(), - // ) - // - // when (result) { - // is CompletionResult.Success -> { - // val response = result.data - // TODO() - // } - // is CompletionResult.Failure -> { - // // show alert - // TODO() - // } - // } - // } + modelScope.launch { + val challengeToSign = runCatching { + visaAuthRepository.getCardAuthChallenge( + cardId = activationStatus.activationInput.cardId, + cardPublicKey = activationStatus.activationInput.cardPublicKey.toHexString(), + ) + }.getOrElse { + loading(false) + // show alert + return@launch + } + + val result = tangemSdkManager.activateVisaCard( + accessCode = accessCode, + challengeToSign = challengeToSign, + activationInput = activationStatus.activationInput, + ) + // + when (result) { + is CompletionResult.Success -> { + // TODO load approve data from backend + // TODO try to find wallet in the app + + modelScope.launch { + onDone.emit( + OnboardingVisaAccessCodeComponent.DoneEvent( + visaDataForApprove = VisaDataForApprove( + targetAddress = "x9F65354e595284956599F2892fA4A4a87653D6E6", + approveHash = "approve hash", + ), + walletFound = false, // TODO + ), + ) + } + } + is CompletionResult.Failure -> { + loading(false) + // show alert + } + } + } + } + + private fun loading(state: Boolean) { + _uiState.update { it.copy(buttonLoading = state) } } private companion object { diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt index 6fefcee506..1557683bfe 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/OnboardingVisaAccessCode.kt @@ -65,6 +65,7 @@ internal fun OnboardingVisaAccessCode(state: OnboardingVisaAccessCodeUM, modifie }, onClick = state.onContinue, iconRes = R.drawable.ic_tangem_24, + showProgress = state.buttonLoading, isIconVisible = state.step == OnboardingVisaAccessCodeUM.Step.ReEnter, ), ) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt index b707b9067c..35403457fd 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/ui/state/OnboardingVisaAccessCodeUM.kt @@ -9,6 +9,7 @@ internal data class OnboardingVisaAccessCodeUM( val codesNotMatchError: Boolean = false, val atLeastMinCharsError: Boolean = false, val accessCodeHidden: Boolean = true, + val buttonLoading: Boolean = false, val onAccessCodeFirstChange: (TextFieldValue) -> Unit = {}, val onAccessCodeSecondChange: (TextFieldValue) -> Unit = {}, val onContinue: () -> Unit = {}, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt index b7b5fc37ab..60141475ad 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/OnboardingVisaApproveComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.approve.model.OnboardingVisaApproveModel import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.OnboardingVisaApprove @@ -16,10 +17,11 @@ import kotlinx.coroutines.launch internal class OnboardingVisaApproveComponent( appComponentContext: AppComponentContext, + config: Config, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { - private val model: OnboardingVisaApproveModel = getOrCreateModel() + private val model: OnboardingVisaApproveModel = getOrCreateModel(config) init { componentScope.launch { @@ -39,6 +41,10 @@ internal class OnboardingVisaApproveComponent( ) } + data class Config( + val visaDataForApprove: VisaDataForApprove, + ) + data class Params( val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt index 11bd07d94b..a79fe4aa78 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/model/OnboardingVisaApproveModel.kt @@ -1,22 +1,30 @@ package com.tangem.features.onboarding.v2.visa.impl.child.approve.model import androidx.compose.runtime.Stable +import com.tangem.common.CompletionResult import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.features.onboarding.v2.visa.impl.child.approve.OnboardingVisaApproveComponent import com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.state.OnboardingVisaApproveUM +import com.tangem.sdk.api.TangemSdkManager import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import javax.inject.Inject @Stable @ComponentScoped internal class OnboardingVisaApproveModel @Inject constructor( + paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, + private val tangemSdkManager: TangemSdkManager, ) : Model() { + private val params = paramsContainer.require() private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() @@ -29,7 +37,29 @@ internal class OnboardingVisaApproveModel @Inject constructor( } private fun onApproveClick() { - // TODO - modelScope.launch { onDone.emit(Unit) } + loading(true) + + modelScope.launch { + val result = tangemSdkManager.visaCustomerWalletApprove( + visaDataForApprove = params.visaDataForApprove, + ) + + when (result) { + is CompletionResult.Success -> { + // TODO make backend call + + onDone.emit(Unit) + } + is CompletionResult.Failure -> { + loading(false) + // TODO show dialog + return@launch + } + } + } + } + + private fun loading(state: Boolean) { + _uiState.update { it.copy(approveButtonLoading = state) } } } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt index bc1b5f0ff9..f93ebd7cd3 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/OnboardingVisaApprove.kt @@ -68,6 +68,7 @@ internal fun OnboardingVisaApprove(state: OnboardingVisaApproveUM, modifier: Mod textReference = TextReference.Str("Approve"), iconRes = R.drawable.ic_tangem_24, isIconVisible = true, + showProgress = state.approveButtonLoading, onClick = state.onApproveClick, ), ) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt index 90bb2ef920..60bf3ff09d 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/approve/ui/state/OnboardingVisaApproveUM.kt @@ -1,5 +1,6 @@ package com.tangem.features.onboarding.v2.visa.impl.child.approve.ui.state internal data class OnboardingVisaApproveUM( + val approveButtonLoading: Boolean = false, val onApproveClick: () -> Unit = {}, ) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt index 8b8784dd1d..3442f47224 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model.OnboardingVisaOtherWalletModel import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.OnboardingVisaOtherWallet @@ -17,10 +18,11 @@ import kotlinx.coroutines.flow.onEach internal class OnboardingVisaOtherWalletComponent( appComponentContext: AppComponentContext, + config: Config, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { - private val model: OnboardingVisaOtherWalletModel = getOrCreateModel() + private val model: OnboardingVisaOtherWalletModel = getOrCreateModel(config) init { model.onDone @@ -40,6 +42,10 @@ internal class OnboardingVisaOtherWalletComponent( ) } + data class Config( + val visaDataForApprove: VisaDataForApprove, + ) + data class Params( val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt index 42254b2c08..7e5ece076a 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt @@ -3,6 +3,8 @@ package com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model import androidx.compose.runtime.Stable import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.OnboardingVisaOtherWalletComponent import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.state.OnboardingVisaOtherWalletUM import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.MutableSharedFlow @@ -13,9 +15,12 @@ import javax.inject.Inject @Stable @ComponentScoped internal class OnboardingVisaOtherWalletModel @Inject constructor( + paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, ) : Model() { + @Suppress("UnusedPrivateMember") + private val config = paramsContainer.require() private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt index 26516e4075..d21c1a2f43 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/welcome/ui/OnboardingVisaWelcome.kt @@ -8,6 +8,7 @@ import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.layout.onSizeChanged +import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -95,16 +96,18 @@ fun Artwork(modifier: Modifier = Modifier) { Box(modifier) { val circleColor = TangemTheme.colors.background.secondary var cardHeightPx by remember { mutableIntStateOf(0) } + val circleRadiusPx = cardHeightPx / 2 + cardHeightPx / 8f + val circleSize = with(LocalDensity.current) { (circleRadiusPx * 2).toDp() } Canvas( modifier = Modifier .align(Alignment.Center) - .size(254.dp) + .size(circleSize) .fillMaxSize(), ) { drawCircle( color = circleColor, - radius = cardHeightPx / 2 + cardHeightPx / 8f, + radius = circleRadiusPx, center = center, ) } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt index 8eba780fd5..64f7576d0f 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/OnboardingVisaRoute.kt @@ -1,5 +1,6 @@ package com.tangem.features.onboarding.v2.visa.impl.route +import com.tangem.domain.visa.model.VisaDataForApprove import kotlinx.serialization.Serializable @Serializable @@ -12,13 +13,16 @@ sealed class OnboardingVisaRoute { data object AccessCode : OnboardingVisaRoute() @Serializable - data object ChooseWallet : OnboardingVisaRoute() + data class ChooseWallet(val visaDataForApprove: VisaDataForApprove) : OnboardingVisaRoute() @Serializable - data object TangemWalletApproveOption : OnboardingVisaRoute() + data class TangemWalletApproveOption( + val visaDataForApprove: VisaDataForApprove, + val allowNavigateBack: Boolean, + ) : OnboardingVisaRoute() @Serializable - data object OtherWalletApproveOption : OnboardingVisaRoute() + data class OtherWalletApproveOption(val visaDataForApprove: VisaDataForApprove) : OnboardingVisaRoute() @Serializable data object InProgress : OnboardingVisaRoute() diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt index f82df04969..a4deb7fcdb 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Step.kt @@ -4,9 +4,9 @@ package com.tangem.features.onboarding.v2.visa.impl.route internal fun OnboardingVisaRoute.stepNum() = when (this) { is OnboardingVisaRoute.Welcome -> 1 OnboardingVisaRoute.AccessCode -> 2 - OnboardingVisaRoute.ChooseWallet -> 3 - OnboardingVisaRoute.OtherWalletApproveOption -> 4 - OnboardingVisaRoute.TangemWalletApproveOption -> 4 + is OnboardingVisaRoute.ChooseWallet -> 3 + is OnboardingVisaRoute.OtherWalletApproveOption -> 4 + is OnboardingVisaRoute.TangemWalletApproveOption -> 4 OnboardingVisaRoute.InProgress -> 5 OnboardingVisaRoute.PinCode -> 6 } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt index 32a8e57a51..89e6c7a044 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/route/Titles.kt @@ -5,10 +5,10 @@ import com.tangem.core.ui.extensions.TextReference // TODO add translations [REDACTED_TASK_KEY] internal fun OnboardingVisaRoute.screenTitle(): TextReference = when (this) { OnboardingVisaRoute.AccessCode -> TextReference.Str("Access code") - OnboardingVisaRoute.ChooseWallet -> TextReference.Str("Account activation") + is OnboardingVisaRoute.ChooseWallet -> TextReference.Str("Account activation") OnboardingVisaRoute.InProgress -> TextReference.Str("In progress") - OnboardingVisaRoute.OtherWalletApproveOption -> TextReference.Str("Wallet connection") + is OnboardingVisaRoute.OtherWalletApproveOption -> TextReference.Str("Wallet connection") OnboardingVisaRoute.PinCode -> TextReference.Str("PIN code") - OnboardingVisaRoute.TangemWalletApproveOption -> TextReference.Str("Wallet connection") + is OnboardingVisaRoute.TangemWalletApproveOption -> TextReference.Str("Wallet connection") is OnboardingVisaRoute.Welcome -> TextReference.Str("Getting started") } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt new file mode 100644 index 0000000000..40a9a8597d --- /dev/null +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/ui/OnboardingVisa.kt @@ -0,0 +1,9 @@ +package com.tangem.features.onboarding.v2.visa.impl.ui + +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier + +@Composable +internal fun OnboardingVisa(modifier: Modifier = Modifier, childContent: @Composable (Modifier) -> Unit) { + childContent(modifier) +} \ No newline at end of file diff --git a/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt b/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt index d86b31b3d0..fd17f4da84 100644 --- a/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt +++ b/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt @@ -18,9 +18,11 @@ import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge import com.tangem.domain.visa.model.VisaCardActivationResponse +import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.operations.derivation.DerivationTaskResponse import com.tangem.operations.preflightread.PreflightReadFilter +import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.wallet.CreateWalletResponse @Suppress("TooManyFunctions") @@ -153,5 +155,7 @@ interface TangemSdkManager { activationInput: VisaActivationInput, ): CompletionResult + suspend fun visaCustomerWalletApprove(visaDataForApprove: VisaDataForApprove): CompletionResult + // endregion } \ No newline at end of file From d27c57cd844749389c5c2a542fc491fcf5f719b2 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 27 Jan 2025 12:23:42 +0300 Subject: [PATCH 30/61] Updated on 2026-08-14 --- .../tap/data/DefaultVisaAuthTokenStorage.kt | 4 + .../tasks/visa/VisaCardActivationTask.kt | 52 ++++++++---- .../tap/domain/visa/VisaCardScanHandler.kt | 20 ++--- .../datasource/api/visa/TangemVisaApi.kt | 8 ++ .../com/tangem/datasource/di/NetworkModule.kt | 4 +- .../local/visa/VisaAuthTokenStorage.kt | 2 + .../tangem/datasource/utils/HttpClientExt.kt | 18 ++--- .../visa/DefaultVisaActivationRepository.kt | 19 ++++- .../data/visa/DefaultVisaAuthRepository.kt | 79 +++++++++++-------- .../repository/VisaActivationRepository.kt | 2 + .../impl/DefaultOnboardingVisaComponent.kt | 9 ++- .../model/OnboardingVisaAccessCodeModel.kt | 5 +- .../OnboardingVisaInProgressComponent.kt | 8 +- .../model/OnboardingVisaInProgressModel.kt | 23 +++++- .../OnboardingVisaOtherWalletComponent.kt | 2 + .../model/OnboardingVisaOtherWalletModel.kt | 31 +++++++- .../pincode/OnboardingVisaPinCodeComponent.kt | 8 +- .../model/OnboardingVisaPinCodeModel.kt | 62 ++++++++++++++- .../child/pincode/ui/OnboardingVisaPinCode.kt | 14 +++- .../ui/state/OnboardingVisaPinCodeUM.kt | 2 + 20 files changed, 279 insertions(+), 93 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/data/DefaultVisaAuthTokenStorage.kt b/app/src/main/java/com/tangem/tap/data/DefaultVisaAuthTokenStorage.kt index 5adc5fd942..a6128ddfe6 100644 --- a/app/src/main/java/com/tangem/tap/data/DefaultVisaAuthTokenStorage.kt +++ b/app/src/main/java/com/tangem/tap/data/DefaultVisaAuthTokenStorage.kt @@ -48,5 +48,9 @@ internal class DefaultVisaAuthTokenStorage @Inject constructor( ?.let(tokensAdapter::fromJson) } + override fun remove(cardId: String) { + secureStorage.delete(createKey(cardId)) + } + private fun createKey(cardId: String): String = "visa_auth_tokens_$cardId" } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt index 709be0263d..9bd9bf2e48 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt @@ -1,7 +1,6 @@ package com.tangem.tap.domain.tasks.visa import com.tangem.common.CompletionResult -import com.tangem.common.card.Card import com.tangem.common.core.CardSession import com.tangem.common.core.CardSessionRunnable import com.tangem.common.core.CompletionCallback @@ -9,8 +8,10 @@ import com.tangem.common.core.TangemSdkError import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toHexString import com.tangem.common.map +import com.tangem.crypto.CryptoUtils import com.tangem.datasource.local.visa.VisaAuthTokenStorage import com.tangem.datasource.local.visa.VisaOTPStorage +import com.tangem.datasource.local.visa.hasSavedOTP import com.tangem.domain.common.visa.VisaUtilities import com.tangem.domain.visa.model.* import com.tangem.domain.visa.repository.VisaActivationRepository @@ -25,6 +26,7 @@ import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import kotlinx.coroutines.* +import timber.log.Timber import kotlin.coroutines.resume import kotlin.jvm.Throws @@ -42,7 +44,7 @@ class VisaCardActivationTask @AssistedInject constructor( private class SessionContext( val visaActivationRepository: VisaActivationRepository, - val card: Card, + val cardId: String, val session: CardSession, ) @@ -63,7 +65,7 @@ class VisaCardActivationTask @AssistedInject constructor( val context = SessionContext( visaActivationRepository = visaActivationRepository, - card = card, + cardId = card.cardId, session = session, ) @@ -82,7 +84,7 @@ class VisaCardActivationTask @AssistedInject constructor( private suspend fun SessionContext.signAuthorizationChallenge( challengeToSign: VisaAuthChallenge.Card, ): CompletionResult { - val attestationCommand = AttestCardKeyCommand(challenge = challengeToSign.challenge.hexToBytes()) + val attestationCommand = AttestCardKeyCommand(challenge = CryptoUtils.generateRandomBytes(length = 16)) val result = suspendCancellableCoroutine { continuation -> attestationCommand.run(session = session) { attestationResponse -> continuation.resume(attestationResponse) @@ -91,6 +93,7 @@ class VisaCardActivationTask @AssistedInject constructor( return when (result) { is CompletionResult.Success -> { + Timber.tag("ASDASD").e("AttestCardKeyCommand success") processSignedAuthorizationChallenge( signedChallenge = challengeToSign.toSignedChallenge( signedChallenge = result.data.cardSignature.toHexString(), @@ -99,6 +102,7 @@ class VisaCardActivationTask @AssistedInject constructor( ) } is CompletionResult.Failure -> { + Timber.tag("ASDASD").e("AttestCardKeyCommand failure ${result.error}") CompletionResult.Failure(result.error) } } @@ -135,12 +139,12 @@ class VisaCardActivationTask @AssistedInject constructor( ) } - visaAuthTokenStorage.store(card.cardId, tokens) + visaAuthTokenStorage.store(cardId, tokens) return visaActivationRepository.getActivationOrderToSign() } - private suspend fun createWallet(session: CardSession): CompletionResult { + private suspend fun SessionContext.createWallet(session: CardSession): CompletionResult { coroutineScope { ensureActive() } val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) @@ -157,22 +161,21 @@ class VisaCardActivationTask @AssistedInject constructor( when (result) { is CompletionResult.Success -> { + Timber.tag("ASDASD").e("CreateWalletTask success") createOTP(session) } is CompletionResult.Failure -> { + Timber.tag("ASDASD").e("CreateWalletTask failure ${result.error}") CompletionResult.Failure(result.error) } } } } - private suspend fun createOTP(session: CardSession): CompletionResult { + private suspend fun SessionContext.createOTP(session: CardSession): CompletionResult { coroutineScope { ensureActive() } - val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) - - val otp = otpStorage.getOTP(card.cardId) - return if (otp != null) { + return if (otpStorage.hasSavedOTP(cardId)) { CompletionResult.Success(Unit) } else { val otpCommand = GenerateOTPCommand() @@ -184,10 +187,12 @@ class VisaCardActivationTask @AssistedInject constructor( when (result) { is CompletionResult.Success -> { - otpStorage.saveOTP(card.cardId, result.data.rootOTP) + Timber.tag("ASDASD").e("GenerateOTPCommand success") + otpStorage.saveOTP(cardId, result.data.rootOTP) CompletionResult.Success(Unit) } is CompletionResult.Failure -> { + Timber.tag("ASDASD").e("GenerateOTPCommand failure ${result.error}") CompletionResult.Failure(result.error) } } @@ -195,9 +200,18 @@ class VisaCardActivationTask @AssistedInject constructor( } private suspend fun SessionContext.signOrder(order: ActivationOrder): CompletionResult { + val card = + session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) val wallet = - card.wallets.firstOrNull() ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) - val task = SignHashCommand(order.hash.hexToBytes(), wallet.publicKey) + card.wallets.firstOrNull { it.curve == VisaUtilities.mandatoryCurve } + ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) + + val task = SignHashCommand( + hash = order.hash.hexToBytes(), + walletPublicKey = wallet.publicKey, + derivationPath = VisaUtilities.visaDefaultDerivationPath, + ) + val result = suspendCancellableCoroutine { continuation -> task.run(session) { signResult -> continuation.resume(signResult) @@ -206,12 +220,14 @@ class VisaCardActivationTask @AssistedInject constructor( return when (result) { is CompletionResult.Success -> { + Timber.tag("ASDASD").e("SignHashCommand success") handleSignedOrder( activationOrder = order, response = result.data, ) } is CompletionResult.Failure -> { + Timber.tag("ASDASD").e("SignHashCommand failure ${result.error}") CompletionResult.Failure(result.error) } } @@ -226,7 +242,7 @@ class VisaCardActivationTask @AssistedInject constructor( signature = response.signature.toHexString(), ) - val otp = otpStorage.getOTP(card.cardId) ?: return CompletionResult.Failure( + val otp = otpStorage.getOTP(cardId) ?: return CompletionResult.Failure( TangemSdkError.Underlying(VisaActivationError.MissingRootOTP.message), ) @@ -239,10 +255,14 @@ class VisaCardActivationTask @AssistedInject constructor( } private suspend fun SessionContext.setupAccessCode(session: CardSession): CompletionResult { + val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) + if (card.isAccessCodeSet) { return CompletionResult.Success(Unit) } + Timber.tag("ASDASD").e("Setting access code: $accessCode") + val task = SetUserCodeCommand.changeAccessCode(accessCode) val result = suspendCancellableCoroutine { continuation -> task.run(session) { setAccessCodeResult -> @@ -252,9 +272,11 @@ class VisaCardActivationTask @AssistedInject constructor( return when (result) { is CompletionResult.Success -> { + Timber.tag("ASDASD").e("SetUserCodeCommand success") CompletionResult.Success(Unit) } is CompletionResult.Failure -> { + Timber.tag("ASDASD").e("SetUserCodeCommand failure ${result.error}") CompletionResult.Failure(result.error) } } diff --git a/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt b/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt index a86f371d93..d1e883bcdd 100644 --- a/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt +++ b/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt @@ -31,7 +31,7 @@ internal class VisaCardScanHandler @Inject constructor( private class SessionContext( val visaActivationRepository: VisaActivationRepository, - val card: Card, + val cardId: String, val session: CardSession, ) @@ -47,7 +47,7 @@ internal class VisaCardScanHandler @Inject constructor( val context = SessionContext( visaActivationRepository = visaActivationRepository, - card = card, + cardId = card.cardId, session = session, ) @@ -103,6 +103,8 @@ internal class VisaCardScanHandler @Inject constructor( ) } + val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) + val wallet = card.wallets.firstOrNull { it.curve == VisaUtilities.mandatoryCurve } ?: run { Timber.e("Failed to find extended public key while handling wallet authorization") return CompletionResult.Failure( @@ -118,7 +120,6 @@ internal class VisaCardScanHandler @Inject constructor( } Timber.i("Requesting challenge for wallet authorization") - // Will be changed later after backend implementation val challengeResponse = runCatching { visaAuthRepository.getCustomerWalletAuthChallenge( cardId = card.cardId, @@ -152,8 +153,6 @@ internal class VisaCardScanHandler @Inject constructor( private suspend fun SessionContext.handleWalletAuthorizationTokens( signedChallenge: VisaAuthSignedChallenge, ): CompletionResult { - val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) - val authorizationTokensResponse = runCatching { visaAuthRepository.getAccessTokens(signedChallenge = signedChallenge) }.getOrElse { @@ -164,7 +163,7 @@ internal class VisaCardScanHandler @Inject constructor( } visaAuthTokenStorage.store( - cardId = card.cardId, + cardId = cardId, tokens = authorizationTokensResponse, ) @@ -266,14 +265,7 @@ internal class VisaCardScanHandler @Inject constructor( } } - return when (result) { - is CompletionResult.Success -> { - CompletionResult.Success(result.data) - } - is CompletionResult.Failure -> { - CompletionResult.Failure(result.error) - } - } + return result } private suspend fun SessionContext.signChallengeWithCard( diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/visa/TangemVisaApi.kt b/core/datasource/src/main/java/com/tangem/datasource/api/visa/TangemVisaApi.kt index 3e0b010bc8..57cb30dab0 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/visa/TangemVisaApi.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/visa/TangemVisaApi.kt @@ -1,8 +1,10 @@ package com.tangem.datasource.api.visa +import com.tangem.datasource.api.utils.ReadTimeout import com.tangem.datasource.api.visa.models.response.CardActivationRemoteStateResponse import retrofit2.http.GET import retrofit2.http.Header +import java.util.concurrent.TimeUnit interface TangemVisaApi { @@ -10,4 +12,10 @@ interface TangemVisaApi { suspend fun getRemoteActivationStatus( @Header("Authorization") authHeader: String, ): CardActivationRemoteStateResponse + + @ReadTimeout(duration = 20, TimeUnit.MINUTES) + @GET("activation-status") + suspend fun getRemoteActivationStatusLongPoll( + @Header("Authorization") authHeader: String, + ): CardActivationRemoteStateResponse } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt b/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt index ae75ab68d8..353f66d62e 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/di/NetworkModule.kt @@ -187,7 +187,7 @@ internal object NetworkModule { clientBuilder = { addInterceptor( NetworkLogsSaveInterceptor(appLogsStore), - ) + ).applyTimeoutAnnotations() }, ) } @@ -208,7 +208,7 @@ internal object NetworkModule { clientBuilder = { addInterceptor( NetworkLogsSaveInterceptor(appLogsStore), - ) + ).applyTimeoutAnnotations() }, ) } diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/visa/VisaAuthTokenStorage.kt b/core/datasource/src/main/java/com/tangem/datasource/local/visa/VisaAuthTokenStorage.kt index cceb0afdde..a91c2705a1 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/visa/VisaAuthTokenStorage.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/visa/VisaAuthTokenStorage.kt @@ -7,4 +7,6 @@ interface VisaAuthTokenStorage { suspend fun store(cardId: String, tokens: VisaAuthTokens) suspend fun get(cardId: String): VisaAuthTokens? + + fun remove(cardId: String) } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/utils/HttpClientExt.kt b/core/datasource/src/main/java/com/tangem/datasource/utils/HttpClientExt.kt index a4dd795246..c3b1cfb588 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/utils/HttpClientExt.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/utils/HttpClientExt.kt @@ -44,17 +44,13 @@ internal fun OkHttpClient.Builder.applyTimeoutAnnotations(): OkHttpClient.Builde val readTimeout = tag?.method()?.getAnnotation(ReadTimeout::class.java) val writeTimeout = tag?.method()?.getAnnotation(WriteTimeout::class.java) - chain - .apply { - connectionTimeout?.let { withConnectTimeout(timeout = it.duration, unit = it.unit) } - } - .apply { - readTimeout?.let { withReadTimeout(timeout = it.duration, unit = it.unit) } - } - .apply { - writeTimeout?.let { withWriteTimeout(timeout = it.duration, unit = it.unit) } - } - .proceed(request) + chain.run { + connectionTimeout?.let { withConnectTimeout(timeout = it.duration, unit = it.unit) } ?: this + }.run { + readTimeout?.let { withReadTimeout(timeout = it.duration, unit = it.unit) } ?: this + }.run { + writeTimeout?.let { withWriteTimeout(timeout = it.duration, unit = it.unit) } ?: this + }.proceed(request) }, ) } diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt index b11958c4f5..b4cf7f4d8f 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt @@ -1,6 +1,9 @@ package com.tangem.data.visa +import com.tangem.common.extensions.toHexString +import com.tangem.crypto.CryptoUtils import com.tangem.data.visa.converter.VisaActivationStatusConverter +import com.tangem.datasource.api.common.visa.TangemVisaAuthProvider import com.tangem.datasource.api.visa.TangemVisaApi import com.tangem.domain.visa.model.ActivationOrder import com.tangem.domain.visa.model.VisaActivationRemoteState @@ -16,16 +19,26 @@ internal class DefaultVisaActivationRepository @AssistedInject constructor( private val visaApi: TangemVisaApi, private val dispatcherProvider: CoroutineDispatcherProvider, private val visaActivationStatusConverter: VisaActivationStatusConverter, + private val visaAuthProvider: TangemVisaAuthProvider, ) : VisaActivationRepository { override suspend fun getActivationRemoteState(): VisaActivationRemoteState = withContext(dispatcherProvider.io) { - visaActivationStatusConverter.convert(visaApi.getRemoteActivationStatus(cardId)) + // visaActivationStatusConverter.convert(visaApi.getRemoteActivationStatus(visaAuthProvider.getAuthHeader(cardId))) VisaActivationRemoteState.CardWalletSignatureRequired // mock // TODO implement refreshing access token if it's expired } - override suspend fun getActivationOrderToSign(): ActivationOrder { - return ActivationOrder("TODO implement") + override suspend fun getActivationRemoteStateLongPoll(): VisaActivationRemoteState = + withContext(dispatcherProvider.io) { + // visaActivationStatusConverter.convert( + // visaApi.getRemoteActivationStatusLongPoll(visaAuthProvider.getAuthHeader(cardId)), + // ) + + VisaActivationRemoteState.WaitingPinCode + } + + override suspend fun getActivationOrderToSign(): ActivationOrder = withContext(dispatcherProvider.io) { + ActivationOrder(CryptoUtils.generateRandomBytes(32).toHexString()) } @AssistedFactory diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt index a0fb323d81..042d5d5518 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt @@ -1,5 +1,7 @@ package com.tangem.data.visa +import com.tangem.common.extensions.toHexString +import com.tangem.crypto.CryptoUtils import com.tangem.datasource.api.visa.TangemVisaAuthApi import com.tangem.domain.visa.model.VisaAuthChallenge import com.tangem.domain.visa.model.VisaAuthSession @@ -17,14 +19,19 @@ internal class DefaultVisaAuthRepository @Inject constructor( override suspend fun getCardAuthChallenge(cardId: String, cardPublicKey: String): VisaAuthChallenge.Card = withContext(dispatchers.io) { - val response = visaAuthApi.generateNonceByCard( - cardId = cardId, - cardPublicKey = cardPublicKey, - ) + // val response = visaAuthApi.generateNonceByCard( + // cardId = cardId, + // cardPublicKey = cardPublicKey, + // ) + // + // VisaAuthChallenge.Card( + // challenge = response.nonce, + // session = VisaAuthSession(response.sessionId), + // ) VisaAuthChallenge.Card( - challenge = response.nonce, - session = VisaAuthSession(response.sessionId), + challenge = CryptoUtils.generateRandomBytes(16).toHexString(), + session = VisaAuthSession("session"), ) } @@ -32,39 +39,47 @@ internal class DefaultVisaAuthRepository @Inject constructor( cardId: String, walletPublicKey: String, ): VisaAuthChallenge.Wallet = withContext(dispatchers.io) { - val response = visaAuthApi.generateNonceByWalletAddress( - customerId = cardId, - customerWalletAddress = walletPublicKey, - ) - + // val response = visaAuthApi.generateNonceByWalletAddress( + // customerId = cardId, + // customerWalletAddress = walletPublicKey, + // ) + // + // VisaAuthChallenge.Wallet( + // challenge = response.nonce, + // session = VisaAuthSession(response.sessionId), + // ) VisaAuthChallenge.Wallet( - challenge = response.nonce, - session = VisaAuthSession(response.sessionId), + challenge = CryptoUtils.generateRandomBytes(32).toHexString(), + session = VisaAuthSession("session"), ) } override suspend fun getAccessTokens(signedChallenge: VisaAuthSignedChallenge): VisaAuthTokens = withContext(dispatchers.io) { - val response = when (signedChallenge) { - is VisaAuthSignedChallenge.ByCardPublicKey -> { - visaAuthApi.getAccessToken( - sessionId = signedChallenge.challenge.session.sessionId, - signature = signedChallenge.signature, - salt = signedChallenge.salt, - ) - } - is VisaAuthSignedChallenge.ByWallet -> { - visaAuthApi.getAccessToken( - sessionId = signedChallenge.challenge.session.sessionId, - signature = signedChallenge.signature, - salt = null, - ) - } - } - + // val response = when (signedChallenge) { + // is VisaAuthSignedChallenge.ByCardPublicKey -> { + // visaAuthApi.getAccessToken( + // sessionId = signedChallenge.challenge.session.sessionId, + // signature = signedChallenge.signature, + // salt = signedChallenge.salt, + // ) + // } + // is VisaAuthSignedChallenge.ByWallet -> { + // visaAuthApi.getAccessToken( + // sessionId = signedChallenge.challenge.session.sessionId, + // signature = signedChallenge.signature, + // salt = null, + // ) + // } + // } + // + // VisaAuthTokens( + // accessToken = response.accessToken, + // refreshToken = response.refreshToken, + // ) VisaAuthTokens( - accessToken = response.accessToken, - refreshToken = response.refreshToken, + accessToken = "accessToken", + refreshToken = "refreshToken", ) } } \ No newline at end of file diff --git a/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaActivationRepository.kt b/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaActivationRepository.kt index 810e422951..4dd591568f 100644 --- a/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaActivationRepository.kt +++ b/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaActivationRepository.kt @@ -7,6 +7,8 @@ interface VisaActivationRepository { suspend fun getActivationRemoteState(): VisaActivationRemoteState + suspend fun getActivationRemoteStateLongPoll(): VisaActivationRemoteState + suspend fun getActivationOrderToSign(): ActivationOrder interface Factory { diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt index a174ae69e0..22ab0da110 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt @@ -151,6 +151,9 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( ) OnboardingVisaRoute.InProgress -> OnboardingVisaInProgressComponent( appComponentContext = factoryContext, + config = OnboardingVisaInProgressComponent.Config( + scanResponse = params.scanResponse, + ), params = OnboardingVisaInProgressComponent.Params( childParams = childParams, onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, @@ -159,15 +162,19 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( is OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( appComponentContext = factoryContext, config = OnboardingVisaOtherWalletComponent.Config( + scanResponse = params.scanResponse, visaDataForApprove = route.visaDataForApprove, ), params = OnboardingVisaOtherWalletComponent.Params( childParams = childParams, - onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, + onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, ), ) OnboardingVisaRoute.PinCode -> OnboardingVisaPinCodeComponent( appComponentContext = factoryContext, + config = OnboardingVisaPinCodeComponent.Config( + scanResponse = params.scanResponse, + ), params = OnboardingVisaPinCodeComponent.Params( childParams = childParams, onDone = { params.onDone() }, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt index 1186c22057..b621996c87 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt @@ -17,6 +17,7 @@ import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import javax.inject.Inject +import kotlin.math.tan @Stable @ComponentScoped @@ -39,6 +40,8 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( val onDone = MutableSharedFlow() fun onBack() { + if (uiState.value.buttonLoading) return + when (uiState.value.step) { OnboardingVisaAccessCodeUM.Step.Enter -> modelScope.launch { onBack.emit(Unit) } OnboardingVisaAccessCodeUM.Step.ReEnter -> @@ -141,7 +144,7 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( OnboardingVisaAccessCodeComponent.DoneEvent( visaDataForApprove = VisaDataForApprove( targetAddress = "x9F65354e595284956599F2892fA4A4a87653D6E6", - approveHash = "approve hash", + approveHash = "48b55c482123a10ad9022f9f4c5dd95c", ), walletFound = false, // TODO ), diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt index f8d10a865f..6e8787f75a 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/OnboardingVisaInProgressComponent.kt @@ -7,6 +7,7 @@ import androidx.compose.ui.Modifier import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.domain.models.scan.ScanResponse import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.model.OnboardingVisaInProgressModel import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.ui.OnboardingVisaInProgress @@ -15,10 +16,11 @@ import kotlinx.coroutines.flow.onEach internal class OnboardingVisaInProgressComponent( appComponentContext: AppComponentContext, + config: Config, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { - private val model: OnboardingVisaInProgressModel = getOrCreateModel() + private val model: OnboardingVisaInProgressModel = getOrCreateModel(config) init { model.onDone @@ -35,6 +37,10 @@ internal class OnboardingVisaInProgressComponent( ) } + data class Config( + val scanResponse: ScanResponse, + ) + data class Params( val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt index 9639c4ddc8..94748a9a1a 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/inprogress/model/OnboardingVisaInProgressModel.kt @@ -3,6 +3,10 @@ package com.tangem.features.onboarding.v2.visa.impl.child.inprogress.model import androidx.compose.runtime.Stable import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.domain.visa.model.VisaActivationRemoteState +import com.tangem.domain.visa.repository.VisaActivationRepository +import com.tangem.features.onboarding.v2.visa.impl.child.inprogress.OnboardingVisaInProgressComponent import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableSharedFlow @@ -12,16 +16,29 @@ import javax.inject.Inject @Stable @ComponentScoped internal class OnboardingVisaInProgressModel @Inject constructor( + paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, + private val visaActivationRepositoryFactory: VisaActivationRepository.Factory, ) : Model() { + private val params = paramsContainer.require() + private val visaActivationRepository = visaActivationRepositoryFactory.create(params.scanResponse.card.cardId) val onDone = MutableSharedFlow() init { modelScope.launch { - // TODO check state - delay(timeMillis = 2000) - onDone.emit(Unit) + while (true) { + val result = runCatching { + visaActivationRepository.getActivationRemoteStateLongPoll() + }.getOrNull() + + if (result == VisaActivationRemoteState.WaitingPinCode) { + onDone.emit(Unit) + break + } + + delay(timeMillis = 1000) + } } } } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt index 3442f47224..a9d2297b5f 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/OnboardingVisaOtherWalletComponent.kt @@ -9,6 +9,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent +import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.model.OnboardingVisaOtherWalletModel @@ -43,6 +44,7 @@ internal class OnboardingVisaOtherWalletComponent( } data class Config( + val scanResponse: ScanResponse, val visaDataForApprove: VisaDataForApprove, ) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt index 7e5ece076a..51036ad803 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/otherwallet/model/OnboardingVisaOtherWalletModel.kt @@ -4,12 +4,18 @@ import androidx.compose.runtime.Stable import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.core.navigation.share.ShareManager +import com.tangem.core.navigation.url.UrlOpener +import com.tangem.domain.visa.model.VisaActivationRemoteState +import com.tangem.domain.visa.repository.VisaActivationRepository import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.OnboardingVisaOtherWalletComponent import com.tangem.features.onboarding.v2.visa.impl.child.otherwallet.ui.state.OnboardingVisaOtherWalletUM import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.delay import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.launch import javax.inject.Inject @Stable @@ -17,15 +23,36 @@ import javax.inject.Inject internal class OnboardingVisaOtherWalletModel @Inject constructor( paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, + private val urlOpener: UrlOpener, + private val shareManager: ShareManager, + private val visaActivationRepositoryFactory: VisaActivationRepository.Factory, ) : Model() { @Suppress("UnusedPrivateMember") private val config = paramsContainer.require() + private val visaActivationRepository = visaActivationRepositoryFactory.create(config.scanResponse.card.cardId) private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() val onDone = MutableSharedFlow() + init { + modelScope.launch { + while (true) { + val result = runCatching { + visaActivationRepository.getActivationRemoteStateLongPoll() + }.getOrNull() + + if (result == VisaActivationRemoteState.WaitingPinCode) { + onDone.emit(Unit) + break + } + + delay(timeMillis = 1000) + } + } + } + private fun getInitialState(): OnboardingVisaOtherWalletUM { return OnboardingVisaOtherWalletUM( onShareClick = ::onShareClicked, @@ -34,10 +61,10 @@ internal class OnboardingVisaOtherWalletModel @Inject constructor( } private fun onShareClicked() { - // TODO + shareManager.shareText("https://tangem.com/${config.visaDataForApprove.approveHash}") } private fun onOpenInBrowserClicked() { - // TODO + urlOpener.openUrl("https://tangem.com/${config.visaDataForApprove.approveHash}") } } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt index 05aeba0384..edf60844f7 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/OnboardingVisaPinCodeComponent.kt @@ -10,6 +10,7 @@ import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect +import com.tangem.domain.models.scan.ScanResponse import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent import com.tangem.features.onboarding.v2.visa.impl.child.pincode.model.OnboardingVisaPinCodeModel import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.OnboardingVisaPinCode @@ -17,10 +18,11 @@ import kotlinx.coroutines.launch internal class OnboardingVisaPinCodeComponent( appComponentContext: AppComponentContext, + config: Config, private val params: Params, ) : ComposableContentComponent, AppComponentContext by appComponentContext { - private val model: OnboardingVisaPinCodeModel = getOrCreateModel() + private val model: OnboardingVisaPinCodeModel = getOrCreateModel(config) init { componentScope.launch { @@ -42,6 +44,10 @@ internal class OnboardingVisaPinCodeComponent( ) } + data class Config( + val scanResponse: ScanResponse, + ) + data class Params( val childParams: DefaultOnboardingVisaComponent.ChildParams, val onDone: () -> Unit, diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/model/OnboardingVisaPinCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/model/OnboardingVisaPinCodeModel.kt index 19f65cfd96..38f42fad17 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/model/OnboardingVisaPinCodeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/model/OnboardingVisaPinCodeModel.kt @@ -3,6 +3,15 @@ package com.tangem.features.onboarding.v2.visa.impl.child.pincode.model import androidx.compose.runtime.Stable import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.datasource.local.visa.VisaAuthTokenStorage +import com.tangem.domain.models.scan.ScanResponse +import com.tangem.domain.visa.model.VisaCardActivationStatus +import com.tangem.domain.wallets.builder.UserWalletBuilder +import com.tangem.domain.wallets.legacy.UserWalletsListManager +import com.tangem.domain.wallets.models.UserWallet +import com.tangem.domain.wallets.usecase.GenerateWalletNameUseCase +import com.tangem.features.onboarding.v2.visa.impl.child.pincode.OnboardingVisaPinCodeComponent import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.state.OnboardingVisaPinCodeUM import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.MutableSharedFlow @@ -10,14 +19,21 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import javax.inject.Inject @Stable @ComponentScoped internal class OnboardingVisaPinCodeModel @Inject constructor( + paramsContainer: ParamsContainer, override val dispatchers: CoroutineDispatcherProvider, + private val generateWalletNameUseCase: GenerateWalletNameUseCase, + private val userWalletsListManager: UserWalletsListManager, + private val authTokenStorage: VisaAuthTokenStorage, + private val otpStorage: VisaAuthTokenStorage, ) : Model() { + private val params = paramsContainer.require() private val _uiState = MutableStateFlow(getInitialState()) val uiState = _uiState.asStateFlow() @@ -31,21 +47,61 @@ internal class OnboardingVisaPinCodeModel @Inject constructor( } private fun onPinCodeChange(pin: String) { - if (pin.all { it.isDigit() }) _uiState.update { it.copy(pinCode = pin) } + if (pin.all { it.isDigit() }) { + _uiState.update { + it.copy( + pinCode = pin, + submitButtonEnabled = checkPinCode(pin), + ) + } + } } private fun onSubmitClick() { if (checkPinCode(_uiState.value.pinCode).not()) return - // TODO + modelScope.launch { + loading(true) - modelScope.launch { onDone.emit(Unit) } + // TODO + // make backend call + saveWallet() + + loading(false) + } } private fun checkPinCode(pin: String): Boolean { return pin.length == PIN_CODE_LENGTH } + private fun loading(state: Boolean) { + _uiState.update { it.copy(submitButtonLoading = state) } + } + + private suspend fun saveWallet() { + val userWallet = createUserWallet(params.scanResponse) + userWalletsListManager.save(userWallet) + authTokenStorage.remove(params.scanResponse.card.cardId) + otpStorage.remove(params.scanResponse.card.cardId) + onDone.emit(Unit) + } + + private suspend fun createUserWallet(scanResponse: ScanResponse): UserWallet = withContext(dispatchers.io) { + val newActivationStatus = VisaCardActivationStatus.Activated( + visaAuthTokens = authTokenStorage.get(scanResponse.card.cardId) + ?: error("Impossible state. Wrong feature implementation"), + ) + + requireNotNull( + value = UserWalletBuilder( + scanResponse.copy(visaCardActivationStatus = newActivationStatus), + generateWalletNameUseCase, + ).build(), + lazyMessage = { "User wallet not created" }, + ) + } + private companion object { const val PIN_CODE_LENGTH = 4 } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt index cf47762749..6db2601978 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt @@ -28,9 +28,11 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp -import com.tangem.core.ui.components.PrimaryButton +import com.tangem.common.ui.navigationButtons.NavigationButton +import com.tangem.common.ui.navigationButtons.NavigationPrimaryButton import com.tangem.core.ui.components.SpacerH import com.tangem.core.ui.components.SpacerH16 +import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview import com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.state.OnboardingVisaPinCodeUM @@ -72,13 +74,17 @@ internal fun OnboardingVisaPinCode(state: OnboardingVisaPinCodeUM, modifier: Mod PinCodeSection(state) } - PrimaryButton( + NavigationPrimaryButton( modifier = Modifier .imePadding() .padding(start = 16.dp, end = 16.dp, bottom = 16.dp) .fillMaxWidth(), - text = "Submit", - onClick = state.onSubmitClick, + primaryButton = NavigationButton( + textReference = TextReference.Str("Submit"), + onClick = state.onSubmitClick, + showProgress = state.submitButtonLoading, + isEnabled = state.submitButtonEnabled, + ), ) } } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/state/OnboardingVisaPinCodeUM.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/state/OnboardingVisaPinCodeUM.kt index a8d26f44a3..9b17f93c5a 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/state/OnboardingVisaPinCodeUM.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/state/OnboardingVisaPinCodeUM.kt @@ -3,5 +3,7 @@ package com.tangem.features.onboarding.v2.visa.impl.child.pincode.ui.state internal data class OnboardingVisaPinCodeUM( val pinCode: String = "", val onPinCodeChange: (String) -> Unit = {}, + val submitButtonLoading: Boolean = false, + val submitButtonEnabled: Boolean = true, val onSubmitClick: () -> Unit = {}, ) \ No newline at end of file From 5518cee24931d7037ea1d1e64c39d175ac37b01f Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 27 Jan 2025 13:43:23 +0100 Subject: [PATCH 31/61] Updated on 2026-08-14 --- settings.gradle.kts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 5e944733b8..42859fc826 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -47,7 +47,7 @@ dependencyResolutionManagement { } maven { // setting any repository from tangem project allows maven search all packages in the project - url = uri("https://maven.pkg.github.com/tangem/tangem-sdk-android") + url = uri("https://maven.pkg.github.com/tangem-developments/tangem-sdk-android") credentials { username = properties.getProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") password = properties.getProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") @@ -56,7 +56,7 @@ dependencyResolutionManagement { } maven { // setting any repository from tangem project allows maven search all packages in the project - url = uri("https://maven.pkg.github.com/tangem/blst-android") + url = uri("https://maven.pkg.github.com/tangem-developments/blst-android") credentials { username = properties.getProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") password = properties.getProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") @@ -65,7 +65,7 @@ dependencyResolutionManagement { } maven { // setting any repository from tangem project allows maven search all packages in the project - url = uri("https://maven.pkg.github.com/tangem/blockchain-sdk-kotlin") + url = uri("https://maven.pkg.github.com/tangem-developments/blockchain-sdk-kotlin") credentials { username = properties.getProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") password = properties.getProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") @@ -74,7 +74,7 @@ dependencyResolutionManagement { } maven { // setting any repository from tangem project allows maven search all packages in the project - url = uri("https://maven.pkg.github.com/tangem/wallet-core") + url = uri("https://maven.pkg.github.com/tangem-developments/wallet-core") credentials { username = properties.getProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") password = properties.getProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") @@ -86,7 +86,7 @@ dependencyResolutionManagement { } maven { // setting any repository from tangem project allows maven search all packages in the project - url = uri("https://maven.pkg.github.com/tangem/vico") + url = uri("https://maven.pkg.github.com/tangem-developments/vico") credentials { username = properties.getProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") password = properties.getProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") @@ -97,7 +97,7 @@ dependencyResolutionManagement { } maven { // setting any repository from tangem project allows maven search all packages in the project - url = uri("https://maven.pkg.github.com/tangem/ic4j-agent") + url = uri("https://maven.pkg.github.com/tangem-developments/ic4j-agent") credentials { username = properties.getProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR") password = properties.getProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN") From 8ab774662203aae22b68e2edc9f3a7351f3830ab Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 27 Jan 2025 13:46:46 +0100 Subject: [PATCH 32/61] Updated on 2026-08-14 --- gradle/dependencies.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 6cd0918be2..1c83770b51 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -88,11 +88,11 @@ markdownComposeView = "0.5.4" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "develop-914" +tangemBlockchainSdk = "develop-7" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "develop-421" +tangemCardSdk = "develop-2" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ -tangemVico = "2.0.0-alpha.25-tangem17" +tangemVico = "2.0.0-alpha.25-tangem-developments8" #tangemVico = "0.0.1" # Keep it! - used for local builds ^ # endregion Tangem From a44412eb15f22f5d263222f3315242599f9c3014 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 27 Jan 2025 15:04:42 +0100 Subject: [PATCH 33/61] Updated on 2026-08-14 --- gradle/dependencies.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 1c83770b51..81892c28dd 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -88,9 +88,9 @@ markdownComposeView = "0.5.4" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "develop-7" +tangemBlockchainSdk = "develop-923" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds -tangemCardSdk = "develop-2" +tangemCardSdk = "develop-424" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ tangemVico = "2.0.0-alpha.25-tangem-developments8" #tangemVico = "0.0.1" # Keep it! - used for local builds ^ From e00f5390d20905f84f0ee90c3adb490e515857e4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 27 Jan 2025 12:55:34 +0300 Subject: [PATCH 34/61] Updated on 2026-08-14 --- .../tasks/visa/VisaCardActivationTask.kt | 105 +++++++++++------- .../tap/domain/visa/VisaCardScanHandler.kt | 25 ++--- .../RealtimeMonotonicTimeSource.kt | 9 ++ .../visa/DefaultVisaActivationRepository.kt | 3 +- .../data/visa/DefaultVisaAuthRepository.kt | 5 +- .../domain/common/visa/VisaUtilities.kt | 3 +- .../OnboardingVisaAccessCodeComponent.kt | 3 +- .../model/OnboardingVisaAccessCodeModel.kt | 1 - 8 files changed, 92 insertions(+), 62 deletions(-) create mode 100644 common/src/main/kotlin/com/tangem/common/timemeasure/RealtimeMonotonicTimeSource.kt diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt index 9bd9bf2e48..f8b20f31d0 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt @@ -8,6 +8,7 @@ import com.tangem.common.core.TangemSdkError import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toHexString import com.tangem.common.map +import com.tangem.common.timemeasure.RealtimeMonotonicTimeSource import com.tangem.crypto.CryptoUtils import com.tangem.datasource.local.visa.VisaAuthTokenStorage import com.tangem.datasource.local.visa.VisaOTPStorage @@ -29,6 +30,7 @@ import kotlinx.coroutines.* import timber.log.Timber import kotlin.coroutines.resume import kotlin.jvm.Throws +import kotlin.time.measureTimedValue @Suppress("LongParameterList") class VisaCardActivationTask @AssistedInject constructor( @@ -69,31 +71,38 @@ class VisaCardActivationTask @AssistedInject constructor( session = session, ) - return if (challengeToSign != null) { - context.signAuthorizationChallenge(challengeToSign) - } else { - val activationOrder = runCatching { visaActivationRepository.getActivationOrderToSign() } - .getOrElse { - return CompletionResult.Failure(TangemSdkError.Underlying(it.message ?: "")) - } + val timedResult = RealtimeMonotonicTimeSource.measureTimedValue { + if (challengeToSign != null) { + context.signAuthorizationChallenge(challengeToSign) + } else { + val activationOrder = runCatching { visaActivationRepository.getActivationOrderToSign() } + .getOrElse { + return CompletionResult.Failure(TangemSdkError.Underlying(it.message ?: "")) + } - context.signOrder(activationOrder) + context.signOrder(activationOrder) + } } + Timber.i("VisaCardActivationTask all time: ${timedResult.duration}") + return timedResult.value } private suspend fun SessionContext.signAuthorizationChallenge( challengeToSign: VisaAuthChallenge.Card, ): CompletionResult { val attestationCommand = AttestCardKeyCommand(challenge = CryptoUtils.generateRandomBytes(length = 16)) - val result = suspendCancellableCoroutine { continuation -> - attestationCommand.run(session = session) { attestationResponse -> - continuation.resume(attestationResponse) + val timedResult = RealtimeMonotonicTimeSource.measureTimedValue { + suspendCancellableCoroutine { continuation -> + attestationCommand.run(session = session) { attestationResponse -> + continuation.resume(attestationResponse) + } } } + Timber.i("AttestCardKeyCommand time: ${timedResult.duration}") - return when (result) { + return when (val result = timedResult.value) { is CompletionResult.Success -> { - Timber.tag("ASDASD").e("AttestCardKeyCommand success") + Timber.i("AttestCardKeyCommand success") processSignedAuthorizationChallenge( signedChallenge = challengeToSign.toSignedChallenge( signedChallenge = result.data.cardSignature.toHexString(), @@ -102,7 +111,7 @@ class VisaCardActivationTask @AssistedInject constructor( ) } is CompletionResult.Failure -> { - Timber.tag("ASDASD").e("AttestCardKeyCommand failure ${result.error}") + Timber.e("AttestCardKeyCommand failure ${result.error}") CompletionResult.Failure(result.error) } } @@ -153,19 +162,24 @@ class VisaCardActivationTask @AssistedInject constructor( createOTP(session) } else { val createWalletTask = CreateWalletTask(VisaUtilities.mandatoryCurve) - val result = suspendCancellableCoroutine { continuation -> - createWalletTask.run(session) { createWalletResult -> - continuation.resume(createWalletResult) + + val timedResult = RealtimeMonotonicTimeSource.measureTimedValue { + suspendCancellableCoroutine { continuation -> + createWalletTask.run(session) { createWalletResult -> + continuation.resume(createWalletResult) + } } } - when (result) { + Timber.i("CreateWalletTask time: ${timedResult.duration}") + + when (val result = timedResult.value) { is CompletionResult.Success -> { - Timber.tag("ASDASD").e("CreateWalletTask success") + Timber.i("CreateWalletTask success") createOTP(session) } is CompletionResult.Failure -> { - Timber.tag("ASDASD").e("CreateWalletTask failure ${result.error}") + Timber.e("CreateWalletTask failure ${result.error}") CompletionResult.Failure(result.error) } } @@ -179,20 +193,24 @@ class VisaCardActivationTask @AssistedInject constructor( CompletionResult.Success(Unit) } else { val otpCommand = GenerateOTPCommand() - val result = suspendCancellableCoroutine { continuation -> - otpCommand.run(session) { otpResult -> - continuation.resume(otpResult) + val timedResult = RealtimeMonotonicTimeSource.measureTimedValue { + suspendCancellableCoroutine { continuation -> + otpCommand.run(session) { otpResult -> + continuation.resume(otpResult) + } } } - when (result) { + Timber.i("GenerateOTPCommand time: ${timedResult.duration}") + + when (val result = timedResult.value) { is CompletionResult.Success -> { - Timber.tag("ASDASD").e("GenerateOTPCommand success") + Timber.i("GenerateOTPCommand success") otpStorage.saveOTP(cardId, result.data.rootOTP) CompletionResult.Success(Unit) } is CompletionResult.Failure -> { - Timber.tag("ASDASD").e("GenerateOTPCommand failure ${result.error}") + Timber.e("GenerateOTPCommand failure ${result.error}") CompletionResult.Failure(result.error) } } @@ -212,22 +230,26 @@ class VisaCardActivationTask @AssistedInject constructor( derivationPath = VisaUtilities.visaDefaultDerivationPath, ) - val result = suspendCancellableCoroutine { continuation -> - task.run(session) { signResult -> - continuation.resume(signResult) + val timedResult = RealtimeMonotonicTimeSource.measureTimedValue { + suspendCancellableCoroutine { continuation -> + task.run(session) { signResult -> + continuation.resume(signResult) + } } } - return when (result) { + Timber.i("SignHashCommand time: ${timedResult.duration}") + + return when (val result = timedResult.value) { is CompletionResult.Success -> { - Timber.tag("ASDASD").e("SignHashCommand success") + Timber.i("SignHashCommand success") handleSignedOrder( activationOrder = order, response = result.data, ) } is CompletionResult.Failure -> { - Timber.tag("ASDASD").e("SignHashCommand failure ${result.error}") + Timber.e("SignHashCommand failure ${result.error}") CompletionResult.Failure(result.error) } } @@ -261,22 +283,27 @@ class VisaCardActivationTask @AssistedInject constructor( return CompletionResult.Success(Unit) } - Timber.tag("ASDASD").e("Setting access code: $accessCode") + Timber.i("Setting access code") val task = SetUserCodeCommand.changeAccessCode(accessCode) - val result = suspendCancellableCoroutine { continuation -> - task.run(session) { setAccessCodeResult -> - continuation.resume(setAccessCodeResult) + + val timedResult = RealtimeMonotonicTimeSource.measureTimedValue { + suspendCancellableCoroutine { continuation -> + task.run(session) { setAccessCodeResult -> + continuation.resume(setAccessCodeResult) + } } } - return when (result) { + Timber.i("SetUserCodeCommand time: ${timedResult.duration}") + + return when (val result = timedResult.value) { is CompletionResult.Success -> { - Timber.tag("ASDASD").e("SetUserCodeCommand success") + Timber.i("SetUserCodeCommand success") CompletionResult.Success(Unit) } is CompletionResult.Failure -> { - Timber.tag("ASDASD").e("SetUserCodeCommand failure ${result.error}") + Timber.i("SetUserCodeCommand failure ${result.error}") CompletionResult.Failure(result.error) } } diff --git a/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt b/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt index d1e883bcdd..42e9b20d4a 100644 --- a/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt +++ b/app/src/main/java/com/tangem/tap/domain/visa/VisaCardScanHandler.kt @@ -1,10 +1,10 @@ package com.tangem.tap.domain.visa import com.tangem.common.CompletionResult -import com.tangem.common.card.Card import com.tangem.common.card.CardWallet import com.tangem.common.core.CardSession import com.tangem.common.core.TangemSdkError +import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toHexString import com.tangem.crypto.hdWallet.DerivationPath import com.tangem.crypto.hdWallet.bip32.ExtendedPublicKey @@ -258,33 +258,26 @@ internal class VisaCardScanHandler @Inject constructor( derivationPath: DerivationPath, nonce: String, ): CompletionResult { - val signHashCommand = SignHashCommand(publicKey, nonce.toByteArray(), derivationPath) - val result = suspendCancellableCoroutine { + val signHashCommand = SignHashCommand( + hash = nonce.hexToBytes(), + walletPublicKey = publicKey, + derivationPath = derivationPath, + ) + return suspendCancellableCoroutine { signHashCommand.run(session) { result -> it.resume(result) } } - - return result } private suspend fun SessionContext.signChallengeWithCard( challenge: String, ): CompletionResult { - val signHashCommand = AttestCardKeyCommand(challenge = challenge.toByteArray()) - val result = suspendCancellableCoroutine { continuation -> + val signHashCommand = AttestCardKeyCommand(challenge = challenge.hexToBytes()) + return suspendCancellableCoroutine { continuation -> signHashCommand.run(session) { result -> continuation.resume(result) } } - - return when (result) { - is CompletionResult.Success -> { - CompletionResult.Success(result.data) - } - is CompletionResult.Failure -> { - CompletionResult.Failure(result.error) - } - } } } \ No newline at end of file diff --git a/common/src/main/kotlin/com/tangem/common/timemeasure/RealtimeMonotonicTimeSource.kt b/common/src/main/kotlin/com/tangem/common/timemeasure/RealtimeMonotonicTimeSource.kt new file mode 100644 index 0000000000..0c2858265c --- /dev/null +++ b/common/src/main/kotlin/com/tangem/common/timemeasure/RealtimeMonotonicTimeSource.kt @@ -0,0 +1,9 @@ +package com.tangem.common.timemeasure + +import android.os.SystemClock +import kotlin.time.AbstractLongTimeSource +import kotlin.time.DurationUnit + +object RealtimeMonotonicTimeSource : AbstractLongTimeSource(DurationUnit.NANOSECONDS) { + override fun read(): Long = SystemClock.elapsedRealtimeNanos() +} \ No newline at end of file diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt index b4cf7f4d8f..4384fc3d0e 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaActivationRepository.kt @@ -14,6 +14,7 @@ import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import kotlinx.coroutines.withContext +@Suppress("UnusedPrivateMember") internal class DefaultVisaActivationRepository @AssistedInject constructor( @Assisted private val cardId: String, private val visaApi: TangemVisaApi, @@ -38,7 +39,7 @@ internal class DefaultVisaActivationRepository @AssistedInject constructor( } override suspend fun getActivationOrderToSign(): ActivationOrder = withContext(dispatcherProvider.io) { - ActivationOrder(CryptoUtils.generateRandomBytes(32).toHexString()) + ActivationOrder(CryptoUtils.generateRandomBytes(length = 32).toHexString()) } @AssistedFactory diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt index 042d5d5518..a4646bf7b6 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt @@ -12,6 +12,7 @@ import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.withContext import javax.inject.Inject +@Suppress("UnusedPrivateMember") internal class DefaultVisaAuthRepository @Inject constructor( private val visaAuthApi: TangemVisaAuthApi, private val dispatchers: CoroutineDispatcherProvider, @@ -30,7 +31,7 @@ internal class DefaultVisaAuthRepository @Inject constructor( // ) VisaAuthChallenge.Card( - challenge = CryptoUtils.generateRandomBytes(16).toHexString(), + challenge = CryptoUtils.generateRandomBytes(length = 16).toHexString(), session = VisaAuthSession("session"), ) } @@ -49,7 +50,7 @@ internal class DefaultVisaAuthRepository @Inject constructor( // session = VisaAuthSession(response.sessionId), // ) VisaAuthChallenge.Wallet( - challenge = CryptoUtils.generateRandomBytes(32).toHexString(), + challenge = CryptoUtils.generateRandomBytes(length = 32).toHexString(), session = VisaAuthSession("session"), ) } diff --git a/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt index b84ed4f673..d62fffa929 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/common/visa/VisaUtilities.kt @@ -16,7 +16,8 @@ object VisaUtilities { val visaBlockchain = Blockchain.Polygon - val visaDefaultDerivationPath = visaBlockchain.derivationPath(DerivationStyle.V3) + val visaDefaultDerivationPath + get() = visaBlockchain.derivationPath(DerivationStyle.V3) fun visaDefaultDerivationPath(style: DerivationStyle) = visaBlockchain.derivationPath(style) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt index dd7a6f2ed6..6508b14557 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt @@ -8,7 +8,6 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.tangem.core.decompose.context.AppComponentContext import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.decompose.ComposableContentComponent -import com.tangem.core.ui.security.DisableScreenshotsDisposableEffect import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.features.onboarding.v2.visa.impl.DefaultOnboardingVisaComponent @@ -44,7 +43,7 @@ internal class OnboardingVisaAccessCodeComponent( BackHandler(onBack = model::onBack) - DisableScreenshotsDisposableEffect() + // DisableScreenshotsDisposableEffect() OnboardingVisaAccessCode(state, modifier) } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt index b621996c87..01ed148a2f 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt @@ -17,7 +17,6 @@ import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import javax.inject.Inject -import kotlin.math.tan @Stable @ComponentScoped From 84c881b4ac58d418fb397bb451c3ac78c4b8dfdf Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 28 Jan 2025 10:50:00 +0300 Subject: [PATCH 35/61] Updated on 2026-08-14 --- .../kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt index a4646bf7b6..d29d54dad4 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt @@ -80,7 +80,7 @@ internal class DefaultVisaAuthRepository @Inject constructor( // ) VisaAuthTokens( accessToken = "accessToken", - refreshToken = "refreshToken", + refreshToken = "refreshToken2", ) } } \ No newline at end of file From 3406a353b025c5ca17e539836756684a9e925a6e Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 28 Jan 2025 10:53:26 +0300 Subject: [PATCH 36/61] Updated on 2026-08-14 --- .../kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt index d29d54dad4..a4646bf7b6 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt @@ -80,7 +80,7 @@ internal class DefaultVisaAuthRepository @Inject constructor( // ) VisaAuthTokens( accessToken = "accessToken", - refreshToken = "refreshToken2", + refreshToken = "refreshToken", ) } } \ No newline at end of file From 112d1e8a906baf066ccd5ae26c6d87dfbe441e21 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 28 Jan 2025 13:28:17 +0300 Subject: [PATCH 37/61] Updated on 2026-08-14 --- .../sdk/impl/DefaultTangemSdkManager.kt | 2 +- .../domain/sdk/impl/MockTangemSdkManager.kt | 2 +- .../tasks/visa/VisaCardActivationTask.kt | 18 ++- .../visa/model/VisaCardActivationResponse.kt | 6 - .../impl/DefaultOnboardingVisaComponent.kt | 84 +++---------- .../OnboardingVisaAccessCodeComponent.kt | 1 + .../model/OnboardingVisaAccessCodeModel.kt | 8 +- .../child/pincode/ui/OnboardingVisaPinCode.kt | 3 +- .../v2/visa/impl/model/OnboardingVisaModel.kt | 114 +++++++++++++++++- .../com/tangem/sdk/api/TangemSdkManager.kt | 2 +- .../api/visa/VisaCardActivationResponse.kt | 11 ++ 11 files changed, 164 insertions(+), 87 deletions(-) delete mode 100644 domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaCardActivationResponse.kt create mode 100644 libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/visa/VisaCardActivationResponse.kt diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt index ac325d7207..4cda23bbe9 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/DefaultTangemSdkManager.kt @@ -26,7 +26,6 @@ import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge -import com.tangem.domain.visa.model.VisaCardActivationResponse import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.features.onboarding.v2.OnboardingV2FeatureToggles @@ -41,6 +40,7 @@ import com.tangem.operations.usersetttings.SetUserCodeRecoveryAllowedTask import com.tangem.operations.wallet.CreateWalletResponse import com.tangem.sdk.api.CreateProductWalletTaskResponse import com.tangem.sdk.api.TangemSdkManager +import com.tangem.sdk.api.visa.VisaCardActivationResponse import com.tangem.tap.derivationsFinder import com.tangem.tap.domain.tasks.product.CreateProductWalletTask import com.tangem.tap.domain.tasks.product.ResetBackupCardTask diff --git a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt index 3e8dce1c1e..b6291e7a12 100644 --- a/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt +++ b/app/src/main/java/com/tangem/tap/domain/sdk/impl/MockTangemSdkManager.kt @@ -19,7 +19,6 @@ import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge -import com.tangem.domain.visa.model.VisaCardActivationResponse import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.operations.derivation.DerivationTaskResponse @@ -28,6 +27,7 @@ import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.wallet.CreateWalletResponse import com.tangem.sdk.api.CreateProductWalletTaskResponse import com.tangem.sdk.api.TangemSdkManager +import com.tangem.sdk.api.visa.VisaCardActivationResponse import com.tangem.tap.domain.sdk.mocks.MockProvider @Suppress("TooManyFunctions") diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt index f8b20f31d0..920c63ac0e 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCardActivationTask.kt @@ -14,6 +14,7 @@ import com.tangem.datasource.local.visa.VisaAuthTokenStorage import com.tangem.datasource.local.visa.VisaOTPStorage import com.tangem.datasource.local.visa.hasSavedOTP import com.tangem.domain.common.visa.VisaUtilities +import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.visa.model.* import com.tangem.domain.visa.repository.VisaActivationRepository import com.tangem.domain.visa.repository.VisaAuthRepository @@ -23,6 +24,7 @@ import com.tangem.operations.pins.SetUserCodeCommand import com.tangem.operations.sign.SignHashCommand import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.wallet.CreateWalletTask +import com.tangem.sdk.api.visa.VisaCardActivationResponse import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject @@ -268,15 +270,19 @@ class VisaCardActivationTask @AssistedInject constructor( TangemSdkError.Underlying(VisaActivationError.MissingRootOTP.message), ) - val activationResponse = VisaCardActivationResponse( - signedActivationOrder = signedOrder, - rootOTP = VisaRootOTP(otp.toHexString()), - ) + return setupAccessCode().map { + val card = + session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) - return setupAccessCode(session).map { activationResponse } + VisaCardActivationResponse( + signedActivationOrder = signedOrder, + rootOTP = VisaRootOTP(otp.toHexString()), + newCardDTO = CardDTO(card), + ) + } } - private suspend fun SessionContext.setupAccessCode(session: CardSession): CompletionResult { + private suspend fun SessionContext.setupAccessCode(): CompletionResult { val card = session.environment.card ?: return CompletionResult.Failure(TangemSdkError.MissingPreflightRead()) if (card.isAccessCodeSet) { diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaCardActivationResponse.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaCardActivationResponse.kt deleted file mode 100644 index 79cc4c9a95..0000000000 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaCardActivationResponse.kt +++ /dev/null @@ -1,6 +0,0 @@ -package com.tangem.domain.visa.model - -data class VisaCardActivationResponse( - val signedActivationOrder: SignedActivationOrder, - val rootOTP: VisaRootOTP, -) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt index 22ab0da110..da668753a6 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/DefaultOnboardingVisaComponent.kt @@ -29,7 +29,6 @@ import com.tangem.features.onboarding.v2.visa.impl.model.OnboardingVisaModel import com.tangem.features.onboarding.v2.visa.impl.route.ONBOARDING_VISA_STEPS_COUNT import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute import com.tangem.features.onboarding.v2.visa.impl.route.screenTitle -import com.tangem.features.onboarding.v2.visa.impl.route.stepNum import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject @@ -44,10 +43,6 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( private val model: OnboardingVisaModel = getOrCreateModel(params) - private val innerNavigationState = instanceKeeper.getOrCreateSimple(key = "innerNavigationState") { - MutableStateFlow(OnboardingVisaInnerNavigationState(stackSize = model.initialStepNum)) - } - private val currentChildBackEventHandle = instanceKeeper.getOrCreateSimple(key = "currentChildBackEventHandle") { MutableSharedFlow() } @@ -57,12 +52,10 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( parentBackEvent = currentChildBackEventHandle, ) - private val stackNavigation = StackNavigation() - private val childStack: Value> = childStack( key = "innerStack", - source = stackNavigation, + source = model.stackNavigation, serializer = null, initialConfiguration = model.initialRoute, handleBackButton = true, @@ -75,7 +68,7 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( ) override val innerNavigation: InnerNavigation = object : InnerNavigation { - override val state: StateFlow = innerNavigationState + override val state: StateFlow = model.innerNavigationState override fun pop(onComplete: (Boolean) -> Unit) { if (childStack.value.active.configuration is OnboardingVisaRoute.AccessCode) { @@ -91,7 +84,7 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( childStack.observe(lifecycle) { stack -> val currentRoute = stack.active.configuration params.titleProvider.changeTitle(currentRoute.screenTitle()) - innerNavigationState.update { it.copy(stackSize = currentRoute.stepNum()) } + model.updateStepForNewRoute(currentRoute) } } @@ -106,74 +99,51 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( params = OnboardingVisaWelcomeComponent.Params( isWelcomeBack = route.isWelcomeBack, childParams = childParams, - onDone = { stackNavigation.push(OnboardingVisaRoute.AccessCode) }, + onDone = { model.navigateFromWelcome(route) }, ), ) OnboardingVisaRoute.AccessCode -> OnboardingVisaAccessCodeComponent( appComponentContext = factoryContext, params = OnboardingVisaAccessCodeComponent.Params( childParams = childParams, - onDone = { - stackNavigation.push( - if (it.walletFound) { - OnboardingVisaRoute.TangemWalletApproveOption( - visaDataForApprove = it.visaDataForApprove, - allowNavigateBack = false, - ) - } else { - OnboardingVisaRoute.ChooseWallet(it.visaDataForApprove) - }, - ) - }, + onDone = { model.navigateFromAccessCode(it) }, ), config = OnboardingVisaAccessCodeComponent.Config( - scanResponse = params.scanResponse, + scanResponse = model.currentScanResponse.value, ), ) is OnboardingVisaRoute.ChooseWallet -> OnboardingVisaChooseWalletComponent( appComponentContext = factoryContext, params = OnboardingVisaChooseWalletComponent.Params( childParams = childParams, - onEvent = { event -> - stackNavigation.push( - when (event) { - OnboardingVisaChooseWalletComponent.Params.Event.TangemWallet -> - OnboardingVisaRoute.TangemWalletApproveOption( - visaDataForApprove = route.visaDataForApprove, - allowNavigateBack = true, - ) - OnboardingVisaChooseWalletComponent.Params.Event.OtherWallet -> - OnboardingVisaRoute.OtherWalletApproveOption(route.visaDataForApprove) - }, - ) - }, + onEvent = { event -> model.navigateFromChooseWallet(route, event) }, ), ) OnboardingVisaRoute.InProgress -> OnboardingVisaInProgressComponent( appComponentContext = factoryContext, config = OnboardingVisaInProgressComponent.Config( - scanResponse = params.scanResponse, + scanResponse = model.currentScanResponse.value, ), params = OnboardingVisaInProgressComponent.Params( childParams = childParams, - onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, + onDone = { model.stackNavigation.push(OnboardingVisaRoute.PinCode) }, ), ) is OnboardingVisaRoute.OtherWalletApproveOption -> OnboardingVisaOtherWalletComponent( appComponentContext = factoryContext, config = OnboardingVisaOtherWalletComponent.Config( - scanResponse = params.scanResponse, + scanResponse = model.currentScanResponse.value, visaDataForApprove = route.visaDataForApprove, ), params = OnboardingVisaOtherWalletComponent.Params( childParams = childParams, - onDone = { stackNavigation.push(OnboardingVisaRoute.PinCode) }, + onDone = { model.stackNavigation.push(OnboardingVisaRoute.PinCode) }, ), ) OnboardingVisaRoute.PinCode -> OnboardingVisaPinCodeComponent( appComponentContext = factoryContext, config = OnboardingVisaPinCodeComponent.Config( - scanResponse = params.scanResponse, + scanResponse = model.currentScanResponse.value, ), params = OnboardingVisaPinCodeComponent.Params( childParams = childParams, @@ -187,36 +157,16 @@ internal class DefaultOnboardingVisaComponent @AssistedInject constructor( ), params = OnboardingVisaApproveComponent.Params( childParams = childParams, - onDone = { stackNavigation.push(OnboardingVisaRoute.InProgress) }, + onDone = { model.stackNavigation.push(OnboardingVisaRoute.InProgress) }, ), ) } } - private fun onChildBack() { - if (childStack.value.backStack.size == 1) { - // TODO show dialog - return - } - - when (val route = childStack.value.active.configuration) { - OnboardingVisaRoute.AccessCode, - is OnboardingVisaRoute.OtherWalletApproveOption, - -> stackNavigation.pop() - is OnboardingVisaRoute.TangemWalletApproveOption -> { - if (route.allowNavigateBack) { - stackNavigation.pop() - } - } - - is OnboardingVisaRoute.Welcome, - is OnboardingVisaRoute.ChooseWallet, - OnboardingVisaRoute.InProgress, - OnboardingVisaRoute.PinCode, - -> { - } - } - } + private fun onChildBack() = model.onChildBack( + currentRoute = childStack.value.active.configuration, + lastRoute = childStack.value.backStack.size == 1, + ) @Composable override fun Content(modifier: Modifier) { diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt index 6508b14557..5a8b17a5c2 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/OnboardingVisaAccessCodeComponent.kt @@ -60,5 +60,6 @@ internal class OnboardingVisaAccessCodeComponent( data class DoneEvent( val visaDataForApprove: VisaDataForApprove, val walletFound: Boolean, + val newScanResponse: ScanResponse, ) } \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt index 01ed148a2f..5c78636e38 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt @@ -14,7 +14,10 @@ import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.OnboardingVi import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.state.OnboardingVisaAccessCodeUM import com.tangem.sdk.api.TangemSdkManager import com.tangem.utils.coroutines.CoroutineDispatcherProvider -import kotlinx.coroutines.flow.* +import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import javax.inject.Inject @@ -146,6 +149,9 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( approveHash = "48b55c482123a10ad9022f9f4c5dd95c", ), walletFound = false, // TODO + newScanResponse = params.scanResponse.copy( + card = result.data.newCardDTO, + ), ), ) } diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt index 6db2601978..c65e7afaeb 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/pincode/ui/OnboardingVisaPinCode.kt @@ -16,7 +16,6 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.alpha import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester -import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color.Companion.Transparent import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.platform.LocalSoftwareKeyboardController @@ -160,7 +159,7 @@ private fun PinCode( Box( modifier = Modifier .background( - color = Color(color = 0xFFF5F5F5), + color = TangemTheme.colors.field.primary, shape = TangemTheme.shapes.roundedCornersXMedium, ) .padding( diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt index fab035bcb3..f1eab1d0d0 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/model/OnboardingVisaModel.kt @@ -1,13 +1,23 @@ package com.tangem.features.onboarding.v2.visa.impl.model import androidx.compose.runtime.Stable +import com.arkivanov.decompose.router.stack.StackNavigation +import com.arkivanov.decompose.router.stack.pop +import com.arkivanov.decompose.router.stack.push import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.domain.visa.model.VisaActivationRemoteState +import com.tangem.domain.visa.model.VisaCardActivationStatus import com.tangem.features.onboarding.v2.visa.api.OnboardingVisaComponent +import com.tangem.features.onboarding.v2.visa.impl.OnboardingVisaInnerNavigationState +import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.OnboardingVisaAccessCodeComponent +import com.tangem.features.onboarding.v2.visa.impl.child.choosewallet.OnboardingVisaChooseWalletComponent import com.tangem.features.onboarding.v2.visa.impl.route.OnboardingVisaRoute import com.tangem.features.onboarding.v2.visa.impl.route.stepNum import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.asStateFlow import javax.inject.Inject @Stable @@ -20,7 +30,107 @@ internal class OnboardingVisaModel @Inject constructor( @Suppress("UnusedPrivateMember") private val params = paramsContainer.require() - val initialRoute = OnboardingVisaRoute.Welcome(isWelcomeBack = false) + private val _currentScanResponse = MutableStateFlow(params.scanResponse) - val initialStepNum = initialRoute.stepNum() + val initialRoute = initializeRoute() + + val stackNavigation = StackNavigation() + + private val _innerNavigationState = + MutableStateFlow(OnboardingVisaInnerNavigationState(stackSize = initialRoute.stepNum())) + + val currentScanResponse = _currentScanResponse.asStateFlow() + + val innerNavigationState = _innerNavigationState.asStateFlow() + + fun updateStepForNewRoute(route: OnboardingVisaRoute) { + _innerNavigationState.value = innerNavigationState.value.copy( + stackSize = route.stepNum(), + ) + } + + fun navigateFromWelcome(route: OnboardingVisaRoute.Welcome) { + if (route.isWelcomeBack) { + val scanResponse = _currentScanResponse.value + val activationStatus = scanResponse.visaCardActivationStatus as? VisaCardActivationStatus + .ActivationStarted ?: error("Activation status is not correct for welcome back route") + + when (activationStatus.remoteState) { + VisaActivationRemoteState.CardWalletSignatureRequired, + VisaActivationRemoteState.CustomerWalletSignatureRequired, + -> OnboardingVisaRoute.AccessCode + VisaActivationRemoteState.WaitingPinCode -> OnboardingVisaRoute.PinCode + VisaActivationRemoteState.WaitingForActivationFinishing -> OnboardingVisaRoute.InProgress + VisaActivationRemoteState.PaymentAccountDeploying -> OnboardingVisaRoute.InProgress + else -> error("Remote state is not correct for welcome back route") + } + } else { + stackNavigation.push(OnboardingVisaRoute.AccessCode) + } + } + + fun navigateFromAccessCode(result: OnboardingVisaAccessCodeComponent.DoneEvent) { + _currentScanResponse.value = result.newScanResponse + stackNavigation.push( + if (result.walletFound) { + OnboardingVisaRoute.TangemWalletApproveOption( + visaDataForApprove = result.visaDataForApprove, + allowNavigateBack = false, + ) + } else { + OnboardingVisaRoute.ChooseWallet(result.visaDataForApprove) + }, + ) + } + + fun navigateFromChooseWallet( + route: OnboardingVisaRoute.ChooseWallet, + event: OnboardingVisaChooseWalletComponent.Params.Event, + ) { + stackNavigation.push( + when (event) { + OnboardingVisaChooseWalletComponent.Params.Event.TangemWallet -> + OnboardingVisaRoute.TangemWalletApproveOption( + visaDataForApprove = route.visaDataForApprove, + allowNavigateBack = true, + ) + OnboardingVisaChooseWalletComponent.Params.Event.OtherWallet -> + OnboardingVisaRoute.OtherWalletApproveOption(route.visaDataForApprove) + }, + ) + } + + fun onChildBack(currentRoute: OnboardingVisaRoute, lastRoute: Boolean) { + if (lastRoute) { + // TODO show dialog + return + } + + when (currentRoute) { + OnboardingVisaRoute.AccessCode, + is OnboardingVisaRoute.OtherWalletApproveOption, + -> stackNavigation.pop() + is OnboardingVisaRoute.TangemWalletApproveOption -> { + if (currentRoute.allowNavigateBack) { + stackNavigation.pop() + } + } + is OnboardingVisaRoute.Welcome, + is OnboardingVisaRoute.ChooseWallet, + OnboardingVisaRoute.InProgress, + OnboardingVisaRoute.PinCode, + -> { + } + } + } + + private fun initializeRoute(): OnboardingVisaRoute { + val activationStatus = params.scanResponse.visaCardActivationStatus + + return when (activationStatus) { + is VisaCardActivationStatus.ActivationStarted -> OnboardingVisaRoute.Welcome(isWelcomeBack = true) + is VisaCardActivationStatus.NotStartedActivation -> OnboardingVisaRoute.Welcome(isWelcomeBack = false) + else -> error("Visa activation status is not correct for onboarding flow") + } + } } \ No newline at end of file diff --git a/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt b/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt index fd17f4da84..754f3ea551 100644 --- a/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt +++ b/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/TangemSdkManager.kt @@ -17,13 +17,13 @@ import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ScanResponse import com.tangem.domain.visa.model.VisaActivationInput import com.tangem.domain.visa.model.VisaAuthChallenge -import com.tangem.domain.visa.model.VisaCardActivationResponse import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.wallets.models.UserWalletId import com.tangem.operations.derivation.DerivationTaskResponse import com.tangem.operations.preflightread.PreflightReadFilter import com.tangem.operations.sign.SignHashResponse import com.tangem.operations.wallet.CreateWalletResponse +import com.tangem.sdk.api.visa.VisaCardActivationResponse @Suppress("TooManyFunctions") interface TangemSdkManager { diff --git a/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/visa/VisaCardActivationResponse.kt b/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/visa/VisaCardActivationResponse.kt new file mode 100644 index 0000000000..50da653b5e --- /dev/null +++ b/libs/tangem-sdk-api/src/main/kotlin/com/tangem/sdk/api/visa/VisaCardActivationResponse.kt @@ -0,0 +1,11 @@ +package com.tangem.sdk.api.visa + +import com.tangem.domain.models.scan.CardDTO +import com.tangem.domain.visa.model.SignedActivationOrder +import com.tangem.domain.visa.model.VisaRootOTP + +data class VisaCardActivationResponse( + val signedActivationOrder: SignedActivationOrder, + val rootOTP: VisaRootOTP, + val newCardDTO: CardDTO, +) \ No newline at end of file From d8348757d268ad8d493887e3ac76ae2d02308e69 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 29 Jan 2025 14:12:01 +0200 Subject: [PATCH 38/61] Updated on 2026-08-14 --- .../find-latest-pre-release-branch.sh | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 ci_resources/find-latest-pre-release-branch.sh diff --git a/ci_resources/find-latest-pre-release-branch.sh b/ci_resources/find-latest-pre-release-branch.sh new file mode 100755 index 0000000000..f422f6d0ed --- /dev/null +++ b/ci_resources/find-latest-pre-release-branch.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +set -eo pipefail + +# Input args +if [ -z "$1" ]; then + echo "Error: No base branch argument provided or empty string given." + echo "Usage: $0 " + exit 1 +fi +base_branch=$1 + +# Initialize variables to store the latest release branch and merge base +latest_branch="" +latest_merge_base="" + +# Source refs to find branches from +local_refs="refs/heads/releases/*" # For debug and development +remote_refs=$(git for-each-ref --format="%(refname:short)" refs/remotes/origin/ | grep -E "origin/[a-zA-Z0-9._-]+_pre_release$") + +# Iterate over all remote release branches sorted by commit date (most recent first) +for branch in $remote_refs; do + merge_base=$(git merge-base "$base_branch" "$branch") + + echo "Merge base for branches '$branch' and '$base_branch' is '$merge_base'" + + if [ -z "$latest_merge_base" ] || git rev-list "$merge_base..$base_branch" | grep -q .; then + echo "Update" + latest_branch="$branch" + latest_merge_base="$merge_base" + fi +done + +echo "Latest branch: $latest_branch" +echo "Latest merge base: $latest_merge_base" + + +# Output validation +if [ -z "$latest_branch" ]; then + echo "Error: Can't find the latest 'pre_release' branch for the base branch '$base_branch'" + exit 2 +fi + +# Stripping 'origin/' prefix if needed +latest_branch="${latest_branch#origin/}" + +echo "$latest_branch" > "find-latest-pre-release-branch.output" +echo "Latest release branch created directly from '$base_branch' or its ancestor: '$latest_branch'" From 2d67f5a8fd8c7be2eaafe96afb141d8c0142713c Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 29 Jan 2025 16:55:54 +0300 Subject: [PATCH 39/61] Updated on 2026-08-14 --- .../network/auth/DefaultVisaAuthProvider.kt | 12 ++- .../tangem/data/visa/DefaultVisaRepository.kt | 97 +++++++++++++++++-- .../data/visa/di/ImplementedVisaDataModule.kt | 19 +--- .../visa/utils/VisaTxHistoryPagingSource.kt | 12 +-- .../data/visa/DefaultVisaAuthRepository.kt | 11 ++- .../domain/visa/model/VisaAuthTokens.kt | 9 +- .../visa/model/VisaCardActivationStatus.kt | 3 + .../exception/RefreshTokenExpiredException.kt | 3 + .../visa/repository/VisaAuthRepository.kt | 2 + .../kotlin/com/tangem/lib/visa/api/VisaApi.kt | 2 + 10 files changed, 135 insertions(+), 35 deletions(-) create mode 100644 domain/visa/src/main/kotlin/com/tangem/domain/visa/exception/RefreshTokenExpiredException.kt diff --git a/app/src/main/java/com/tangem/tap/network/auth/DefaultVisaAuthProvider.kt b/app/src/main/java/com/tangem/tap/network/auth/DefaultVisaAuthProvider.kt index 36aa8bf2de..921fce0ccc 100644 --- a/app/src/main/java/com/tangem/tap/network/auth/DefaultVisaAuthProvider.kt +++ b/app/src/main/java/com/tangem/tap/network/auth/DefaultVisaAuthProvider.kt @@ -1,14 +1,20 @@ package com.tangem.tap.network.auth import com.tangem.datasource.api.common.visa.TangemVisaAuthProvider -import com.tangem.datasource.local.visa.VisaAuthTokenStorage +import com.tangem.domain.visa.model.VisaCardActivationStatus +import com.tangem.domain.wallets.legacy.UserWalletsListManager import javax.inject.Inject internal class DefaultVisaAuthProvider @Inject constructor( - private val authStorage: VisaAuthTokenStorage, + private val userWalletsListManager: UserWalletsListManager, ) : TangemVisaAuthProvider { override suspend fun getAuthHeader(cardId: String): String { - return authStorage.get(cardId)?.accessToken?.let { "Bearer $it" } ?: "Error in the app!" + val card = userWalletsListManager.userWalletsSync.firstOrNull { it.cardId == cardId } + val status = card?.scanResponse?.visaCardActivationStatus as? VisaCardActivationStatus.Activated + ?: return "Error in the app!" + val accessToken = status.visaAuthTokens.accessToken + + return "Bearer $accessToken" } } \ No newline at end of file diff --git a/data/visa/src/debug/kotlin/com/tangem/data/visa/DefaultVisaRepository.kt b/data/visa/src/debug/kotlin/com/tangem/data/visa/DefaultVisaRepository.kt index e558b2def0..f3211c1994 100644 --- a/data/visa/src/debug/kotlin/com/tangem/data/visa/DefaultVisaRepository.kt +++ b/data/visa/src/debug/kotlin/com/tangem/data/visa/DefaultVisaRepository.kt @@ -6,22 +6,25 @@ import androidx.paging.PagingData import arrow.fx.coroutines.parZip import com.tangem.blockchain.common.address.Address import com.tangem.blockchain.common.address.AddressType -import com.tangem.common.card.EllipticCurve import com.tangem.common.extensions.hexToBytes import com.tangem.common.extensions.toHexString import com.tangem.data.common.cache.CacheRegistry import com.tangem.data.visa.config.VisaLibLoader import com.tangem.data.visa.utils.* +import com.tangem.datasource.api.common.response.ApiResponseError import com.tangem.datasource.api.common.response.getOrThrow +import com.tangem.datasource.api.common.visa.TangemVisaAuthProvider import com.tangem.datasource.api.tangemTech.TangemTechApi import com.tangem.datasource.local.userwallet.UserWalletsStore import com.tangem.domain.common.util.cardTypesResolver -import com.tangem.domain.visa.model.VisaCurrency -import com.tangem.domain.visa.model.VisaTxDetails -import com.tangem.domain.visa.model.VisaTxHistoryItem +import com.tangem.domain.common.visa.VisaUtilities +import com.tangem.domain.visa.exception.RefreshTokenExpiredException +import com.tangem.domain.visa.model.* +import com.tangem.domain.visa.repository.VisaAuthRepository import com.tangem.domain.visa.repository.VisaRepository import com.tangem.domain.wallets.models.UserWallet import com.tangem.domain.wallets.models.UserWalletId +import com.tangem.lib.visa.api.VisaApi import com.tangem.lib.visa.model.VisaTxHistoryResponse import com.tangem.utils.coroutines.CoroutineDispatcherProvider import kotlinx.coroutines.flow.Flow @@ -29,13 +32,19 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.withContext import java.math.BigDecimal +import javax.inject.Inject +import javax.inject.Singleton +import kotlin.jvm.Throws -internal class DefaultVisaRepository( +@Singleton +internal class DefaultVisaRepository @Inject constructor( private val visaLibLoader: VisaLibLoader, private val tangemTechApi: TangemTechApi, private val cacheRegistry: CacheRegistry, private val userWalletsStore: UserWalletsStore, private val dispatchers: CoroutineDispatcherProvider, + private val visaAuthProvider: TangemVisaAuthProvider, + private val visaAuthRepository: VisaAuthRepository, ) : VisaRepository { private val currencyFactory by lazy(mode = LazyThreadSafetyMode.NONE) { @@ -106,11 +115,12 @@ internal class DefaultVisaRepository( cardPublicKey = cardPubKey, pageSize = pageSize, isRefresh = isRefresh, + userWallet = userWallet, ), cacheRegistry = cacheRegistry, - visaApi = api, fetchedItems = fetchedHistoryItems, dispatchers = dispatchers, + requestTxHistory = { offset, pageSize -> getTxHistory(api, userWalletId, offset, pageSize) }, ) }, ) @@ -134,6 +144,25 @@ internal class DefaultVisaRepository( } } + private suspend fun getTxHistory( + api: VisaApi, + userWalletId: UserWalletId, + offset: Int, + pageSize: Int, + ): VisaTxHistoryResponse = withContext(dispatchers.io) { + val userWallet = findVisaUserWallet(userWalletId) + val cardPubKey = getCardPubKey(userWallet) + + request(userWalletId = userWalletId) { + api.getTxHistory( + authorizationHeader = visaAuthProvider.getAuthHeader(userWallet.cardId), + cardPublicKey = cardPubKey, + limit = pageSize, + offset = offset, + ).getOrThrow() + } + } + private suspend fun makeAddress(userWalletId: UserWalletId): String { if (VisaConstants.IS_DEMO_MODE_ENABLED) return getDemoAddress() @@ -166,9 +195,9 @@ internal class DefaultVisaRepository( if (VisaConstants.IS_DEMO_MODE_ENABLED) return getDemoPublicKey() val cardWallet = userWallet.scanResponse.card.wallets.firstOrNull { - it.curve == EllipticCurve.Secp256k1 + it.curve == VisaUtilities.mandatoryCurve } - requireNotNull(cardWallet) { "Secp256k1 card wallet not found" } + requireNotNull(cardWallet) { "Visa card wallet not found" } return cardWallet.publicKey.toHexString() } @@ -187,4 +216,56 @@ internal class DefaultVisaRepository( private fun getVisaCurrencyKey(address: String): String { return "visa_currency_$address" } + + private suspend fun request( + userWalletId: UserWalletId, + requestBlock: suspend () -> T, + ): T { + return runCatching { + requestBlock() + }.getOrElse { responseError -> + if (responseError !is ApiResponseError.HttpException || + responseError.code != ApiResponseError.HttpException.Code.UNAUTHORIZED + ) { + throw responseError + } + + val authTokens = getAuthTokens(userWalletId) + val newTokens = runCatching { + visaAuthRepository.refreshAccessTokens(authTokens.refreshToken) + }.getOrElse { + if (it is ApiResponseError.HttpException && + it.code == ApiResponseError.HttpException.Code.UNAUTHORIZED + ) { + userWalletsStore.update(userWalletId) { userWallet -> + userWallet.copy( + scanResponse = userWallet.scanResponse.copy( + visaCardActivationStatus = VisaCardActivationStatus.RefreshTokenExpired + ) + ) + } + } + throw RefreshTokenExpiredException() + } + + userWalletsStore.update(userWalletId) { userWallet -> + userWallet.copy( + scanResponse = userWallet.scanResponse.copy( + visaCardActivationStatus = VisaCardActivationStatus.Activated( + visaAuthTokens = newTokens + ) + ) + ) + } + + requestBlock() + } + } + + @Throws + private suspend fun getAuthTokens(userWalletId: UserWalletId): VisaAuthTokens { + val userWallet = findVisaUserWallet(userWalletId) + val status = userWallet.scanResponse.visaCardActivationStatus ?: error("Visa card activation status not found") + return (status as? VisaCardActivationStatus.Activated)?.visaAuthTokens ?: error("Visa card is not activated") + } } \ No newline at end of file diff --git a/data/visa/src/debug/kotlin/com/tangem/data/visa/di/ImplementedVisaDataModule.kt b/data/visa/src/debug/kotlin/com/tangem/data/visa/di/ImplementedVisaDataModule.kt index 60d487838e..efb081bdc6 100644 --- a/data/visa/src/debug/kotlin/com/tangem/data/visa/di/ImplementedVisaDataModule.kt +++ b/data/visa/src/debug/kotlin/com/tangem/data/visa/di/ImplementedVisaDataModule.kt @@ -7,6 +7,7 @@ import com.tangem.datasource.api.tangemTech.TangemTechApi import com.tangem.datasource.local.userwallet.UserWalletsStore import com.tangem.domain.visa.repository.VisaRepository import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import dagger.Binds import dagger.Module import dagger.Provides import dagger.hilt.InstallIn @@ -15,22 +16,10 @@ import javax.inject.Singleton @Module @InstallIn(SingletonComponent::class) -internal object ImplementedVisaDataModule { +internal interface ImplementedVisaDataModule { - @Provides + @Binds @Singleton @ImplementedVisaRepository - fun provideVisaRepository( - visaLibLoader: VisaLibLoader, - tangemTechApi: TangemTechApi, - cacheRegistry: CacheRegistry, - userWalletsStore: UserWalletsStore, - dispatchers: CoroutineDispatcherProvider, - ): VisaRepository = DefaultVisaRepository( - visaLibLoader, - tangemTechApi, - cacheRegistry, - userWalletsStore, - dispatchers, - ) + fun provideVisaRepository(impl: DefaultVisaRepository): VisaRepository } \ No newline at end of file diff --git a/data/visa/src/debug/kotlin/com/tangem/data/visa/utils/VisaTxHistoryPagingSource.kt b/data/visa/src/debug/kotlin/com/tangem/data/visa/utils/VisaTxHistoryPagingSource.kt index 4af82f3014..e233435e55 100644 --- a/data/visa/src/debug/kotlin/com/tangem/data/visa/utils/VisaTxHistoryPagingSource.kt +++ b/data/visa/src/debug/kotlin/com/tangem/data/visa/utils/VisaTxHistoryPagingSource.kt @@ -3,8 +3,11 @@ package com.tangem.data.visa.utils import androidx.paging.PagingSource import androidx.paging.PagingState import com.tangem.data.common.cache.CacheRegistry +import com.tangem.datasource.api.common.response.ApiResponseError import com.tangem.datasource.api.common.response.getOrThrow +import com.tangem.datasource.api.common.visa.TangemVisaAuthProvider import com.tangem.domain.visa.model.VisaTxHistoryItem +import com.tangem.domain.wallets.models.UserWallet import com.tangem.lib.visa.api.VisaApi import com.tangem.lib.visa.model.VisaTxHistoryResponse import com.tangem.utils.coroutines.CoroutineDispatcherProvider @@ -16,9 +19,9 @@ import timber.log.Timber internal class VisaTxHistoryPagingSource( params: Params, private val cacheRegistry: CacheRegistry, - private val visaApi: VisaApi, private val fetchedItems: MutableStateFlow>>, private val dispatchers: CoroutineDispatcherProvider, + val requestTxHistory: suspend (offset: Int, pageSize: Int) -> VisaTxHistoryResponse, ) : PagingSource() { private val itemsFactory = VisaTxHistoryItemFactory() @@ -73,11 +76,7 @@ internal class VisaTxHistoryPagingSource( } private suspend fun fetchItems(offset: Int, pageSize: Int) = withContext(dispatchers.io) { - val response = visaApi.getTxHistory( - cardPublicKey = cardPublicKey, - limit = pageSize, - offset = offset, - ).getOrThrow() + val response = requestTxHistory(offset, pageSize) fetchedItems.update { it.toMutableMap().apply { @@ -97,6 +96,7 @@ internal class VisaTxHistoryPagingSource( } class Params( + val userWallet: UserWallet, val cardPublicKey: String, val pageSize: Int, val isRefresh: Boolean, diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt index a4646bf7b6..5174396612 100644 --- a/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt +++ b/data/visa/src/main/kotlin/com/tangem/data/visa/DefaultVisaAuthRepository.kt @@ -80,7 +80,16 @@ internal class DefaultVisaAuthRepository @Inject constructor( // ) VisaAuthTokens( accessToken = "accessToken", - refreshToken = "refreshToken", + refreshToken = VisaAuthTokens.RefreshToken("refreshToken"), + ) + } + + override suspend fun refreshAccessTokens(refreshToken: VisaAuthTokens.RefreshToken): VisaAuthTokens = + withContext(dispatchers.io) { + // TODO + VisaAuthTokens( + accessToken = "accessToken", + refreshToken = VisaAuthTokens.RefreshToken("new refreshToken"), ) } } \ No newline at end of file diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaAuthTokens.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaAuthTokens.kt index 0341e9ad8a..7131b2533f 100644 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaAuthTokens.kt +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaAuthTokens.kt @@ -8,5 +8,10 @@ import kotlinx.serialization.Serializable @JsonClass(generateAdapter = true) data class VisaAuthTokens( @Json(name = "accessToken") val accessToken: String, - @Json(name = "refreshToken") val refreshToken: String, -) \ No newline at end of file + @Json(name = "refreshToken") val refreshToken: RefreshToken, +) { + + @Serializable + @JvmInline + value class RefreshToken(val value: String) +} \ No newline at end of file diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaCardActivationStatus.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaCardActivationStatus.kt index 7e1a10a1c8..dc9e44c563 100644 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaCardActivationStatus.kt +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaCardActivationStatus.kt @@ -27,6 +27,9 @@ sealed class VisaCardActivationStatus { @Serializable data object Blocked : VisaCardActivationStatus() + @Serializable + data object RefreshTokenExpired : VisaCardActivationStatus() + companion object { val jsonAdapter: PolymorphicJsonAdapterFactory get() = PolymorphicJsonAdapterFactory.of(VisaCardActivationStatus::class.java, "type") diff --git a/domain/visa/src/main/kotlin/com/tangem/domain/visa/exception/RefreshTokenExpiredException.kt b/domain/visa/src/main/kotlin/com/tangem/domain/visa/exception/RefreshTokenExpiredException.kt new file mode 100644 index 0000000000..a125157184 --- /dev/null +++ b/domain/visa/src/main/kotlin/com/tangem/domain/visa/exception/RefreshTokenExpiredException.kt @@ -0,0 +1,3 @@ +package com.tangem.domain.visa.exception + +class RefreshTokenExpiredException : Exception("Visa: refresh token expired") \ No newline at end of file diff --git a/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaAuthRepository.kt b/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaAuthRepository.kt index a280b47b2c..1182e20b73 100644 --- a/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaAuthRepository.kt +++ b/domain/visa/src/main/kotlin/com/tangem/domain/visa/repository/VisaAuthRepository.kt @@ -11,4 +11,6 @@ interface VisaAuthRepository { suspend fun getCustomerWalletAuthChallenge(cardId: String, walletPublicKey: String): VisaAuthChallenge.Wallet suspend fun getAccessTokens(signedChallenge: VisaAuthSignedChallenge): VisaAuthTokens + + suspend fun refreshAccessTokens(refreshToken: VisaAuthTokens.RefreshToken): VisaAuthTokens } \ No newline at end of file diff --git a/libs/visa/src/main/kotlin/com/tangem/lib/visa/api/VisaApi.kt b/libs/visa/src/main/kotlin/com/tangem/lib/visa/api/VisaApi.kt index b05b3096a2..106ced7a60 100644 --- a/libs/visa/src/main/kotlin/com/tangem/lib/visa/api/VisaApi.kt +++ b/libs/visa/src/main/kotlin/com/tangem/lib/visa/api/VisaApi.kt @@ -3,12 +3,14 @@ package com.tangem.lib.visa.api import com.tangem.datasource.api.common.response.ApiResponse import com.tangem.lib.visa.model.VisaTxHistoryResponse import retrofit2.http.GET +import retrofit2.http.Header import retrofit2.http.Query interface VisaApi { @GET("transaction") suspend fun getTxHistory( + @Header("Authorization") authorizationHeader: String, @Query("card_public_key") cardPublicKey: String, @Query("limit") limit: Int, @Query("offset") offset: Int, From 4ae680e1c4566b6bbf27742b44f25bb50da09163 Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 29 Jan 2025 16:56:12 +0300 Subject: [PATCH 40/61] Updated on 2026-08-14 --- .../visa/VisaCustomerWalletApproveTask.kt | 13 ++++++-- .../domain/visa/model/VisaDataForApprove.kt | 1 + .../model/OnboardingVisaAccessCodeModel.kt | 32 +++++++++++++++++-- 3 files changed, 41 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt index c9fb9dc1d0..541f367b08 100644 --- a/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt +++ b/app/src/main/java/com/tangem/tap/domain/tasks/visa/VisaCustomerWalletApproveTask.kt @@ -33,8 +33,17 @@ class VisaCustomerWalletApproveTask( return } - if (VisaUtilities.isVisaCard(card.firmwareVersion.doubleValue, card.batchId).not()) { - callback(CompletionResult.Failure(TangemSdkError.Underlying("Card is identified as not Visa"))) + if (VisaUtilities.isVisaCard(card.firmwareVersion.doubleValue, card.batchId)) { + callback(CompletionResult.Failure(TangemSdkError.Underlying("Can't use Visa card for approve"))) + return + } + + if (visaDataForApprove.customerWalletCardId != null && card.cardId != visaDataForApprove.customerWalletCardId) { + callback( + CompletionResult.Failure( + TangemSdkError.Underlying("Use tangem wallet specified during visa registration"), + ), + ) return } diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt index 5a5fe7cb4d..93ec3d29d8 100644 --- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt +++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/VisaDataForApprove.kt @@ -5,6 +5,7 @@ import kotlinx.serialization.Serializable @Serializable data class VisaDataForApprove( + @SerialName("customerWalletCardId") val customerWalletCardId: String?, @SerialName("targetAddress") val targetAddress: String, @SerialName("approveHash") val approveHash: String, ) \ No newline at end of file diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt index 5c78636e38..0778d05cbe 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/visa/impl/child/accesscode/model/OnboardingVisaAccessCodeModel.kt @@ -7,9 +7,12 @@ import com.tangem.common.extensions.toHexString import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.domain.common.visa.VisaUtilities +import com.tangem.domain.common.visa.VisaWalletPublicKeyUtility import com.tangem.domain.visa.model.VisaCardActivationStatus import com.tangem.domain.visa.model.VisaDataForApprove import com.tangem.domain.visa.repository.VisaAuthRepository +import com.tangem.domain.wallets.usecase.GetWalletsUseCase import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.OnboardingVisaAccessCodeComponent import com.tangem.features.onboarding.v2.visa.impl.child.accesscode.ui.state.OnboardingVisaAccessCodeUM import com.tangem.sdk.api.TangemSdkManager @@ -29,6 +32,7 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( @Suppress("UnusedPrivateMember") private val tangemSdkManager: TangemSdkManager, private val visaAuthRepository: VisaAuthRepository, + private val getWalletsUseCase: GetWalletsUseCase, ) : Model() { private val params: OnboardingVisaAccessCodeComponent.Config = paramsContainer.require() @@ -139,16 +143,18 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( when (result) { is CompletionResult.Success -> { // TODO load approve data from backend - // TODO try to find wallet in the app + val targetAddress = "x9F65354e595284956599F2892fA4A4a87653D6E6" + val foundCardId = tryToFindExistingWalletCardId(targetAddress) modelScope.launch { onDone.emit( OnboardingVisaAccessCodeComponent.DoneEvent( visaDataForApprove = VisaDataForApprove( - targetAddress = "x9F65354e595284956599F2892fA4A4a87653D6E6", + targetAddress = targetAddress, approveHash = "48b55c482123a10ad9022f9f4c5dd95c", + customerWalletCardId = foundCardId, ), - walletFound = false, // TODO + walletFound = foundCardId != null, newScanResponse = params.scanResponse.copy( card = result.data.newCardDTO, ), @@ -164,6 +170,26 @@ internal class OnboardingVisaAccessCodeModel @Inject constructor( } } + private fun tryToFindExistingWalletCardId(targetAddress: String): String? { + val wallets = getWalletsUseCase.invokeSync().filter { it.isLocked.not() } + + return wallets.firstOrNull { wallet -> + wallet.scanResponse.card.wallets.any { + val derivedKey = it.derivedKeys[VisaUtilities.visaDefaultDerivationPath] ?: return@any false + + VisaWalletPublicKeyUtility.validateExtendedPublicKey( + targetAddress = targetAddress, + extendedPublicKey = derivedKey, + ).onLeft { + return@any VisaWalletPublicKeyUtility.findKeyWithoutDerivation( + targetAddress = targetAddress, + card = wallet.scanResponse.card, + ).isRight() + }.isRight() + } + }?.cardId + } + private fun loading(state: Boolean) { _uiState.update { it.copy(buttonLoading = state) } } From 0d5671c09f49b83d6768f7cd129647ccd8a37486 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 30 Jan 2025 15:37:08 +0300 Subject: [PATCH 41/61] Updated on 2026-08-14 --- .../src/main/assets/configs/feature_toggles_config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json index de076e5379..f687e4fd35 100644 --- a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json +++ b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json @@ -25,7 +25,7 @@ }, { "name": "NAVIGATION_REFACTORING", - "version": "5.21.0" + "version": "undefined" }, { "name": "SWAP_STORIES_ENABLED", From fb05f7cf322483366aacdacf0b9b22982866054d Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 30 Jan 2025 20:17:00 +0500 Subject: [PATCH 42/61] Updated on 2026-08-14 --- .../ui/expressStatus/ExpressHideButton.kt | 44 +++++++++++++++++++ .../state/ExpressTransactionStateUM.kt | 1 + core/res/src/main/res/values-de/strings.xml | 7 +++ core/res/src/main/res/values-ja/strings.xml | 6 ++- core/res/src/main/res/values/strings.xml | 8 ++++ .../domain/models/domain/ExchangeStatus.kt | 12 +++++ .../components/TokenDetailsDialogConfig.kt | 18 ++++++++ .../tokendetails/state/express/ExchangeUM.kt | 1 - ...nDetailsOnrampTransactionStateConverter.kt | 1 + .../state/factory/TokenDetailsStateFactory.kt | 16 +++++++ ...enDetailsSwapTransactionsStateConverter.kt | 12 ++--- .../factory/express/ExchangeStatusFactory.kt | 21 ++------- .../factory/express/ExpressStatusFactory.kt | 8 ++-- .../ExchangeStatusBottomSheetContent.kt | 6 +++ .../viewmodels/TokenDetailsClickIntents.kt | 4 ++ .../viewmodels/TokenDetailsViewModel.kt | 28 +++++++----- 16 files changed, 151 insertions(+), 42 deletions(-) create mode 100644 common/ui/src/main/java/com/tangem/common/ui/expressStatus/ExpressHideButton.kt diff --git a/common/ui/src/main/java/com/tangem/common/ui/expressStatus/ExpressHideButton.kt b/common/ui/src/main/java/com/tangem/common/ui/expressStatus/ExpressHideButton.kt new file mode 100644 index 0000000000..9c9723be6f --- /dev/null +++ b/common/ui/src/main/java/com/tangem/common/ui/expressStatus/ExpressHideButton.kt @@ -0,0 +1,44 @@ +package com.tangem.common.ui.expressStatus + +import androidx.compose.animation.AnimatedVisibility +import androidx.compose.foundation.clickable +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Text +import androidx.compose.material3.ripple +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.text.style.TextAlign +import androidx.compose.ui.unit.dp +import com.tangem.core.ui.R +import com.tangem.core.ui.extensions.stringResourceSafe +import com.tangem.core.ui.res.TangemTheme + +@Composable +fun ExpressHideButton(isTerminal: Boolean, isAutoDisposable: Boolean, onClick: () -> Unit) { + AnimatedVisibility( + visible = isTerminal && !isAutoDisposable, + label = "Hide button visibility animation", + ) { + Text( + text = stringResourceSafe(R.string.express_status_hide_button_text), + color = TangemTheme.colors.text.tertiary, + style = TangemTheme.typography.button, + textAlign = TextAlign.Center, + modifier = Modifier + .fillMaxWidth() + .padding(start = 12.dp, end = 12.dp, top = 14.dp) + .clip(RoundedCornerShape(12.dp)) + .clickable( + interactionSource = remember { MutableInteractionSource() }, + indication = ripple(bounded = false), + onClick = onClick, + ) + .padding(vertical = 10.dp), + ) + } +} \ No newline at end of file diff --git a/common/ui/src/main/java/com/tangem/common/ui/expressStatus/state/ExpressTransactionStateUM.kt b/common/ui/src/main/java/com/tangem/common/ui/expressStatus/state/ExpressTransactionStateUM.kt index 45138854f8..fb2489e331 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/expressStatus/state/ExpressTransactionStateUM.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/expressStatus/state/ExpressTransactionStateUM.kt @@ -30,6 +30,7 @@ data class ExpressTransactionStateInfoUM( val timestampFormatted: TextReference, val onGoToProviderClick: (String) -> Unit, val onClick: () -> Unit, + val onDisposeExpressStatus: () -> Unit, val iconState: ExpressTransactionStateIconUM, val toAmount: TextReference, val toFiatAmount: TextReference?, diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index ae312288dd..8a48bdcc9f 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -314,6 +314,9 @@ Gekauft %s Kauf %s Kauf %s… + Diese Transaktion ausblenden + Sobald dieser Bildschirm ausgeblendet wurde, kann er nicht mehr aufgerufen werden. + Bist Du sicher, dass Du die Transaktionsdetails ausblenden willst? Keine Token gefunden. Bitte versuche eine andere Anfrage ID: %s Transaktions-ID kopiert @@ -790,6 +793,8 @@ Migrieren Natives Staking Derzeit sind keine aktiven Validatoren für das Staking verfügbar. Bitte versuchen Sie es später erneut. + Beim Staking im Cardano Netzwerk wird das gesamte Guthaben genutzt. Zusätzlich werden 2 ADA reserviert und nach dem Unstaking zurückgegeben. Deine ADA sind während des Stakings nicht gesperrt. + Einzelheiten zum ADA-Staking Verdiente Belohnungen werden an Deine Wallet gesendet und stehen Dir sofort zur Verfügung Stake sicher und verdienen Belohnungen Sicher staken und tägliche Belohnungen verdienen. @@ -803,6 +808,8 @@ Verdiene Staking-Belohnungen Dein verbleibender Stakingbetrag ist zu niedrig, um den Einsatz aufzuheben. Du musst mehr Staken, um den Mindestbetrag zum Aufheben des Einsatzes zu erreichen. Niedriges Stakingguthaben + Für erneutes Staking sind mindestens %1$s %2$s erforderlich. Bitte lade Dein Guthaben auf. + Nicht genug %s Aufgrund von Netzwerkproblemen ist Staking derzeit nicht verfügbar. Bitte versuche es später erneut. Beim Staking im %1$s -Netzwerk mit einem neuen Validator werden alle zuvor eingesetzten Kryptos automatisch an diesen Validator übertragen Reinvestiert Deine verdienten Prämien in Deinen Einsatzbetrag und erhöht so den potenziellen Gewinn. diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml index 287efe4ff4..d7232f22fd 100644 --- a/core/res/src/main/res/values-ja/strings.xml +++ b/core/res/src/main/res/values-ja/strings.xml @@ -648,7 +648,7 @@ 工場出荷時設定にリセットすると、選択したカードやリングからウォレットが完全に削除されます。現在のウォレットを復元したり、カードやリングを使用してアクセスコードを復元することはできません。 工場出荷時の状態にリセットすると、選択したカードやリングからウォレットが完全に削除され、アプリから削除されます。現在のウォレットを復元することはできません。 Tangem Ringユーザーは、11/15日までChangelly経由でスワップを3回手数料ゼロで行えます! - 今すぐ手数料0%でスワップしましょう! + 今すぐ手数料0% でスワップしましょう! アプリにログインして、カードまたはリングをスキャンせずに残高を確認できます アプリにアクセスする 生体認証の使用を許可する @@ -780,6 +780,8 @@ 移行 ネイティブステーキング 現在、ステーキングに使用できるアクティブなバリデータは見つかりません。しばらくしてからもう一度お試しください。 + Cardanoネットワークでステーキングする場合、残高全体が使用されます。追加の2ADAが予約され、ステーキング解除後に返却されます。ステーキング中はADAはロックされません。 + ADAステーキングの詳細 獲得した報酬はあなたのアドレスに直接送られ、すぐ使用可能です。 安全にステーキングして報酬を獲得しましょう 安全にステーキングして、報酬を毎日獲得しましょう @@ -988,7 +990,7 @@ %sネットワーク アドレスがクリップボードにコピーされました インターネット接続がありません - 今すぐ10 %オフで購入 + 今すぐ10 % オフで購入 1.3万種類以上の暗号資産にアクセス。ワンタップで買付、売却、スワップ、ステーキングが可能です。\nバックアップ用に最大3枚のカードを連携できます。 Tangemウォレットを見る ウォレット設定 diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 868f58f4a9..0fc0d39a01 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -142,6 +142,7 @@ Synchronize addresses Go to provider Go to token + Hide hour Import In progress @@ -314,6 +315,9 @@ Bought %s Buying %s Buying %s... + Hide this transaction + Once hidden, the transaction status cannot be viewed again. You can simply swipe to dismiss instead. + Hide Transaction Status? No tokens found. Please try another request ID: %s Transaction ID copied @@ -790,6 +794,8 @@ Migrate Native staking No active validators available for staking at the moment. Please try again later. + When staking in the Cardano network, the entire balance is used. An additional 2 ADA will be reserved and returned after unstaking. Your ADA is not locked while staking. + ADA Staking Details Earned rewards will be sent to your wallet and available for use immediately Stake securely and start earning your rewards Stake securely and start earning daily rewards @@ -803,6 +809,8 @@ Earn staking rewards Your remaining staked balance will be too low to unstake. You’ll need to stake more to meet the minimum unstake amount. Low staked balance + A minimum of %1$s %2$s is required for restaking. Please top up your balance. + Not enough %s Staking is currently unavailable due to network conditions. Please try again later. Staking in the %1$s network with a new validator will automatically transfer all previously staked funds to this validator Reinvests your earned rewards in your staked amount, increasing potential earnings. diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt index 161326f0bb..5247fa7145 100644 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt +++ b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt @@ -64,4 +64,16 @@ enum class ExchangeStatus { @Json(name = "Paused") Paused, + + ; + + val isTerminal: Boolean + get() = this == Refunded || + this == Finished || + this == Cancelled || + this == TxFailed || + this == Unknown + + val isAutoDisposable: Boolean + get() = this == Finished } \ No newline at end of file diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsDialogConfig.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsDialogConfig.kt index ce5a9f3d49..7df750dad1 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsDialogConfig.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsDialogConfig.kt @@ -1,6 +1,7 @@ package com.tangem.feature.tokendetails.presentation.tokendetails.state.components import com.tangem.core.ui.extensions.TextReference +import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.wrappedList import com.tangem.features.tokendetails.impl.R @@ -133,5 +134,22 @@ internal data class TokenDetailsDialogConfig( onClick = onConfirmClick, ) } + + data class ConfirmExpressStatusHideDialogConfig( + val onConfirmClick: () -> Unit, + val onCancelClick: () -> Unit, + ) : DialogContentConfig() { + override val title: TextReference = resourceReference(R.string.express_status_hide_dialog_title) + override val message: TextReference = resourceReference(R.string.express_status_hide_dialog_text) + override val confirmButtonConfig: ButtonConfig = ButtonConfig( + text = resourceReference(R.string.common_hide), + onClick = onConfirmClick, + ) + + override val cancelButtonConfig: ButtonConfig = ButtonConfig( + text = resourceReference(R.string.common_cancel), + onClick = onCancelClick, + ) + } } } \ No newline at end of file diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/express/ExchangeUM.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/express/ExchangeUM.kt index 4420f4be4a..ac23c537eb 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/express/ExchangeUM.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/express/ExchangeUM.kt @@ -15,7 +15,6 @@ internal data class ExchangeUM( val statuses: ImmutableList, val notification: ExchangeStatusNotifications? = null, val showProviderLink: Boolean, - val isRefundTerminalStatus: Boolean, val fromCryptoCurrency: CryptoCurrency, val toCryptoCurrency: CryptoCurrency, ) : ExpressTransactionStateUM \ No newline at end of file diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsOnrampTransactionStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsOnrampTransactionStateConverter.kt index 3b8d00da73..ec6b983685 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsOnrampTransactionStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsOnrampTransactionStateConverter.kt @@ -94,6 +94,7 @@ internal class TokenDetailsOnrampTransactionStateConverter( clickIntents.onGoToProviderClick(it) }, onClick = { clickIntents.onExpressTransactionClick(value.txId) }, + onDisposeExpressStatus = clickIntents::onConfirmDisposeExpressStatus, ), providerName = value.providerName, providerImageUrl = value.providerImageUrl, diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsStateFactory.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsStateFactory.kt index d93b495c65..e88c1cc061 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsStateFactory.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsStateFactory.kt @@ -340,6 +340,22 @@ internal class TokenDetailsStateFactory( return balanceSelectStateConverter.convert(buttonConfig) } + fun getStateWithConfirmHideExpressStatus(): TokenDetailsState { + return currentStateProvider().copy( + dialogConfig = TokenDetailsDialogConfig( + isShow = true, + onDismissRequest = clickIntents::onDismissDialog, + content = TokenDetailsDialogConfig.DialogContentConfig.ConfirmExpressStatusHideDialogConfig( + onConfirmClick = { + clickIntents.onDisposeExpressStatus() + clickIntents.onDismissDialog() + }, + onCancelClick = clickIntents::onDismissDialog, + ), + ), + ) + } + private fun TokenDetailsAppBarMenuConfig.updateMenu( cardTypesResolver: CardTypesResolver, hasDerivations: Boolean, diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt index 18fe759bac..967df9169b 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt @@ -90,7 +90,6 @@ internal class TokenDetailsSwapTransactionsStateConverter( notification = notifications, activeStatus = transaction.status?.status, showProviderLink = showProviderLink, - isRefundTerminalStatus = true, fromCryptoCurrency = fromCryptoCurrency, toCryptoCurrency = toCryptoCurrency, info = createStateInfo( @@ -107,12 +106,7 @@ internal class TokenDetailsSwapTransactionsStateConverter( return result.toPersistentList() } - fun updateTxStatus( - tx: ExchangeUM, - statusModel: ExchangeStatusModel?, - refundToken: CryptoCurrency?, - isRefundTerminalStatus: Boolean, - ): ExchangeUM { + fun updateTxStatus(tx: ExchangeUM, statusModel: ExchangeStatusModel?, refundToken: CryptoCurrency?): ExchangeUM { if (statusModel == null || tx.activeStatus == statusModel.status) { Timber.e("UpdateTxStatus isn't required. Current status isn't changed") return tx @@ -125,7 +119,6 @@ internal class TokenDetailsSwapTransactionsStateConverter( notification = notifications, statuses = getStatuses(statusModel.status, hasFailed), showProviderLink = showProviderLink, - isRefundTerminalStatus = isRefundTerminalStatus, info = tx.info.copy(txExternalUrl = statusModel.txExternalUrl), ) } @@ -164,7 +157,8 @@ internal class TokenDetailsSwapTransactionsStateConverter( }, iconState = getIconState(transaction.status?.status), status = getStatusState(), - notification = null, // fixme [REDACTED_JIRA] + notification = null, // fixme [REDACTED_JIRA], + onDisposeExpressStatus = clickIntents::onConfirmDisposeExpressStatus, ) } diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt index 25d87bd106..fc416a7196 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt @@ -79,13 +79,13 @@ internal class ExchangeStatusFactory @AssistedInject constructor( } } - suspend fun removeTransactionOnBottomSheetClosed(isForceTerminal: Boolean = false) { + suspend fun removeTransactionOnBottomSheetClosed(isForceDispose: Boolean = false) { val state = currentStateProvider() val bottomSheetConfig = state.bottomSheetConfig?.content as? ExpressStatusBottomSheetConfig ?: return val selectedTx = bottomSheetConfig.value as? ExchangeUM ?: return - val shouldTerminate = selectedTx.activeStatus.isTerminal(selectedTx.isRefundTerminalStatus) || isForceTerminal - if (shouldTerminate) { + val shouldDispose = selectedTx.activeStatus?.isAutoDisposable == true || isForceDispose + if (shouldDispose) { swapTransactionRepository.removeTransaction( userWalletId = userWalletId, fromCryptoCurrency = selectedTx.fromCryptoCurrency, @@ -96,20 +96,16 @@ internal class ExchangeStatusFactory @AssistedInject constructor( } suspend fun updateSwapTxStatus(swapTx: ExchangeUM): ExchangeUM { - return if (swapTx.activeStatus.isTerminal(swapTx.isRefundTerminalStatus)) { + return if (swapTx.activeStatus?.isTerminal == true) { swapTx } else { val statusModel = getExchangeStatus(swapTx.info.txId, swapTx.provider) - val isRefundTerminalStatus = statusModel?.refundNetwork == null && - statusModel?.refundContractAddress == null && - swapTx.provider.type != ExchangeProviderType.DEX_BRIDGE val addedRefundToken = addRefundCurrencyIfNeeded(statusModel, swapTx.provider.type) swapTransactionsStateConverter.updateTxStatus( tx = swapTx, statusModel = statusModel, refundToken = addedRefundToken, - isRefundTerminalStatus = isRefundTerminalStatus, ) } } @@ -174,15 +170,6 @@ internal class ExchangeStatusFactory @AssistedInject constructor( ) } - private fun ExchangeStatus?.isTerminal(isRefundTerminal: Boolean): Boolean { - val needTerminalRefund = this == ExchangeStatus.Refunded && isRefundTerminal - return needTerminalRefund || - this == ExchangeStatus.Finished || - this == ExchangeStatus.Cancelled || - this == ExchangeStatus.TxFailed || - this == ExchangeStatus.Unknown - } - private fun toAnalyticStatus(status: ExchangeStatus?): ExpressAnalyticsStatus? { return when (status) { ExchangeStatus.New, diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExpressStatusFactory.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExpressStatusFactory.kt index 3c1633c710..5f1c18949f 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExpressStatusFactory.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExpressStatusFactory.kt @@ -157,11 +157,13 @@ internal class ExpressStatusFactory @AssistedInject constructor( suspend fun removeTransactionOnBottomSheetClosed( expressState: ExpressTransactionStateUM, - isForceTerminal: Boolean = false, + isForceDispose: Boolean = false, ) { when (expressState) { - is ExchangeUM -> exchangeStatusFactory.removeTransactionOnBottomSheetClosed(isForceTerminal) - is ExpressTransactionStateUM.OnrampUM -> onrampStatusFactory.removeTransactionOnBottomSheetClosed() + is ExchangeUM -> exchangeStatusFactory.removeTransactionOnBottomSheetClosed(isForceDispose) + is ExpressTransactionStateUM.OnrampUM -> onrampStatusFactory.removeTransactionOnBottomSheetClosed( + isForceDispose, + ) } } diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/express/exchange/ExchangeStatusBottomSheetContent.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/express/exchange/ExchangeStatusBottomSheetContent.kt index 3c969fa8d2..f547861942 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/express/exchange/ExchangeStatusBottomSheetContent.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/ui/components/express/exchange/ExchangeStatusBottomSheetContent.kt @@ -9,6 +9,7 @@ import androidx.compose.ui.Alignment.Companion.CenterHorizontally import androidx.compose.ui.Modifier import androidx.compose.ui.text.style.TextAlign import com.tangem.common.ui.expressStatus.ExpressEstimate +import com.tangem.common.ui.expressStatus.ExpressHideButton import com.tangem.common.ui.expressStatus.ExpressProvider import com.tangem.core.ui.R import com.tangem.core.ui.components.SpacerH10 @@ -70,6 +71,11 @@ internal fun ExchangeStatusBottomSheetContent(state: ExchangeUM) { if (state.notification != null) { Notification(state = state.notification, activeStatus = state.activeStatus) } + ExpressHideButton( + isTerminal = state.activeStatus?.isTerminal == true, + isAutoDisposable = state.activeStatus?.isAutoDisposable == true, + onClick = state.info.onDisposeExpressStatus, + ) SpacerH24() } } diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsClickIntents.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsClickIntents.kt index e4439079b5..8806affc45 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsClickIntents.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsClickIntents.kt @@ -72,4 +72,8 @@ interface TokenDetailsClickIntents { fun onGoToRefundedTokenClick(cryptoCurrency: CryptoCurrency) fun onOpenUrlClick(url: String) + + fun onConfirmDisposeExpressStatus() + + fun onDisposeExpressStatus() } \ No newline at end of file diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt index cb86b9d766..fa3df91c63 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt @@ -784,16 +784,7 @@ internal class TokenDetailsViewModel @Inject constructor( } override fun onGoToRefundedTokenClick(cryptoCurrency: CryptoCurrency) { - val bottomSheetState = internalUiState.value.bottomSheetConfig?.content - if (bottomSheetState is ExpressStatusBottomSheetConfig) { - viewModelScope.launch { - expressStatusFactory.removeTransactionOnBottomSheetClosed( - expressState = bottomSheetState.value, - isForceTerminal = true, - ) - } - } - internalUiState.value = stateFactory.getStateWithClosedBottomSheet() + onDisposeExpressStatus() router.openTokenDetails(userWalletId, cryptoCurrency) } @@ -950,6 +941,23 @@ internal class TokenDetailsViewModel @Inject constructor( internalUiState.value = stateFactory.getStateWithUpdatedBalanceSegmentedButtonConfig(config) } + override fun onConfirmDisposeExpressStatus() { + internalUiState.value = stateFactory.getStateWithConfirmHideExpressStatus() + } + + override fun onDisposeExpressStatus() { + val bottomSheetState = internalUiState.value.bottomSheetConfig?.content + if (bottomSheetState is ExpressStatusBottomSheetConfig) { + viewModelScope.launch { + expressStatusFactory.removeTransactionOnBottomSheetClosed( + expressState = bottomSheetState.value, + isForceDispose = true, + ) + } + } + internalUiState.value = stateFactory.getStateWithClosedBottomSheet() + } + private fun handleUnavailabilityReason( unavailabilityReason: ScenarioUnavailabilityReason, tokenSymbol: String, From c72310f5c3d430aa5459a98d9b77c604ab89032b Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 30 Jan 2025 17:30:12 +0200 Subject: [PATCH 43/61] Updated on 2026-08-14 From ce8ae2538a3afe831ccf37b5a30af1f4da5bf31b Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 30 Jan 2025 16:14:52 +0300 Subject: [PATCH 44/61] Updated on 2026-08-14 --- .../impl/DefaultRenameWalletComponent.kt | 35 ++++++++++++------- .../preview/PreviewRenameWalletComponent.kt | 3 +- .../walletsettings/entity/RenameWalletUM.kt | 4 ++- .../walletsettings/ui/RenameWalletDialog.kt | 5 ++- .../wallet/state/model/WalletAlertState.kt | 1 + 5 files changed, 33 insertions(+), 15 deletions(-) diff --git a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/impl/DefaultRenameWalletComponent.kt b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/impl/DefaultRenameWalletComponent.kt index 902d26f1ef..d079febfc3 100644 --- a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/impl/DefaultRenameWalletComponent.kt +++ b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/impl/DefaultRenameWalletComponent.kt @@ -10,6 +10,7 @@ import com.tangem.core.ui.extensions.wrappedList import com.tangem.core.ui.message.SnackbarMessage import com.tangem.domain.wallets.models.UpdateWalletError import com.tangem.domain.wallets.models.UserWalletId +import com.tangem.domain.wallets.usecase.GetWalletNamesUseCase import com.tangem.domain.wallets.usecase.RenameWalletUseCase import com.tangem.feature.walletsettings.component.RenameWalletComponent import com.tangem.feature.walletsettings.entity.RenameWalletUM @@ -26,17 +27,20 @@ import timber.log.Timber internal class DefaultRenameWalletComponent @AssistedInject constructor( @Assisted context: AppComponentContext, @Assisted private val params: RenameWalletComponent.Params, + getWalletNamesUseCase: GetWalletNamesUseCase, private val renameWalletUseCase: RenameWalletUseCase, ) : RenameWalletComponent, AppComponentContext by context { - private val currentWalletName = params.currentName + private val initialName = params.currentName + private val walletNames by lazy(getWalletNamesUseCase::invoke) private val stateFlow: MutableStateFlow = MutableStateFlow( value = RenameWalletUM( walletNameValue = TextFieldValue(text = params.currentName), - updateValue = ::updateValue, + onValueChange = ::updateValue, isConfirmEnabled = false, onConfirm = { renameWallet(params.userWalletId) }, + error = null, ), ) @@ -48,24 +52,31 @@ internal class DefaultRenameWalletComponent @AssistedInject constructor( override fun Dialog() { val model by stateFlow.collectAsStateWithLifecycle() - RenameWalletDialog( - model = model, - onDismiss = ::dismiss, - ) + RenameWalletDialog(model = model, onDismiss = ::dismiss) } private fun updateValue(value: TextFieldValue) { stateFlow.update { + val isNameAlreadyExists = initialName != value.text && walletNames.contains(value.text) + it.copy( walletNameValue = value, - isConfirmEnabled = value.text.isNotBlank() && value.text != currentWalletName, + isConfirmEnabled = value.text.isNotBlank() && + value.text != initialName && + !isNameAlreadyExists, + error = if (isNameAlreadyExists) { + resourceReference( + id = R.string.user_wallet_list_rename_popup_error_already_exists, + formatArgs = wrappedList(value.text), + ) + } else { + null + }, ) } } private fun renameWallet(userWalletId: UserWalletId) = componentScope.launch { - stateFlow.update { it.copy(isConfirmEnabled = false) } - val newName = stateFlow.value.walletNameValue val maybeError = renameWalletUseCase(userWalletId, newName.text).leftOrNull() @@ -76,14 +87,14 @@ internal class DefaultRenameWalletComponent @AssistedInject constructor( is UpdateWalletError.DataError -> resourceReference(id = R.string.common_unknown_error) is UpdateWalletError.NameAlreadyExists -> resourceReference( id = R.string.user_wallet_list_rename_popup_error_already_exists, - formatArgs = wrappedList(newName), + formatArgs = wrappedList(newName.text), ) } messageSender.send(message = SnackbarMessage(message)) + } else { + dismiss() } - - dismiss() } @AssistedFactory diff --git a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/preview/PreviewRenameWalletComponent.kt b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/preview/PreviewRenameWalletComponent.kt index fbcb3d6389..12834f5b0d 100644 --- a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/preview/PreviewRenameWalletComponent.kt +++ b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/component/preview/PreviewRenameWalletComponent.kt @@ -11,8 +11,9 @@ internal class PreviewRenameWalletComponent : RenameWalletComponent { private val previewState = RenameWalletUM( walletNameValue = TextFieldValue(text = "My Wallet"), isConfirmEnabled = false, - updateValue = {}, + onValueChange = {}, onConfirm = {}, + error = null, ) override fun dismiss() {} diff --git a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/entity/RenameWalletUM.kt b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/entity/RenameWalletUM.kt index 730cc1ee60..23549c9809 100644 --- a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/entity/RenameWalletUM.kt +++ b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/entity/RenameWalletUM.kt @@ -2,11 +2,13 @@ package com.tangem.feature.walletsettings.entity import androidx.compose.runtime.Immutable import androidx.compose.ui.text.input.TextFieldValue +import com.tangem.core.ui.extensions.TextReference @Immutable internal data class RenameWalletUM( val walletNameValue: TextFieldValue, - val updateValue: (value: TextFieldValue) -> Unit, + val onValueChange: (value: TextFieldValue) -> Unit, val isConfirmEnabled: Boolean, val onConfirm: () -> Unit, + val error: TextReference?, ) \ No newline at end of file diff --git a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/ui/RenameWalletDialog.kt b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/ui/RenameWalletDialog.kt index 0e6313e933..0d32c07b9e 100644 --- a/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/ui/RenameWalletDialog.kt +++ b/features/wallet-settings/impl/src/main/kotlin/com/tangem/feature/walletsettings/ui/RenameWalletDialog.kt @@ -8,6 +8,7 @@ import androidx.compose.ui.tooling.preview.Preview import com.tangem.core.ui.components.AdditionalTextInputDialogUM import com.tangem.core.ui.components.DialogButtonUM import com.tangem.core.ui.components.TextInputDialog +import com.tangem.core.ui.extensions.resolveReference import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemThemePreview import com.tangem.feature.walletsettings.component.preview.PreviewRenameWalletComponent @@ -31,9 +32,11 @@ internal fun RenameWalletDialog(model: RenameWalletUM, onDismiss: () -> Unit) { onClick = onDismiss, ), onDismissDialog = onDismiss, - onValueChange = model.updateValue, + onValueChange = model.onValueChange, textFieldParams = AdditionalTextInputDialogUM( label = stringResourceSafe(id = R.string.user_wallet_list_rename_popup_placeholder), + isError = model.error != null, + caption = model.error?.resolveReference(), ), ) } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletAlertState.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletAlertState.kt index 5c8ab22a90..a55311e803 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletAlertState.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletAlertState.kt @@ -36,6 +36,7 @@ internal sealed interface WalletAlertState { override val onConfirmClick: (() -> Unit)?, ) : Basic() + // TODO: reuse RenameWalletComponent [REDACTED_JIRA] data class RenameWalletAlert( override val text: String, override val onConfirmClick: (String) -> Unit, From 7d160ba11e0397d73e0e3255dc5c56c0e261eaa3 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 30 Jan 2025 13:30:51 +0300 Subject: [PATCH 45/61] Updated on 2026-08-14 --- .../domain/transaction/error/ErrorsMapper.kt | 50 +++++++++++++++++++ .../transaction/error/FeeErrorsMapper.kt | 16 ------ .../RetryIncompleteTransactionUseCase.kt | 1 + .../usecase/SendTransactionUseCase.kt | 35 +------------ 4 files changed, 52 insertions(+), 50 deletions(-) create mode 100644 domain/transaction/src/main/java/com/tangem/domain/transaction/error/ErrorsMapper.kt delete mode 100644 domain/transaction/src/main/java/com/tangem/domain/transaction/error/FeeErrorsMapper.kt diff --git a/domain/transaction/src/main/java/com/tangem/domain/transaction/error/ErrorsMapper.kt b/domain/transaction/src/main/java/com/tangem/domain/transaction/error/ErrorsMapper.kt new file mode 100644 index 0000000000..5aa646c485 --- /dev/null +++ b/domain/transaction/src/main/java/com/tangem/domain/transaction/error/ErrorsMapper.kt @@ -0,0 +1,50 @@ +package com.tangem.domain.transaction.error + +import com.tangem.blockchain.common.BlockchainSdkError +import com.tangem.blockchain.extensions.Result +import com.tangem.common.core.TangemSdkError +import com.tangem.core.ui.extensions.wrappedList +import com.tangem.domain.transaction.R +import com.tangem.domain.transaction.error.SendTransactionError.Companion.USER_CANCELLED_ERROR_CODE +import com.tangem.sdk.extensions.localizedDescriptionRes + +fun Result.Failure.mapToFeeError(): GetFeeError { + return when (this.error) { + is BlockchainSdkError.Tron.AccountActivationError -> { + GetFeeError.BlockchainErrors.TronActivationError + } + is BlockchainSdkError.Kaspa.ZeroUtxoError -> { + GetFeeError.BlockchainErrors.KaspaZeroUtxo + } + else -> GetFeeError.DataError(this.error) + } +} + +fun parseWrappedError(error: BlockchainSdkError.WrappedTangemError): SendTransactionError { + return if (error.code == USER_CANCELLED_ERROR_CODE) { + SendTransactionError.UserCancelledError + } else { + when (val tangemError = error.tangemError) { + is TangemSdkError -> { + val resource = tangemError.localizedDescriptionRes() + val resId = resource.resId ?: R.string.common_unknown_error + val resArgs = resource.args.map { it.value } + SendTransactionError.TangemSdkError(tangemError.code, resId, wrappedList(resArgs)) + } + is BlockchainSdkError.WrappedTangemError -> { + parseWrappedError(tangemError) // todo remove when sdk errors are revised + } + is BlockchainSdkError.WrappedThrowable -> { + val causeError = tangemError.cause + if (causeError is BlockchainSdkError) { + SendTransactionError.BlockchainSdkError(causeError.code, causeError.customMessage) + } else { + SendTransactionError.BlockchainSdkError(tangemError.code, tangemError.customMessage) + } + } + else -> { + SendTransactionError.BlockchainSdkError(error.code, tangemError.customMessage) + } + } + } +} \ No newline at end of file diff --git a/domain/transaction/src/main/java/com/tangem/domain/transaction/error/FeeErrorsMapper.kt b/domain/transaction/src/main/java/com/tangem/domain/transaction/error/FeeErrorsMapper.kt deleted file mode 100644 index 2bdbb7314f..0000000000 --- a/domain/transaction/src/main/java/com/tangem/domain/transaction/error/FeeErrorsMapper.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.tangem.domain.transaction.error - -import com.tangem.blockchain.common.BlockchainSdkError -import com.tangem.blockchain.extensions.Result - -fun Result.Failure.mapToFeeError(): GetFeeError { - return when (this.error) { - is BlockchainSdkError.Tron.AccountActivationError -> { - GetFeeError.BlockchainErrors.TronActivationError - } - is BlockchainSdkError.Kaspa.ZeroUtxoError -> { - GetFeeError.BlockchainErrors.KaspaZeroUtxo - } - else -> GetFeeError.DataError(this.error) - } -} \ No newline at end of file diff --git a/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/RetryIncompleteTransactionUseCase.kt b/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/RetryIncompleteTransactionUseCase.kt index 9a227b2c03..83467e5a33 100644 --- a/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/RetryIncompleteTransactionUseCase.kt +++ b/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/RetryIncompleteTransactionUseCase.kt @@ -9,6 +9,7 @@ import com.tangem.domain.card.repository.CardSdkConfigRepository import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.transaction.error.IncompleteTransactionError import com.tangem.domain.transaction.error.SendTransactionError +import com.tangem.domain.transaction.error.parseWrappedError import com.tangem.domain.walletmanager.WalletManagersFacade import com.tangem.domain.wallets.models.UserWalletId diff --git a/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/SendTransactionUseCase.kt b/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/SendTransactionUseCase.kt index 12f09f23d3..59f1d6382f 100644 --- a/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/SendTransactionUseCase.kt +++ b/domain/transaction/src/main/java/com/tangem/domain/transaction/usecase/SendTransactionUseCase.kt @@ -9,8 +9,6 @@ import com.tangem.blockchain.common.TransactionSigner import com.tangem.blockchain.common.transaction.TransactionsSendResult import com.tangem.blockchain.extensions.Result import com.tangem.blockchain.network.ResultChecker -import com.tangem.common.core.TangemSdkError -import com.tangem.core.ui.extensions.wrappedList import com.tangem.core.ui.format.bigdecimal.format import com.tangem.core.ui.format.bigdecimal.simple import com.tangem.domain.card.repository.CardSdkConfigRepository @@ -19,13 +17,11 @@ import com.tangem.domain.common.TapWorkarounds.isTangemTwins import com.tangem.domain.demo.DemoConfig import com.tangem.domain.demo.DemoTransactionSender import com.tangem.domain.tokens.model.Network -import com.tangem.domain.transaction.R import com.tangem.domain.transaction.TransactionRepository import com.tangem.domain.transaction.error.SendTransactionError -import com.tangem.domain.transaction.error.SendTransactionError.Companion.USER_CANCELLED_ERROR_CODE +import com.tangem.domain.transaction.error.parseWrappedError import com.tangem.domain.walletmanager.WalletManagersFacade import com.tangem.domain.wallets.models.UserWallet -import com.tangem.sdk.extensions.localizedDescriptionRes class SendTransactionUseCase( private val demoConfig: DemoConfig, @@ -132,33 +128,4 @@ class SendTransactionUseCase( } } } -} - -fun parseWrappedError(error: BlockchainSdkError.WrappedTangemError): SendTransactionError { - return if (error.code == USER_CANCELLED_ERROR_CODE) { - SendTransactionError.UserCancelledError - } else { - when (val tangemError = error.tangemError) { - is TangemSdkError -> { - val resource = tangemError.localizedDescriptionRes() - val resId = resource.resId ?: R.string.common_unknown_error - val resArgs = resource.args.map { it.value } - SendTransactionError.TangemSdkError(tangemError.code, resId, wrappedList(resArgs)) - } - is BlockchainSdkError.WrappedTangemError -> { - parseWrappedError(tangemError) // todo remove when sdk errors are revised - } - is BlockchainSdkError.WrappedThrowable -> { - val causeError = tangemError.cause - if (causeError is BlockchainSdkError) { - SendTransactionError.BlockchainSdkError(causeError.code, causeError.customMessage) - } else { - SendTransactionError.BlockchainSdkError(tangemError.code, tangemError.customMessage) - } - } - else -> { - SendTransactionError.BlockchainSdkError(error.code, tangemError.customMessage) - } - } - } } \ No newline at end of file From eadf1a17c8abfb41c6e2a9350bd256f957d1ba53 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 30 Jan 2025 20:17:28 +0500 Subject: [PATCH 46/61] Updated on 2026-08-14 --- .../ui/expressStatus/ExpressHideButton.kt | 3 +- .../OnrampStatusBottomSheetContent.kt | 5 +++ .../domain/onramp/model/OnrampStatus.kt | 16 +++++++++ .../factory/express/OnrampStatusFactory.kt | 4 +-- .../wallet/domain/OnrampStatusFactory.kt | 4 +-- .../wallet/state/model/WalletAlertState.kt | 12 +++++++ .../SingleWalletOnrampTransactionConverter.kt | 5 ++- .../wallet/state/utils/WalletEventSender.kt | 2 +- .../intents/WalletContentClickIntents.kt | 35 +++++++++++++++++-- 9 files changed, 75 insertions(+), 11 deletions(-) diff --git a/common/ui/src/main/java/com/tangem/common/ui/expressStatus/ExpressHideButton.kt b/common/ui/src/main/java/com/tangem/common/ui/expressStatus/ExpressHideButton.kt index 9c9723be6f..16a1484d52 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/expressStatus/ExpressHideButton.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/expressStatus/ExpressHideButton.kt @@ -3,6 +3,7 @@ package com.tangem.common.ui.expressStatus import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.ColumnScope import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.shape.RoundedCornerShape @@ -19,7 +20,7 @@ import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme @Composable -fun ExpressHideButton(isTerminal: Boolean, isAutoDisposable: Boolean, onClick: () -> Unit) { +fun ColumnScope.ExpressHideButton(isTerminal: Boolean, isAutoDisposable: Boolean, onClick: () -> Unit) { AnimatedVisibility( visible = isTerminal && !isAutoDisposable, label = "Hide button visibility animation", diff --git a/common/ui/src/main/java/com/tangem/common/ui/expressStatus/OnrampStatusBottomSheetContent.kt b/common/ui/src/main/java/com/tangem/common/ui/expressStatus/OnrampStatusBottomSheetContent.kt index 35905de8f7..fc888d6c64 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/expressStatus/OnrampStatusBottomSheetContent.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/expressStatus/OnrampStatusBottomSheetContent.kt @@ -59,6 +59,11 @@ fun OnrampStatusBottomSheetContent(state: ExpressTransactionStateUM.OnrampUM) { SpacerH12() ExpressStatusBlock(state = state.info.status) ExpressStatusNotificationBlock(state = state.info.notification) + ExpressHideButton( + isTerminal = state.activeStatus.isTerminal, + isAutoDisposable = state.activeStatus.isAutoDisposable, + onClick = state.info.onDisposeExpressStatus, + ) SpacerH24() } } \ No newline at end of file diff --git a/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/OnrampStatus.kt b/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/OnrampStatus.kt index 64aa740a5e..e116c0c085 100644 --- a/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/OnrampStatus.kt +++ b/domain/onramp/models/src/main/kotlin/com/tangem/domain/onramp/model/OnrampStatus.kt @@ -49,6 +49,22 @@ data class OnrampStatus( -> false } + val isAutoDisposable: Boolean + get() = when (this) { + Finished, + -> true + Expired, + Failed, + Paused, + Created, + WaitingForPayment, + PaymentProcessing, + Verifying, + Paid, + Sending, + -> false + } + val isHidden: Boolean get() = when (this) { Created, diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/OnrampStatusFactory.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/OnrampStatusFactory.kt index 7ca14864da..79328454af 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/OnrampStatusFactory.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/OnrampStatusFactory.kt @@ -68,12 +68,12 @@ internal class OnrampStatusFactory @AssistedInject constructor( } } - suspend fun removeTransactionOnBottomSheetClosed() { + suspend fun removeTransactionOnBottomSheetClosed(isForceDispose: Boolean) { val state = currentStateProvider() val bottomSheetConfig = state.bottomSheetConfig?.content as? ExpressStatusBottomSheetConfig ?: return val selectedTx = bottomSheetConfig.value as? ExpressTransactionStateUM.OnrampUM ?: return - if (selectedTx.activeStatus.isTerminal) { + if (selectedTx.activeStatus.isAutoDisposable || isForceDispose) { onrampRemoveTransactionUseCase(externalTxId = selectedTx.info.txExternalId) } } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/OnrampStatusFactory.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/OnrampStatusFactory.kt index 7686df2258..32450b5201 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/OnrampStatusFactory.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/domain/OnrampStatusFactory.kt @@ -30,12 +30,12 @@ internal class OnrampStatusFactory @Inject constructor( private val dispatchers: CoroutineDispatcherProvider, ) { - suspend fun removeTransactionOnBottomSheetClosed() { + suspend fun removeTransactionOnBottomSheetClosed(forceDispose: Boolean) { val state = stateHolder.getSelectedWallet() val bottomSheetConfig = state.bottomSheetConfig?.content as? ExpressStatusBottomSheetConfig ?: return val selectedTx = bottomSheetConfig.value as? ExpressTransactionStateUM.OnrampUM ?: return - if (selectedTx.activeStatus.isTerminal) { + if (selectedTx.activeStatus.isAutoDisposable || forceDispose) { onrampRemoveTransactionUseCase(externalTxId = selectedTx.info.txExternalId) } } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletAlertState.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletAlertState.kt index 5c8ab22a90..a3300aacb2 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletAlertState.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/model/WalletAlertState.kt @@ -16,6 +16,8 @@ internal sealed interface WalletAlertState { open val confirmButtonText: TextReference = resourceReference(id = R.string.common_ok) open val isWarningConfirmButton: Boolean = false abstract val onConfirmClick: (() -> Unit)? + open val cancelButtonText: TextReference? = null + open val onCancelClick: (() -> Unit)? = null } @Immutable @@ -107,4 +109,14 @@ internal sealed interface WalletAlertState { override val onConfirmClick: (() -> Unit)? = null } + + data class ConfirmExpressStatusHide( + override val onConfirmClick: (() -> Unit), + override val onCancelClick: (() -> Unit), + ) : Basic() { + override val title: TextReference = resourceReference(R.string.express_status_hide_dialog_title) + override val message: TextReference = resourceReference(R.string.express_status_hide_dialog_text) + override val confirmButtonText: TextReference = resourceReference(R.string.common_hide) + override val cancelButtonText: TextReference = resourceReference(R.string.common_cancel) + } } \ No newline at end of file diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/SingleWalletOnrampTransactionConverter.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/SingleWalletOnrampTransactionConverter.kt index 606d0ed064..a5a0ee99b1 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/SingleWalletOnrampTransactionConverter.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/transformers/converter/SingleWalletOnrampTransactionConverter.kt @@ -62,9 +62,7 @@ internal class SingleWalletOnrampTransactionConverter( value.timestamp.toTimeFormat(), ), ), - toAmount = stringReference( - value.toAmount.format { crypto(currency) }, - ), + toAmount = stringReference(value.toAmount.format { crypto(currency) }), toFiatAmount = stringReference( status.fiatRate?.multiply(value.toAmount).format { fiat( @@ -94,6 +92,7 @@ internal class SingleWalletOnrampTransactionConverter( analyticsEventHandler.send(TokenOnrampAnalyticsEvent.GoToProvider) clickIntents.onGoToProviderClick(it) }, + onDisposeExpressStatus = clickIntents::onConfirmDisposeExpressStatus, onClick = { val analyticEvent = TokenOnrampAnalyticsEvent.OnrampStatusOpened( tokenSymbol = currency.symbol, diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/utils/WalletEventSender.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/utils/WalletEventSender.kt index 34859d54d9..710e54acde 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/utils/WalletEventSender.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/state/utils/WalletEventSender.kt @@ -21,7 +21,7 @@ internal class WalletEventSender @Inject constructor( stateHolder.update(transformer = SendEventTransformer(event = event, onConsume = ::onConsume)) } - private fun onConsume() { + fun onConsume() { stateHolder.update { it.copy(event = consumedEvent()) } diff --git a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletContentClickIntents.kt b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletContentClickIntents.kt index 0b20b60c75..3d00a7564b 100644 --- a/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletContentClickIntents.kt +++ b/features/wallet/impl/src/main/java/com/tangem/feature/wallet/presentation/wallet/viewmodels/intents/WalletContentClickIntents.kt @@ -15,12 +15,14 @@ import com.tangem.domain.wallets.usecase.GetUserWalletUseCase import com.tangem.feature.wallet.presentation.wallet.domain.OnrampStatusFactory import com.tangem.feature.wallet.presentation.wallet.domain.unwrap import com.tangem.feature.wallet.presentation.wallet.state.WalletStateController +import com.tangem.feature.wallet.presentation.wallet.state.model.* import com.tangem.feature.wallet.presentation.wallet.state.model.ActionsBottomSheetConfig -import com.tangem.feature.wallet.presentation.wallet.state.model.WalletBottomSheetConfig +import com.tangem.feature.wallet.presentation.wallet.state.model.WalletEvent import com.tangem.feature.wallet.presentation.wallet.state.model.WalletState import com.tangem.feature.wallet.presentation.wallet.state.transformers.CloseBottomSheetTransformer import com.tangem.feature.wallet.presentation.wallet.state.transformers.OpenBottomSheetTransformer import com.tangem.feature.wallet.presentation.wallet.state.transformers.converter.MultiWalletCurrencyActionsConverter +import com.tangem.feature.wallet.presentation.wallet.state.utils.WalletEventSender import com.tangem.utils.coroutines.CoroutineDispatcherProvider import dagger.hilt.android.scopes.ViewModelScoped import kotlinx.coroutines.flow.collectLatest @@ -54,6 +56,10 @@ internal interface WalletContentClickIntents { fun onGoToProviderClick(externalTxId: String) fun onExpressTransactionClick(txId: String) + + fun onConfirmDisposeExpressStatus() + + fun onDisposeExpressStatus() } @Suppress("LongParameterList") @@ -70,6 +76,7 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( private val shouldShowMarketsTooltipUseCase: ShouldShowMarketsTooltipUseCase, private val dispatchers: CoroutineDispatcherProvider, private val reduxStateHolder: ReduxStateHolder, + private val walletEventSender: WalletEventSender, ) : BaseWalletClickIntents(), WalletContentClickIntents { override fun onBackClick() = router.popBackStack() @@ -185,7 +192,7 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( val userWalletId = stateHolder.getSelectedWalletId() if (stateHolder.getSelectedWallet().bottomSheetConfig?.content is ExpressStatusBottomSheetConfig) { viewModelScope.launch(dispatchers.main) { - onrampStatusFactory.removeTransactionOnBottomSheetClosed() + onrampStatusFactory.removeTransactionOnBottomSheetClosed(forceDispose = false) } } stateHolder.update(CloseBottomSheetTransformer(userWalletId)) @@ -211,4 +218,28 @@ internal class WalletContentClickIntentsImplementor @Inject constructor( ) } } + + override fun onConfirmDisposeExpressStatus() { + walletEventSender.send( + WalletEvent.ShowAlert( + WalletAlertState.ConfirmExpressStatusHide( + onConfirmClick = { + walletEventSender.onConsume() + onDisposeExpressStatus() + }, + onCancelClick = walletEventSender::onConsume, + ), + ), + ) + } + + override fun onDisposeExpressStatus() { + val userWalletId = stateHolder.getSelectedWalletId() + if (stateHolder.getSelectedWallet().bottomSheetConfig?.content is ExpressStatusBottomSheetConfig) { + viewModelScope.launch(dispatchers.main) { + onrampStatusFactory.removeTransactionOnBottomSheetClosed(forceDispose = true) + } + } + stateHolder.update(CloseBottomSheetTransformer(userWalletId)) + } } \ No newline at end of file From 8cf3d20187407f9018003d88d0f3b81631189476 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 13:31:12 +0400 Subject: [PATCH 47/61] Updated on 2026-08-14 --- .../tangem/tap/di/domain/CardDomainModule.kt | 9 --------- .../tap/di/domain/SettingsDomainModule.kt | 6 ------ .../tangem/tap/features/home/HomeViewModel.kt | 10 +++++----- .../data/card/DefaultCardSdkConfigRepository.kt | 10 ++++++++++ .../card/SetAccessCodeRequestPolicyUseCase.kt | 17 ----------------- .../card/repository/CardSdkConfigRepository.kt | 3 +++ .../settings/ShouldSaveAccessCodesUseCase.kt | 8 -------- 7 files changed, 18 insertions(+), 45 deletions(-) delete mode 100644 domain/card/src/main/kotlin/com/tangem/domain/card/SetAccessCodeRequestPolicyUseCase.kt delete mode 100644 domain/settings/src/main/java/com/tangem/domain/settings/ShouldSaveAccessCodesUseCase.kt diff --git a/app/src/main/java/com/tangem/tap/di/domain/CardDomainModule.kt b/app/src/main/java/com/tangem/tap/di/domain/CardDomainModule.kt index 55fb95de26..789f56e454 100644 --- a/app/src/main/java/com/tangem/tap/di/domain/CardDomainModule.kt +++ b/app/src/main/java/com/tangem/tap/di/domain/CardDomainModule.kt @@ -2,7 +2,6 @@ package com.tangem.tap.di.domain import com.tangem.domain.card.* import com.tangem.domain.card.repository.CardRepository -import com.tangem.domain.card.repository.CardSdkConfigRepository import com.tangem.domain.card.repository.DerivationsRepository import com.tangem.domain.demo.DemoConfig import com.tangem.domain.demo.IsDemoCardUseCase @@ -22,14 +21,6 @@ import javax.inject.Singleton @InstallIn(SingletonComponent::class) internal object CardDomainModule { - @Provides - @Singleton - fun provideSetAccessCodeRequestPolicyUseCase( - cardSdkConfigRepository: CardSdkConfigRepository, - ): SetAccessCodeRequestPolicyUseCase { - return SetAccessCodeRequestPolicyUseCase(cardSdkConfigRepository = cardSdkConfigRepository) - } - @Provides @Singleton fun provideSetCardWasScannedUseCase(cardRepository: CardRepository): SetCardWasScannedUseCase { diff --git a/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt b/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt index 6871b3101c..7dc5634128 100644 --- a/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt +++ b/app/src/main/java/com/tangem/tap/di/domain/SettingsDomainModule.kt @@ -182,12 +182,6 @@ internal object SettingsDomainModule { ): NeverRequestPermissionUseCase { return NeverRequestPermissionUseCase(repository = permissionRepository) } - - @Provides - @Singleton - fun provideShouldSaveAccessCodesUseCase(settingsRepository: SettingsRepository): ShouldSaveAccessCodesUseCase { - return ShouldSaveAccessCodesUseCase(settingsRepository = settingsRepository) - } // endregion @Provides diff --git a/app/src/main/java/com/tangem/tap/features/home/HomeViewModel.kt b/app/src/main/java/com/tangem/tap/features/home/HomeViewModel.kt index 0df4db4753..9827fc5dbe 100644 --- a/app/src/main/java/com/tangem/tap/features/home/HomeViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/home/HomeViewModel.kt @@ -12,10 +12,10 @@ import com.tangem.core.analytics.models.AnalyticsParam import com.tangem.core.analytics.models.Basic import com.tangem.core.navigation.url.UrlOpener import com.tangem.domain.card.ScanCardProcessor -import com.tangem.domain.card.SetAccessCodeRequestPolicyUseCase +import com.tangem.domain.card.repository.CardSdkConfigRepository import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.models.scan.ScanResponse -import com.tangem.domain.settings.ShouldSaveAccessCodesUseCase +import com.tangem.domain.settings.repositories.SettingsRepository import com.tangem.domain.tokens.TokensAction import com.tangem.domain.wallets.builder.UserWalletBuilder import com.tangem.domain.wallets.usecase.GenerateWalletNameUseCase @@ -39,11 +39,11 @@ import javax.inject.Inject @Suppress("LongParameterList") @HiltViewModel internal class HomeViewModel @Inject constructor( - private val shouldSaveAccessCodesUseCase: ShouldSaveAccessCodesUseCase, - private val setAccessCodeRequestPolicyUseCase: SetAccessCodeRequestPolicyUseCase, private val scanCardProcessor: ScanCardProcessor, private val generateWalletNameUseCase: GenerateWalletNameUseCase, private val saveWalletUseCase: SaveWalletUseCase, + private val cardSdkConfigRepository: CardSdkConfigRepository, + private val settingsRepository: SettingsRepository, private val urlOpener: UrlOpener, private val analyticsEventHandler: AnalyticsEventHandler, ) : ViewModel() { @@ -73,7 +73,7 @@ internal class HomeViewModel @Inject constructor( private fun scanCard() { viewModelScope.launch { - setAccessCodeRequestPolicyUseCase(isBiometricsRequestPolicy = shouldSaveAccessCodesUseCase()) + cardSdkConfigRepository.isBiometricsRequestPolicy = settingsRepository.shouldSaveAccessCodes() scanCardProcessor.scan( analyticsSource = AnalyticsParam.ScreensSources.Intro, diff --git a/data/card/src/main/java/com/tangem/data/card/DefaultCardSdkConfigRepository.kt b/data/card/src/main/java/com/tangem/data/card/DefaultCardSdkConfigRepository.kt index cb9495d708..e4006b694a 100644 --- a/data/card/src/main/java/com/tangem/data/card/DefaultCardSdkConfigRepository.kt +++ b/data/card/src/main/java/com/tangem/data/card/DefaultCardSdkConfigRepository.kt @@ -26,6 +26,16 @@ internal class DefaultCardSdkConfigRepository( override val sdk: TangemSdk get() = cardSdkProvider.sdk + override var isBiometricsRequestPolicy: Boolean + get() = sdk.config.userCodeRequestPolicy is UserCodeRequestPolicy.AlwaysWithBiometrics + set(value) { + sdk.config.userCodeRequestPolicy = if (value) { + UserCodeRequestPolicy.AlwaysWithBiometrics(codeType = UserCodeType.AccessCode) + } else { + UserCodeRequestPolicy.Default + } + } + override fun setAccessCodeRequestPolicy(isBiometricsRequestPolicy: Boolean) { sdk.config.userCodeRequestPolicy = if (isBiometricsRequestPolicy) { UserCodeRequestPolicy.AlwaysWithBiometrics(codeType = UserCodeType.AccessCode) diff --git a/domain/card/src/main/kotlin/com/tangem/domain/card/SetAccessCodeRequestPolicyUseCase.kt b/domain/card/src/main/kotlin/com/tangem/domain/card/SetAccessCodeRequestPolicyUseCase.kt deleted file mode 100644 index e10f624726..0000000000 --- a/domain/card/src/main/kotlin/com/tangem/domain/card/SetAccessCodeRequestPolicyUseCase.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.tangem.domain.card - -import com.tangem.domain.card.repository.CardSdkConfigRepository - -/** - * Set access code request policy by 'isBiometricsRequestPolicy' - * - * @property cardSdkConfigRepository repository for managing of CardSDK config - * -[REDACTED_AUTHOR] - */ -class SetAccessCodeRequestPolicyUseCase(private val cardSdkConfigRepository: CardSdkConfigRepository) { - - operator fun invoke(isBiometricsRequestPolicy: Boolean) { - cardSdkConfigRepository.setAccessCodeRequestPolicy(isBiometricsRequestPolicy) - } -} \ No newline at end of file diff --git a/domain/card/src/main/kotlin/com/tangem/domain/card/repository/CardSdkConfigRepository.kt b/domain/card/src/main/kotlin/com/tangem/domain/card/repository/CardSdkConfigRepository.kt index ef277955c2..fd2f4e3b54 100644 --- a/domain/card/src/main/kotlin/com/tangem/domain/card/repository/CardSdkConfigRepository.kt +++ b/domain/card/src/main/kotlin/com/tangem/domain/card/repository/CardSdkConfigRepository.kt @@ -15,6 +15,9 @@ interface CardSdkConfigRepository { @Deprecated("Use CardSdkConfigRepository's methods instead of this property") val sdk: TangemSdk + /** Allow requesting access codes from biometrically protected storage */ + var isBiometricsRequestPolicy: Boolean + /** Set access code request policy by [isBiometricsRequestPolicy] */ fun setAccessCodeRequestPolicy(isBiometricsRequestPolicy: Boolean) diff --git a/domain/settings/src/main/java/com/tangem/domain/settings/ShouldSaveAccessCodesUseCase.kt b/domain/settings/src/main/java/com/tangem/domain/settings/ShouldSaveAccessCodesUseCase.kt deleted file mode 100644 index b68ede4106..0000000000 --- a/domain/settings/src/main/java/com/tangem/domain/settings/ShouldSaveAccessCodesUseCase.kt +++ /dev/null @@ -1,8 +0,0 @@ -package com.tangem.domain.settings - -import com.tangem.domain.settings.repositories.SettingsRepository - -class ShouldSaveAccessCodesUseCase(private val settingsRepository: SettingsRepository) { - - suspend operator fun invoke(): Boolean = settingsRepository.shouldSaveAccessCodes() -} \ No newline at end of file From 91213a2a36f76a071a512680e53bcc7f2a2f6fcd Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 13:31:57 +0400 Subject: [PATCH 48/61] Updated on 2026-08-14 --- .../ui/cardsettings/CardSettingsViewModel.kt | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsViewModel.kt b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsViewModel.kt index bbf156324b..6ed6a3155f 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsViewModel.kt @@ -4,6 +4,7 @@ import android.os.Bundle import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import arrow.core.getOrElse import com.tangem.common.CompletionResult import com.tangem.common.doOnSuccess import com.tangem.common.routing.AppRoute @@ -11,13 +12,16 @@ import com.tangem.common.routing.AppRouter import com.tangem.common.routing.bundle.unbundle import com.tangem.core.analytics.Analytics import com.tangem.domain.card.ScanCardProcessor +import com.tangem.domain.card.repository.CardSdkConfigRepository import com.tangem.domain.common.CardTypesResolver import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.common.util.getBackupCardsCount import com.tangem.domain.models.scan.CardDTO import com.tangem.domain.models.scan.ScanResponse +import com.tangem.domain.settings.repositories.SettingsRepository import com.tangem.domain.wallets.builder.UserWalletIdBuilder import com.tangem.domain.wallets.models.UserWalletId +import com.tangem.domain.wallets.usecase.GetUserWalletUseCase import com.tangem.sdk.api.TangemSdkManager import com.tangem.tap.common.analytics.events.AnalyticsParam import com.tangem.tap.common.analytics.events.Settings @@ -34,17 +38,24 @@ import com.tangem.wallet.R import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch +import kotlinx.coroutines.runBlocking import timber.log.Timber import javax.inject.Inject +@Suppress("LongParameterList") @HiltViewModel internal class CardSettingsViewModel @Inject constructor( private val scanCardProcessor: ScanCardProcessor, private val tangemSdkManager: TangemSdkManager, private val cardSettingsInteractor: CardSettingsInteractor, + private val getUserWalletUseCase: GetUserWalletUseCase, + private val cardSdkConfigRepository: CardSdkConfigRepository, + private val settingsRepository: SettingsRepository, savedStateHandle: SavedStateHandle, ) : ViewModel() { + private var previousBiometricsRequestPolicy: Boolean = false + private val userWalletId = savedStateHandle.get(AppRoute.CardSettings.USER_WALLET_ID_KEY) ?.unbundle(UserWalletId.serializer()) ?: error("User wallet ID is required for CardSettingsViewModel") @@ -52,12 +63,26 @@ internal class CardSettingsViewModel @Inject constructor( val screenState: MutableStateFlow = MutableStateFlow(getInitialState()) init { + runBlocking { + previousBiometricsRequestPolicy = cardSdkConfigRepository.isBiometricsRequestPolicy + + val userWallet = getUserWalletUseCase(userWalletId) + .getOrElse { error("User wallet not found") } + + cardSdkConfigRepository.isBiometricsRequestPolicy = userWallet.scanResponse.card.isAccessCodeSet && + settingsRepository.shouldSaveAccessCodes() + } + cardSettingsInteractor.scannedScanResponse .filterNotNull() .onEach(::updateCardDetails) .launchIn(viewModelScope) } + override fun onCleared() { + cardSdkConfigRepository.isBiometricsRequestPolicy = previousBiometricsRequestPolicy + } + private fun getInitialState() = CardSettingsScreenState( cardDetails = null, onElementClick = ::handleClickingItem, From a3bf6497f4e6437173216a4d39ff45d4a1d62913 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 12:46:46 +0300 Subject: [PATCH 49/61] Updated on 2026-08-14 --- app/src/main/assets/tangem-app-config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/assets/tangem-app-config b/app/src/main/assets/tangem-app-config index 6f955d192f..104b52520e 160000 --- a/app/src/main/assets/tangem-app-config +++ b/app/src/main/assets/tangem-app-config @@ -1 +1 @@ -Subproject commit 6f955d192f7edd876b9f096a30431adeb1594aeb +Subproject commit 104b52520e8721eb775e2733deb361eed5067a63 From cedb4abd4f8104f4133e0af630cf7d1313ceedc5 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 12:52:59 +0500 Subject: [PATCH 50/61] Updated on 2026-08-14 --- gradle/dependencies.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/dependencies.toml b/gradle/dependencies.toml index 1e608b9662..57af152773 100644 --- a/gradle/dependencies.toml +++ b/gradle/dependencies.toml @@ -89,7 +89,7 @@ markdownComposeView = "0.5.4" # endregion Other libraries # region Tangem -tangemBlockchainSdk = "develop-933" +tangemBlockchainSdk = "develop-936" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "develop-429" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ From 9befe6f4aacee887480d499bf0e39594f0bd7544 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 15:56:09 +0400 Subject: [PATCH 51/61] Updated on 2026-08-14 --- .../ui/cardsettings/CardSettingsViewModel.kt | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsViewModel.kt b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsViewModel.kt index 6ed6a3155f..68d354a90c 100644 --- a/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsViewModel.kt +++ b/app/src/main/java/com/tangem/tap/features/details/ui/cardsettings/CardSettingsViewModel.kt @@ -63,15 +63,7 @@ internal class CardSettingsViewModel @Inject constructor( val screenState: MutableStateFlow = MutableStateFlow(getInitialState()) init { - runBlocking { - previousBiometricsRequestPolicy = cardSdkConfigRepository.isBiometricsRequestPolicy - - val userWallet = getUserWalletUseCase(userWalletId) - .getOrElse { error("User wallet not found") } - - cardSdkConfigRepository.isBiometricsRequestPolicy = userWallet.scanResponse.card.isAccessCodeSet && - settingsRepository.shouldSaveAccessCodes() - } + updateAccessCodeRequestPolicy() cardSettingsInteractor.scannedScanResponse .filterNotNull() @@ -80,9 +72,23 @@ internal class CardSettingsViewModel @Inject constructor( } override fun onCleared() { + // Restore the previous value of access code request policy cardSdkConfigRepository.isBiometricsRequestPolicy = previousBiometricsRequestPolicy } + private fun updateAccessCodeRequestPolicy() { + runBlocking { + // !!!IMPORTANT!!!: Do not forget to restore the previous value in onCleared() method + previousBiometricsRequestPolicy = cardSdkConfigRepository.isBiometricsRequestPolicy + + val userWallet = getUserWalletUseCase(userWalletId) + .getOrElse { error("User wallet $userWalletId not found") } + + cardSdkConfigRepository.isBiometricsRequestPolicy = userWallet.scanResponse.card.isAccessCodeSet && + settingsRepository.shouldSaveAccessCodes() + } + } + private fun getInitialState() = CardSettingsScreenState( cardDetails = null, onElementClick = ::handleClickingItem, From 950dc416626023c741a3e5eb2650b0d57ab2ce2a Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 24 Jan 2025 13:07:37 +0300 Subject: [PATCH 52/61] Updated on 2026-08-14 --- features/onramp/impl/build.gradle.kts | 1 + .../DefaultOnrampAddToPortfolioComponent.kt | 53 ++++++ .../OnrampAddToPortfolioComponent.kt | 34 ++++ .../di/OnrampAddToPortfolioComponentModule.kt | 20 +++ .../di/OnrampAddToPortfolioModelModule.kt | 20 +++ .../entity/OnrampAddToPortfolioBSConfig.kt | 13 ++ .../entity/OnrampAddToPortfolioUM.kt | 34 ++++ .../model/OnrampAddToPortfolioModel.kt | 63 +++++++ .../ui/OnrampAddToPortfolioBottomSheet.kt | 17 ++ .../ui/OnrampAddToPortfolioContent.kt | 162 ++++++++++++++++++ 10 files changed, 417 insertions(+) create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/DefaultOnrampAddToPortfolioComponent.kt create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/OnrampAddToPortfolioComponent.kt create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/di/OnrampAddToPortfolioComponentModule.kt create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/di/OnrampAddToPortfolioModelModule.kt create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddToPortfolioBSConfig.kt create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddToPortfolioUM.kt create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/model/OnrampAddToPortfolioModel.kt create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/ui/OnrampAddToPortfolioBottomSheet.kt create mode 100644 features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/ui/OnrampAddToPortfolioContent.kt diff --git a/features/onramp/impl/build.gradle.kts b/features/onramp/impl/build.gradle.kts index ea3b825ef0..2df9a81756 100644 --- a/features/onramp/impl/build.gradle.kts +++ b/features/onramp/impl/build.gradle.kts @@ -34,6 +34,7 @@ dependencies { implementation(projects.domain.appCurrency.models) implementation(projects.domain.balanceHiding) implementation(projects.domain.balanceHiding.models) + implementation(projects.domain.card) implementation(projects.domain.demo) implementation(projects.domain.legacy) implementation(projects.domain.models) diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/DefaultOnrampAddToPortfolioComponent.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/DefaultOnrampAddToPortfolioComponent.kt new file mode 100644 index 0000000000..aad77fc333 --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/DefaultOnrampAddToPortfolioComponent.kt @@ -0,0 +1,53 @@ +package com.tangem.features.onramp.hottokens.portfolio + +import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue +import androidx.compose.runtime.remember +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import com.tangem.core.decompose.context.AppComponentContext +import com.tangem.core.decompose.model.getOrCreateModel +import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig +import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfigContent +import com.tangem.features.onramp.hottokens.portfolio.model.OnrampAddToPortfolioModel +import com.tangem.features.onramp.hottokens.portfolio.ui.OnrampAddToPortfolioBottomSheet +import com.tangem.features.onramp.hottokens.portfolio.ui.OnrampAddToPortfolioContent +import dagger.assisted.Assisted +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject + +internal class DefaultOnrampAddToPortfolioComponent @AssistedInject constructor( + @Assisted context: AppComponentContext, + @Assisted private val params: OnrampAddToPortfolioComponent.Params, +) : OnrampAddToPortfolioComponent, AppComponentContext by context { + + private val model: OnrampAddToPortfolioModel = getOrCreateModel(params) + + override fun dismiss() { + params.onDismiss() + } + + @Composable + override fun BottomSheet() { + val state by model.state.collectAsStateWithLifecycle() + val bottomSheetConfig = remember(key1 = this) { + TangemBottomSheetConfig( + isShown = true, + onDismissRequest = ::dismiss, + content = TangemBottomSheetConfigContent.Empty, + ) + } + + OnrampAddToPortfolioBottomSheet( + config = bottomSheetConfig, + content = { OnrampAddToPortfolioContent(state = state) }, + ) + } + + @AssistedFactory + interface Factory : OnrampAddToPortfolioComponent.Factory { + override fun create( + context: AppComponentContext, + params: OnrampAddToPortfolioComponent.Params, + ): DefaultOnrampAddToPortfolioComponent + } +} \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/OnrampAddToPortfolioComponent.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/OnrampAddToPortfolioComponent.kt new file mode 100644 index 0000000000..268e140a96 --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/OnrampAddToPortfolioComponent.kt @@ -0,0 +1,34 @@ +package com.tangem.features.onramp.hottokens.portfolio + +import com.tangem.core.decompose.factory.ComponentFactory +import com.tangem.core.ui.components.currency.icon.CurrencyIconState +import com.tangem.core.ui.decompose.ComposableBottomSheetComponent +import com.tangem.domain.tokens.model.CryptoCurrency +import com.tangem.domain.wallets.models.UserWalletId + +/** + * Onramp bottom sheet component for adding token to portfolio + * +[REDACTED_AUTHOR] + */ +interface OnrampAddToPortfolioComponent : ComposableBottomSheetComponent { + + /** + * Params + * + * @property userWalletId user wallet id + * @property cryptoCurrency crypto currency + * @property currencyIconState currency icon state + * @property onSuccessAdding lambda be invoked when token will added + * @property onDismiss lambda be invoked when bottom sheet is dismissed + */ + data class Params( + val userWalletId: UserWalletId, + val cryptoCurrency: CryptoCurrency, + val currencyIconState: CurrencyIconState, + val onSuccessAdding: () -> Unit, + val onDismiss: () -> Unit, + ) + + interface Factory : ComponentFactory +} \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/di/OnrampAddToPortfolioComponentModule.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/di/OnrampAddToPortfolioComponentModule.kt new file mode 100644 index 0000000000..57d2660750 --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/di/OnrampAddToPortfolioComponentModule.kt @@ -0,0 +1,20 @@ +package com.tangem.features.onramp.hottokens.portfolio.di + +import com.tangem.features.onramp.hottokens.portfolio.DefaultOnrampAddToPortfolioComponent +import com.tangem.features.onramp.hottokens.portfolio.OnrampAddToPortfolioComponent +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.hilt.components.SingletonComponent +import javax.inject.Singleton + +@Module +@InstallIn(SingletonComponent::class) +internal interface OnrampAddToPortfolioComponentModule { + + @Binds + @Singleton + fun bindOnrampAddToPortfolioComponentFactory( + factory: DefaultOnrampAddToPortfolioComponent.Factory, + ): OnrampAddToPortfolioComponent.Factory +} \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/di/OnrampAddToPortfolioModelModule.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/di/OnrampAddToPortfolioModelModule.kt new file mode 100644 index 0000000000..086a66b0d0 --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/di/OnrampAddToPortfolioModelModule.kt @@ -0,0 +1,20 @@ +package com.tangem.features.onramp.hottokens.portfolio.di + +import com.tangem.core.decompose.di.DecomposeComponent +import com.tangem.core.decompose.model.Model +import com.tangem.features.onramp.hottokens.portfolio.model.OnrampAddToPortfolioModel +import dagger.Binds +import dagger.Module +import dagger.hilt.InstallIn +import dagger.multibindings.ClassKey +import dagger.multibindings.IntoMap + +@Module +@InstallIn(DecomposeComponent::class) +internal interface OnrampAddToPortfolioModelModule { + + @Binds + @IntoMap + @ClassKey(OnrampAddToPortfolioModel::class) + fun bindOnrampSelectCountryModel(model: OnrampAddToPortfolioModel): Model +} \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddToPortfolioBSConfig.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddToPortfolioBSConfig.kt new file mode 100644 index 0000000000..5136e3709e --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddToPortfolioBSConfig.kt @@ -0,0 +1,13 @@ +package com.tangem.features.onramp.hottokens.portfolio.entity + +import com.tangem.core.ui.components.currency.icon.CurrencyIconState +import com.tangem.domain.tokens.model.CryptoCurrency + +internal sealed class OnrampAddToPortfolioBSConfig { + + data class AddToPortfolio( + val cryptoCurrency: CryptoCurrency, + val currencyIconState: CurrencyIconState, + val onSuccessAdding: () -> Unit, + ) : OnrampAddToPortfolioBSConfig() +} \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddToPortfolioUM.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddToPortfolioUM.kt new file mode 100644 index 0000000000..44a2c35c1e --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/entity/OnrampAddToPortfolioUM.kt @@ -0,0 +1,34 @@ +package com.tangem.features.onramp.hottokens.portfolio.entity + +import com.tangem.core.ui.components.currency.icon.CurrencyIconState +import com.tangem.core.ui.extensions.TextReference +import com.tangem.core.ui.extensions.resourceReference +import com.tangem.core.ui.extensions.wrappedList +import com.tangem.features.onramp.impl.R + +/** + * Onramp add to portfolio UM + * + * @property currencyName currency name + * @property networkName network name + * @property currencyIconState currency icon state + * @property onAddClick lambda be invoked when add button is clicked + * +[REDACTED_AUTHOR] + */ +data class OnrampAddToPortfolioUM( + val currencyName: String, + val networkName: String, + val currencyIconState: CurrencyIconState, + val onAddClick: () -> Unit, +) { + + val bsTitle: TextReference = resourceReference(id = R.string.common_add_token) + + val subtitle: TextReference = resourceReference( + id = R.string.hot_crypto_token_network, + formatArgs = wrappedList(networkName), + ) + + val addButtonText: TextReference = resourceReference(R.string.common_add_to_portfolio) +} \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/model/OnrampAddToPortfolioModel.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/model/OnrampAddToPortfolioModel.kt new file mode 100644 index 0000000000..83470a0ffa --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/model/OnrampAddToPortfolioModel.kt @@ -0,0 +1,63 @@ +package com.tangem.features.onramp.hottokens.portfolio.model + +import arrow.core.getOrElse +import com.tangem.core.decompose.di.ComponentScoped +import com.tangem.core.decompose.model.Model +import com.tangem.core.decompose.model.ParamsContainer +import com.tangem.domain.card.DerivePublicKeysUseCase +import com.tangem.domain.tokens.AddCryptoCurrenciesUseCase +import com.tangem.features.onramp.hottokens.portfolio.OnrampAddToPortfolioComponent +import com.tangem.features.onramp.hottokens.portfolio.entity.OnrampAddToPortfolioUM +import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.launch +import timber.log.Timber +import javax.inject.Inject + +/** + * Model for adding token to portfolio + * + * @param paramsContainer params container + * @property dispatchers dispatchers + * @property derivePublicKeysUseCase use case for deriving public key + * @property addCryptoCurrenciesUseCase use case for adding crypto currency + * +[REDACTED_AUTHOR] + */ +@ComponentScoped +internal class OnrampAddToPortfolioModel @Inject constructor( + paramsContainer: ParamsContainer, + override val dispatchers: CoroutineDispatcherProvider, + private val derivePublicKeysUseCase: DerivePublicKeysUseCase, + private val addCryptoCurrenciesUseCase: AddCryptoCurrenciesUseCase, +) : Model() { + + val state: StateFlow get() = _state + private val _state = MutableStateFlow(value = getInitialState()) + + private val params: OnrampAddToPortfolioComponent.Params = paramsContainer.require() + + private fun getInitialState(): OnrampAddToPortfolioUM { + return OnrampAddToPortfolioUM( + currencyName = params.cryptoCurrency.name, + networkName = params.cryptoCurrency.network.name, + currencyIconState = params.currencyIconState, + onAddClick = ::onAddClick, + ) + } + + private fun onAddClick() { + modelScope.launch { + derivePublicKeysUseCase(params.userWalletId, listOfNotNull(params.cryptoCurrency)).getOrElse { + Timber.e("Failed to derive public keys: $it") + } + + addCryptoCurrenciesUseCase( + userWalletId = params.userWalletId, + currencies = listOfNotNull(params.cryptoCurrency), + ) + .onRight { params.onSuccessAdding() } + } + } +} \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/ui/OnrampAddToPortfolioBottomSheet.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/ui/OnrampAddToPortfolioBottomSheet.kt new file mode 100644 index 0000000000..253dd52eed --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/ui/OnrampAddToPortfolioBottomSheet.kt @@ -0,0 +1,17 @@ +package com.tangem.features.onramp.hottokens.portfolio.ui + +import androidx.compose.runtime.Composable +import com.tangem.core.ui.components.bottomsheets.TangemBottomSheet +import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig +import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfigContent +import com.tangem.core.ui.res.TangemTheme + +@Composable +internal fun OnrampAddToPortfolioBottomSheet(config: TangemBottomSheetConfig, content: @Composable () -> Unit) { + TangemBottomSheet( + config = config, + addBottomInsets = true, + containerColor = TangemTheme.colors.background.tertiary, + content = { content() }, + ) +} \ No newline at end of file diff --git a/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/ui/OnrampAddToPortfolioContent.kt b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/ui/OnrampAddToPortfolioContent.kt new file mode 100644 index 0000000000..d57182b16b --- /dev/null +++ b/features/onramp/impl/src/main/kotlin/com/tangem/features/onramp/hottokens/portfolio/ui/OnrampAddToPortfolioContent.kt @@ -0,0 +1,162 @@ +package com.tangem.features.onramp.hottokens.portfolio.ui + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import com.tangem.core.ui.components.SpacerH +import com.tangem.core.ui.components.SpacerH12 +import com.tangem.core.ui.components.SpacerH16 +import com.tangem.core.ui.components.SpacerH24 +import com.tangem.core.ui.components.appbar.TangemTopAppBar +import com.tangem.core.ui.components.appbar.TangemTopAppBarHeight +import com.tangem.core.ui.components.appbar.models.TopAppBarButtonUM +import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfig +import com.tangem.core.ui.components.bottomsheets.TangemBottomSheetConfigContent +import com.tangem.core.ui.components.buttons.common.TangemButton +import com.tangem.core.ui.components.buttons.common.TangemButtonIconPosition +import com.tangem.core.ui.components.buttons.common.TangemButtonSize +import com.tangem.core.ui.components.buttons.common.TangemButtonsDefaults +import com.tangem.core.ui.components.currency.icon.CurrencyIcon +import com.tangem.core.ui.components.currency.icon.CurrencyIconState +import com.tangem.core.ui.extensions.TextReference +import com.tangem.core.ui.extensions.resolveReference +import com.tangem.core.ui.res.TangemColorPalette +import com.tangem.core.ui.res.TangemTheme +import com.tangem.core.ui.res.TangemThemePreview +import com.tangem.features.onramp.hottokens.portfolio.entity.OnrampAddToPortfolioUM +import com.tangem.features.onramp.impl.R + +/** + * Onramp add to portfolio content + * + * @param state state + */ +@Composable +fun OnrampAddToPortfolioContent(state: OnrampAddToPortfolioUM) { + Column( + modifier = Modifier.fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally, + ) { + TopAppBar(text = state.bsTitle) + + SpacerH(height = 19.dp) + + CurrencyIcon(state = state.currencyIconState) + + SpacerH12() + + CurrencyName( + text = state.currencyName, + modifier = Modifier.padding(horizontal = 16.dp), + ) + + SpacerH(height = 6.dp) + + CurrencyNetworkName( + text = state.subtitle, + modifier = Modifier.padding(horizontal = 16.dp), + ) + + SpacerH24() + + AddToPortfolioButton( + text = state.addButtonText, + onClick = state.onAddClick, + modifier = Modifier.padding(horizontal = 16.dp), + ) + + SpacerH16() + } +} + +@Composable +private fun TopAppBar(text: TextReference) { + TangemTopAppBar( + title = text.resolveReference(), + endButton = TopAppBarButtonUM( + iconRes = R.drawable.ic_information_24, + onIconClicked = {}, + ), + iconTint = TangemTheme.colors.icon.informative, + titleAlignment = Alignment.CenterHorizontally, + height = TangemTopAppBarHeight.BOTTOM_SHEET, + ) +} + +@Composable +private fun CurrencyName(text: String, modifier: Modifier = Modifier) { + Text( + text = text, + modifier = modifier, + color = TangemTheme.colors.text.primary1, + maxLines = 1, + style = TangemTheme.typography.subtitle1, + ) +} + +@Composable +private fun CurrencyNetworkName(text: TextReference, modifier: Modifier = Modifier) { + Text( + text = text.resolveReference(), + modifier = modifier, + color = TangemTheme.colors.text.tertiary, + maxLines = 1, + style = TangemTheme.typography.body2, + ) +} + +@Composable +private fun AddToPortfolioButton(text: TextReference, onClick: () -> Unit, modifier: Modifier = Modifier) { + TangemButton( + text = text.resolveReference(), + icon = TangemButtonIconPosition.End(iconResId = R.drawable.ic_tangem_24), + onClick = onClick, + colors = TangemButtonsDefaults.primaryButtonColors, + showProgress = false, + enabled = true, + modifier = modifier.fillMaxWidth(), + size = TangemButtonSize.WideAction, + textStyle = TangemTheme.typography.subtitle1, + ) +} + +@Preview +@Composable +private fun PreviewOnrampAddToPortfolioContent() { + TangemThemePreview { + val bottomSheetConfig = remember { + TangemBottomSheetConfig( + isShown = true, + onDismissRequest = {}, + content = TangemBottomSheetConfigContent.Empty, + ) + } + OnrampAddToPortfolioBottomSheet( + config = bottomSheetConfig, + content = { + OnrampAddToPortfolioContent( + state = OnrampAddToPortfolioUM( + currencyName = "Tether", + networkName = "Ethereum", + currencyIconState = CurrencyIconState.TokenIcon( + url = null, + topBadgeIconResId = R.drawable.img_eth_22, + fallbackTint = TangemColorPalette.Black, + fallbackBackground = TangemColorPalette.Meadow, + isGrayscale = false, + showCustomBadge = false, + ), + onAddClick = {}, + ), + ) + }, + ) + } +} \ No newline at end of file From dfa6798f079d46c9aced2176cebcae82bf9d354d Mon Sep 17 00:00:00 2001 From: Tangem Date: Sat, 1 Feb 2025 18:59:23 +0400 Subject: [PATCH 53/61] Updated on 2026-08-14 --- .../tester/presentation/TesterActivity.kt | 2 +- .../providers/entity/BlockchainProvidersUM.kt | 1 + .../providers/ui/BlockchainProvidersScreen.kt | 13 ++++- .../viewmodel/BlockchainProvidersViewModel.kt | 7 ++- libs/blockchain-sdk/build.gradle.kts | 3 +- .../BlockchainProviderTypesConverter.kt | 36 +++++++------ .../converters/ProviderTypeConverter.kt | 35 ++++++++++++ .../di/BlockchainSDKFactoryModule.kt | 37 +++++++++++-- .../BlockchainProvidersResponseMerger.kt | 9 ++-- .../BlockchainProvidersTypesManager.kt | 4 +- .../DevBlockchainProvidersTypesManager.kt | 53 +++++++++++++------ .../MutableBlockchainProvidersTypesManager.kt | 3 ++ .../ProdBlockchainProvidersTypesManager.kt | 4 +- .../providers/ProviderTypeIdMapping.kt | 27 ++++++++++ .../BlockchainProvidersResponseSerializer.kt | 34 ++++++++++++ .../blockchainsdk/utils/ProviderTypeExt.kt | 34 ------------ 16 files changed, 220 insertions(+), 82 deletions(-) create mode 100644 libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/converters/ProviderTypeConverter.kt create mode 100644 libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/ProviderTypeIdMapping.kt create mode 100644 libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/dev/BlockchainProvidersResponseSerializer.kt delete mode 100644 libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/ProviderTypeExt.kt diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/TesterActivity.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/TesterActivity.kt index 5a9fbd3fe3..23e833f935 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/TesterActivity.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/TesterActivity.kt @@ -135,7 +135,7 @@ internal class TesterActivity : ComposeActivity() { composable(route = TesterScreen.BLOCKCHAIN_PROVIDERS.name) { val viewModel = hiltViewModel().apply { - setupNavigation(innerTesterRouter) + setupNavigation(innerTesterRouter, appFinisher) } val state by viewModel.state.collectAsStateWithLifecycle() diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/entity/BlockchainProvidersUM.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/entity/BlockchainProvidersUM.kt index f63f49d696..53571d98f9 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/entity/BlockchainProvidersUM.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/entity/BlockchainProvidersUM.kt @@ -10,6 +10,7 @@ internal data class BlockchainProvidersUM( val topBar: TopBarWithRefreshUM, val searchBar: SearchBarUM, val blockchainProviders: ImmutableList, + val onRestartAppClick: () -> Unit, ) { @Immutable diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/ui/BlockchainProvidersScreen.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/ui/BlockchainProvidersScreen.kt index fab6c7afac..908033f11b 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/ui/BlockchainProvidersScreen.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/ui/BlockchainProvidersScreen.kt @@ -30,6 +30,7 @@ import androidx.compose.ui.util.fastForEachIndexed import com.tangem.blockchain.common.network.providers.ProviderType import com.tangem.core.ui.components.AdditionalTextInputDialogUM import com.tangem.core.ui.components.DialogButtonUM +import com.tangem.core.ui.components.PrimaryButton import com.tangem.core.ui.components.TextInputDialog import com.tangem.core.ui.components.fields.SearchBar import com.tangem.core.ui.components.fields.entity.SearchBarUM @@ -59,7 +60,7 @@ internal fun BlockchainProvidersScreen(state: BlockchainProvidersUM) { .fillMaxSize() .background(TangemTheme.colors.background.primary), ) { - LazyColumn { + LazyColumn(contentPadding = PaddingValues(bottom = 64.dp)) { stickyHeader { Header(topBar = state.topBar, searchBar = state.searchBar) } @@ -85,6 +86,15 @@ internal fun BlockchainProvidersScreen(state: BlockchainProvidersUM) { itemContent = { BlockchainProvidersItem(it) }, ) } + + PrimaryButton( + text = stringResourceSafe(id = R.string.restart_app), + onClick = state.onRestartAppClick, + modifier = Modifier + .align(Alignment.BottomCenter) + .fillMaxWidth() + .padding(TangemTheme.dimens.spacing16), + ) } } @@ -427,6 +437,7 @@ private fun Preview_BlockchainProvidersScreen() { ), ), ), + onRestartAppClick = {}, ), ) } diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/viewmodel/BlockchainProvidersViewModel.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/viewmodel/BlockchainProvidersViewModel.kt index 97cf7d9d36..97c4512a84 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/viewmodel/BlockchainProvidersViewModel.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/providers/viewmodel/BlockchainProvidersViewModel.kt @@ -7,6 +7,7 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.network.providers.ProviderType import com.tangem.blockchainsdk.providers.BlockchainProvidersTypesManager import com.tangem.blockchainsdk.providers.MutableBlockchainProvidersTypesManager +import com.tangem.core.navigation.finisher.AppFinisher import com.tangem.core.ui.components.fields.entity.SearchBarUM import com.tangem.core.ui.extensions.resourceReference import com.tangem.feature.tester.impl.R @@ -46,6 +47,7 @@ internal class BlockchainProvidersViewModel @Inject constructor( onActiveChange = {}, ), blockchainProviders = persistentListOf(), + onRestartAppClick = {}, ), ) @@ -57,10 +59,11 @@ internal class BlockchainProvidersViewModel @Inject constructor( subscribeOnBlockchainProviderTypesUpdates() } - fun setupNavigation(router: InnerTesterRouter) { + fun setupNavigation(router: InnerTesterRouter, appFinisher: AppFinisher) { _state.update { state -> state.copy( topBar = state.topBar.copy(onBackClick = router::back), + onRestartAppClick = appFinisher::restart, ) } } @@ -116,7 +119,7 @@ internal class BlockchainProvidersViewModel @Inject constructor( private fun onRefreshClick() { viewModelScope.launch { - manager.update() + manager.recoverInitialState() } } diff --git a/libs/blockchain-sdk/build.gradle.kts b/libs/blockchain-sdk/build.gradle.kts index bdbb9dde4f..12234d749f 100644 --- a/libs/blockchain-sdk/build.gradle.kts +++ b/libs/blockchain-sdk/build.gradle.kts @@ -4,6 +4,7 @@ plugins { alias(deps.plugins.android.library) alias(deps.plugins.kotlin.android) alias(deps.plugins.kotlin.kapt) + alias(deps.plugins.hilt.android) id("configuration") } @@ -24,7 +25,7 @@ dependencies { // endregion // region DI libraries - implementation(deps.hilt.core) + implementation(deps.hilt.android) kapt(deps.hilt.kapt) // endregion diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/converters/BlockchainProviderTypesConverter.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/converters/BlockchainProviderTypesConverter.kt index e1a287d634..b988b3fce1 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/converters/BlockchainProviderTypesConverter.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/converters/BlockchainProviderTypesConverter.kt @@ -1,39 +1,43 @@ package com.tangem.blockchainsdk.converters import com.tangem.blockchain.common.Blockchain -import com.tangem.blockchain.common.network.providers.ProviderType import com.tangem.blockchainsdk.BlockchainProvidersResponse import com.tangem.blockchainsdk.providers.BlockchainProviderTypes -import com.tangem.blockchainsdk.utils.createPrivateProviderType import com.tangem.blockchainsdk.utils.fromNetworkId -import com.tangem.datasource.local.config.providers.models.ProviderModel -import com.tangem.utils.converter.Converter +import com.tangem.blockchainsdk.utils.toNetworkId +import com.tangem.utils.converter.TwoWayConverter import timber.log.Timber /** - * Converts [BlockchainProvidersResponse] to [BlockchainProviderTypes] + * Converts [BlockchainProvidersResponse] to [BlockchainProviderTypes] and vice versa * [REDACTED_AUTHOR] */ internal object BlockchainProviderTypesConverter : - Converter { + TwoWayConverter { override fun convert(value: BlockchainProvidersResponse): BlockchainProviderTypes { return value.mapNotNull { (networkId, blockchainProviders) -> val blockchain = Blockchain.fromNetworkId(networkId) ?: return@mapNotNull null - val providerTypes = blockchainProviders.mapNotNull { provider -> - when (provider) { - is ProviderModel.Public -> ProviderType.Public(url = provider.url) - is ProviderModel.Private -> createPrivateProviderType(name = provider.name) - ProviderModel.UnsupportedType -> { - Timber.e("$blockchain provider type is not supported") - null - } - } + val providerTypes = ProviderTypeConverter.convertList(input = blockchainProviders) + + providerTypes.forEach { + if (it == null) Timber.e("$blockchain provider type is not supported") } - blockchain to providerTypes + blockchain to providerTypes.filterNotNull() + } + .toMap() + } + + override fun convertBack(value: BlockchainProviderTypes): BlockchainProvidersResponse { + return value.mapNotNull { (blockchain, providerTypes) -> + val networkId = blockchain.toNetworkId() + + val blockchainProviders = ProviderTypeConverter.convertListBack(input = providerTypes) + + networkId to blockchainProviders } .toMap() } diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/converters/ProviderTypeConverter.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/converters/ProviderTypeConverter.kt new file mode 100644 index 0000000000..9958db8a21 --- /dev/null +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/converters/ProviderTypeConverter.kt @@ -0,0 +1,35 @@ +package com.tangem.blockchainsdk.converters + +import com.tangem.blockchain.common.network.providers.ProviderType +import com.tangem.blockchainsdk.providers.ProviderTypeIdMapping +import com.tangem.datasource.local.config.providers.models.ProviderModel +import com.tangem.utils.converter.TwoWayConverter + +/** + * Converts [ProviderModel] to [ProviderType] and vice versa + * +[REDACTED_AUTHOR] + */ +internal object ProviderTypeConverter : TwoWayConverter { + + override fun convert(value: ProviderModel): ProviderType? { + return when (value) { + is ProviderModel.Public -> ProviderType.Public(url = value.url) + is ProviderModel.Private -> ProviderTypeIdMapping.entries.firstOrNull { it.id == value.name }?.providerType + ProviderModel.UnsupportedType -> null + } + } + + override fun convertBack(value: ProviderType?): ProviderModel { + return when (value) { + null -> ProviderModel.UnsupportedType + is ProviderType.Public -> ProviderModel.Public(url = value.url) + else -> { + val id = ProviderTypeIdMapping.entries.firstOrNull { it.providerType == value }?.id + ?: return ProviderModel.UnsupportedType + + ProviderModel.Private(id) + } + } + } +} \ No newline at end of file diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/di/BlockchainSDKFactoryModule.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/di/BlockchainSDKFactoryModule.kt index ec39268431..0e46908b4f 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/di/BlockchainSDKFactoryModule.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/di/BlockchainSDKFactoryModule.kt @@ -1,17 +1,26 @@ package com.tangem.blockchainsdk.di +import android.content.Context +import androidx.datastore.core.DataStore +import androidx.datastore.core.DataStoreFactory +import androidx.datastore.dataStoreFile +import com.squareup.moshi.Moshi import com.tangem.blockchain.common.logging.BlockchainSDKLogger +import com.tangem.blockchainsdk.BlockchainProvidersResponse import com.tangem.blockchainsdk.BlockchainSDKFactory import com.tangem.blockchainsdk.DefaultBlockchainSDKFactory import com.tangem.blockchainsdk.WalletManagerFactoryCreator import com.tangem.blockchainsdk.accountcreator.DefaultAccountCreator import com.tangem.blockchainsdk.datastorage.DefaultBlockchainDataStorage import com.tangem.blockchainsdk.featuretoggles.DefaultBlockchainSDKFeatureToggles +import com.tangem.blockchainsdk.providers.BlockchainProviderTypesStore import com.tangem.blockchainsdk.providers.BlockchainProvidersTypesManager import com.tangem.blockchainsdk.providers.DevBlockchainProvidersTypesManager import com.tangem.blockchainsdk.providers.ProdBlockchainProvidersTypesManager +import com.tangem.blockchainsdk.providers.dev.BlockchainProvidersResponseSerializer import com.tangem.core.configtoggle.feature.FeatureTogglesManager import com.tangem.datasource.api.tangemTech.TangemTechApi +import com.tangem.datasource.di.NetworkMoshi import com.tangem.datasource.local.config.environment.EnvironmentConfigStorage import com.tangem.datasource.local.preferences.AppPreferencesStore import com.tangem.libs.blockchain_sdk.BuildConfig @@ -19,7 +28,10 @@ import com.tangem.utils.coroutines.CoroutineDispatcherProvider import dagger.Module import dagger.Provides import dagger.hilt.InstallIn +import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.components.SingletonComponent +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.SupervisorJob import javax.inject.Singleton @Module @@ -45,16 +57,35 @@ internal object BlockchainSDKFactoryModule { @Provides @Singleton fun provideBlockchainProvidersTypesManager( - devBlockchainProvidersTypesManager: DevBlockchainProvidersTypesManager, prodBlockchainProvidersTypesManager: ProdBlockchainProvidersTypesManager, + blockchainProviderTypesStore: BlockchainProviderTypesStore, + changedBlockchainProvidersStore: DataStore, ): BlockchainProvidersTypesManager { - return if (BuildConfig.DEBUG) { - devBlockchainProvidersTypesManager + return if (BuildConfig.TESTER_MENU_ENABLED) { + DevBlockchainProvidersTypesManager( + prodBlockchainProvidersTypesManager = prodBlockchainProvidersTypesManager, + blockchainProviderTypesStore = blockchainProviderTypesStore, + changedBlockchainProvidersStore = changedBlockchainProvidersStore, + ) } else { prodBlockchainProvidersTypesManager } } + @Provides + @Singleton + fun provideChangedBlockchainProvidersResponseDataStore( + @NetworkMoshi moshi: Moshi, + @ApplicationContext context: Context, + dispatchers: CoroutineDispatcherProvider, + ): DataStore { + return DataStoreFactory.create( + serializer = BlockchainProvidersResponseSerializer(moshi), + produceFile = { context.dataStoreFile("changed_providers") }, + scope = CoroutineScope(dispatchers.io + SupervisorJob()), + ) + } + @Provides @Singleton fun provideWalletManagerFactoryCreator( diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/BlockchainProvidersResponseMerger.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/BlockchainProvidersResponseMerger.kt index 8afaacc12d..ec57ec97ac 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/BlockchainProvidersResponseMerger.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/BlockchainProvidersResponseMerger.kt @@ -3,7 +3,6 @@ package com.tangem.blockchainsdk.providers import androidx.core.util.PatternsCompat import com.google.firebase.crashlytics.FirebaseCrashlytics import com.tangem.blockchainsdk.BlockchainProvidersResponse -import com.tangem.blockchainsdk.utils.createPrivateProviderType import com.tangem.datasource.local.config.providers.models.ProviderModel import timber.log.Timber @@ -48,11 +47,11 @@ internal object BlockchainProvidersResponseMerger { return result.guaranteeUrlsEndWithSlash() } - private fun List.filterUnsupportedProviders() = filter { - val isSupportedType = it !is ProviderModel.UnsupportedType + private fun List.filterUnsupportedProviders() = filter { model -> + val isSupportedType = model !is ProviderModel.UnsupportedType - val isSupportedPrivateType = if (it is ProviderModel.Private) { - createPrivateProviderType(it.name) != null + val isSupportedPrivateType = if (model is ProviderModel.Private) { + ProviderTypeIdMapping.entries.any { it.id == model.name } } else { true } diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/BlockchainProvidersTypesManager.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/BlockchainProvidersTypesManager.kt index af43d092c8..6b2d23a725 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/BlockchainProvidersTypesManager.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/BlockchainProvidersTypesManager.kt @@ -1,11 +1,11 @@ package com.tangem.blockchainsdk.providers -import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.Flow /** Blockchain providers types manager */ interface BlockchainProvidersTypesManager { - fun get(): StateFlow + fun get(): Flow suspend fun update() } \ No newline at end of file diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/DevBlockchainProvidersTypesManager.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/DevBlockchainProvidersTypesManager.kt index 479c90f1d2..8af47fd124 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/DevBlockchainProvidersTypesManager.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/DevBlockchainProvidersTypesManager.kt @@ -1,45 +1,68 @@ package com.tangem.blockchainsdk.providers +import androidx.datastore.core.DataStore import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.network.providers.ProviderType -import javax.inject.Inject -import javax.inject.Singleton -import kotlin.properties.Delegates.notNull +import com.tangem.blockchainsdk.BlockchainProvidersResponse +import com.tangem.blockchainsdk.converters.BlockchainProviderTypesConverter +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.firstOrNull +import kotlinx.coroutines.flow.map +import timber.log.Timber /** * Implementation of [BlockchainProvidersTypesManager] in DEV environment * * @property prodBlockchainProvidersTypesManager prod manager * @property blockchainProviderTypesStore blockchain provider types store + * @property changedBlockchainProvidersStore changed blockchain providers store * [REDACTED_AUTHOR] */ -@Singleton -internal class DevBlockchainProvidersTypesManager @Inject constructor( +internal class DevBlockchainProvidersTypesManager( private val prodBlockchainProvidersTypesManager: ProdBlockchainProvidersTypesManager, private val blockchainProviderTypesStore: BlockchainProviderTypesStore, -) : BlockchainProvidersTypesManager by prodBlockchainProvidersTypesManager, - MutableBlockchainProvidersTypesManager { + private val changedBlockchainProvidersStore: DataStore, +) : MutableBlockchainProvidersTypesManager { - private var primaryResponse: BlockchainProviderTypes by notNull() + override fun get(): Flow = changedBlockchainProvidersStore.data + .map(BlockchainProviderTypesConverter::convert) override suspend fun update() { prodBlockchainProvidersTypesManager.update() - primaryResponse = blockchainProviderTypesStore.get().value + val initial = blockchainProviderTypesStore.get().value + + val changed = changedBlockchainProvidersStore.data.firstOrNull().orEmpty() + + if (changed.isEmpty()) { + Timber.i("Initialize ChangedBlockchainProvidersStore") + changedBlockchainProvidersStore.updateData { + BlockchainProviderTypesConverter.convertBack(initial) + } + } + } + + override suspend fun recoverInitialState() { + val initial = blockchainProviderTypesStore.get().value + + changedBlockchainProvidersStore.updateData { + BlockchainProviderTypesConverter.convertBack(initial) + } } override suspend fun update(blockchain: Blockchain, providers: List) { - val currentTypes = blockchainProviderTypesStore.get().value + changedBlockchainProvidersStore.updateData { + val providerModels = BlockchainProviderTypesConverter.convertBack(value = mapOf(blockchain to providers)) - val updatedTypes = currentTypes + (blockchain to providers) - - blockchainProviderTypesStore.store(value = updatedTypes) + it + providerModels + } } override suspend fun isMatchWithMerged(): Boolean { - val current = blockchainProviderTypesStore.get().value + val initial = blockchainProviderTypesStore.get().value + val changed = changedBlockchainProvidersStore.data.firstOrNull().orEmpty() - return current == primaryResponse + return initial == BlockchainProviderTypesConverter.convert(changed) } } \ No newline at end of file diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/MutableBlockchainProvidersTypesManager.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/MutableBlockchainProvidersTypesManager.kt index 148a2dfc23..fd460c4ad9 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/MutableBlockchainProvidersTypesManager.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/MutableBlockchainProvidersTypesManager.kt @@ -13,6 +13,9 @@ interface MutableBlockchainProvidersTypesManager : BlockchainProvidersTypesManag /** Update [providers] for [blockchain] */ suspend fun update(blockchain: Blockchain, providers: List) + /** Recover initial state */ + suspend fun recoverInitialState() + /** Checks that current [BlockchainProviderTypes] was changed */ suspend fun isMatchWithMerged(): Boolean } \ No newline at end of file diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/ProdBlockchainProvidersTypesManager.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/ProdBlockchainProvidersTypesManager.kt index 3a62906d7b..c535a0f61a 100644 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/ProdBlockchainProvidersTypesManager.kt +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/ProdBlockchainProvidersTypesManager.kt @@ -1,7 +1,7 @@ package com.tangem.blockchainsdk.providers import com.tangem.blockchainsdk.converters.BlockchainProviderTypesConverter -import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.Flow import timber.log.Timber import javax.inject.Inject import javax.inject.Singleton @@ -20,7 +20,7 @@ internal class ProdBlockchainProvidersTypesManager @Inject constructor( private val blockchainProviderTypesStore: BlockchainProviderTypesStore, ) : BlockchainProvidersTypesManager { - override fun get(): StateFlow = blockchainProviderTypesStore.get() + override fun get(): Flow = blockchainProviderTypesStore.get() override suspend fun update() { val response = blockchainProvidersResponseLoader.load() diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/ProviderTypeIdMapping.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/ProviderTypeIdMapping.kt new file mode 100644 index 0000000000..6917699851 --- /dev/null +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/ProviderTypeIdMapping.kt @@ -0,0 +1,27 @@ +package com.tangem.blockchainsdk.providers + +import com.tangem.blockchain.common.network.providers.ProviderType + +/** Mapping of [providerType] with [id] */ +internal enum class ProviderTypeIdMapping(val id: String, val providerType: ProviderType) { + NowNodes(id = "nownodes", providerType = ProviderType.NowNodes), + GetBlock(id = "getblock", providerType = ProviderType.GetBlock), + QuickNode(id = "quicknode", providerType = ProviderType.QuickNode), + BitcoinBlockchair(id = "blockchair", providerType = ProviderType.BitcoinLike.Blockchair), + BitcoinBlockcypher(id = "blockcypher", providerType = ProviderType.BitcoinLike.Blockcypher), + CardanoAdalite(id = "adalite", providerType = ProviderType.Cardano.Adalite), + CardanoRosetta(id = "tangemRosetta", providerType = ProviderType.Cardano.Rosetta), + ChiaFireAcademy(id = "fireAcademy", providerType = ProviderType.Chia.FireAcademy), + ChiaTangem(id = "tangemChia", providerType = ProviderType.Chia.Tangem), + ChiaTangemNew(id = "tangemChia3", providerType = ProviderType.Chia.TangemNew), + EthereumInfura(id = "infura", providerType = ProviderType.EthereumLike.Infura), + HederaArkhia(id = "arkhiaHedera", providerType = ProviderType.Hedera.Arkhia), + KaspaSecondary(id = "kaspa", providerType = ProviderType.Kaspa.SecondaryAPI), + SolanaOfficial(id = "solana", providerType = ProviderType.Solana.Official), + TonCentral(id = "ton", providerType = ProviderType.Ton.TonCentral), + TronGrid(id = "tron", providerType = ProviderType.Tron.TronGrid), + BittensorDwellir(id = "dwellirBittensor", providerType = ProviderType.Bittensor.Dwellir), + BittensorOnfinality(id = "onfinalityBittensor", providerType = ProviderType.Bittensor.Onfinality), + KoinosPro(id = "koinospro", providerType = ProviderType.Koinos.KoinosPro), + ; +} \ No newline at end of file diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/dev/BlockchainProvidersResponseSerializer.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/dev/BlockchainProvidersResponseSerializer.kt new file mode 100644 index 0000000000..be75a477db --- /dev/null +++ b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/providers/dev/BlockchainProvidersResponseSerializer.kt @@ -0,0 +1,34 @@ +package com.tangem.blockchainsdk.providers.dev + +import androidx.datastore.core.Serializer +import com.squareup.moshi.Moshi +import com.squareup.moshi.Types +import com.tangem.blockchainsdk.BlockchainProvidersResponse +import com.tangem.datasource.local.config.providers.models.ProviderModel +import java.io.InputStream +import java.io.OutputStream + +/** DataStore serializer for [BlockchainProvidersResponse]. Implemented by [Moshi]. */ +internal class BlockchainProvidersResponseSerializer(moshi: Moshi) : Serializer { + + private val adapter by lazy { + val providersType = Types.newParameterizedType(List::class.java, ProviderModel::class.java) + val type = Types.newParameterizedType(Map::class.java, String::class.java, providersType) + + moshi.adapter(type) + } + + override val defaultValue: BlockchainProvidersResponse = emptyMap() + + override suspend fun readFrom(input: InputStream): BlockchainProvidersResponse { + return input.bufferedReader().use { reader -> + adapter.fromJson(reader.readText()) ?: defaultValue + } + } + + override suspend fun writeTo(t: BlockchainProvidersResponse, output: OutputStream) { + output.bufferedWriter().use { writer -> + writer.write(adapter.toJson(t)) + } + } +} \ No newline at end of file diff --git a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/ProviderTypeExt.kt b/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/ProviderTypeExt.kt deleted file mode 100644 index 3b32c69ae9..0000000000 --- a/libs/blockchain-sdk/src/main/java/com/tangem/blockchainsdk/utils/ProviderTypeExt.kt +++ /dev/null @@ -1,34 +0,0 @@ -package com.tangem.blockchainsdk.utils - -import com.tangem.blockchain.common.network.providers.ProviderType -import timber.log.Timber - -/** Create private provider by [name] or return null */ -@Suppress("CyclomaticComplexMethod") -fun createPrivateProviderType(name: String): ProviderType? { - return when (name) { - "blockchair" -> ProviderType.BitcoinLike.Blockchair - "blockcypher" -> ProviderType.BitcoinLike.Blockcypher - "adalite" -> ProviderType.Cardano.Adalite - "tangemRosetta" -> ProviderType.Cardano.Rosetta - "fireAcademy" -> ProviderType.Chia.FireAcademy - "tangemChia" -> ProviderType.Chia.Tangem - "tangemChia3" -> ProviderType.Chia.TangemNew - "infura" -> ProviderType.EthereumLike.Infura - "getblock" -> ProviderType.GetBlock - "arkhiaHedera" -> ProviderType.Hedera.Arkhia - "kaspa" -> ProviderType.Kaspa.SecondaryAPI - "nownodes" -> ProviderType.NowNodes - "quicknode" -> ProviderType.QuickNode - "solana" -> ProviderType.Solana.Official - "ton" -> ProviderType.Ton.TonCentral - "tron" -> ProviderType.Tron.TronGrid - "dwellirBittensor" -> ProviderType.Bittensor.Dwellir - "onfinalityBittensor" -> ProviderType.Bittensor.Onfinality - "koinospro" -> ProviderType.Koinos.KoinosPro - else -> { - Timber.e("Private provider with name $name is not supported") - null - } - } -} \ No newline at end of file From 5883823eb348212ba7471f19b158dbd772e21ea0 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Feb 2025 12:24:11 +0300 Subject: [PATCH 54/61] Updated on 2026-08-14 --- .../hotcrypto/DefaultHotCryptoLoader.kt | 2 +- .../local/quote/DefaultQuotesStore.kt | 14 +--- .../datasource/local/quote/QuotesStore.kt | 4 +- .../common/currency/CryptoCurrencyFactory.kt | 4 +- .../data/common/currency/TokensOperations.kt | 19 +++-- .../currency/UserTokensResponseFactory.kt | 2 +- .../DefaultCustomTokensRepository.kt | 4 +- .../utils/ManagedCryptoCurrencyFactory.kt | 7 +- data/markets/build.gradle.kts | 1 + .../markets/DefaultMarketsTokenRepository.kt | 22 ++--- .../converters/TokenMarketChartsConverter.kt | 5 +- .../converters/TokenMarketListConverter.kt | 3 +- .../converters/TokenQuotesShortConverter.kt | 5 +- .../converters/HotCryptoCurrencyConverter.kt | 2 +- .../data/staking/DefaultStakingRepository.kt | 4 +- .../data/tokens/paging/CoinsPagingSource.kt | 82 ------------------- .../tokens/paging/CoinsResponseConverter.kt | 52 ------------ .../repository/DefaultCurrenciesRepository.kt | 6 +- .../repository/DefaultQuotesRepository.kt | 31 +++---- .../data/tokens/utils/QuotesConverter.kt | 8 +- .../DefaultWalletManagersFacade.kt | 4 +- .../model/CryptoCurrencyAmount.kt | 3 +- .../utils/CryptoCurrencyTypeConverter.kt | 2 +- .../walletmanager/utils/SdkTokenConverter.kt | 2 +- .../utils/UpdateWalletManagerResultFactory.kt | 9 +- .../managetokens/SaveManagedTokensUseCase.kt | 2 +- .../repository/CustomTokensRepository.kt | 2 +- domain/markets/models/build.gradle.kts | 1 + .../com/tangem/domain/markets/TokenMarket.kt | 3 +- .../domain/markets/TokenMarketParams.kt | 3 +- .../markets/GetCurrencyQuotesUseCase.kt | 4 +- .../markets/GetTokenExchangesUseCase.kt | 3 +- .../markets/GetTokenFullQuotesUseCase.kt | 3 +- .../markets/GetTokenMarketInfoUseCase.kt | 3 +- .../markets/GetTokenPriceChartUseCase.kt | 3 +- .../repositories/MarketsTokenRepository.kt | 14 ++-- .../domain/staking/model/stakekit/Yield.kt | 2 - .../domain/tokens/model/CryptoCurrency.kt | 12 ++- .../com/tangem/domain/tokens/model/Quote.kt | 8 +- .../tokens/model/staking/YieldExtentions.kt | 7 ++ .../tokens/FetchCardTokenListUseCase.kt | 4 +- .../tokens/FetchCurrencyStatusUseCase.kt | 2 +- .../domain/tokens/FetchTokenListUseCase.kt | 5 +- ...AllWalletsCryptoCurrencyStatusesUseCase.kt | 2 +- ...RefreshMultiCurrencyWalletQuotesUseCase.kt | 2 +- .../CurrenciesStatusesLceOperations.kt | 2 +- .../CurrenciesStatusesOperations.kt | 19 +++-- .../operations/CurrencyStatusOperations.kt | 2 +- .../tokens/repository/CurrenciesRepository.kt | 2 +- .../tokens/repository/QuotesRepository.kt | 8 +- .../tangem/domain/tokens/mock/MockQuotes.kt | 6 +- .../repository/MockCurrenciesRepository.kt | 4 +- .../tokens/repository/MockQuotesRepository.kt | 10 +-- .../DefaultMarketsTokenDetailsComponent.kt | 3 +- .../impl/model/MarketsTokenDetailsModel.kt | 2 +- .../impl/loader/PortfolioDataLoader.kt | 5 +- .../impl/model/SelectNetworkUMConverter.kt | 2 +- .../tokenlist/impl/model/MarketsListModel.kt | 7 +- .../MarketsListBatchFlowManager.kt | 5 +- .../statemanager/MarketsListUMStateManager.kt | 5 +- .../markets/tokenlist/impl/ui/MarketsList.kt | 3 +- .../ui/components/MarketsListLazyColumn.kt | 4 +- .../MarketChartListItemPreviewDataProvider.kt | 13 +-- .../impl/ui/state/MarketsListItemUM.kt | 3 +- .../tokenlist/impl/ui/state/MarketsListUM.kt | 3 +- .../presentation/state/fee/FeeStateFactory.kt | 2 +- .../RewardsValidatorStateConverter.kt | 2 +- .../helpers/StakingFeeTransactionLoader.kt | 1 + .../state/helpers/StakingTransactionSender.kt | 1 + .../feature/swap/domain/SwapInteractorImpl.kt | 7 +- .../factory/express/ExchangeStatusFactory.kt | 3 +- 71 files changed, 221 insertions(+), 285 deletions(-) delete mode 100644 data/tokens/src/main/kotlin/com/tangem/data/tokens/paging/CoinsPagingSource.kt delete mode 100644 data/tokens/src/main/kotlin/com/tangem/data/tokens/paging/CoinsResponseConverter.kt create mode 100644 domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/staking/YieldExtentions.kt diff --git a/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/DefaultHotCryptoLoader.kt b/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/DefaultHotCryptoLoader.kt index 4a8260bf8d..6ca3229ae4 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/DefaultHotCryptoLoader.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/exchangeservice/hotcrypto/DefaultHotCryptoLoader.kt @@ -46,7 +46,7 @@ internal class DefaultHotCryptoLoader @Inject constructor( override suspend fun update(currencies: List) { updateInternal { hotToken -> currencies.none { - it.id.rawCurrencyId == hotToken.id && + it.id.rawCurrencyId?.value == hotToken.id && (it as? CryptoCurrency.Token)?.contractAddress == hotToken.contractAddress && it.network.id.value == hotToken.networkId } diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/quote/DefaultQuotesStore.kt b/core/datasource/src/main/java/com/tangem/datasource/local/quote/DefaultQuotesStore.kt index fc0d1e0e42..962b4afddd 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/quote/DefaultQuotesStore.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/quote/DefaultQuotesStore.kt @@ -11,11 +11,9 @@ internal class DefaultQuotesStore( private val dataStore: StringKeyDataStore, ) : QuotesStore { - override fun get(currenciesIds: Set): Flow> { + override fun get(currenciesIds: Set): Flow> { return channelFlow { - val flows = currenciesIds.mapNotNull { currencyId -> - currencyId.rawCurrencyId?.let(dataStore::get) - } + val flows = currenciesIds.map { currencyId -> dataStore.get(currencyId.value) } if (dataStore.isEmpty() || flows.isEmpty()) { send(emptySet()) @@ -30,12 +28,8 @@ internal class DefaultQuotesStore( } } - override suspend fun getSync(currenciesIds: Set): Set { - return currenciesIds.mapNotNull { currencyId -> - currencyId.rawCurrencyId?.let { - dataStore.getSyncOrNull(it) - } - }.toSet() + override suspend fun getSync(currenciesIds: Set): Set { + return currenciesIds.mapNotNull { currencyId -> dataStore.getSyncOrNull(currencyId.value) }.toSet() } override suspend fun store(response: QuotesResponse) { diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/quote/QuotesStore.kt b/core/datasource/src/main/java/com/tangem/datasource/local/quote/QuotesStore.kt index dd3f577782..38f90100e4 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/quote/QuotesStore.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/quote/QuotesStore.kt @@ -7,9 +7,9 @@ import kotlinx.coroutines.flow.Flow interface QuotesStore { - fun get(currenciesIds: Set): Flow> + fun get(currenciesIds: Set): Flow> - suspend fun getSync(currenciesIds: Set): Set + suspend fun getSync(currenciesIds: Set): Set suspend fun store(response: QuotesResponse) } \ No newline at end of file diff --git a/data/common/src/main/kotlin/com/tangem/data/common/currency/CryptoCurrencyFactory.kt b/data/common/src/main/kotlin/com/tangem/data/common/currency/CryptoCurrencyFactory.kt index 7b9c905f0d..35efb1a541 100644 --- a/data/common/src/main/kotlin/com/tangem/data/common/currency/CryptoCurrencyFactory.kt +++ b/data/common/src/main/kotlin/com/tangem/data/common/currency/CryptoCurrencyFactory.kt @@ -18,7 +18,7 @@ class CryptoCurrencyFactory( @Suppress("LongParameterList") // Yep, it's long fun createToken( network: Network, - rawId: String?, + rawId: CryptoCurrency.RawID?, name: String, symbol: String, decimals: Int, @@ -125,7 +125,7 @@ class CryptoCurrencyFactory( symbol = cryptoCurrency.symbol, contractAddress = cryptoCurrency.contractAddress, decimals = cryptoCurrency.decimals, - id = cryptoCurrency.id.rawCurrencyId, + id = cryptoCurrency.id.rawCurrencyId?.value, ) val blockchain = Blockchain.fromNetworkId(cryptoCurrency.network.backendId) ?: Blockchain.Unknown val id = getTokenId(network, sdkToken) diff --git a/data/common/src/main/kotlin/com/tangem/data/common/currency/TokensOperations.kt b/data/common/src/main/kotlin/com/tangem/data/common/currency/TokensOperations.kt index 724649c959..e2cfb5809b 100644 --- a/data/common/src/main/kotlin/com/tangem/data/common/currency/TokensOperations.kt +++ b/data/common/src/main/kotlin/com/tangem/data/common/currency/TokensOperations.kt @@ -4,6 +4,7 @@ import com.tangem.blockchain.common.Blockchain import com.tangem.blockchain.common.IconsUtil import com.tangem.blockchainsdk.utils.toCoinId import com.tangem.datasource.api.tangemTech.models.UserTokensResponse +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.tokens.model.CryptoCurrency.ID import com.tangem.domain.tokens.model.Network import com.tangem.blockchain.common.Token as SdkToken @@ -31,15 +32,16 @@ fun getCoinId(network: Network, coinId: String): ID { fun getTokenId(network: Network, sdkToken: SdkToken): ID { val sdkTokenId = sdkToken.id + val tokenId = sdkTokenId?.let { CryptoCurrency.RawID(it) } - return getTokenId(network, sdkTokenId, sdkToken.contractAddress) + return getTokenId(network, tokenId, sdkToken.contractAddress) } -fun getTokenId(network: Network, rawTokenId: String?, contractAddress: String): ID { +fun getTokenId(network: Network, rawTokenId: CryptoCurrency.RawID?, contractAddress: String): ID { val suffix = if (rawTokenId == null) { CustomCurrencyIdSuffix(contractAddress) } else { - CurrencyIdSuffix(rawTokenId, contractAddress) + CurrencyIdSuffix(rawTokenId.value, contractAddress) } return ID(TOKEN_ID_PREFIX, getCurrencyIdBody(network), suffix) @@ -47,11 +49,12 @@ fun getTokenId(network: Network, rawTokenId: String?, contractAddress: String): fun getTokenIconUrl(blockchain: Blockchain, token: SdkToken): String? { val tokenId = token.id + val rawID = tokenId?.let { CryptoCurrency.RawID(it) } - return if (tokenId == null) { + return if (rawID == null) { IconsUtil.getTokenIconUri(blockchain, token)?.toString() } else { - getTokenIconUrlFromDefaultHost(tokenId) + getTokenIconUrlFromDefaultHost(rawID) } } @@ -59,7 +62,7 @@ fun getCoinIconUrl(blockchain: Blockchain): String? { val coinId = when (blockchain) { Blockchain.Unknown -> null else -> blockchain.toCoinId() - } + }?.let { CryptoCurrency.RawID(it) } return coinId?.let(::getTokenIconUrlFromDefaultHost) } @@ -84,13 +87,13 @@ private fun getCurrencyIdBody(network: Network): CurrencyIdBody { } } -fun getTokenIconUrlFromDefaultHost(tokenId: String): String { +fun getTokenIconUrlFromDefaultHost(tokenId: CryptoCurrency.RawID): String { return buildString { append(DEFAULT_TOKENS_ICONS_HOST) append('/') append(TOKEN_ICON_SIZE) append('/') - append(tokenId) + append(tokenId.value) append('.') append(TOKEN_ICON_EXT) } diff --git a/data/common/src/main/kotlin/com/tangem/data/common/currency/UserTokensResponseFactory.kt b/data/common/src/main/kotlin/com/tangem/data/common/currency/UserTokensResponseFactory.kt index 4ba8bbd2a2..b01f5114ad 100644 --- a/data/common/src/main/kotlin/com/tangem/data/common/currency/UserTokensResponseFactory.kt +++ b/data/common/src/main/kotlin/com/tangem/data/common/currency/UserTokensResponseFactory.kt @@ -30,7 +30,7 @@ class UserTokensResponseFactory { val blockchain = getBlockchain(currency.network.id) return UserTokensResponse.Token( - id = currency.id.rawCurrencyId, + id = currency.id.rawCurrencyId?.value, networkId = blockchain.toNetworkId(), derivationPath = currency.network.derivationPath.value, name = currency.name, diff --git a/data/manage-tokens/src/main/kotlin/com/tangem/data/managetokens/DefaultCustomTokensRepository.kt b/data/manage-tokens/src/main/kotlin/com/tangem/data/managetokens/DefaultCustomTokensRepository.kt index e146654abd..6c9f005ae9 100644 --- a/data/manage-tokens/src/main/kotlin/com/tangem/data/managetokens/DefaultCustomTokensRepository.kt +++ b/data/manage-tokens/src/main/kotlin/com/tangem/data/managetokens/DefaultCustomTokensRepository.kt @@ -122,7 +122,7 @@ internal class DefaultCustomTokensRepository( if (coinNetwork != null) { cryptoCurrencyFactory.createToken( network = network, - rawId = coin.id, + rawId = CryptoCurrency.RawID(coin.id), name = coin.name, symbol = coin.symbol, decimals = coinNetwork.decimalCount!!.toInt(), @@ -154,7 +154,7 @@ internal class DefaultCustomTokensRepository( override suspend fun createToken( managedCryptoCurrency: ManagedCryptoCurrency.Token, sourceNetwork: ManagedCryptoCurrency.SourceNetwork.Default, - rawId: String?, + rawId: CryptoCurrency.RawID?, ): CryptoCurrency.Token { return cryptoCurrencyFactory.createToken( network = sourceNetwork.network, diff --git a/data/manage-tokens/src/main/kotlin/com/tangem/data/managetokens/utils/ManagedCryptoCurrencyFactory.kt b/data/manage-tokens/src/main/kotlin/com/tangem/data/managetokens/utils/ManagedCryptoCurrencyFactory.kt index 5ac35825b0..98ccc3e720 100644 --- a/data/manage-tokens/src/main/kotlin/com/tangem/data/managetokens/utils/ManagedCryptoCurrencyFactory.kt +++ b/data/manage-tokens/src/main/kotlin/com/tangem/data/managetokens/utils/ManagedCryptoCurrencyFactory.kt @@ -20,6 +20,7 @@ import com.tangem.domain.common.util.derivationStyleProvider import com.tangem.domain.managetokens.model.ManagedCryptoCurrency import com.tangem.domain.managetokens.model.ManagedCryptoCurrency.SourceNetwork import com.tangem.domain.models.scan.ScanResponse +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.tokens.model.Network internal class ManagedCryptoCurrencyFactory( @@ -114,7 +115,11 @@ internal class ManagedCryptoCurrencyFactory( ) } else { ManagedCryptoCurrency.Custom.Token( - currencyId = getTokenId(network, token.id, contractAddress), + currencyId = getTokenId( + network = network, + rawTokenId = token.id?.let { CryptoCurrency.RawID(it) }, + contractAddress = contractAddress, + ), name = token.name, symbol = token.symbol, iconUrl = token.id?.let { getIconUrl(it) }, diff --git a/data/markets/build.gradle.kts b/data/markets/build.gradle.kts index e52469954f..9e8f4d07a7 100644 --- a/data/markets/build.gradle.kts +++ b/data/markets/build.gradle.kts @@ -24,6 +24,7 @@ dependencies { implementation(projects.domain.markets) implementation(projects.domain.models) implementation(projects.domain.tokens.models) + implementation(projects.domain.tokens) implementation(projects.data.common) diff --git a/data/markets/src/main/java/com/tangem/data/markets/DefaultMarketsTokenRepository.kt b/data/markets/src/main/java/com/tangem/data/markets/DefaultMarketsTokenRepository.kt index 4159ad1c21..4b2f305bcf 100644 --- a/data/markets/src/main/java/com/tangem/data/markets/DefaultMarketsTokenRepository.kt +++ b/data/markets/src/main/java/com/tangem/data/markets/DefaultMarketsTokenRepository.kt @@ -125,10 +125,10 @@ internal class DefaultMarketsTokenRepository( override suspend fun getChart( fiatCurrencyCode: String, interval: PriceChangeInterval, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, ) = withContext(dispatcherProvider.io) { - val mappedTokenId = getTokenIdIfL2Network(tokenId) + val mappedTokenId = getTokenIdIfL2Network(tokenId.value) val response = marketsApi.getCoinChart( currency = fiatCurrencyCode, coinId = mappedTokenId, @@ -161,10 +161,10 @@ internal class DefaultMarketsTokenRepository( override suspend fun getChartPreview( fiatCurrencyCode: String, interval: PriceChangeInterval, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, ) = withContext(dispatcherProvider.io) { - val mappedTokenId = getTokenIdIfL2Network(tokenId) + val mappedTokenId = getTokenIdIfL2Network(tokenId.value) val chart = catchListErrorAndSendEvent { marketsApi.getCoinsListCharts( @@ -193,7 +193,7 @@ internal class DefaultMarketsTokenRepository( override suspend fun getTokenInfo( fiatCurrencyCode: String, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, languageCode: String, ) = withContext(dispatcherProvider.io) { @@ -203,16 +203,16 @@ internal class DefaultMarketsTokenRepository( ) { marketsApi.getCoinMarketData( currency = fiatCurrencyCode, - coinId = tokenId, + coinId = tokenId.value, language = languageCode, ).getOrThrow() } - val resultResponse = result.applyL2Compatibility(tokenId) + val resultResponse = result.applyL2Compatibility(tokenId.value) return@withContext tokenMarketInfoConverter.convert(resultResponse) } - override suspend fun getTokenQuotes(fiatCurrencyCode: String, tokenId: String, tokenSymbol: String) = + override suspend fun getTokenQuotes(fiatCurrencyCode: String, tokenId: CryptoCurrency.RawID, tokenSymbol: String) = withContext(dispatcherProvider.io) { // for second markets iteration we should use extended api method with all required fields @@ -222,7 +222,7 @@ internal class DefaultMarketsTokenRepository( ) { tangemTechApi.getQuotes( currencyId = fiatCurrencyCode, - coinIds = tokenId, + coinIds = tokenId.value, fields = marketsQuoteFields.joinToString(separator = ","), ).getOrThrow() } @@ -263,10 +263,10 @@ internal class DefaultMarketsTokenRepository( } } - override suspend fun getTokenExchanges(tokenId: String): List { + override suspend fun getTokenExchanges(tokenId: CryptoCurrency.RawID): List { return withContext(dispatcherProvider.io) { cacheRegistry.invokeOnExpire(key = "coins/$tokenId/exchanges", skipCache = false) { - val response = marketsApi.getCoinExchanges(coinId = tokenId).getOrThrow() + val response = marketsApi.getCoinExchanges(coinId = tokenId.value).getOrThrow() tokenExchangesStore.store(value = response.exchanges) } diff --git a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketChartsConverter.kt b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketChartsConverter.kt index fdd44ffba9..e426157da0 100644 --- a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketChartsConverter.kt +++ b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketChartsConverter.kt @@ -4,16 +4,17 @@ import com.tangem.datasource.api.markets.models.response.TokenMarketChartListRes import com.tangem.domain.markets.PriceChangeInterval import com.tangem.domain.markets.TokenMarket import com.tangem.domain.markets.TokenMarketListConfig +import com.tangem.domain.tokens.model.CryptoCurrency internal object TokenMarketChartsConverter { fun convert( chartsToCopy: TokenMarket.Charts, - tokenId: String, + tokenId: CryptoCurrency.RawID, interval: TokenMarketListConfig.Interval, value: TokenMarketChartListResponse, ): TokenMarket.Charts { - val prices = requireNotNull(value[tokenId]) { + val prices = requireNotNull(value[tokenId.value]) { "$tokenId is not found in the response. This shouldn't have happened." } return when (interval) { diff --git a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketListConverter.kt b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketListConverter.kt index c4836449f3..38d39f1843 100644 --- a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketListConverter.kt +++ b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenMarketListConverter.kt @@ -3,6 +3,7 @@ package com.tangem.data.markets.converters import com.tangem.datasource.api.markets.models.response.TokenMarketListResponse import com.tangem.domain.markets.TokenMarket import com.tangem.domain.markets.TokenQuotesShort +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.utils.converter.Converter internal object TokenMarketListConverter : Converter> { @@ -18,7 +19,7 @@ internal object TokenMarketListConverter : Converter TokenMarket( - id = token.id, + id = CryptoCurrency.RawID(token.id), name = token.name, symbol = token.symbol, marketRating = token.marketRating, diff --git a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenQuotesShortConverter.kt b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenQuotesShortConverter.kt index 2bc1c6933c..c3c78e5dfb 100644 --- a/data/markets/src/main/java/com/tangem/data/markets/converters/TokenQuotesShortConverter.kt +++ b/data/markets/src/main/java/com/tangem/data/markets/converters/TokenQuotesShortConverter.kt @@ -2,12 +2,13 @@ package com.tangem.data.markets.converters import com.tangem.datasource.api.tangemTech.models.QuotesResponse import com.tangem.domain.markets.TokenQuotesShort +import com.tangem.domain.tokens.model.CryptoCurrency import java.math.BigDecimal internal object TokenQuotesShortConverter { - fun convert(tokenId: String, value: QuotesResponse): TokenQuotesShort { - val quote = requireNotNull(value.quotes[tokenId]) { + fun convert(tokenId: CryptoCurrency.RawID, value: QuotesResponse): TokenQuotesShort { + val quote = requireNotNull(value.quotes[tokenId.value]) { "$tokenId is not found in the response. This shouldn't have happened." } return TokenQuotesShort( diff --git a/data/onramp/src/main/java/com/tangem/data/onramp/converters/HotCryptoCurrencyConverter.kt b/data/onramp/src/main/java/com/tangem/data/onramp/converters/HotCryptoCurrencyConverter.kt index 1742009b08..884f659b20 100644 --- a/data/onramp/src/main/java/com/tangem/data/onramp/converters/HotCryptoCurrencyConverter.kt +++ b/data/onramp/src/main/java/com/tangem/data/onramp/converters/HotCryptoCurrencyConverter.kt @@ -37,7 +37,7 @@ internal class HotCryptoCurrencyConverter( val currency = if (contractAddress != null && decimals != null) { cryptoCurrencyFactory.createToken( network = network, - rawId = value.id, + rawId = CryptoCurrency.RawID(value.id), name = value.name, symbol = value.symbol, decimals = decimals, diff --git a/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt b/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt index f2f8cf8090..93b0908573 100644 --- a/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt +++ b/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt @@ -579,9 +579,9 @@ internal class DefaultStakingRepository( } } - private fun findPrefetchedYield(yields: List, currencyId: String, symbol: String): Yield? { + private fun findPrefetchedYield(yields: List, currencyId: CryptoCurrency.RawID, symbol: String): Yield? { return yields.find { yield -> - yield.tokens.any { it.coinGeckoId == currencyId && it.symbol == symbol } + yield.tokens.any { it.coinGeckoId == currencyId.value && it.symbol == symbol } } } diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/paging/CoinsPagingSource.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/paging/CoinsPagingSource.kt deleted file mode 100644 index 9cf7b0092c..0000000000 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/paging/CoinsPagingSource.kt +++ /dev/null @@ -1,82 +0,0 @@ -package com.tangem.data.tokens.paging - -import androidx.paging.PagingSource -import androidx.paging.PagingState -import com.tangem.datasource.api.common.response.getOrThrow -import com.tangem.datasource.api.tangemTech.TangemTechApi -import com.tangem.datasource.api.tangemTech.models.CoinsResponse -import com.tangem.domain.tokens.model.CryptoCurrency -import com.tangem.domain.tokens.model.Quote -import com.tangem.domain.tokens.model.Token -import com.tangem.domain.tokens.repository.QuotesRepository -import com.tangem.utils.coroutines.CoroutineDispatcherProvider - -/** - * A PagingSource responsible for retrieving tokens from the Tangem Tech API and adding to them quotes information. - * - * @property api Tangem Tech API - * @property quotesRepository Repository providing quotes data. - * @property dispatchers Coroutine dispatchers provider. - * @property searchText The search text used to filter tokens. - */ -internal class CoinsPagingSource( - private val api: TangemTechApi, - private val quotesRepository: QuotesRepository, - private val dispatchers: CoroutineDispatcherProvider, - private val searchText: String?, -) : PagingSource() { - - override fun getRefreshKey(state: PagingState): Int? { - return state.anchorPosition?.let { anchorPosition -> - state.closestPageToPosition(anchorPosition)?.prevKey?.plus(other = 1) - ?: state.closestPageToPosition(anchorPosition)?.nextKey?.minus(other = 1) - } - } - - override suspend fun load(params: LoadParams): LoadResult { - val page = params.key ?: 0 - - return com.tangem.utils.coroutines.runCatching(dispatchers.io) { - api.getCoins( - active = true, // TODO change when voting functionality is implemented - searchText = searchText, - offset = page * params.loadSize, - limit = params.loadSize, - ).getOrThrow() - }.fold( - onSuccess = { response -> - val coinsIds = response.coins.map { coin -> - CryptoCurrency.ID( - prefix = CryptoCurrency.ID.Prefix.TOKEN_PREFIX, - body = CryptoCurrency.ID.Body.NetworkId(coin.id), - suffix = CryptoCurrency.ID.Suffix.RawID(coin.id), - ) - } - - try { - val quotes = quotesRepository.getQuotesSync(currenciesIds = coinsIds.toSet(), refresh = false) - LoadResult.Page( - data = CoinsResponseConverter.convert( - CoinsData( - response.coins, - response.imageHost, - quotes, - ), - ), - prevKey = if (page == 0) null else page.minus(other = 1), - nextKey = if (response.coins.isEmpty()) null else page.plus(other = 1), - ) - } catch (t: Throwable) { - LoadResult.Error(t) - } - }, - onFailure = { LoadResult.Error(it) }, - ) - } -} - -data class CoinsData( - val coins: List, - val imageHost: String?, - val quotes: Set, -) \ No newline at end of file diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/paging/CoinsResponseConverter.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/paging/CoinsResponseConverter.kt deleted file mode 100644 index c2b2108053..0000000000 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/paging/CoinsResponseConverter.kt +++ /dev/null @@ -1,52 +0,0 @@ -package com.tangem.data.tokens.paging - -import com.tangem.blockchain.common.Blockchain -import com.tangem.blockchainsdk.utils.fromNetworkId -import com.tangem.data.common.currency.getNetworkStandardType -import com.tangem.datasource.api.tangemTech.models.CoinsResponse -import com.tangem.domain.tokens.model.CryptoCurrency -import com.tangem.domain.tokens.model.Token -import com.tangem.utils.converter.Converter - -/** - * Converter from data model [CoinsResponse] to list of domain models [Token] - */ -internal object CoinsResponseConverter : Converter> { - - override fun convert(value: CoinsData): List { - return value.coins.map { coin -> - val id = CryptoCurrency.ID( - CryptoCurrency.ID.Prefix.TOKEN_PREFIX, - CryptoCurrency.ID.Body.NetworkId(coin.id), - CryptoCurrency.ID.Suffix.RawID(coin.id), - ) - val quote = value.quotes.find { it.rawCurrencyId == id.rawCurrencyId } - Token( - id = id.rawCurrencyId ?: coin.name, - name = coin.name, - symbol = coin.symbol, - iconUrl = getIconUrl(coin.id, value.imageHost), - isAvailable = coin.active, - networks = coin.networks.mapNotNull { network -> - val blockchain = Blockchain.fromNetworkId(network.networkId) ?: return@mapNotNull null - Token.Network( - networkId = network.networkId, - standardType = getNetworkStandardType(blockchain).name, - name = blockchain.fullName, - address = network.contractAddress, - iconUrl = getIconUrl(network.networkId, value.imageHost), - decimalCount = network.decimalCount?.toInt(), - ) - }, - quote = quote, - ) - } - } -} - -internal fun getIconUrl(id: String, imageHost: String? = null): String { - return "${imageHost ?: DEFAULT_IMAGE_HOST}large/$id.png" -} - -private const val DEFAULT_IMAGE_HOST = - "https://s3.eu-central-1.amazonaws.com/tangem.api/coins/" \ No newline at end of file diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt index 80a7803738..39f05b3b1c 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultCurrenciesRepository.kt @@ -486,7 +486,9 @@ internal class DefaultCurrenciesRepository( } @OptIn(ExperimentalCoroutinesApi::class) - override fun getAllWalletsCryptoCurrencies(currencyRawId: String): Flow>> { + override fun getAllWalletsCryptoCurrencies( + currencyRawId: CryptoCurrency.RawID, + ): Flow>> { return userWalletsStore.userWallets.flatMapLatest { userWallets -> userWallets.forEach { fetchTokensIfCacheExpired(userWallet = it, refresh = false) } @@ -496,7 +498,7 @@ internal class DefaultCurrenciesRepository( if (userWallet.isMultiCurrency) { getSavedUserTokensResponse(userWallet.walletId).map { storedTokens -> val filterResponse = storedTokens.tokens.filter { - getL2CompatibilityTokenComparison(it, currencyRawId) + getL2CompatibilityTokenComparison(it, currencyRawId.value) } responseCurrenciesFactory.createCurrencies( diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultQuotesRepository.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultQuotesRepository.kt index a680263464..0f38f7682d 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultQuotesRepository.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/repository/DefaultQuotesRepository.kt @@ -37,7 +37,7 @@ internal class DefaultQuotesRepository( private val mutex = Mutex() @OptIn(ExperimentalCoroutinesApi::class) - override fun getQuotesUpdates(currenciesIds: Set, refresh: Boolean): Flow> { + override fun getQuotesUpdates(currenciesIds: Set, refresh: Boolean): Flow> { return appPreferencesStore.getObject( key = PreferencesKeys.SELECTED_APP_CURRENCY_KEY, ) @@ -51,7 +51,7 @@ internal class DefaultQuotesRepository( .flowOn(dispatchers.io) } - override suspend fun fetchQuotes(currenciesIds: Set) { + override suspend fun fetchQuotes(currenciesIds: Set) { withContext(dispatchers.io) { val selectedAppCurrency = requireNotNull( value = appPreferencesStore.getObjectSyncOrNull( @@ -64,7 +64,7 @@ internal class DefaultQuotesRepository( } } - override suspend fun getQuotesSync(currenciesIds: Set, refresh: Boolean): Set { + override suspend fun getQuotesSync(currenciesIds: Set, refresh: Boolean): Set { return withContext(dispatchers.io) { val selectedAppCurrency = requireNotNull( value = appPreferencesStore.getObjectSyncOrNull( @@ -81,7 +81,7 @@ internal class DefaultQuotesRepository( } } - override suspend fun getQuoteSync(currencyId: CryptoCurrency.ID): Quote? { + override suspend fun getQuoteSync(currencyId: CryptoCurrency.RawID): Quote? { return withContext(dispatchers.io) { val setOfCurrencyId = setOf(currencyId) val quote = quotesStore.getSync(setOfCurrencyId).firstOrNull() @@ -90,7 +90,7 @@ internal class DefaultQuotesRepository( } private suspend fun fetchExpiredQuotes( - currenciesIds: Set, + currenciesIds: Set, appCurrencyId: String, refresh: Boolean, ) { @@ -110,15 +110,17 @@ internal class DefaultQuotesRepository( } } - private suspend fun fetchQuotes(rawCurrenciesIds: Set, appCurrencyId: String) { - val replacementIdsResult = quotesUnsupportedCurrenciesAdapter.replaceUnsupportedCurrencies(rawCurrenciesIds) + private suspend fun fetchQuotes(rawCurrenciesIds: Set, appCurrencyId: String) { + val replacementIdsResult = quotesUnsupportedCurrenciesAdapter.replaceUnsupportedCurrencies( + rawCurrenciesIds.map { it.value }.toSet(), + ) val response = safeApiCallWithTimeout( call = { val coinIds = replacementIdsResult.idsForRequest.joinToString(separator = ",") tangemTechApi.getQuotes(appCurrencyId, coinIds).bind() }, onError = { error -> - cacheRegistry.invalidate(rawCurrenciesIds.map(::getQuoteCacheKey)) + cacheRegistry.invalidate(rawCurrenciesIds.map { getQuoteCacheKey(it) }) throw error }, @@ -132,21 +134,20 @@ internal class DefaultQuotesRepository( } private suspend fun filterExpiredCurrenciesIds( - currenciesIds: Set, + currenciesIds: Set, refresh: Boolean, - ): Set { + ): Set { return currenciesIds.fold(hashSetOf()) { acc, currencyId -> - val rawCurrencyId = currencyId.rawCurrencyId - if (rawCurrencyId != null && rawCurrencyId !in acc) { + if (currencyId !in acc) { cacheRegistry.invokeOnExpire( - key = getQuoteCacheKey(rawCurrencyId), + key = getQuoteCacheKey(currencyId), skipCache = refresh, - block = { acc.add(rawCurrencyId) }, + block = { acc.add(currencyId) }, ) } acc } } - private fun getQuoteCacheKey(rawCurrencyId: String): String = "quote_$rawCurrencyId" + private fun getQuoteCacheKey(rawCurrencyId: CryptoCurrency.RawID): String = "quote_${rawCurrencyId.value}" } \ No newline at end of file diff --git a/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/QuotesConverter.kt b/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/QuotesConverter.kt index 79af4417b7..ec86873987 100644 --- a/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/QuotesConverter.kt +++ b/data/tokens/src/main/kotlin/com/tangem/data/tokens/utils/QuotesConverter.kt @@ -6,16 +6,16 @@ import com.tangem.domain.tokens.model.Quote import com.tangem.utils.converter.Converter import java.math.BigDecimal -typealias QuotesConverterValue = Pair, Set> +typealias QuotesConverterValue = Pair, Set> internal class QuotesConverter : Converter> { override fun convert(value: QuotesConverterValue): Set { val (setOfCurrencyId, setOfStoredQuote) = value return setOfCurrencyId.mapTo(hashSetOf()) { id -> - setOfStoredQuote.find { id.rawCurrencyId == it.rawCurrencyId } + setOfStoredQuote.find { id.value == it.rawCurrencyId } ?.let(::convertExistStoredQuote) - ?: Quote.Empty(id.rawCurrencyId) + ?: Quote.Empty(id) } } @@ -23,7 +23,7 @@ internal class QuotesConverter : Converter> { val (rawCurrencyId, responseQuote) = storedQuote return Quote.Value( - rawCurrencyId = rawCurrencyId, + rawCurrencyId = CryptoCurrency.RawID(rawCurrencyId), fiatRate = responseQuote.price ?: BigDecimal.ZERO, priceChange = (responseQuote.priceChange24h ?: BigDecimal.ZERO).movePointLeft(2), ) diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt index 440e818d8f..9811e8d408 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/DefaultWalletManagersFacade.kt @@ -217,7 +217,7 @@ class DefaultWalletManagersFacade( symbol = currency.symbol, contractAddress = currency.contractAddress, decimals = currency.decimals, - id = currency.id.rawCurrencyId, + id = currency.id.rawCurrencyId?.value, ) TransactionHistoryRequest.FilterType.Contract(blockchainToken) } @@ -255,7 +255,7 @@ class DefaultWalletManagersFacade( symbol = currency.symbol, contractAddress = currency.contractAddress, decimals = currency.decimals, - id = currency.id.rawCurrencyId, + id = currency.id.rawCurrencyId?.value, ) TransactionHistoryRequest.FilterType.Contract(blockchainToken) } diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/model/CryptoCurrencyAmount.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/model/CryptoCurrencyAmount.kt index 6ae9f6ae43..800cde28ef 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/model/CryptoCurrencyAmount.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/model/CryptoCurrencyAmount.kt @@ -1,5 +1,6 @@ package com.tangem.domain.walletmanager.model +import com.tangem.domain.tokens.model.CryptoCurrency import java.math.BigDecimal sealed class CryptoCurrencyAmount { @@ -9,7 +10,7 @@ sealed class CryptoCurrencyAmount { data class Coin(override val value: BigDecimal) : CryptoCurrencyAmount() data class Token( - val tokenId: String?, + val tokenId: CryptoCurrency.RawID?, val tokenContractAddress: String, override val value: BigDecimal, ) : CryptoCurrencyAmount() diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/CryptoCurrencyTypeConverter.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/CryptoCurrencyTypeConverter.kt index 53d7f303c5..d782bfdea2 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/CryptoCurrencyTypeConverter.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/CryptoCurrencyTypeConverter.kt @@ -15,7 +15,7 @@ internal class CryptoCurrencyTypeConverter : Converter { override fun convert(value: CryptoCurrency.Token): SdkToken { return SdkToken( - id = value.id.rawCurrencyId, + id = value.id.rawCurrencyId?.value, name = value.name, symbol = value.symbol, contractAddress = value.contractAddress, diff --git a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/UpdateWalletManagerResultFactory.kt b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/UpdateWalletManagerResultFactory.kt index e3a15932b4..6e9b4c2c1f 100644 --- a/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/UpdateWalletManagerResultFactory.kt +++ b/domain/legacy/src/main/java/com/tangem/domain/walletmanager/utils/UpdateWalletManagerResultFactory.kt @@ -2,6 +2,7 @@ package com.tangem.domain.walletmanager.utils import com.tangem.blockchain.common.* import com.tangem.blockchainsdk.utils.amountToCreateAccount +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.walletmanager.model.Address import com.tangem.domain.walletmanager.model.CryptoCurrencyAmount import com.tangem.domain.walletmanager.model.CryptoCurrencyTransaction @@ -84,7 +85,11 @@ internal class UpdateWalletManagerResultFactory { val demoAmounts = hashSetOf(CryptoCurrencyAmount.Coin(amountValue)) return tokens.mapTo(demoAmounts) { token -> - CryptoCurrencyAmount.Token(token.id, token.contractAddress, amountValue) + CryptoCurrencyAmount.Token( + tokenId = token.id?.let { CryptoCurrency.RawID(it) }, + tokenContractAddress = token.contractAddress, + value = amountValue, + ) } } @@ -107,7 +112,7 @@ internal class UpdateWalletManagerResultFactory { private fun createCurrencyAmount(amount: Amount): CryptoCurrencyAmount? { return when (val type = amount.type) { is AmountType.Token -> CryptoCurrencyAmount.Token( - tokenId = type.token.id, + tokenId = type.token.id?.let { CryptoCurrency.RawID(it) }, tokenContractAddress = type.token.contractAddress, value = getCurrencyAmountValue(amount) ?: return null, ) diff --git a/domain/manage-tokens/src/main/kotlin/com/tangem/domain/managetokens/SaveManagedTokensUseCase.kt b/domain/manage-tokens/src/main/kotlin/com/tangem/domain/managetokens/SaveManagedTokensUseCase.kt index dd2f977457..817a68b712 100644 --- a/domain/manage-tokens/src/main/kotlin/com/tangem/domain/managetokens/SaveManagedTokensUseCase.kt +++ b/domain/manage-tokens/src/main/kotlin/com/tangem/domain/managetokens/SaveManagedTokensUseCase.kt @@ -111,7 +111,7 @@ class SaveManagedTokensUseCase( is ManagedCryptoCurrency.SourceNetwork.Default -> customTokensRepository.createToken( managedCryptoCurrency = token, sourceNetwork = sourceNetwork, - rawId = token.id.value, + rawId = CryptoCurrency.RawID(token.id.value), ) is ManagedCryptoCurrency.SourceNetwork.Main -> customTokensRepository.createCoin( userWalletId = userWalletId, diff --git a/domain/manage-tokens/src/main/kotlin/com/tangem/domain/managetokens/repository/CustomTokensRepository.kt b/domain/manage-tokens/src/main/kotlin/com/tangem/domain/managetokens/repository/CustomTokensRepository.kt index 3b0d13aba6..86db4be54c 100644 --- a/domain/manage-tokens/src/main/kotlin/com/tangem/domain/managetokens/repository/CustomTokensRepository.kt +++ b/domain/manage-tokens/src/main/kotlin/com/tangem/domain/managetokens/repository/CustomTokensRepository.kt @@ -33,7 +33,7 @@ interface CustomTokensRepository { suspend fun createToken( managedCryptoCurrency: ManagedCryptoCurrency.Token, sourceNetwork: ManagedCryptoCurrency.SourceNetwork.Default, - rawId: String?, + rawId: CryptoCurrency.RawID?, ): CryptoCurrency.Token suspend fun createCustomToken( diff --git a/domain/markets/models/build.gradle.kts b/domain/markets/models/build.gradle.kts index 7558c5ca61..dafb0e3da4 100644 --- a/domain/markets/models/build.gradle.kts +++ b/domain/markets/models/build.gradle.kts @@ -5,6 +5,7 @@ plugins { } dependencies { + api(projects.domain.tokens.models) implementation(projects.domain.core) implementation(deps.kotlin.serialization) diff --git a/domain/markets/models/src/main/kotlin/com/tangem/domain/markets/TokenMarket.kt b/domain/markets/models/src/main/kotlin/com/tangem/domain/markets/TokenMarket.kt index e7d0c1d6e9..1724d9ce45 100644 --- a/domain/markets/models/src/main/kotlin/com/tangem/domain/markets/TokenMarket.kt +++ b/domain/markets/models/src/main/kotlin/com/tangem/domain/markets/TokenMarket.kt @@ -1,9 +1,10 @@ package com.tangem.domain.markets +import com.tangem.domain.tokens.model.CryptoCurrency import java.math.BigDecimal data class TokenMarket( - val id: String, + val id: CryptoCurrency.RawID, val name: String, val symbol: String, val marketRating: Int?, diff --git a/domain/markets/models/src/main/kotlin/com/tangem/domain/markets/TokenMarketParams.kt b/domain/markets/models/src/main/kotlin/com/tangem/domain/markets/TokenMarketParams.kt index e14b1f417b..77c288aa8b 100644 --- a/domain/markets/models/src/main/kotlin/com/tangem/domain/markets/TokenMarketParams.kt +++ b/domain/markets/models/src/main/kotlin/com/tangem/domain/markets/TokenMarketParams.kt @@ -1,11 +1,12 @@ package com.tangem.domain.markets import com.tangem.domain.core.serialization.SerializedBigDecimal +import com.tangem.domain.tokens.model.CryptoCurrency import kotlinx.serialization.Serializable @Serializable data class TokenMarketParams( - val id: String, + val id: CryptoCurrency.RawID, val name: String, val symbol: String, val tokenQuotes: Quotes, diff --git a/domain/markets/src/main/java/com/tangem/domain/markets/GetCurrencyQuotesUseCase.kt b/domain/markets/src/main/java/com/tangem/domain/markets/GetCurrencyQuotesUseCase.kt index 0a8d0d931d..91a67b1d12 100644 --- a/domain/markets/src/main/java/com/tangem/domain/markets/GetCurrencyQuotesUseCase.kt +++ b/domain/markets/src/main/java/com/tangem/domain/markets/GetCurrencyQuotesUseCase.kt @@ -16,8 +16,10 @@ class GetCurrencyQuotesUseCase( interval: PriceChangeInterval, refresh: Boolean, ): Flow> { + val rawId = currencyID.rawCurrencyId ?: return flowOf(None) + return quotesRepository.getQuotesUpdates( - currenciesIds = setOf(currencyID), + currenciesIds = setOf(rawId), refresh = refresh, ).map { it.filterIsInstance().firstOrNull().toOption() }.catch { emit(None) } } diff --git a/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenExchangesUseCase.kt b/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenExchangesUseCase.kt index a2862b339f..7139071dd9 100644 --- a/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenExchangesUseCase.kt +++ b/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenExchangesUseCase.kt @@ -2,6 +2,7 @@ package com.tangem.domain.markets import arrow.core.Either import com.tangem.domain.markets.repositories.MarketsTokenRepository +import com.tangem.domain.tokens.model.CryptoCurrency /** * Get token exchanges use case @@ -12,7 +13,7 @@ class GetTokenExchangesUseCase( private val marketsTokenRepository: MarketsTokenRepository, ) { - suspend operator fun invoke(tokenId: String): Either> { + suspend operator fun invoke(tokenId: CryptoCurrency.RawID): Either> { return Either.catch { marketsTokenRepository.getTokenExchanges(tokenId = tokenId) } } } \ No newline at end of file diff --git a/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenFullQuotesUseCase.kt b/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenFullQuotesUseCase.kt index e8b8470add..ee0b3fbac4 100644 --- a/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenFullQuotesUseCase.kt +++ b/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenFullQuotesUseCase.kt @@ -3,13 +3,14 @@ package com.tangem.domain.markets import arrow.core.Either import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.markets.repositories.MarketsTokenRepository +import com.tangem.domain.tokens.model.CryptoCurrency class GetTokenFullQuotesUseCase( private val marketsTokenRepository: MarketsTokenRepository, ) { suspend operator fun invoke( appCurrency: AppCurrency, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, ): Either { return Either.catch { diff --git a/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenMarketInfoUseCase.kt b/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenMarketInfoUseCase.kt index 2038181eef..a330e614ce 100644 --- a/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenMarketInfoUseCase.kt +++ b/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenMarketInfoUseCase.kt @@ -3,6 +3,7 @@ package com.tangem.domain.markets import arrow.core.Either import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.markets.repositories.MarketsTokenRepository +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.utils.SupportedLanguages class GetTokenMarketInfoUseCase( @@ -11,7 +12,7 @@ class GetTokenMarketInfoUseCase( suspend operator fun invoke( appCurrency: AppCurrency, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, ): Either { return Either.catch { diff --git a/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenPriceChartUseCase.kt b/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenPriceChartUseCase.kt index c6d677f34b..a47186eb3d 100644 --- a/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenPriceChartUseCase.kt +++ b/domain/markets/src/main/java/com/tangem/domain/markets/GetTokenPriceChartUseCase.kt @@ -3,6 +3,7 @@ package com.tangem.domain.markets import arrow.core.Either import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.markets.repositories.MarketsTokenRepository +import com.tangem.domain.tokens.model.CryptoCurrency class GetTokenPriceChartUseCase( private val marketsTokenRepository: MarketsTokenRepository, @@ -11,7 +12,7 @@ class GetTokenPriceChartUseCase( suspend operator fun invoke( appCurrency: AppCurrency, interval: PriceChangeInterval, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, preview: Boolean, ): Either { diff --git a/domain/markets/src/main/java/com/tangem/domain/markets/repositories/MarketsTokenRepository.kt b/domain/markets/src/main/java/com/tangem/domain/markets/repositories/MarketsTokenRepository.kt index 1f728f1a0f..80a1a97480 100644 --- a/domain/markets/src/main/java/com/tangem/domain/markets/repositories/MarketsTokenRepository.kt +++ b/domain/markets/src/main/java/com/tangem/domain/markets/repositories/MarketsTokenRepository.kt @@ -15,25 +15,29 @@ interface MarketsTokenRepository { suspend fun getChart( fiatCurrencyCode: String, interval: PriceChangeInterval, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, ): TokenChart suspend fun getChartPreview( fiatCurrencyCode: String, interval: PriceChangeInterval, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, ): TokenChart suspend fun getTokenInfo( fiatCurrencyCode: String, - tokenId: String, + tokenId: CryptoCurrency.RawID, tokenSymbol: String, languageCode: String, ): TokenMarketInfo - suspend fun getTokenQuotes(fiatCurrencyCode: String, tokenId: String, tokenSymbol: String): TokenQuotes + suspend fun getTokenQuotes( + fiatCurrencyCode: String, + tokenId: CryptoCurrency.RawID, + tokenSymbol: String, + ): TokenQuotes suspend fun createCryptoCurrency( userWalletId: UserWalletId, @@ -46,5 +50,5 @@ interface MarketsTokenRepository { * * @param tokenId token id */ - suspend fun getTokenExchanges(tokenId: String): List + suspend fun getTokenExchanges(tokenId: CryptoCurrency.RawID): List } \ No newline at end of file diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt index 9f201fb81e..c3dd3636ce 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt @@ -21,8 +21,6 @@ data class Yield( val preferredValidators: List get() = validators.filter { it.preferred } - fun getCurrentToken(rawCurrencyId: String?) = tokens.firstOrNull { rawCurrencyId == it.coinGeckoId } ?: token - @Serializable data class Status( val enter: Boolean, diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrency.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrency.kt index a0468f3100..017bc65de0 100644 --- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrency.kt +++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/CryptoCurrency.kt @@ -93,7 +93,7 @@ sealed class CryptoCurrency { } /** Represents a raw cryptocurrency ID. If it is a custom token, the value will be `null`. */ - val rawCurrencyId: String? get() = (suffix as? Suffix.RawID)?.rawId + val rawCurrencyId: RawID? get() = (suffix as? Suffix.RawID)?.rawId?.let { RawID(it) } val contractAddress: String? get() = (suffix as? Suffix.RawID)?.contractAddress @@ -196,6 +196,16 @@ sealed class CryptoCurrency { } } + /** + * Represents a raw cryptocurrency ID. Used for backend calls. + * Use with caution, as it does not provide the same level of uniqueness as [ID]. + */ + @Serializable + @JvmInline + value class RawID(val value: String) { + override fun toString(): String = value + } + protected fun checkProperties() { require(name.isNotBlank()) { "Crypto currency name must not be blank" } require(symbol.isNotBlank()) { "Crypto currency symbol must not be blank" } diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/Quote.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/Quote.kt index d54b9a2342..c330160b97 100644 --- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/Quote.kt +++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/Quote.kt @@ -4,14 +4,14 @@ import java.math.BigDecimal sealed interface Quote { - val rawCurrencyId: String? + val rawCurrencyId: CryptoCurrency.RawID /** * Represents unknown financial information for a specific cryptocurrency. * - * @property rawCurrencyId The raw cryptocurrency ID. If it is a custom token, the value will be `null`. + * @property rawCurrencyId The raw cryptocurrency ID. */ - data class Empty(override val rawCurrencyId: String?) : Quote + data class Empty(override val rawCurrencyId: CryptoCurrency.RawID) : Quote /** * Represents financial information for a specific cryptocurrency, including its fiat exchange rate and price change. @@ -21,7 +21,7 @@ sealed interface Quote { * @property priceChange The price change for the cryptocurrency. */ data class Value( - override val rawCurrencyId: String, + override val rawCurrencyId: CryptoCurrency.RawID, val fiatRate: BigDecimal, val priceChange: BigDecimal, ) : Quote diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/staking/YieldExtentions.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/staking/YieldExtentions.kt new file mode 100644 index 0000000000..d013d4e03b --- /dev/null +++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/staking/YieldExtentions.kt @@ -0,0 +1,7 @@ +package com.tangem.domain.tokens.model.staking + +import com.tangem.domain.staking.model.stakekit.Yield +import com.tangem.domain.tokens.model.CryptoCurrency + +fun Yield.getCurrentToken(rawCurrencyId: CryptoCurrency.RawID?) = + tokens.firstOrNull { rawCurrencyId?.value == it.coinGeckoId } ?: token \ No newline at end of file diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchCardTokenListUseCase.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchCardTokenListUseCase.kt index 0fc9607d48..9bac51630e 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchCardTokenListUseCase.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchCardTokenListUseCase.kt @@ -37,7 +37,7 @@ class FetchCardTokenListUseCase( } val fetchQuotes = async { fetchQuotes( - currenciesIds = currencies.mapTo(destination = hashSetOf(), transform = CryptoCurrency::id), + currenciesIds = currencies.mapNotNullTo(destination = hashSetOf()) { it.id.rawCurrencyId }, refresh = refresh, ) } @@ -79,7 +79,7 @@ class FetchCardTokenListUseCase( ) } - private suspend fun fetchQuotes(currenciesIds: Set, refresh: Boolean) { + private suspend fun fetchQuotes(currenciesIds: Set, refresh: Boolean) { catch( block = { quotesRepository.getQuotesSync(currenciesIds, refresh) }, catch = { /* Ignore error */ }, diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchCurrencyStatusUseCase.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchCurrencyStatusUseCase.kt index b5a73a5ac3..a6455893a6 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchCurrencyStatusUseCase.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchCurrencyStatusUseCase.kt @@ -125,7 +125,7 @@ class FetchCurrencyStatusUseCase( private suspend fun Raise.fetchQuote(currencyId: CryptoCurrency.ID, refresh: Boolean) { catch( - block = { quotesRepository.getQuotesSync(setOf(currencyId), refresh) }, + block = { quotesRepository.getQuotesSync(setOfNotNull(currencyId.rawCurrencyId), refresh) }, ) { raise(CurrencyStatusError.DataError(it)) } diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchTokenListUseCase.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchTokenListUseCase.kt index f1ef16bca8..9b8dea0263 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchTokenListUseCase.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/FetchTokenListUseCase.kt @@ -105,7 +105,10 @@ class FetchTokenListUseCase( private suspend fun fetchQuotes(currenciesIds: Set, refresh: Boolean) { catch( - block = { quotesRepository.getQuotesSync(currenciesIds, refresh) }, + block = { + val rawIds = currenciesIds.mapNotNull { it.rawCurrencyId }.toSet() + quotesRepository.getQuotesSync(rawIds, refresh) + }, ) { /* Ignore error */ } diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/GetAllWalletsCryptoCurrencyStatusesUseCase.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/GetAllWalletsCryptoCurrencyStatusesUseCase.kt index 8fc8bef040..0dfb01856e 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/GetAllWalletsCryptoCurrencyStatusesUseCase.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/GetAllWalletsCryptoCurrencyStatusesUseCase.kt @@ -41,7 +41,7 @@ class GetAllWalletsCryptoCurrencyStatusesUseCase( */ @OptIn(ExperimentalCoroutinesApi::class) operator fun invoke( - currencyRawId: String, + currencyRawId: CryptoCurrency.RawID, ): Flow>>> { return currenciesRepository.getAllWalletsCryptoCurrencies(currencyRawId) .flatMapLatest { userWalletsWithCurrencies: Map> -> diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/RefreshMultiCurrencyWalletQuotesUseCase.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/RefreshMultiCurrencyWalletQuotesUseCase.kt index aeba9d2c14..70564f24ef 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/RefreshMultiCurrencyWalletQuotesUseCase.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/RefreshMultiCurrencyWalletQuotesUseCase.kt @@ -47,7 +47,7 @@ class RefreshMultiCurrencyWalletQuotesUseCase( private suspend fun fetchQuotes(currenciesIds: Set) { catch( block = { - quotesRepository.fetchQuotes(currenciesIds) + quotesRepository.fetchQuotes(currenciesIds.mapNotNullTo(hashSetOf(), CryptoCurrency.ID::rawCurrencyId)) }, catch = { /* Ignore error */ }, ) diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrenciesStatusesLceOperations.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrenciesStatusesLceOperations.kt index 16052e2974..a978af55f4 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrenciesStatusesLceOperations.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrenciesStatusesLceOperations.kt @@ -166,7 +166,7 @@ internal class CurrenciesStatusesLceOperations( } private fun getQuotes(tokensIds: NonEmptySet): Flow>> { - return quotesRepository.getQuotesUpdates(tokensIds) + return quotesRepository.getQuotesUpdates(tokensIds.mapNotNull { it.rawCurrencyId }.toSet()) .map, Either>> { it.right() } .retryWhen { cause, _ -> emit(TokenListError.DataError(cause).left()) diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrenciesStatusesOperations.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrenciesStatusesOperations.kt index f2ef6e1efb..1035011308 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrenciesStatusesOperations.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrenciesStatusesOperations.kt @@ -31,7 +31,8 @@ internal class CurrenciesStatusesOperations( currenciesRepository.getMultiCurrencyWalletCurrenciesSync(userWalletId).toNonEmptyListOrNull() ?: return emptyList().right() val (networks, currenciesIds) = getIds(nonEmptyCurrencies) - val quotes = quotesRepository.getQuotesSync(currenciesIds, false).right() + val rawIds = currenciesIds.mapNotNull { it.rawCurrencyId }.toSet() + val quotes = quotesRepository.getQuotesSync(rawIds, false).right() val networkStatuses = networksRepository.getNetworkStatusesSync(userWalletId, networks, false).right() val yieldBalances = getYieldBalancesSync(nonEmptyCurrencies) @@ -60,7 +61,8 @@ internal class CurrenciesStatusesOperations( } else { currenciesRepository.getMultiCurrencyWalletCurrency(userWalletId, cryptoCurrencyId) } - val quotes = quotesRepository.getQuoteSync(cryptoCurrencyId)?.right() ?: Error.EmptyQuotes.left() + val quote = cryptoCurrencyId.rawCurrencyId?.let { quotesRepository.getQuoteSync(it) }?.right() + ?: Error.EmptyQuotes.left() val networkStatuses = networksRepository.getNetworkStatusesSync( userWalletId, @@ -71,7 +73,7 @@ internal class CurrenciesStatusesOperations( }.right() val yieldBalances = getYieldBalanceSync(currency) - return createCurrencyStatus(currency, quotes, networkStatuses, yieldBalances) + return createCurrencyStatus(currency, quote, networkStatuses, yieldBalances) }, catch = { raise(Error.DataError(it)) }, ) @@ -104,7 +106,10 @@ internal class CurrenciesStatusesOperations( catch = { raise(Error.DataError(it)) }, ) val quotes = catch( - block = { quotesRepository.getQuoteSync(currency.id)?.right() ?: Error.EmptyQuotes.left() }, + block = { + currency.id.rawCurrencyId?.let { quotesRepository.getQuoteSync(it) } + ?.right() ?: Error.EmptyQuotes.left() + }, catch = { Error.DataError(it).left() }, ) val networkStatus = catch( @@ -176,8 +181,7 @@ internal class CurrenciesStatusesOperations( fun getCurrencyStatusFlow( currency: CryptoCurrency, includeQuotes: Boolean = true, - ): Flow,> { + ): Flow> { val (networks, currenciesIds) = getIds(nonEmptyListOf(currency)) val quoteFlow = if (includeQuotes) { @@ -344,7 +348,8 @@ internal class CurrenciesStatusesOperations( } private fun getQuotes(tokensIds: NonEmptySet): Flow>> { - return quotesRepository.getQuotesUpdates(tokensIds) + val rawIds = tokensIds.mapNotNull { it.rawCurrencyId }.toSet() + return quotesRepository.getQuotesUpdates(rawIds) .map, Either>> { quotes -> if (quotes.isEmpty()) Error.EmptyQuotes.left() else quotes.right() } diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrencyStatusOperations.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrencyStatusOperations.kt index 41d94b2cf2..2c73402bff 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrencyStatusOperations.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/operations/CurrencyStatusOperations.kt @@ -74,7 +74,7 @@ internal class CurrencyStatusOperations( val yieldBalanceData = yieldBalance as? YieldBalance.Data val isCurrentAddressStaking = yieldBalanceData?.address == status.address.defaultAddress.value val filteredTokenBalances = yieldBalanceData?.balance?.items?.filter { - it.token.coinGeckoId == currency.id.rawCurrencyId + it.token.coinGeckoId == currency.id.rawCurrencyId?.value } val currentYieldBalance = if (isCurrentAddressStaking && filteredTokenBalances?.isNotEmpty() == true) { yieldBalanceData.copy( diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/CurrenciesRepository.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/CurrenciesRepository.kt index c99a692b70..04fa86295f 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/CurrenciesRepository.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/CurrenciesRepository.kt @@ -248,7 +248,7 @@ interface CurrenciesRepository { ): CryptoCurrency.Token /** Get crypto currencies by [currencyRawId] from all user wallets */ - fun getAllWalletsCryptoCurrencies(currencyRawId: String): Flow>> + fun getAllWalletsCryptoCurrencies(currencyRawId: CryptoCurrency.RawID): Flow>> fun isNetworkFeeZero(userWalletId: UserWalletId, network: Network): Boolean } \ No newline at end of file diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/QuotesRepository.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/QuotesRepository.kt index 57a8429697..98e2f0193c 100644 --- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/QuotesRepository.kt +++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/repository/QuotesRepository.kt @@ -17,7 +17,7 @@ interface QuotesRepository { * @param currenciesIds The unique identifiers of the cryptocurrencies for which quotes are to be retrieved. * @return A [Flow] emitting a set of quotes corresponding to the specified cryptocurrencies. */ - fun getQuotesUpdates(currenciesIds: Set, refresh: Boolean = false): Flow> + fun getQuotesUpdates(currenciesIds: Set, refresh: Boolean = false): Flow> /** * Retrieves quotes for a set of specified cryptocurrencies, identified by their unique IDs. @@ -28,9 +28,9 @@ interface QuotesRepository { * @param refresh A boolean flag indicating whether the data should be refreshed. * @return A [Flow] emitting a set of quotes corresponding to the specified cryptocurrencies. */ - suspend fun getQuotesSync(currenciesIds: Set, refresh: Boolean): Set + suspend fun getQuotesSync(currenciesIds: Set, refresh: Boolean): Set - suspend fun getQuoteSync(currencyId: CryptoCurrency.ID): Quote? + suspend fun getQuoteSync(currencyId: CryptoCurrency.RawID): Quote? - suspend fun fetchQuotes(currenciesIds: Set) + suspend fun fetchQuotes(currenciesIds: Set) } \ No newline at end of file diff --git a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockQuotes.kt b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockQuotes.kt index 002f80eae8..5dde109c87 100644 --- a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockQuotes.kt +++ b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/mock/MockQuotes.kt @@ -1,6 +1,7 @@ package com.tangem.domain.tokens.mock import arrow.core.nonEmptySetOf +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.tokens.model.Quote import java.math.BigDecimal @@ -67,11 +68,10 @@ internal object MockQuotes { priceChange = BigDecimal("-0.10"), ) - val quote11 = Quote.Empty(null) - val quote12 = Quote.Empty("null") + val quote11 = Quote.Empty(CryptoCurrency.RawID("null")) val quotes = nonEmptySetOf( quote1, quote2, quote3, quote4, quote5, quote6, quote7, quote8, quote9, quote10, - quote11, quote12, + quote11, ) } \ No newline at end of file diff --git a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockCurrenciesRepository.kt b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockCurrenciesRepository.kt index ce99852888..a94add56b4 100644 --- a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockCurrenciesRepository.kt +++ b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockCurrenciesRepository.kt @@ -153,7 +153,9 @@ internal class MockCurrenciesRepository( error("not implemented") } - override fun getAllWalletsCryptoCurrencies(currencyRawId: String): Flow>> { + override fun getAllWalletsCryptoCurrencies( + currencyRawId: CryptoCurrency.RawID, + ): Flow>> { return emptyFlow() } diff --git a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockQuotesRepository.kt b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockQuotesRepository.kt index 393432cf16..86f2775a96 100644 --- a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockQuotesRepository.kt +++ b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockQuotesRepository.kt @@ -13,18 +13,18 @@ internal class MockQuotesRepository( private val quotes: Flow>>, ) : QuotesRepository { - override fun getQuotesUpdates(currenciesIds: Set, refresh: Boolean): Flow> { + override fun getQuotesUpdates(currenciesIds: Set, refresh: Boolean): Flow> { return quotes.map { it.getOrElse { e -> throw e } } } - override suspend fun getQuotesSync(currenciesIds: Set, refresh: Boolean): Set { + override suspend fun getQuotesSync(currenciesIds: Set, refresh: Boolean): Set { return getQuotesUpdates(currenciesIds).first() } - override suspend fun getQuoteSync(currencyId: CryptoCurrency.ID): Quote { + override suspend fun getQuoteSync(currencyId: CryptoCurrency.RawID): Quote { return quotes.map { it.getOrElse { e -> throw e } }.first() - .first { it.rawCurrencyId == currencyId.rawCurrencyId } + .first { it.rawCurrencyId == currencyId } } - override suspend fun fetchQuotes(currenciesIds: Set) {} + override suspend fun fetchQuotes(currenciesIds: Set) {} } \ No newline at end of file diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/DefaultMarketsTokenDetailsComponent.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/DefaultMarketsTokenDetailsComponent.kt index 2628335d48..3ee3a5edce 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/DefaultMarketsTokenDetailsComponent.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/DefaultMarketsTokenDetailsComponent.kt @@ -13,6 +13,7 @@ import com.tangem.core.decompose.context.child import com.tangem.core.decompose.model.getOrCreateModel import com.tangem.core.ui.res.LocalMainBottomSheetColor import com.tangem.core.ui.res.TangemTheme +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.features.markets.details.MarketsTokenDetailsComponent import com.tangem.features.markets.details.MarketsTokenDetailsComponent.Params import com.tangem.features.markets.details.impl.analytics.MarketDetailsAnalyticsEvent @@ -38,7 +39,7 @@ internal class DefaultMarketsTokenDetailsComponent @AssistedInject constructor( // applying l2 compatibility private val updatedParams = params.copy( token = params.token.copy( - id = getTokenIdIfL2Network(params.token.id), + id = CryptoCurrency.RawID(getTokenIdIfL2Network(params.token.id.value)), ), ) private val analyticsParams = params.analyticsParams diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/MarketsTokenDetailsModel.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/MarketsTokenDetailsModel.kt index c6c2a86b49..04d2edcb0c 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/MarketsTokenDetailsModel.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/details/impl/model/MarketsTokenDetailsModel.kt @@ -134,7 +134,7 @@ internal class MarketsTokenDetailsModel @Inject constructor( modelScope.launch { sendFeedbackEmailUseCase( type = FeedbackEmailType.CurrencyDescriptionError( - currencyId = params.token.id, + currencyId = params.token.id.value, currencyName = params.token.name, ), ) diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/loader/PortfolioDataLoader.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/loader/PortfolioDataLoader.kt index ac016c1bbf..f4e8c0aad9 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/loader/PortfolioDataLoader.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/loader/PortfolioDataLoader.kt @@ -9,6 +9,7 @@ import com.tangem.domain.tokens.GetAllWalletsCryptoCurrencyStatusesUseCase import com.tangem.domain.tokens.GetCryptoCurrencyActionsUseCase import com.tangem.domain.tokens.GetWalletTotalBalanceUseCase import com.tangem.domain.tokens.error.TokenListError +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.tokens.model.TotalFiatBalance import com.tangem.domain.wallets.models.UserWallet import com.tangem.domain.wallets.models.UserWalletId @@ -37,7 +38,7 @@ internal class PortfolioDataLoader @Inject constructor( /** Load data by [currencyRawId] */ @OptIn(ExperimentalCoroutinesApi::class) - fun load(currencyRawId: String): Flow { + fun load(currencyRawId: CryptoCurrency.RawID): Flow { return combine( flow = getAllWalletsCryptoCurrenciesData(currencyRawId = currencyRawId), flow2 = getSelectedAppCurrencyFlow(), @@ -62,7 +63,7 @@ internal class PortfolioDataLoader @Inject constructor( @OptIn(ExperimentalCoroutinesApi::class) private fun getAllWalletsCryptoCurrenciesData( - currencyRawId: String, + currencyRawId: CryptoCurrency.RawID, ): Flow>> { return getAllWalletsCryptoCurrencyStatusesUseCase(currencyRawId) .distinctUntilChanged() diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/model/SelectNetworkUMConverter.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/model/SelectNetworkUMConverter.kt index 05b33043d7..8599ad97d5 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/model/SelectNetworkUMConverter.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/portfolio/impl/model/SelectNetworkUMConverter.kt @@ -24,7 +24,7 @@ internal class SelectNetworkUMConverter( override fun convert(value: TokenMarketParams): SelectNetworkUM { return SelectNetworkUM( - tokenId = value.id, + tokenId = value.id.value, iconUrl = value.imageUrl, tokenName = value.name, tokenCurrencySymbol = value.symbol, diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/MarketsListModel.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/MarketsListModel.kt index f3dd2d3c1a..7e94d860a3 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/MarketsListModel.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/MarketsListModel.kt @@ -9,6 +9,7 @@ import com.tangem.domain.appcurrency.GetSelectedAppCurrencyUseCase import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.markets.GetMarketsTokenListFlowUseCase import com.tangem.domain.markets.TokenMarket +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.features.markets.entry.BottomSheetState import com.tangem.features.markets.tokenlist.impl.analytics.MarketsListAnalyticsEvent import com.tangem.features.markets.tokenlist.impl.model.statemanager.MarketsListBatchFlowManager @@ -48,7 +49,7 @@ internal class MarketsListModel @Inject constructor( initialValue = AppCurrency.Default, ) - private val visibleItemIds = MutableStateFlow>(emptyList()) + private val visibleItemIds = MutableStateFlow>(emptyList()) private val marketsListUMStateManager = MarketsListUMStateManager( currentVisibleIds = Provider { visibleItemIds.value }, @@ -72,8 +73,8 @@ internal class MarketsListModel @Inject constructor( getMarketsTokenListFlowUseCase = getMarketsTokenListFlowUseCase, batchFlowType = GetMarketsTokenListFlowUseCase.BatchFlowType.Search, currentAppCurrency = Provider { currentAppCurrency.value }, - currentTrendInterval = Provider { marketsListUMStateManager.selectedInterval }, // FIXME fix on backend - currentSortByType = Provider { SortByTypeUM.Rating }, // FIXME maybe fix on backend + currentTrendInterval = Provider { marketsListUMStateManager.selectedInterval }, + currentSortByType = Provider { SortByTypeUM.Rating }, currentSearchText = Provider { marketsListUMStateManager.searchQuery }, modelScope = modelScope, dispatchers = dispatchers, diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/statemanager/MarketsListBatchFlowManager.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/statemanager/MarketsListBatchFlowManager.kt index bc5dcaed36..e178484e78 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/statemanager/MarketsListBatchFlowManager.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/statemanager/MarketsListBatchFlowManager.kt @@ -2,6 +2,7 @@ package com.tangem.features.markets.tokenlist.impl.model.statemanager import com.tangem.domain.appcurrency.model.AppCurrency import com.tangem.domain.markets.* +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.features.markets.tokenlist.impl.model.converters.MarketsTokenItemConverter import com.tangem.features.markets.tokenlist.impl.model.utils.logAction import com.tangem.features.markets.tokenlist.impl.model.utils.logStatus @@ -302,7 +303,7 @@ internal class MarketsListBatchFlowManager( } } - fun getBatchKeysByItemIds(ids: List): Set { + fun getBatchKeysByItemIds(ids: List): Set { val currentData = batchFlow.state.value.data return currentData @@ -311,7 +312,7 @@ internal class MarketsListBatchFlowManager( .toSet() } - fun getTokenById(id: String): TokenMarket? { + fun getTokenById(id: CryptoCurrency.RawID): TokenMarket? { return batchFlow.state.value.data.map { it.data }.flatten().find { it.id == id } } diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/statemanager/MarketsListUMStateManager.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/statemanager/MarketsListUMStateManager.kt index 6c2b177d24..aa7f006d19 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/statemanager/MarketsListUMStateManager.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/model/statemanager/MarketsListUMStateManager.kt @@ -6,6 +6,7 @@ import com.tangem.core.ui.components.fields.entity.SearchBarUM import com.tangem.core.ui.event.consumedEvent import com.tangem.core.ui.event.triggeredEvent import com.tangem.core.ui.extensions.resourceReference +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.features.markets.impl.R import com.tangem.features.markets.tokenlist.impl.ui.state.* import com.tangem.utils.Provider @@ -18,9 +19,9 @@ import kotlinx.coroutines.flow.update @Stable internal class MarketsListUMStateManager( - private val currentVisibleIds: Provider>, + private val currentVisibleIds: Provider>, private val onLoadMoreUiItems: () -> Unit, - private val visibleItemsChanged: (itemsKeys: List) -> Unit, + private val visibleItemsChanged: (itemsKeys: List) -> Unit, private val onRetryButtonClicked: () -> Unit, private val onTokenClick: (MarketsListItemUM) -> Unit, ) { diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/MarketsList.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/MarketsList.kt index 752717b1bb..e1b6bfd37b 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/MarketsList.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/MarketsList.kt @@ -36,6 +36,7 @@ import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.LocalMainBottomSheetColor import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.features.markets.entry.BottomSheetState import com.tangem.features.markets.impl.R import com.tangem.features.markets.tokenlist.impl.ui.components.MarketsListLazyColumn @@ -298,7 +299,7 @@ private fun Preview() { items = MarketChartListItemPreviewDataProvider().values .flatMap { item -> List(size = 10) { item } } .mapIndexed { index, item -> - item.copy(id = index.toString()) + item.copy(id = CryptoCurrency.RawID(index.toString())) } .toImmutableList(), showUnder100kTokensNotification = false, diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/components/MarketsListLazyColumn.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/components/MarketsListLazyColumn.kt index 77b086ff3b..703e2eae67 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/components/MarketsListLazyColumn.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/components/MarketsListLazyColumn.kt @@ -17,6 +17,7 @@ import com.tangem.core.ui.event.EventEffect import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.features.markets.impl.R import com.tangem.features.markets.tokenlist.impl.ui.state.ListUM import kotlinx.coroutines.launch @@ -88,7 +89,7 @@ internal fun MarketsListLazyColumn( is ListUM.Content -> { items( items = state.items, - key = { it.id + TOKEN_LAZY_LIST_ID_SEPARATOR + it.marketCap.toString() }, + key = { it.id.value + TOKEN_LAZY_LIST_ID_SEPARATOR + it.marketCap.toString() }, ) { item -> MarketsListItem( model = item, @@ -193,6 +194,7 @@ private fun VisibleItemsTracker(listState: LazyListState, state: ListUM) { derivedStateOf { listState.layoutInfo.visibleItemsInfo.mapNotNull { (it.key as? String)?.split(TOKEN_LAZY_LIST_ID_SEPARATOR)?.first() + ?.let { rawId -> CryptoCurrency.RawID(rawId) } } } } diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/preview/MarketChartListItemPreviewDataProvider.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/preview/MarketChartListItemPreviewDataProvider.kt index e0c4a52d54..97eecee6d1 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/preview/MarketChartListItemPreviewDataProvider.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/preview/MarketChartListItemPreviewDataProvider.kt @@ -4,13 +4,14 @@ package com.tangem.features.markets.tokenlist.impl.ui.preview import androidx.compose.ui.tooling.preview.datasource.CollectionPreviewParameterProvider import com.tangem.common.ui.charts.state.MarketChartRawData import com.tangem.core.ui.components.marketprice.PriceChangeType +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.features.markets.tokenlist.impl.ui.state.MarketsListItemUM import kotlinx.collections.immutable.persistentListOf internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParameterProvider( collection = listOf( MarketsListItemUM( - id = "1", + id = CryptoCurrency.RawID("1"), name = "Bitcoin", currencySymbol = "BTC", iconUrl = "", @@ -25,7 +26,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet isUnder100kMarketCap = false, ), MarketsListItemUM( - id = "1", + id = CryptoCurrency.RawID("1"), name = "Bitcoin", currencySymbol = "BTC", iconUrl = null, @@ -38,7 +39,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet isUnder100kMarketCap = false, ), MarketsListItemUM( - id = "1", + id = CryptoCurrency.RawID("1"), name = "Bitcoin Bitcoin Bitcoin Bitcoin Bitcoin Bitcoin Bitcoin", currencySymbol = "BTC", iconUrl = null, @@ -53,7 +54,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet isUnder100kMarketCap = false, ), MarketsListItemUM( - id = "1", + id = CryptoCurrency.RawID("1"), name = "Bitcoin", currencySymbol = "BTC", iconUrl = null, @@ -68,7 +69,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet isUnder100kMarketCap = false, ), MarketsListItemUM( - id = "1", + id = CryptoCurrency.RawID("1"), name = "Bitcoin", currencySymbol = "BTC", iconUrl = null, @@ -83,7 +84,7 @@ internal class MarketChartListItemPreviewDataProvider : CollectionPreviewParamet isUnder100kMarketCap = false, ), MarketsListItemUM( - id = "1", + id = CryptoCurrency.RawID("1"), name = "Bitcoin", currencySymbol = "BTC", iconUrl = null, diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListItemUM.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListItemUM.kt index 9bc808aee8..458a1e29a3 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListItemUM.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListItemUM.kt @@ -4,10 +4,11 @@ import androidx.compose.runtime.Immutable import com.tangem.common.ui.charts.state.MarketChartLook import com.tangem.common.ui.charts.state.MarketChartRawData import com.tangem.core.ui.components.marketprice.PriceChangeType +import com.tangem.domain.tokens.model.CryptoCurrency @Immutable data class MarketsListItemUM( - val id: String, + val id: CryptoCurrency.RawID, val name: String, val currencySymbol: String, val iconUrl: String?, diff --git a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListUM.kt b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListUM.kt index 10ed82175e..298f90f22f 100644 --- a/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListUM.kt +++ b/features/markets/impl/src/main/kotlin/com/tangem/features/markets/tokenlist/impl/ui/state/MarketsListUM.kt @@ -6,6 +6,7 @@ import com.tangem.core.ui.components.fields.entity.SearchBarUM import com.tangem.core.ui.event.StateEvent import com.tangem.core.ui.extensions.TextReference import com.tangem.core.ui.extensions.resourceReference +import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.features.markets.impl.R import kotlinx.collections.immutable.ImmutableList @@ -44,7 +45,7 @@ sealed class ListUM { val showUnder100kTokensNotification: Boolean, val showUnder100kTokensNotificationWasHidden: Boolean, val loadMore: () -> Unit, - val visibleIdsChanged: (List) -> Unit, + val visibleIdsChanged: (List) -> Unit, val onShowTokensUnder100kClicked: () -> Unit, val triggerScrollReset: StateEvent, val onItemClick: (MarketsListItemUM) -> Unit, diff --git a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeStateFactory.kt b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeStateFactory.kt index 709bd1f9bc..e31d57f978 100644 --- a/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeStateFactory.kt +++ b/features/send/impl/src/main/java/com/tangem/features/send/impl/presentation/state/fee/FeeStateFactory.kt @@ -229,7 +229,7 @@ internal class FeeStateFactory( symbol = this.token.symbol, contractAddress = this.token.contractAddress, decimals = this.token.decimals, - id = this.token.id.rawCurrencyId, + id = this.token.id.rawCurrencyId?.value, ), ) } diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/RewardsValidatorStateConverter.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/RewardsValidatorStateConverter.kt index b151140d55..d9996e2ded 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/RewardsValidatorStateConverter.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/RewardsValidatorStateConverter.kt @@ -89,7 +89,7 @@ internal class RewardsValidatorStateConverter( formattedCryptoAmount = cryptoAmount, fiatAmount = fiatValue, formattedFiatAmount = formattedFiatAmount, - rawCurrencyId = cryptoCurrency.id.rawCurrencyId, + rawCurrencyId = cryptoCurrency.id.rawCurrencyId?.value, pendingActions = balance.pendingActions.toPersistentList(), isClickable = true, type = balance.type, diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingFeeTransactionLoader.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingFeeTransactionLoader.kt index 9167845687..6ed1669b40 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingFeeTransactionLoader.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingFeeTransactionLoader.kt @@ -15,6 +15,7 @@ import com.tangem.domain.staking.model.stakekit.action.StakingActionCommonType import com.tangem.domain.staking.model.stakekit.transaction.ActionParams import com.tangem.domain.staking.model.stakekit.transaction.StakingGasEstimate import com.tangem.domain.tokens.model.CryptoCurrencyStatus +import com.tangem.domain.tokens.model.staking.getCurrentToken import com.tangem.domain.transaction.error.GetFeeError import com.tangem.domain.transaction.usecase.GetFeeUseCase import com.tangem.domain.wallets.models.UserWallet diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingTransactionSender.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingTransactionSender.kt index 09b6415c41..1de6d402d2 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingTransactionSender.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingTransactionSender.kt @@ -18,6 +18,7 @@ import com.tangem.domain.staking.model.stakekit.transaction.StakingTransaction import com.tangem.domain.staking.model.stakekit.transaction.StakingTransactionStatus import com.tangem.domain.staking.model.stakekit.transaction.StakingTransactionType import com.tangem.domain.tokens.model.CryptoCurrencyStatus +import com.tangem.domain.tokens.model.staking.getCurrentToken import com.tangem.domain.transaction.error.SendTransactionError import com.tangem.domain.transaction.usecase.SendTransactionUseCase import com.tangem.domain.txhistory.usecase.GetExplorerTransactionUrlUseCase diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt index 597b837eac..53e6b2335c 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapInteractorImpl.kt @@ -2134,14 +2134,17 @@ internal class SwapInteractorImpl @AssistedInject constructor( } private suspend fun getQuotes(vararg ids: CryptoCurrency.ID): Map { - val set = ids.toSet().getQuotesOrEmpty(false).filterIsInstance() + val set = ids.mapNotNull { it.rawCurrencyId } + .toSet() + .getQuotesOrEmpty(false) + .filterIsInstance() return ids .mapNotNull { id -> set.find { it.rawCurrencyId == id.rawCurrencyId }?.let { id to it } } .toMap() } - private suspend fun Set.getQuotesOrEmpty(refresh: Boolean): Set { + private suspend fun Set.getQuotesOrEmpty(refresh: Boolean): Set { return try { quotesRepository.getQuotesSync(this, refresh) } catch (t: Throwable) { diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt index 25d87bd106..b63aad6b70 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt @@ -205,7 +205,8 @@ internal class ExchangeStatusFactory @AssistedInject constructor( private suspend fun Set.getQuotesOrEmpty(refresh: Boolean): Set { return try { - quotesRepository.getQuotesSync(this, refresh) + val rawIds = mapNotNull { it.rawCurrencyId }.toSet() + quotesRepository.getQuotesSync(rawIds, refresh) } catch (t: Throwable) { emptySet() } From 3e8fc722909cc88afb1f759e8be7cea7f9275caf Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Feb 2025 12:29:36 +0300 Subject: [PATCH 55/61] Updated on 2026-08-14 --- .../impl/child/finalize/model/MultiWalletFinalizeModel.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/finalize/model/MultiWalletFinalizeModel.kt b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/finalize/model/MultiWalletFinalizeModel.kt index 6116ad29e2..c87784f4ad 100644 --- a/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/finalize/model/MultiWalletFinalizeModel.kt +++ b/features/onboarding-v2/impl/src/main/kotlin/com/tangem/features/onboarding/v2/multiwallet/impl/child/finalize/model/MultiWalletFinalizeModel.kt @@ -7,6 +7,7 @@ import com.tangem.core.decompose.di.ComponentScoped import com.tangem.core.decompose.model.Model import com.tangem.core.decompose.model.ParamsContainer import com.tangem.domain.card.repository.CardRepository +import com.tangem.domain.common.util.cardTypesResolver import com.tangem.domain.feedback.GetCardInfoUseCase import com.tangem.domain.feedback.SendFeedbackEmailUseCase import com.tangem.domain.feedback.models.FeedbackEmailType @@ -17,6 +18,7 @@ import com.tangem.domain.onboarding.repository.OnboardingRepository import com.tangem.domain.wallets.builder.UserWalletBuilder import com.tangem.domain.wallets.legacy.UserWalletsListManager import com.tangem.domain.wallets.models.UserWallet +import com.tangem.domain.wallets.repository.WalletsRepository import com.tangem.domain.wallets.usecase.GenerateWalletNameUseCase import com.tangem.features.onboarding.v2.impl.R import com.tangem.features.onboarding.v2.multiwallet.api.OnboardingMultiWalletComponent @@ -30,6 +32,7 @@ import com.tangem.sdk.api.BackupServiceHolder import com.tangem.sdk.api.TangemSdkManager import com.tangem.utils.StringsSigns import com.tangem.utils.coroutines.CoroutineDispatcherProvider +import kotlinx.coroutines.NonCancellable import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch import javax.inject.Inject @@ -48,6 +51,7 @@ internal class MultiWalletFinalizeModel @Inject constructor( private val userWalletsListManager: UserWalletsListManager, private val cardRepository: CardRepository, private val onboardingRepository: OnboardingRepository, + private val walletsRepository: WalletsRepository, ) : Model() { private val params = paramsContainer.require() @@ -250,6 +254,10 @@ internal class MultiWalletFinalizeModel @Inject constructor( it.copy(resultUserWallet = userWallet) } + if (userWallet.scanResponse.cardTypesResolver.isWallet2() && userWallet.isImported) { + launch(NonCancellable) { walletsRepository.markWallet2WasCreated(userWallet.walletId) } + } + // user wallet is fully created and saved, remove scan response from preferences // to prevent showing finalize screen dialog on next app start onboardingRepository.clearUnfinishedFinalizeOnboarding() From 552da5be182235c8f871aa519baf78e91a2199b9 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Feb 2025 18:28:24 +0400 Subject: [PATCH 56/61] Updated on 2026-08-14 --- features/disclaimer/impl/build.gradle.kts | 1 + .../disclaimer/impl/ui/DisclaimerScreen.kt | 65 ++++++++++++------- .../impl/ui/DisclaimerWebViewClient.kt | 56 ++++++++++++++++ 3 files changed, 100 insertions(+), 22 deletions(-) create mode 100644 features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerWebViewClient.kt diff --git a/features/disclaimer/impl/build.gradle.kts b/features/disclaimer/impl/build.gradle.kts index c7d9e6d9fd..9144b3fbb0 100644 --- a/features/disclaimer/impl/build.gradle.kts +++ b/features/disclaimer/impl/build.gradle.kts @@ -44,6 +44,7 @@ dependencies { /** Other dependencies */ implementation(deps.arrow.core) + implementation(deps.timber) /** DI */ implementation(deps.hilt.android) diff --git a/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt b/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt index a1b849f65f..1174e7d634 100644 --- a/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt +++ b/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerScreen.kt @@ -9,10 +9,7 @@ import androidx.compose.foundation.background import androidx.compose.foundation.layout.* import androidx.compose.material3.ButtonColors import androidx.compose.material3.CircularProgressIndicator -import androidx.compose.runtime.Composable -import androidx.compose.runtime.derivedStateOf -import androidx.compose.runtime.getValue -import androidx.compose.runtime.remember +import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalDensity @@ -22,8 +19,9 @@ import com.google.accompanist.permissions.ExperimentalPermissionsApi import com.google.accompanist.permissions.isGranted import com.google.accompanist.permissions.rememberPermissionState import com.google.accompanist.web.WebView +import com.google.accompanist.web.WebViewNavigator +import com.google.accompanist.web.rememberWebViewNavigator import com.google.accompanist.web.rememberWebViewState -import com.google.accompanist.web.rememberWebViewStateWithHTMLData import com.tangem.core.ui.components.BottomFade import com.tangem.core.ui.components.NavigationBar3ButtonsScrim import com.tangem.core.ui.components.PrimaryButton @@ -42,6 +40,8 @@ import com.tangem.features.disclaimer.impl.entity.DisclaimerUM import com.tangem.features.disclaimer.impl.entity.DummyDisclaimer import com.tangem.features.disclaimer.impl.local.localTermsOfServices import com.tangem.features.pushnotifications.api.utils.getPushPermissionOrNull +import com.tangem.utils.coroutines.JobHolder +import com.tangem.utils.coroutines.withDebounce import java.nio.charset.StandardCharsets @Composable @@ -94,35 +94,34 @@ internal fun DisclaimerScreen(state: DisclaimerUM) { private fun DisclaimerContent(url: String) { val backgroundColor = TangemTheme.colors.background.primary - val webViewStateUrl = rememberWebViewState(url) - val webViewStateData = rememberWebViewStateWithHTMLData( - data = localTermsOfServices, - mimeType = "text/html", - encoding = StandardCharsets.UTF_8.name(), - ) + val loadingTimeoutJobHolder = remember { JobHolder() } + var isLoading by remember { mutableStateOf(true) } - val webViewState by remember { - derivedStateOf { - if (webViewStateUrl.errorsForCurrentRequest.isNotEmpty()) { - webViewStateData - } else { - webViewStateUrl - } - } + val webViewState = rememberWebViewState(url) + val webViewNavigator = rememberWebViewNavigator() + val webViewClient = remember { + DisclaimerWebViewClient( + onLoadingFinished = { + loadingTimeoutJobHolder.cancel() + isLoading = false + }, + ) } Box { WebView( state = webViewState, - captureBackPresses = false, - onCreated = WebView::applySafeSettings, modifier = Modifier .fillMaxSize() .background(TangemTheme.colors.background.primary), + captureBackPresses = false, + navigator = webViewNavigator, + onCreated = WebView::applySafeSettings, + client = webViewClient, ) AnimatedVisibility( - visible = webViewState.isLoading, + visible = isLoading, label = "Loading state change animation", enter = fadeIn(), exit = fadeOut(), @@ -144,6 +143,28 @@ private fun DisclaimerContent(url: String) { } } } + + LaunchedEffect(loadingTimeoutJobHolder) { + withDebounce(jobHolder = loadingTimeoutJobHolder, timeMillis = 30_000) { + webViewNavigator.stopLoading() + + webViewNavigator.loadLocalToS() + } + } + + LaunchedEffect(webViewState.errorsForCurrentRequest) { + if (webViewState.errorsForCurrentRequest.isNotEmpty()) { + webViewNavigator.loadLocalToS() + } + } +} + +private fun WebViewNavigator.loadLocalToS() { + loadHtml( + html = localTermsOfServices, + mimeType = "text/html", + encoding = StandardCharsets.UTF_8.name(), + ) } @OptIn(ExperimentalPermissionsApi::class) diff --git a/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerWebViewClient.kt b/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerWebViewClient.kt new file mode 100644 index 0000000000..c5fbbfb32b --- /dev/null +++ b/features/disclaimer/impl/src/main/java/com/tangem/features/disclaimer/impl/ui/DisclaimerWebViewClient.kt @@ -0,0 +1,56 @@ +package com.tangem.features.disclaimer.impl.ui + +import android.graphics.Bitmap +import android.webkit.WebResourceError +import android.webkit.WebResourceRequest +import android.webkit.WebView +import com.google.accompanist.web.AccompanistWebViewClient +import timber.log.Timber + +/** + * [AccompanistWebViewClient] for Disclaimer [WebView] + * + * @property onLoadingFinished lambda be invoked when client will get a result of loading (content or error) + * +[REDACTED_AUTHOR] + */ +internal class DisclaimerWebViewClient( + private val onLoadingFinished: () -> Unit, +) : AccompanistWebViewClient() { + + private val loadedUrls: MutableMap = mutableMapOf() + + override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) { + super.onPageStarted(view, url, favicon) + + Timber.d("onPageStarted: $url") + + if (url != null) { + loadedUrls[url] = false + } + } + + override fun onPageFinished(view: WebView?, url: String?) { + super.onPageFinished(view, url) + + Timber.d("onPageFinished: $url") + + if (url != null && loadedUrls.containsKey(url)) { + loadedUrls[url] = true + onLoadingFinished() + } + } + + override fun onReceivedError(view: WebView?, request: WebResourceRequest?, error: WebResourceError?) { + super.onReceivedError(view, request, error) + + val url = request?.url?.toString() + + Timber.d("onReceivedError: $url") + + if (url != null && loadedUrls.containsKey(url)) { + loadedUrls[url] = true + onLoadingFinished() + } + } +} \ No newline at end of file From 2f3e6db10d18c1a0aa9337addfe3877166cae9e6 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 18:24:49 +0500 Subject: [PATCH 57/61] Updated on 2026-08-14 --- .../swap/DefaultSwapTransactionRepository.kt | 22 ++++++++++++++++--- .../SavedSwapTransactionListConverter.kt | 10 ++++++++- features/swap/domain/build.gradle.kts | 1 + .../domain/models/domain/ExchangeStatus.kt | 6 +++++ .../swap/domain/SwapTransactionRepository.kt | 2 +- ...enDetailsSwapTransactionsStateConverter.kt | 16 +++++++++----- .../factory/express/ExchangeStatusFactory.kt | 9 ++++---- .../viewmodels/TokenDetailsViewModel.kt | 1 - 8 files changed, 51 insertions(+), 16 deletions(-) diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapTransactionRepository.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapTransactionRepository.kt index ed7aa550c5..082f1b8ec9 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapTransactionRepository.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/DefaultSwapTransactionRepository.kt @@ -1,6 +1,7 @@ package com.tangem.feature.swap import com.tangem.blockchainsdk.utils.ExcludedBlockchains +import com.tangem.data.common.currency.UserTokensResponseFactory import com.tangem.datasource.local.preferences.AppPreferencesStore import com.tangem.datasource.local.preferences.PreferencesKeys import com.tangem.datasource.local.preferences.utils.getObjectList @@ -26,6 +27,7 @@ internal class DefaultSwapTransactionRepository( ) : SwapTransactionRepository { private val converter = SavedSwapTransactionListConverter(excludedBlockchains) + private val userTokensResponseFactory = UserTokensResponseFactory() override suspend fun storeTransaction( userWalletId: UserWalletId, @@ -33,7 +35,13 @@ internal class DefaultSwapTransactionRepository( toCryptoCurrency: CryptoCurrency, transaction: SavedSwapTransactionModel, ) { - transaction.status?.let { storeTransactionState(transaction.txId, it) } + transaction.status?.let { + storeTransactionState( + txId = transaction.txId, + status = it, + refundTokenCurrency = null, + ) + } appPreferencesStore.editData { mutablePreferences -> val savedTransactions: List? = mutablePreferences.getObjectList( key = PreferencesKeys.SWAP_TRANSACTIONS_KEY, @@ -154,14 +162,22 @@ internal class DefaultSwapTransactionRepository( } } - override suspend fun storeTransactionState(txId: String, status: ExchangeStatusModel) { + override suspend fun storeTransactionState( + txId: String, + status: ExchangeStatusModel, + refundTokenCurrency: CryptoCurrency?, + ) { appPreferencesStore.editData { mutablePreferences -> val savedMap = mutablePreferences.getObjectMap( key = PreferencesKeys.SWAP_TRANSACTIONS_STATUSES_KEY, ) val updatesMap = savedMap.toMutableMap() - updatesMap[txId] = status + updatesMap[txId] = status.copy( + refundTokensResponse = refundTokenCurrency?.let { + userTokensResponseFactory.createResponseToken(refundTokenCurrency) + }, + ) mutablePreferences.setObjectMap( key = PreferencesKeys.SWAP_TRANSACTIONS_STATUSES_KEY, diff --git a/features/swap/data/src/main/java/com/tangem/feature/swap/converters/SavedSwapTransactionListConverter.kt b/features/swap/data/src/main/java/com/tangem/feature/swap/converters/SavedSwapTransactionListConverter.kt index d3d6093b01..ed4ce2cf2e 100644 --- a/features/swap/data/src/main/java/com/tangem/feature/swap/converters/SavedSwapTransactionListConverter.kt +++ b/features/swap/data/src/main/java/com/tangem/feature/swap/converters/SavedSwapTransactionListConverter.kt @@ -53,7 +53,15 @@ internal class SavedSwapTransactionListConverter( return SavedSwapTransactionListModel( transactions = value.transactions.map { tx -> - tx.copy(status = txStatuses[tx.txId]) + val status = txStatuses[tx.txId] + val refundCurrency = status?.refundTokensResponse?.let { id -> + responseCryptoCurrenciesFactory.createCurrency( + responseToken = id, + scanResponse = scanResponse, + ) + } + val statusWithRefundCurrency = status?.copy(refundCurrency = refundCurrency) + tx.copy(status = statusWithRefundCurrency) }, userWalletId = value.userWalletId, fromCryptoCurrencyId = value.fromCryptoCurrencyId, diff --git a/features/swap/domain/build.gradle.kts b/features/swap/domain/build.gradle.kts index bbf66619e0..ed5fe567e7 100644 --- a/features/swap/domain/build.gradle.kts +++ b/features/swap/domain/build.gradle.kts @@ -42,6 +42,7 @@ dependencies { /** Core modules */ implementation(projects.core.utils) implementation(projects.core.ui) + implementation(projects.core.datasource) /** Feature Apis */ implementation(projects.features.wallet.api) diff --git a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt index 5247fa7145..bd5e63b506 100644 --- a/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt +++ b/features/swap/domain/models/src/main/java/com/tangem/feature/swap/domain/models/domain/ExchangeStatus.kt @@ -2,6 +2,8 @@ package com.tangem.feature.swap.domain.models.domain import com.squareup.moshi.Json import com.squareup.moshi.JsonClass +import com.tangem.datasource.api.tangemTech.models.UserTokensResponse +import com.tangem.domain.tokens.model.CryptoCurrency @JsonClass(generateAdapter = true) data class ExchangeStatusModel( @@ -19,6 +21,10 @@ data class ExchangeStatusModel( val refundNetwork: String? = null, @Json(name = "refundContractAddress") val refundContractAddress: String? = null, + @Json(name = "refundTokensResponse") + val refundTokensResponse: UserTokensResponse.Token? = null, + @Json(ignore = true) + val refundCurrency: CryptoCurrency? = null, ) @JsonClass(generateAdapter = false) diff --git a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapTransactionRepository.kt b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapTransactionRepository.kt index f02a93f2ab..812499d47f 100644 --- a/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapTransactionRepository.kt +++ b/features/swap/domain/src/main/java/com/tangem/feature/swap/domain/SwapTransactionRepository.kt @@ -30,7 +30,7 @@ interface SwapTransactionRepository { txId: String, ) - suspend fun storeTransactionState(txId: String, status: ExchangeStatusModel) + suspend fun storeTransactionState(txId: String, status: ExchangeStatusModel, refundTokenCurrency: CryptoCurrency?) suspend fun storeLastSwappedCryptoCurrencyId(userWalletId: UserWalletId, cryptoCurrencyId: CryptoCurrency.ID) diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt index 967df9169b..ba05cd229d 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsSwapTransactionsStateConverter.kt @@ -80,15 +80,19 @@ internal class TokenDetailsSwapTransactionsStateConverter( fromFiatAmount = quote.fiatRate.multiply(fromAmount) } } - val notifications = - getNotification(transaction.status?.status, transaction.status?.txExternalUrl, null) + val statusModel = transaction.status + val notifications = getNotification( + status = statusModel?.status, + txUrl = statusModel?.txExternalUrl, + refundToken = statusModel?.refundCurrency, + ) val showProviderLink = getShowProviderLink(notifications, transaction.status) result.add( ExchangeUM( provider = transaction.provider, - statuses = getStatuses(transaction.status?.status), + statuses = getStatuses(statusModel?.status), notification = notifications, - activeStatus = transaction.status?.status, + activeStatus = statusModel?.status, showProviderLink = showProviderLink, fromCryptoCurrency = fromCryptoCurrency, toCryptoCurrency = toCryptoCurrency, @@ -106,13 +110,13 @@ internal class TokenDetailsSwapTransactionsStateConverter( return result.toPersistentList() } - fun updateTxStatus(tx: ExchangeUM, statusModel: ExchangeStatusModel?, refundToken: CryptoCurrency?): ExchangeUM { + fun updateTxStatus(tx: ExchangeUM, statusModel: ExchangeStatusModel?): ExchangeUM { if (statusModel == null || tx.activeStatus == statusModel.status) { Timber.e("UpdateTxStatus isn't required. Current status isn't changed") return tx } val hasFailed = statusModel.status == ExchangeStatus.Failed - val notifications = getNotification(statusModel.status, statusModel.txExternalUrl, refundToken) + val notifications = getNotification(statusModel.status, statusModel.txExternalUrl, statusModel.refundCurrency) val showProviderLink = getShowProviderLink(notifications, statusModel) return tx.copy( activeStatus = statusModel.status, diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt index fc416a7196..68d4f25bed 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/express/ExchangeStatusFactory.kt @@ -101,11 +101,9 @@ internal class ExchangeStatusFactory @AssistedInject constructor( } else { val statusModel = getExchangeStatus(swapTx.info.txId, swapTx.provider) - val addedRefundToken = addRefundCurrencyIfNeeded(statusModel, swapTx.provider.type) swapTransactionsStateConverter.updateTxStatus( tx = swapTx, statusModel = statusModel, - refundToken = addedRefundToken, ) } } @@ -116,8 +114,11 @@ internal class ExchangeStatusFactory @AssistedInject constructor( ifLeft = { null }, ifRight = { statusModel -> sendStatusUpdateAnalytics(statusModel, provider) - swapTransactionRepository.storeTransactionState(txId, statusModel) - statusModel + + val refundTokenCurrency = addRefundCurrencyIfNeeded(statusModel, provider.type) + + swapTransactionRepository.storeTransactionState(txId, statusModel, refundTokenCurrency) + statusModel.copy(refundCurrency = refundTokenCurrency) }, ) } diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt index fa3df91c63..744218305e 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/viewmodels/TokenDetailsViewModel.kt @@ -784,7 +784,6 @@ internal class TokenDetailsViewModel @Inject constructor( } override fun onGoToRefundedTokenClick(cryptoCurrency: CryptoCurrency) { - onDisposeExpressStatus() router.openTokenDetails(userWalletId, cryptoCurrency) } From 35d7b71361c06f0ec749b962f36db1b5436a05e3 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 23:19:07 +0400 Subject: [PATCH 58/61] Updated on 2026-08-14 --- .../java/com/tangem/tap/TangemApplication.kt | 5 +- .../common/log/TangemAppLoggerInitializer.kt | 5 +- .../tap/data/TangemBlockchainSDKLogger.kt | 2 +- .../datasource/local/logs/AppLogsStore.kt | 25 +++--- .../utils/NetworkLogsSaveInterceptor.kt | 10 ++- features/tester/impl/build.gradle.kts | 1 + .../actions/TesterActionsContentState.kt | 29 ++++--- .../actions/TesterActionsScreen.kt | 84 ++++++++++++++----- .../actions/TesterActionsViewModel.kt | 23 +++-- .../impl/src/main/res/values/strings.xml | 1 + 10 files changed, 130 insertions(+), 55 deletions(-) diff --git a/app/src/main/java/com/tangem/tap/TangemApplication.kt b/app/src/main/java/com/tangem/tap/TangemApplication.kt index d54f1c4c78..c8408c6e91 100644 --- a/app/src/main/java/com/tangem/tap/TangemApplication.kt +++ b/app/src/main/java/com/tangem/tap/TangemApplication.kt @@ -222,7 +222,10 @@ abstract class TangemApplication : Application(), ImageLoaderFactory { private fun updateLogFiles() { appLogsStore.deleteOldLogsFile() - appLogsStore.deleteLastLogFile() + + if (!BuildConfig.TESTER_MENU_ENABLED) { + appLogsStore.deleteLastLogFile() + } // Temporally logs are not saved // scope.launch { diff --git a/app/src/main/java/com/tangem/tap/common/log/TangemAppLoggerInitializer.kt b/app/src/main/java/com/tangem/tap/common/log/TangemAppLoggerInitializer.kt index 1b3f599f3f..a2011ff5e7 100644 --- a/app/src/main/java/com/tangem/tap/common/log/TangemAppLoggerInitializer.kt +++ b/app/src/main/java/com/tangem/tap/common/log/TangemAppLoggerInitializer.kt @@ -35,7 +35,10 @@ class TangemAppLoggerInitializer( } if (PERMITTED_PRIORITY.contains(priority)) { - appLogsStore.saveLogMessage(message) + appLogsStore.saveLogMessage( + tag = tag ?: "TangemAppLogger", + message = message, + ) } } } diff --git a/app/src/main/java/com/tangem/tap/data/TangemBlockchainSDKLogger.kt b/app/src/main/java/com/tangem/tap/data/TangemBlockchainSDKLogger.kt index a85c3e4667..f197705464 100644 --- a/app/src/main/java/com/tangem/tap/data/TangemBlockchainSDKLogger.kt +++ b/app/src/main/java/com/tangem/tap/data/TangemBlockchainSDKLogger.kt @@ -15,6 +15,6 @@ internal class TangemBlockchainSDKLogger( ) : BlockchainSDKLogger { override fun log(level: BlockchainSDKLogger.Level, message: String) { - appLogsStore.saveLogMessage(message) + appLogsStore.saveLogMessage(tag = "BlockchainSDK_${level.name}", message) } } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/logs/AppLogsStore.kt b/core/datasource/src/main/java/com/tangem/datasource/local/logs/AppLogsStore.kt index bb1112d268..ac6d80ef03 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/logs/AppLogsStore.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/logs/AppLogsStore.kt @@ -1,6 +1,7 @@ package com.tangem.datasource.local.logs import android.content.Context +import com.tangem.datasource.BuildConfig import com.tangem.utils.coroutines.CoroutineDispatcherProvider import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.CoroutineExceptionHandler @@ -58,26 +59,30 @@ class AppLogsStore @Inject constructor( fun getFile(): File? = if (file.exists()) file else null /** Save log [message] */ - fun saveLogMessage(message: String) { - // Temporally logs are not saved - return + fun saveLogMessage(tag: String, message: String) { + // Temporally logs are not saved in prod environment + if (!BuildConfig.TESTER_MENU_ENABLED) { + return + } launchWithLock { createFileIfNotExist() - writeMessage(message) + writeMessage(tag = tag, message) } } /** Save log that consists from [messages] */ - fun saveLogMessage(vararg messages: String) { - // Temporally logs are not saved - return + fun saveLogMessage(tag: String, vararg messages: String) { + // Temporally logs are not saved in prod environment + if (!BuildConfig.TESTER_MENU_ENABLED) { + return + } launchWithLock { createFileIfNotExist() - writeMessage(*messages) + writeMessage(tag = tag, *messages) } } @@ -102,10 +107,10 @@ class AppLogsStore @Inject constructor( if (file.exists()) file.delete() } - private fun writeMessage(vararg messages: String) { + private fun writeMessage(tag: String, vararg messages: String) { BufferedWriter(FileWriter(file, true)).use { writer -> writer.append(formatter.print(DateTime.now())) - writer.append(": ") + writer.append(": $tag ") messages.forEach(writer::append) writer.newLine() } diff --git a/core/datasource/src/main/java/com/tangem/datasource/utils/NetworkLogsSaveInterceptor.kt b/core/datasource/src/main/java/com/tangem/datasource/utils/NetworkLogsSaveInterceptor.kt index b593688bd9..26703087a9 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/utils/NetworkLogsSaveInterceptor.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/utils/NetworkLogsSaveInterceptor.kt @@ -40,7 +40,7 @@ internal class NetworkLogsSaveInterceptor( try { response = chain.proceed(request) } catch (e: Exception) { - appLogsStore.saveLogMessage("<-- HTTP FAILED: $e") + saveLogMessage("<-- HTTP FAILED: $e") throw e } @@ -53,7 +53,7 @@ internal class NetworkLogsSaveInterceptor( val connection = chain.connection() val connectionProtocol = if (connection != null) " ${connection.protocol()}" else "" - appLogsStore.saveLogMessage( + saveLogMessage( "--> ${request.method} ${request.url}$connectionProtocol\n", createRequestEndMessage(request), ) @@ -136,7 +136,7 @@ internal class NetworkLogsSaveInterceptor( val spaceBeforeResponseMessage = if (response.message.isEmpty()) "" else ' ' + response.message - appLogsStore.saveLogMessage( + saveLogMessage( "<-- ${response.code}", spaceBeforeResponseMessage, response.message, @@ -198,4 +198,8 @@ internal class NetworkLogsSaveInterceptor( null } } + + private fun saveLogMessage(vararg messages: String) { + appLogsStore.saveLogMessage(tag = "NetworkLogs", *messages) + } } \ No newline at end of file diff --git a/features/tester/impl/build.gradle.kts b/features/tester/impl/build.gradle.kts index 86afbab205..5c994aba93 100644 --- a/features/tester/impl/build.gradle.kts +++ b/features/tester/impl/build.gradle.kts @@ -32,6 +32,7 @@ dependencies { /** Domain modules */ implementation(projects.domain.appTheme) implementation(projects.domain.appTheme.models) + implementation(projects.domain.feedback) /** Other libraries */ implementation(deps.arrow.core) diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsContentState.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsContentState.kt index c814bf750b..9307de43a7 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsContentState.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsContentState.kt @@ -1,21 +1,26 @@ package com.tangem.feature.tester.presentation.actions +import androidx.compose.runtime.Immutable import com.tangem.domain.apptheme.model.AppThemeMode +import java.io.File internal data class TesterActionsContentState( - val hideAllCurrenciesConfig: HideAllCurrenciesConfig, - val toggleAppThemeConfig: ToggleAppThemeConfig, + val hideAllCurrenciesUM: HideAllCurrenciesUM, + val toggleAppThemeUM: ToggleAppThemeUM, + val shareLogsUM: ShareLogsUM, val onBackClick: () -> Unit, - val onApplyChangesClick: () -> Unit, -) +) { + sealed class HideAllCurrenciesUM { + data class Clickable(val onClick: () -> Unit) : HideAllCurrenciesUM() -internal sealed class HideAllCurrenciesConfig { - data class Clickable(val onClick: () -> Unit) : HideAllCurrenciesConfig() + data object Progress : HideAllCurrenciesUM() + } - data object Progress : HideAllCurrenciesConfig() -} + data class ToggleAppThemeUM( + val currentAppTheme: AppThemeMode, + val onClick: () -> Unit, + ) -internal data class ToggleAppThemeConfig( - val currentAppTheme: AppThemeMode, - val onClick: () -> Unit, -) \ No newline at end of file + @Immutable + data class ShareLogsUM(val file: File?) +} \ No newline at end of file diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsScreen.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsScreen.kt index adadf6886f..f19b69a825 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsScreen.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsScreen.kt @@ -1,5 +1,7 @@ package com.tangem.feature.tester.presentation.actions +import android.app.Activity +import android.content.Intent import android.content.res.Configuration import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.background @@ -8,14 +10,24 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.core.app.ShareCompat +import androidx.core.content.ContextCompat +import androidx.core.content.FileProvider import com.tangem.core.ui.components.PrimaryButton import com.tangem.core.ui.components.appbar.AppBarWithBackButton import com.tangem.core.ui.extensions.stringResourceSafe import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview +import com.tangem.core.ui.utils.findActivity import com.tangem.domain.apptheme.model.AppThemeMode import com.tangem.feature.tester.impl.R +import com.tangem.feature.tester.presentation.actions.TesterActionsContentState.HideAllCurrenciesUM +import com.tangem.feature.tester.presentation.actions.TesterActionsContentState.ToggleAppThemeUM +import timber.log.Timber +import java.io.File @OptIn(ExperimentalFoundationApi::class) @Composable @@ -24,6 +36,7 @@ internal fun TesterActionsScreen(state: TesterActionsContentState, modifier: Mod modifier = modifier .fillMaxSize() .background(TangemTheme.colors.background.secondary), + verticalArrangement = Arrangement.spacedBy(16.dp), ) { stickyHeader { AppBarWithBackButton( @@ -31,42 +44,75 @@ internal fun TesterActionsScreen(state: TesterActionsContentState, modifier: Mod onBackClick = state.onBackClick, ) } + item { - val onClick = remember(state.hideAllCurrenciesConfig) { - { (state.hideAllCurrenciesConfig as? HideAllCurrenciesConfig.Clickable)?.onClick?.invoke() ?: Unit } + val onClick = remember(state.hideAllCurrenciesUM) { + { (state.hideAllCurrenciesUM as? HideAllCurrenciesUM.Clickable)?.onClick?.invoke() ?: Unit } } TesterActionItem( name = stringResourceSafe(R.string.hide_all_currencies), - progress = state.hideAllCurrenciesConfig is HideAllCurrenciesConfig.Progress, + progress = state.hideAllCurrenciesUM is HideAllCurrenciesUM.Progress, onClick = onClick, ) } + item { - val config = state.toggleAppThemeConfig + val config = state.toggleAppThemeUM TesterActionItem( name = stringResourceSafe(id = R.string.toggle_app_theme, config.currentAppTheme.name), onClick = config.onClick, ) } + + item { + val activity = LocalContext.current.findActivity() + + TesterActionItem( + name = stringResourceSafe(id = R.string.share_logs), + onClick = { activity.shareFile(file = state.shareLogsUM.file) }, + enabled = state.shareLogsUM.file != null, + ) + } } } @Composable -private fun TesterActionItem( - name: String, - onClick: () -> Unit, - modifier: Modifier = Modifier, - progress: Boolean = false, -) { - Box(modifier = modifier.padding(all = TangemTheme.dimens.spacing16)) { - PrimaryButton( - modifier = Modifier.fillMaxWidth(), - text = name, - onClick = onClick, - showProgress = progress, +private fun TesterActionItem(name: String, onClick: () -> Unit, progress: Boolean = false, enabled: Boolean = true) { + PrimaryButton( + modifier = Modifier + .padding(horizontal = 16.dp) + .fillMaxWidth(), + text = name, + onClick = onClick, + showProgress = progress, + enabled = enabled, + ) +} + +private fun Activity.shareFile(file: File?) { + val originalIntent = createEmailShareIntent(activity = this, file = file) + + try { + val chooserIntent = Intent.createChooser(originalIntent, "Share logs...") + + ContextCompat.startActivity(this, chooserIntent, null) + } catch (ex: Exception) { + Timber.e("Failed to share file: $ex") + } +} + +private fun createEmailShareIntent(activity: Activity, file: File?): Intent { + val builder = ShareCompat.IntentBuilder(activity) + .setType("text/plain") + + file?.let { + builder.setStream( + FileProvider.getUriForFile(activity, "${activity.packageName}.provider", it), ) } + + return builder.intent } // region Preview @@ -78,10 +124,10 @@ private fun TesterActionsScreenSample(modifier: Modifier = Modifier) { ) { TesterActionsScreen( state = TesterActionsContentState( - hideAllCurrenciesConfig = HideAllCurrenciesConfig.Clickable {}, - toggleAppThemeConfig = ToggleAppThemeConfig(AppThemeMode.DEFAULT) {}, + hideAllCurrenciesUM = HideAllCurrenciesUM.Clickable {}, + toggleAppThemeUM = ToggleAppThemeUM(AppThemeMode.DEFAULT) {}, + shareLogsUM = TesterActionsContentState.ShareLogsUM(file = null), onBackClick = {}, - onApplyChangesClick = {}, ), ) } diff --git a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsViewModel.kt b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsViewModel.kt index 514edb448d..1c351420c7 100644 --- a/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsViewModel.kt +++ b/features/tester/impl/src/main/java/com/tangem/feature/tester/presentation/actions/TesterActionsViewModel.kt @@ -9,6 +9,9 @@ import arrow.core.getOrElse import com.tangem.domain.apptheme.ChangeAppThemeModeUseCase import com.tangem.domain.apptheme.GetAppThemeModeUseCase import com.tangem.domain.apptheme.model.AppThemeMode +import com.tangem.domain.feedback.repository.FeedbackRepository +import com.tangem.feature.tester.presentation.actions.TesterActionsContentState.HideAllCurrenciesUM +import com.tangem.feature.tester.presentation.actions.TesterActionsContentState.ToggleAppThemeUM import com.tangem.feature.tester.presentation.navigation.InnerTesterRouter import com.tangem.lib.crypto.UserWalletManager import dagger.hilt.android.lifecycle.HiltViewModel @@ -24,6 +27,7 @@ internal class TesterActionsViewModel @Inject constructor( private val userWalletManager: UserWalletManager, private val changeAppThemeModeUseCase: ChangeAppThemeModeUseCase, private val getAppThemeModeUseCase: GetAppThemeModeUseCase, + private val feedbackRepository: FeedbackRepository, ) : ViewModel() { var uiState: TesterActionsContentState by mutableStateOf(initialState) @@ -31,10 +35,13 @@ internal class TesterActionsViewModel @Inject constructor( private val initialState: TesterActionsContentState get() = TesterActionsContentState( - hideAllCurrenciesConfig = HideAllCurrenciesConfig.Clickable(this::hideAllCurrencies), - toggleAppThemeConfig = ToggleAppThemeConfig(AppThemeMode.DEFAULT, this::toggleAppTheme), + hideAllCurrenciesUM = HideAllCurrenciesUM.Clickable(this::hideAllCurrencies), + toggleAppThemeUM = ToggleAppThemeUM( + currentAppTheme = AppThemeMode.DEFAULT, + onClick = this::toggleAppTheme, + ), + shareLogsUM = TesterActionsContentState.ShareLogsUM(file = feedbackRepository.getLogFile()), onBackClick = { /* no-op */ }, - onApplyChangesClick = { /* no-op */ }, ) init { @@ -47,17 +54,17 @@ internal class TesterActionsViewModel @Inject constructor( private fun hideAllCurrencies() = viewModelScope.launch { uiState = uiState.copy( - hideAllCurrenciesConfig = HideAllCurrenciesConfig.Progress, + hideAllCurrenciesUM = HideAllCurrenciesUM.Progress, ) userWalletManager.hideAllTokens() uiState = uiState.copy( - hideAllCurrenciesConfig = HideAllCurrenciesConfig.Clickable(this@TesterActionsViewModel::hideAllCurrencies), + hideAllCurrenciesUM = HideAllCurrenciesUM.Clickable(this@TesterActionsViewModel::hideAllCurrencies), ) } private fun toggleAppTheme() = viewModelScope.launch { - val currentAppThemeMode = uiState.toggleAppThemeConfig.currentAppTheme + val currentAppThemeMode = uiState.toggleAppThemeUM.currentAppTheme val newAppThemeMode = when (currentAppThemeMode) { AppThemeMode.FORCE_DARK -> AppThemeMode.FORCE_LIGHT AppThemeMode.FORCE_LIGHT -> AppThemeMode.FOLLOW_SYSTEM @@ -89,13 +96,13 @@ internal class TesterActionsViewModel @Inject constructor( Timber.d( """ Current app theme mode updated - |- Previous app theme mode: ${uiState.toggleAppThemeConfig.currentAppTheme} + |- Previous app theme mode: ${uiState.toggleAppThemeUM.currentAppTheme} |- New app theme mode: $maybeAppThemeMode """.trimIndent(), ) uiState = uiState.copy( - toggleAppThemeConfig = uiState.toggleAppThemeConfig.copy( + toggleAppThemeUM = uiState.toggleAppThemeUM.copy( currentAppTheme = maybeAppThemeMode.getOrElse { error -> Timber.e( """ diff --git a/features/tester/impl/src/main/res/values/strings.xml b/features/tester/impl/src/main/res/values/strings.xml index 77b8a9c63d..12d59827a6 100644 --- a/features/tester/impl/src/main/res/values/strings.xml +++ b/features/tester/impl/src/main/res/values/strings.xml @@ -13,4 +13,5 @@ Excluded blockchains Filter by name or symbol Blockchain providers + Share logs From 553078f9f6fb8684e8ba64b45097f278508ebfaf Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 31 Jan 2025 17:44:43 +0500 Subject: [PATCH 59/61] Updated on 2026-08-14 --- .../assets/configs/feature_toggles_config.json | 4 ++++ .../models/response/model/NetworkTypeDTO.kt | 3 +++ .../stakekit/models/response/model/YieldDTO.kt | 3 +++ data/staking/build.gradle.kts | 1 + .../data/staking/DefaultStakingRepository.kt | 17 +++++++++++++++-- .../converters/StakingNetworkTypeConverter.kt | 2 ++ .../data/staking/converters/YieldConverter.kt | 5 ++--- .../tangem/data/staking/di/StakingDataModule.kt | 11 +++++++++++ .../toggles/DefaultStakingFeatureToggles.kt | 12 ++++++++++++ .../staking/model/stakekit/NetworkType.kt | 1 + .../domain/staking/model/stakekit/Yield.kt | 3 ++- .../staking/toggles/StakingFeatureToggles.kt | 5 +++++ 12 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 data/staking/src/main/java/com/tangem/data/staking/toggles/DefaultStakingFeatureToggles.kt create mode 100644 domain/staking/src/main/java/com/tangem/domain/staking/toggles/StakingFeatureToggles.kt diff --git a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json index f687e4fd35..463e2e5f2d 100644 --- a/core/config-toggles/src/main/assets/configs/feature_toggles_config.json +++ b/core/config-toggles/src/main/assets/configs/feature_toggles_config.json @@ -38,5 +38,9 @@ { "name": "ONRAMP_HOT_TOKENS_ENABLED", "version": "undefined" + }, + { + "name": "STAKING_TON_ENABLED", + "version": "undefined" } ] diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/NetworkTypeDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/NetworkTypeDTO.kt index 486381bfcc..77bfadc65c 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/NetworkTypeDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/NetworkTypeDTO.kt @@ -203,5 +203,8 @@ enum class NetworkTypeDTO { @Json(name = "tron") TRON, + @Json(name = "ton") + TON, + UNKNOWN, } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldDTO.kt b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldDTO.kt index 5411bcc840..b58c058063 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldDTO.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/api/stakekit/models/response/model/YieldDTO.kt @@ -99,6 +99,9 @@ data class YieldDTO( @Json(name = "jailed") JAILED, + @Json(name = "full") + FULL, + UNKNOWN, } } diff --git a/data/staking/build.gradle.kts b/data/staking/build.gradle.kts index e793d36c78..511b6f79b0 100644 --- a/data/staking/build.gradle.kts +++ b/data/staking/build.gradle.kts @@ -21,6 +21,7 @@ dependencies { implementation(projects.data.common) /** Domain modules */ + implementation(projects.core.configToggles) implementation(projects.domain.tokens.models) implementation(projects.domain.staking) implementation(projects.domain.wallets) diff --git a/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt b/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt index 93b0908573..7dd76ed33a 100644 --- a/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt +++ b/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt @@ -44,6 +44,7 @@ import com.tangem.domain.staking.model.stakekit.transaction.ActionParams import com.tangem.domain.staking.model.stakekit.transaction.StakingGasEstimate import com.tangem.domain.staking.model.stakekit.transaction.StakingTransaction import com.tangem.domain.staking.repositories.StakingRepository +import com.tangem.domain.staking.toggles.StakingFeatureToggles import com.tangem.domain.tokens.model.CryptoCurrency import com.tangem.domain.tokens.model.Network import com.tangem.domain.walletmanager.WalletManagersFacade @@ -69,6 +70,7 @@ internal class DefaultStakingRepository( private val dispatchers: CoroutineDispatcherProvider, private val walletManagersFacade: WalletManagersFacade, private val getUserWalletUseCase: GetUserWalletUseCase, + private val stakingFeatureToggles: StakingFeatureToggles, moshi: Moshi, ) : StakingRepository { @@ -193,6 +195,8 @@ internal class DefaultStakingRepository( userWalletId: UserWalletId, cryptoCurrency: CryptoCurrency, ): StakingAvailability { + if (!checkFeatureToggleEnabled(cryptoCurrency.network.id)) return StakingAvailability.Unavailable + if (checkForInvalidCardBatch(userWalletId, cryptoCurrency)) return StakingAvailability.Unavailable val rawCurrencyId = cryptoCurrency.id.rawCurrencyId ?: return StakingAvailability.Unavailable @@ -216,6 +220,13 @@ internal class DefaultStakingRepository( } } + private fun checkFeatureToggleEnabled(networkId: Network.ID): Boolean { + return when (Blockchain.fromId(networkId.value)) { + Blockchain.TON -> stakingFeatureToggles.isTonStakingEnabled + else -> true + } + } + private fun checkForInvalidCardBatch(userWalletId: UserWalletId, cryptoCurrency: CryptoCurrency): Boolean { val userWallet = getUserWalletUseCase(userWalletId).getOrElse { error("Failed to get user wallet") @@ -562,8 +573,7 @@ internal class DefaultStakingRepository( } private fun getTransactionDataType(networkId: String, unsignedTransaction: String): TransactionData.Compiled.Data { - val blockchain = Blockchain.fromId(networkId) - return when (blockchain) { + return when (Blockchain.fromId(networkId)) { Blockchain.Solana, Blockchain.Cosmos, -> TransactionData.Compiled.Data.Bytes(unsignedTransaction.hexToBytes()) @@ -575,6 +585,7 @@ internal class DefaultStakingRepository( ?: error("Failed to parse Tron StakeKit transaction") TransactionData.Compiled.Data.RawString(tronStakeKitTransaction.rawDataHex) } + Blockchain.TON -> TransactionData.Compiled.Data.RawString(unsignedTransaction) else -> error("Unsupported blockchain") } } @@ -621,6 +632,7 @@ internal class DefaultStakingRepository( private companion object { const val YIELDS_STORE_KEY = "yields" + const val TON_INTEGRATION_ID = "ton-ton-tonwhales-pools-staking" const val SOLANA_INTEGRATION_ID = "solana-sol-native-multivalidator-staking" const val COSMOS_INTEGRATION_ID = "cosmos-atom-native-staking" const val ETHEREUM_POLYGON_INTEGRATION_ID = "ethereum-matic-native-staking" @@ -641,6 +653,7 @@ internal class DefaultStakingRepository( // uncomment items as implementation is ready val integrationIdMap = mapOf( + Blockchain.TON.run { id + toCoinId() } to TON_INTEGRATION_ID, Blockchain.Solana.run { id + toCoinId() } to SOLANA_INTEGRATION_ID, Blockchain.Cosmos.run { id + toCoinId() } to COSMOS_INTEGRATION_ID, Blockchain.Tron.run { id + toCoinId() } to TRON_INTEGRATION_ID, diff --git a/data/staking/src/main/java/com/tangem/data/staking/converters/StakingNetworkTypeConverter.kt b/data/staking/src/main/java/com/tangem/data/staking/converters/StakingNetworkTypeConverter.kt index e3b284f5fc..82ebb3dbbb 100644 --- a/data/staking/src/main/java/com/tangem/data/staking/converters/StakingNetworkTypeConverter.kt +++ b/data/staking/src/main/java/com/tangem/data/staking/converters/StakingNetworkTypeConverter.kt @@ -75,6 +75,7 @@ class StakingNetworkTypeConverter : TwoWayConverter NetworkTypeDTO.SOLANA -> NetworkType.SOLANA NetworkTypeDTO.TEZOS -> NetworkType.TEZOS NetworkTypeDTO.TRON -> NetworkType.TRON + NetworkTypeDTO.TON -> NetworkType.TON else -> NetworkType.UNKNOWN } } @@ -147,6 +148,7 @@ class StakingNetworkTypeConverter : TwoWayConverter NetworkType.SOLANA -> NetworkTypeDTO.SOLANA NetworkType.TEZOS -> NetworkTypeDTO.TEZOS NetworkType.TRON -> NetworkTypeDTO.TRON + NetworkType.TON -> NetworkTypeDTO.TON else -> NetworkTypeDTO.UNKNOWN } } diff --git a/data/staking/src/main/java/com/tangem/data/staking/converters/YieldConverter.kt b/data/staking/src/main/java/com/tangem/data/staking/converters/YieldConverter.kt index 431bf32bf5..cc61ab8eae 100644 --- a/data/staking/src/main/java/com/tangem/data/staking/converters/YieldConverter.kt +++ b/data/staking/src/main/java/com/tangem/data/staking/converters/YieldConverter.kt @@ -95,9 +95,7 @@ class YieldConverter( rewardClaiming = convertRewardClaiming(metadataDTO.rewardClaiming.asMandatory("rewardClaiming")), defaultValidator = metadataDTO.defaultValidator, minimumStake = metadataDTO.minimumStake, - supportsMultipleValidators = metadataDTO.supportsMultipleValidators.asMandatory( - "supportsMultipleValidators", - ), + supportsMultipleValidators = metadataDTO.supportsMultipleValidators, revshare = convertEnabled(metadataDTO.revshare.asMandatory("revshare")), fee = convertEnabled(metadataDTO.fee.asMandatory("fee")), ) @@ -146,6 +144,7 @@ class YieldConverter( ValidatorStatusDTO.DEACTIVATING -> ValidatorStatus.DEACTIVATING ValidatorStatusDTO.INACTIVE -> ValidatorStatus.INACTIVE ValidatorStatusDTO.JAILED -> ValidatorStatus.JAILED + ValidatorStatusDTO.FULL -> ValidatorStatus.FULL else -> ValidatorStatus.UNKNOWN } } diff --git a/data/staking/src/main/java/com/tangem/data/staking/di/StakingDataModule.kt b/data/staking/src/main/java/com/tangem/data/staking/di/StakingDataModule.kt index 336bcb651e..3e777df680 100644 --- a/data/staking/src/main/java/com/tangem/data/staking/di/StakingDataModule.kt +++ b/data/staking/src/main/java/com/tangem/data/staking/di/StakingDataModule.kt @@ -2,12 +2,14 @@ package com.tangem.data.staking.di import com.squareup.moshi.Moshi import com.tangem.core.analytics.api.AnalyticsEventHandler +import com.tangem.core.configtoggle.feature.FeatureTogglesManager import com.tangem.data.common.cache.CacheRegistry import com.tangem.data.staking.* import com.tangem.data.staking.DefaultStakingErrorResolver import com.tangem.data.staking.DefaultStakingRepository import com.tangem.data.staking.DefaultStakingTransactionHashRepository import com.tangem.data.staking.converters.error.StakeKitErrorConverter +import com.tangem.data.staking.toggles.DefaultStakingFeatureToggles import com.tangem.datasource.api.stakekit.StakeKitApi import com.tangem.datasource.api.stakekit.models.response.model.error.StakeKitErrorResponse import com.tangem.datasource.di.NetworkMoshi @@ -16,6 +18,7 @@ import com.tangem.datasource.local.token.StakingActionsStore import com.tangem.datasource.local.token.StakingBalanceStore import com.tangem.datasource.local.token.StakingYieldsStore import com.tangem.domain.staking.repositories.* +import com.tangem.domain.staking.toggles.StakingFeatureToggles import com.tangem.domain.walletmanager.WalletManagersFacade import com.tangem.domain.wallets.usecase.GetUserWalletUseCase import com.tangem.utils.coroutines.CoroutineDispatcherProvider @@ -39,6 +42,7 @@ internal object StakingDataModule { dispatchers: CoroutineDispatcherProvider, walletManagersFacade: WalletManagersFacade, getUserWalletUseCase: GetUserWalletUseCase, + stakingFeatureToggles: StakingFeatureToggles, @NetworkMoshi moshi: Moshi, ): StakingRepository { return DefaultStakingRepository( @@ -49,6 +53,7 @@ internal object StakingDataModule { dispatchers = dispatchers, walletManagersFacade = walletManagersFacade, getUserWalletUseCase = getUserWalletUseCase, + stakingFeatureToggles = stakingFeatureToggles, moshi = moshi, ) } @@ -91,4 +96,10 @@ internal object StakingDataModule { analyticsEventHandler = analyticsEventHandler, ) } + + @Provides + @Singleton + internal fun provideFeatureToggles(featureTogglesManager: FeatureTogglesManager): StakingFeatureToggles { + return DefaultStakingFeatureToggles(featureTogglesManager) + } } \ No newline at end of file diff --git a/data/staking/src/main/java/com/tangem/data/staking/toggles/DefaultStakingFeatureToggles.kt b/data/staking/src/main/java/com/tangem/data/staking/toggles/DefaultStakingFeatureToggles.kt new file mode 100644 index 0000000000..3b3259c021 --- /dev/null +++ b/data/staking/src/main/java/com/tangem/data/staking/toggles/DefaultStakingFeatureToggles.kt @@ -0,0 +1,12 @@ +package com.tangem.data.staking.toggles + +import com.tangem.core.configtoggle.feature.FeatureTogglesManager +import com.tangem.domain.staking.toggles.StakingFeatureToggles + +internal class DefaultStakingFeatureToggles( + private val featureTogglesManager: FeatureTogglesManager, +) : StakingFeatureToggles { + + override val isTonStakingEnabled: Boolean + get() = featureTogglesManager.isFeatureEnabled(name = "STAKING_TON_ENABLED") +} \ No newline at end of file diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/NetworkType.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/NetworkType.kt index 1d429683bc..2733a30688 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/NetworkType.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/NetworkType.kt @@ -67,5 +67,6 @@ enum class NetworkType { SOLANA, TEZOS, TRON, + TON, UNKNOWN, } \ No newline at end of file diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt index c3dd3636ce..3cfeb74f0b 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt @@ -73,6 +73,7 @@ data class Yield( DEACTIVATING, INACTIVE, JAILED, + FULL, UNKNOWN, } } @@ -93,7 +94,7 @@ data class Yield( val rewardClaiming: RewardClaiming, val defaultValidator: String?, val minimumStake: Int?, - val supportsMultipleValidators: Boolean, + val supportsMultipleValidators: Boolean?, val revshare: Enabled, val fee: Enabled, ) { diff --git a/domain/staking/src/main/java/com/tangem/domain/staking/toggles/StakingFeatureToggles.kt b/domain/staking/src/main/java/com/tangem/domain/staking/toggles/StakingFeatureToggles.kt new file mode 100644 index 0000000000..47949204f9 --- /dev/null +++ b/domain/staking/src/main/java/com/tangem/domain/staking/toggles/StakingFeatureToggles.kt @@ -0,0 +1,5 @@ +package com.tangem.domain.staking.toggles + +interface StakingFeatureToggles { + val isTonStakingEnabled: Boolean +} \ No newline at end of file From 1fe12ed9d7ef17d1548b1b11baba44104b388c2c Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 3 Feb 2025 14:19:06 +0500 Subject: [PATCH 60/61] Updated on 2026-08-14 --- .../data/staking/DefaultStakingRepository.kt | 4 +-- .../action/StakingActionCommonType.kt | 2 +- .../analytics/utils/StakingAnalyticSender.kt | 2 +- .../presentation/state/StakingStateRouter.kt | 23 +++++++--------- .../impl/presentation/state/StakingUiState.kt | 1 + .../ConfirmationStatePreviewData.kt | 1 + .../transformers/SetAmountDataTransformer.kt | 2 +- .../SetButtonsStateTransformer.kt | 2 +- .../SetConfirmationStateInitTransformer.kt | 26 ++++++++++++++++--- .../state/transformers/SetTitleTransformer.kt | 2 +- .../amount/AmountChangeStateTransformer.kt | 2 +- .../amount/AmountMaxValueStateTransformer.kt | 2 +- .../AmountRequirementStateTransformer.kt | 6 ++--- .../StakingInfoNotificationsFactory.kt | 4 +-- .../ui/StakingConfirmationContent.kt | 10 ++----- .../impl/presentation/ui/StakingScreen.kt | 3 --- .../viewmodel/StakingViewModel.kt | 4 ++- 17 files changed, 53 insertions(+), 43 deletions(-) diff --git a/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt b/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt index 7dd76ed33a..74c4a84423 100644 --- a/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt +++ b/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt @@ -256,7 +256,7 @@ internal class DefaultStakingRepository( params, ), ) - StakingActionCommonType.Exit -> stakeKitApi.createExitAction( + is StakingActionCommonType.Exit -> stakeKitApi.createExitAction( createActionRequestBody( userWalletId, network, @@ -286,7 +286,7 @@ internal class DefaultStakingRepository( params, ), ) - StakingActionCommonType.Exit -> stakeKitApi.estimateGasOnExit( + is StakingActionCommonType.Exit -> stakeKitApi.estimateGasOnExit( createActionRequestBody( userWalletId, network, diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/action/StakingActionCommonType.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/action/StakingActionCommonType.kt index 0e2d7abe32..120dfd0c18 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/action/StakingActionCommonType.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/action/StakingActionCommonType.kt @@ -3,7 +3,7 @@ package com.tangem.domain.staking.model.stakekit.action sealed class StakingActionCommonType { data object Enter : StakingActionCommonType() - data object Exit : StakingActionCommonType() + data class Exit(val partiallyUnstakeDisabled: Boolean) : StakingActionCommonType() sealed class Pending : StakingActionCommonType() { data object Restake : Pending() data object Rewards : Pending() diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/analytics/utils/StakingAnalyticSender.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/analytics/utils/StakingAnalyticSender.kt index 5decf65514..fdc4685953 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/analytics/utils/StakingAnalyticSender.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/analytics/utils/StakingAnalyticSender.kt @@ -114,7 +114,7 @@ internal class StakingAnalyticSender( return when (value.actionType) { StakingActionCommonType.Enter -> StakingActionType.STAKE - StakingActionCommonType.Exit -> StakingActionType.UNSTAKE + is StakingActionCommonType.Exit -> StakingActionType.UNSTAKE is StakingActionCommonType.Pending -> confirmationState?.pendingAction?.type ?: StakingActionType.UNKNOWN } } diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingStateRouter.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingStateRouter.kt index d7e8d24c25..60afd5cfef 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingStateRouter.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingStateRouter.kt @@ -2,10 +2,9 @@ package com.tangem.features.staking.impl.presentation.state import com.tangem.common.routing.AppRouter import com.tangem.core.analytics.api.AnalyticsEventHandler -import com.tangem.domain.staking.model.stakekit.action.StakingActionCommonType import com.tangem.domain.staking.analytics.StakingAnalyticsEvent +import com.tangem.domain.staking.model.stakekit.action.StakingActionCommonType import com.tangem.features.staking.impl.analytics.utils.StakingAnalyticSender -import com.tangem.lib.crypto.BlockchainUtils.isSolana internal class StakingStateRouter( private val appRouter: AppRouter, @@ -23,10 +22,9 @@ internal class StakingStateRouter( fun onNextClick() { when (stateController.value.currentStep) { - StakingStep.InitialInfo -> when (stateController.value.actionType) { + StakingStep.InitialInfo -> when (val actionType = stateController.value.actionType) { StakingActionCommonType.Enter -> showAmount() - // TODO staking [REDACTED_TASK_KEY] support solana multisize hashes signing - StakingActionCommonType.Exit -> if (isSolana(stateController.value.cryptoCurrencyBlockchainId)) { + is StakingActionCommonType.Exit -> if (actionType.partiallyUnstakeDisabled) { showConfirmation() } else { showAmount() @@ -54,15 +52,12 @@ internal class StakingStateRouter( StakingStep.Amount, -> showInitial() StakingStep.Confirmation -> { - val isEnter = uiState.actionType == StakingActionCommonType.Enter - val isExit = uiState.actionType == StakingActionCommonType.Exit - - // TODO staking [REDACTED_TASK_KEY] support solana multisize hashes signing - val isSolana = isSolana(uiState.cryptoCurrencyBlockchainId) - if (isEnter || isExit && !isSolana) { - showAmount() - } else { - showInitial() + when (val actionType = uiState.actionType) { + StakingActionCommonType.Enter -> showAmount() + is StakingActionCommonType.Pending -> showInitial() + is StakingActionCommonType.Exit -> { + if (actionType.partiallyUnstakeDisabled) showInitial() else showAmount() + } } } StakingStep.Validators -> showConfirmation() diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt index 1fb61151c2..604fbe7497 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt @@ -120,6 +120,7 @@ internal sealed class StakingStates { val footerText: TextReference, val transactionDoneState: TransactionDoneState, val isApprovalNeeded: Boolean, + val isAmountEditable: Boolean, val allowance: BigDecimal, val reduceAmountBy: BigDecimal?, ) : ConfirmationState() diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/ConfirmationStatePreviewData.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/ConfirmationStatePreviewData.kt index ac86e7084a..15d569833c 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/ConfirmationStatePreviewData.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/ConfirmationStatePreviewData.kt @@ -48,5 +48,6 @@ internal object ConfirmationStatePreviewData { allowance = BigDecimal.ZERO, reduceAmountBy = null, pendingActions = null, + isAmountEditable = true, ) } \ No newline at end of file diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetAmountDataTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetAmountDataTransformer.kt index 532054c768..736d2d3fa2 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetAmountDataTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetAmountDataTransformer.kt @@ -26,7 +26,7 @@ internal class SetAmountDataTransformer( private val iconStateConverter by lazy(::CryptoCurrencyToIconStateConverter) override fun transform(prevState: StakingUiState): StakingUiState { - val title = if (prevState.actionType == StakingActionCommonType.Exit) { + val title = if (prevState.actionType is StakingActionCommonType.Exit) { resourceReference(R.string.staking_staked_amount) } else { stringReference(userWalletProvider().name) diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt index e989a47670..61eb924114 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt @@ -133,7 +133,7 @@ internal class SetButtonsStateTransformer( resourceReference(R.string.common_stake) } } - StakingActionCommonType.Exit -> resourceReference(R.string.common_unstake) + is StakingActionCommonType.Exit -> resourceReference(R.string.common_unstake) is StakingActionCommonType.Pending -> confirmationState.pendingAction?.type.getPendingActionTitle() } } diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateInitTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateInitTransformer.kt index 88ca568904..d9d1354ee5 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateInitTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateInitTransformer.kt @@ -3,17 +3,21 @@ package com.tangem.features.staking.impl.presentation.state.transformers import com.tangem.core.ui.extensions.TextReference import com.tangem.domain.staking.model.StakingApproval import com.tangem.domain.staking.model.stakekit.PendingAction +import com.tangem.domain.staking.model.stakekit.Yield import com.tangem.domain.staking.model.stakekit.action.StakingActionCommonType import com.tangem.domain.staking.model.stakekit.action.StakingActionType import com.tangem.domain.tokens.model.CryptoCurrencyStatus import com.tangem.features.staking.impl.presentation.state.* import com.tangem.features.staking.impl.presentation.state.utils.isCompositePendingActions import com.tangem.features.staking.impl.presentation.state.utils.isTronStakedBalance +import com.tangem.lib.crypto.BlockchainUtils +import com.tangem.utils.extensions.isPositive import com.tangem.utils.transformer.Transformer import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf import java.math.BigDecimal +@Suppress("LongParameterList") internal class SetConfirmationStateInitTransformer( private val isEnter: Boolean, private val isExplicitExit: Boolean, @@ -21,9 +25,9 @@ internal class SetConfirmationStateInitTransformer( private val stakingApproval: StakingApproval, private val stakingAllowance: BigDecimal, private val cryptoCurrencyStatus: CryptoCurrencyStatus, + private val yieldArgs: Yield.Args, private val pendingActions: ImmutableList? = null, private val pendingAction: PendingAction? = pendingActions?.firstOrNull(), - ) : Transformer { private val networkId @@ -41,10 +45,10 @@ internal class SetConfirmationStateInitTransformer( override fun transform(prevState: StakingUiState): StakingUiState { val actionType = when { isEnter -> StakingActionCommonType.Enter - isImplicitExit || isExplicitExit -> StakingActionCommonType.Exit + isImplicitExit || isExplicitExit -> StakingActionCommonType.Exit(isPartiallyUnstakeDisabled(prevState)) else -> when (pendingAction?.type) { StakingActionType.STAKE -> StakingActionCommonType.Enter - StakingActionType.UNSTAKE -> StakingActionCommonType.Exit + StakingActionType.UNSTAKE -> StakingActionCommonType.Exit(isPartiallyUnstakeDisabled(prevState)) StakingActionType.CLAIM_REWARDS, StakingActionType.RESTAKE_REWARDS, -> StakingActionCommonType.Pending.Rewards @@ -67,10 +71,26 @@ internal class SetConfirmationStateInitTransformer( transactionDoneState = TransactionDoneState.Empty, isApprovalNeeded = stakingApproval is StakingApproval.Needed, allowance = stakingAllowance, + isAmountEditable = actionType == StakingActionCommonType.Enter || + actionType is StakingActionCommonType.Exit && + !actionType.partiallyUnstakeDisabled, reduceAmountBy = null, pendingAction = pendingAction, pendingActions = pendingActions.takeIf { isComposePendingActions }, ), ) } + + private fun isPartiallyUnstakeDisabled(state: StakingUiState): Boolean { + // TODO staking [REDACTED_TASK_KEY] support solana multisize hashes signing + if (BlockchainUtils.isSolana(state.cryptoCurrencyBlockchainId)) { + return true + } + + val exitArgs = yieldArgs.exit ?: return false + val exitAmount = exitArgs.args[Yield.Args.ArgType.AMOUNT] ?: return false + val min = exitAmount.minimum ?: return false + val max = exitAmount.maximum ?: return false + return !min.isPositive() && !max.isPositive() + } } \ No newline at end of file diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetTitleTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetTitleTransformer.kt index a29c1a8a85..46258e60a7 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetTitleTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetTitleTransformer.kt @@ -35,7 +35,7 @@ internal object SetTitleTransformer : Transformer { R.string.staking_title_stake, wrappedList(prevState.cryptoCurrencyName), ) - StakingActionCommonType.Exit -> resourceReference( + is StakingActionCommonType.Exit -> resourceReference( R.string.staking_title_unstake, wrappedList(prevState.cryptoCurrencyName), ) diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountChangeStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountChangeStateTransformer.kt index 41fdc707cf..7ff0dc011e 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountChangeStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountChangeStateTransformer.kt @@ -20,7 +20,7 @@ internal class AmountChangeStateTransformer( override fun transform(prevState: StakingUiState): StakingUiState { val actionType = prevState.actionType - val maxEnterAmount = if (actionType == StakingActionCommonType.Exit) { + val maxEnterAmount = if (actionType is StakingActionCommonType.Exit) { EnterAmountBoundary( amount = prevState.balanceState?.cryptoAmount, fiatAmount = prevState.balanceState?.fiatAmount, diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountMaxValueStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountMaxValueStateTransformer.kt index db2865b4ec..aee3d92b78 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountMaxValueStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountMaxValueStateTransformer.kt @@ -19,7 +19,7 @@ internal class AmountMaxValueStateTransformer( private val maxEnterAmountConverter = MaxEnterAmountConverter() override fun transform(prevState: StakingUiState): StakingUiState { - val maxEnterAmount = if (actionType == StakingActionCommonType.Exit) { + val maxEnterAmount = if (actionType is StakingActionCommonType.Exit) { EnterAmountBoundary( amount = prevState.balanceState?.cryptoAmount, fiatAmount = prevState.balanceState?.fiatAmount, diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountRequirementStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountRequirementStateTransformer.kt index d890ab712a..655b39d571 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountRequirementStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/amount/AmountRequirementStateTransformer.kt @@ -61,7 +61,7 @@ internal class AmountRequirementStateTransformer( R.string.staking_amount_tron_integer_error, wrappedList(roundedDownCrypto), ) - StakingActionCommonType.Exit -> resourceReference( + is StakingActionCommonType.Exit -> resourceReference( R.string.staking_amount_tron_integer_error_unstaking, wrappedList(roundedDownCrypto), ) @@ -96,7 +96,7 @@ internal class AmountRequirementStateTransformer( val enterRequirements = yield.args.enter.args[Yield.Args.ArgType.AMOUNT] enterRequirements?.getError(amountDecimal, R.string.staking_amount_requirement_error) } - StakingActionCommonType.Exit -> { + is StakingActionCommonType.Exit -> { val exitRequirements = yield.args.exit?.args?.get(Yield.Args.ArgType.AMOUNT) exitRequirements?.getError(amountDecimal, R.string.staking_unstake_amount_requirement_error) } @@ -107,7 +107,7 @@ internal class AmountRequirementStateTransformer( private fun isIntegerOnlyError(amountState: AmountState.Data, actionType: StakingActionCommonType): Boolean { val cryptoAmountValue = amountState.amountTextField.cryptoAmount.value ?: return false - val isEnterOrExit = actionType == StakingActionCommonType.Enter || actionType == StakingActionCommonType.Exit + val isEnterOrExit = actionType == StakingActionCommonType.Enter || actionType is StakingActionCommonType.Exit val isTron = isTron(cryptoCurrencyStatus.currency.network.id.value) val isIntegerOnly = cryptoAmountValue.isZero() || cryptoAmountValue.remainder(BigDecimal.ONE).isZero() diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/StakingInfoNotificationsFactory.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/StakingInfoNotificationsFactory.kt index 1a527dd242..aed53b2408 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/StakingInfoNotificationsFactory.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/notifications/StakingInfoNotificationsFactory.kt @@ -45,7 +45,7 @@ internal class StakingInfoNotificationsFactory( when (prevState.actionType) { StakingActionCommonType.Enter -> addEnterInfoNotifications(sendingAmount, feeValue) - StakingActionCommonType.Exit -> addExitInfoNotifications() + is StakingActionCommonType.Exit -> addExitInfoNotifications() is StakingActionCommonType.Pending -> addPendingInfoNotifications(prevState) } } @@ -167,7 +167,7 @@ internal class StakingInfoNotificationsFactory( prevState: StakingUiState, actionAmount: BigDecimal, ) { - if (prevState.actionType != StakingActionCommonType.Exit) return + if (prevState.actionType !is StakingActionCommonType.Exit) return val maxAmount = prevState.balanceState?.cryptoAmount ?: return val exitRequirements = yield.args.exit?.args?.get(Yield.Args.ArgType.AMOUNT) ?: return diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingConfirmationContent.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingConfirmationContent.kt index 2df8cdd525..765480203c 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingConfirmationContent.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingConfirmationContent.kt @@ -18,7 +18,6 @@ import com.tangem.core.ui.components.transactions.TransactionDoneTitle import com.tangem.core.ui.extensions.resourceReference import com.tangem.core.ui.res.TangemTheme import com.tangem.core.ui.res.TangemThemePreview -import com.tangem.domain.staking.model.stakekit.action.StakingActionCommonType import com.tangem.features.staking.impl.R import com.tangem.features.staking.impl.presentation.state.InnerConfirmationStakingState import com.tangem.features.staking.impl.presentation.state.StakingNotification @@ -39,11 +38,8 @@ internal fun StakingConfirmationContent( state: StakingStates.ConfirmationState, validatorState: StakingStates.ValidatorState, clickIntents: StakingClickIntents, - type: StakingActionCommonType, - isSolana: Boolean, // TODO staking [REDACTED_TASK_KEY] support solana multisize hashes signing ) { if (state !is StakingStates.ConfirmationState.Data) return - val isAmountEditable = type == StakingActionCommonType.Enter || type == StakingActionCommonType.Exit && !isSolana val isTransactionSent = state.innerState == InnerConfirmationStakingState.COMPLETED val isTransactionInProgress = state.notifications.any { it is StakingNotification.Warning.TransactionInProgress } Column( @@ -65,8 +61,8 @@ internal fun StakingConfirmationContent( } AmountBlock( amountState = amountState, - isClickDisabled = !isAmountEditable || isTransactionSent || isTransactionInProgress, - isEditingDisabled = !isAmountEditable && state.innerState != InnerConfirmationStakingState.COMPLETED, + isClickDisabled = !state.isAmountEditable || isTransactionSent || isTransactionInProgress, + isEditingDisabled = !state.isAmountEditable && state.innerState != InnerConfirmationStakingState.COMPLETED, onClick = clickIntents::onPrevClick, ) ValidatorBlock( @@ -90,8 +86,6 @@ private fun Preview_StakingConfirmationContent() { state = ConfirmationStatePreviewData.assentStakingState, validatorState = ValidatorStatePreviewData.validatorState, clickIntents = StakingClickIntentsStub, - type = StakingActionCommonType.Enter, - isSolana = false, ) } } diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingScreen.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingScreen.kt index 8e6b03d04c..9cc528d859 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingScreen.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingScreen.kt @@ -28,7 +28,6 @@ import com.tangem.features.staking.impl.presentation.state.bottomsheet.StakingAc import com.tangem.features.staking.impl.presentation.state.bottomsheet.StakingInfoBottomSheetConfig import com.tangem.features.staking.impl.presentation.ui.bottomsheet.StakingActionSelectorBottomSheet import com.tangem.features.staking.impl.presentation.ui.bottomsheet.StakingInfoBottomSheet -import com.tangem.lib.crypto.BlockchainUtils.isSolana import kotlinx.coroutines.delay import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.map @@ -170,8 +169,6 @@ private fun StakingScreenContent(uiState: StakingUiState, modifier: Modifier = M state = uiState.confirmationState, validatorState = uiState.validatorState, clickIntents = uiState.clickIntents, - type = uiState.actionType, - isSolana = isSolana(uiState.cryptoCurrencyBlockchainId), ) StakingStep.RestakeValidator, StakingStep.Validators, diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt index 432a3256c3..7696a8b1c0 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt @@ -241,6 +241,7 @@ internal class StakingViewModel @Inject constructor( cryptoCurrencyStatus = cryptoCurrencyStatus, stakingApproval = stakingApproval, stakingAllowance = stakingAllowance, + yieldArgs = yield.args, ), ) } @@ -711,7 +712,7 @@ internal class StakingViewModel @Inject constructor( feeValue = fee.orZero(), reduceAmountBy = reduceAmountBy, ) - StakingActionCommonType.Exit, + is StakingActionCommonType.Exit, is StakingActionCommonType.Pending, -> BigDecimal.ZERO } @@ -996,6 +997,7 @@ internal class StakingViewModel @Inject constructor( pendingActions = pendingActions, pendingAction = pendingAction, stakingAllowance = stakingAllowance, + yieldArgs = yield.args, ), ValidatorSelectChangeTransformer( selectedValidator = validator, From ce63ab2d17ecca8175ad438fb709508b07fb84c5 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 4 Feb 2025 12:21:17 +0500 Subject: [PATCH 61/61] Updated on 2026-08-14 --- core/res/src/main/res/values/strings.xml | 2 ++ .../domain/staking/model/stakekit/Yield.kt | 2 ++ .../state/events/StakingAlertUM.kt | 7 ++++ .../state/events/StakingEventFactory.kt | 5 +++ .../viewmodel/StakingViewModel.kt | 34 ++++++++++++------- 5 files changed, 38 insertions(+), 12 deletions(-) diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 868f58f4a9..145dac2a4c 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -784,6 +784,8 @@ The period you must wait after requesting to withdraw funds from staking before the tokens become available. Warmup period The allocated time for activating participation in staking. + No available validators at the moment. Please try again later. + Staking Unavailable The network will charge a token approval fee to verify that you are authorizing the use of your token for the staking. By using staking functionality, you agree with provider’s %1$s and %2$s Locked diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt index 3cfeb74f0b..d3ba1253c2 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/Yield.kt @@ -18,6 +18,8 @@ data class Yield( val isAvailable: Boolean, ) { + val allValidatorsFull: Boolean = validators.all { it.status == Validator.ValidatorStatus.FULL } + val preferredValidators: List get() = validators.filter { it.preferred } diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/events/StakingAlertUM.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/events/StakingAlertUM.kt index 3d384541bd..b2c2a93ed7 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/events/StakingAlertUM.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/events/StakingAlertUM.kt @@ -41,4 +41,11 @@ internal sealed class StakingAlertUM : AlertUM { override val message: TextReference = resourceReference(id = R.string.send_notification_high_fee_title) override val confirmButtonText: TextReference = resourceReference(id = R.string.common_ok) } + + data object ValidatorsUnavailable : StakingAlertUM() { + override val onConfirmClick: (() -> Unit)? = null + override val title: TextReference = resourceReference(id = R.string.staking_error_no_validators_title) + override val message: TextReference = resourceReference(id = R.string.staking_error_no_validators_message) + override val confirmButtonText: TextReference = resourceReference(id = R.string.common_ok) + } } \ No newline at end of file diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/events/StakingEventFactory.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/events/StakingEventFactory.kt index 75bcbd3efd..6d54195e71 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/events/StakingEventFactory.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/events/StakingEventFactory.kt @@ -41,4 +41,9 @@ internal class StakingEventFactory( ) stateController.updateEvent(alert) } + + fun createStakingValidatorsUnavailableAlert() { + val alert = StakingEvent.ShowAlert(alert = StakingAlertUM.ValidatorsUnavailable) + stateController.updateEvent(alert) + } } \ No newline at end of file diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt index 7696a8b1c0..1dc4ce0e48 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt @@ -232,18 +232,28 @@ internal class StakingViewModel @Inject constructor( } override fun onNextClick(balanceState: BalanceState?) { - if (value.currentStep == StakingStep.InitialInfo && balanceState == null) { - stateController.update( - SetConfirmationStateInitTransformer( - isEnter = true, - isExplicitExit = false, - balanceState = null, - cryptoCurrencyStatus = cryptoCurrencyStatus, - stakingApproval = stakingApproval, - stakingAllowance = stakingAllowance, - yieldArgs = yield.args, - ), - ) + val isInitialInfoStep = value.currentStep == StakingStep.InitialInfo + val noBalanceState = balanceState == null + val noYieldBalanceData = cryptoCurrencyStatus.value.yieldBalance !is YieldBalance.Data + + when { + isInitialInfoStep && noBalanceState && yield.allValidatorsFull && noYieldBalanceData -> { + stakingEventFactory.createStakingValidatorsUnavailableAlert() + return + } + isInitialInfoStep && noBalanceState -> { + stateController.update( + SetConfirmationStateInitTransformer( + isEnter = true, + isExplicitExit = false, + balanceState = null, + cryptoCurrencyStatus = cryptoCurrencyStatus, + stakingApproval = stakingApproval, + stakingAllowance = stakingAllowance, + yieldArgs = yield.args, + ), + ) + } } stakingStateRouter.onNextClick() }