diff --git a/domain/staking/src/main/java/com/tangem/domain/staking/InvalidatePendingTransactionsUseCase.kt b/domain/staking/src/main/java/com/tangem/domain/staking/InvalidatePendingTransactionsUseCase.kt index ce0b576bab..eb07d96ab9 100644 --- a/domain/staking/src/main/java/com/tangem/domain/staking/InvalidatePendingTransactionsUseCase.kt +++ b/domain/staking/src/main/java/com/tangem/domain/staking/InvalidatePendingTransactionsUseCase.kt @@ -50,7 +50,7 @@ class InvalidatePendingTransactionsUseCase( StakingActionType.UNLOCK_LOCKED -> { modifyBalancesByStatus(balances, action, BalanceType.LOCKED) } - StakingActionType.UNSTAKE -> { + StakingActionType.UNSTAKE, StakingActionType.RESTAKE -> { modifyBalancesByStatus(balances, action, BalanceType.STAKED) } else -> { 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 bb47449575..522d616f07 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 @@ -50,6 +50,7 @@ import com.tangem.domain.wallets.usecase.GetUserWalletUseCase import com.tangem.domain.staking.analytics.StakeScreenSource import com.tangem.domain.staking.analytics.StakingAnalyticsEvent import com.tangem.domain.staking.model.stakekit.* +import com.tangem.domain.staking.model.stakekit.action.StakingActionType import com.tangem.features.staking.impl.analytics.StakingParamsInterceptor import com.tangem.features.staking.impl.analytics.utils.StakingAnalyticSender import com.tangem.features.staking.impl.navigation.InnerStakingRouter @@ -941,7 +942,7 @@ internal class StakingViewModel @Inject constructor( stateController.updateAll( SetConfirmationStateInitTransformer( isEnter = false, - isExplicitExit = balanceType == BalanceType.STAKED, + isExplicitExit = isExplicitExit(balanceType, pendingAction), balanceState = balanceState, cryptoCurrencyStatus = cryptoCurrencyStatus, stakingApproval = stakingApproval, @@ -968,6 +969,10 @@ internal class StakingViewModel @Inject constructor( ) } + private fun isExplicitExit(balanceType: BalanceType, pendingAction: PendingAction?): Boolean { + return balanceType == BalanceType.STAKED && pendingAction?.type != StakingActionType.RESTAKE + } + private fun isAssentState(): Boolean { return value.currentStep == StakingStep.Confirmation && (value.confirmationState as? StakingStates.ConfirmationState.Data)?.innerState ==