Updated on 2026-08-14

This commit is contained in:
Tangem 2024-09-05 22:17:47 +03:00
parent 9cb17e5cc3
commit 06eabf3699
2 changed files with 16 additions and 3 deletions

View file

@ -1,7 +1,9 @@
package com.tangem.features.staking.impl.presentation.state.transformers
import com.tangem.domain.staking.model.stakekit.BalanceType
import com.tangem.domain.staking.model.stakekit.action.StakingActionCommonType
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
import com.tangem.domain.tokens.model.Network
import com.tangem.features.staking.impl.presentation.state.*
import com.tangem.lib.crypto.BlockchainUtils.isTron
import com.tangem.utils.transformer.Transformer
@ -12,8 +14,11 @@ internal class ActionTypeActiveStakeTransformer(
) : Transformer<StakingUiState> {
override fun transform(prevState: StakingUiState): StakingUiState {
val isTron = isTron(cryptoCurrencyStatus.currency.network.id.value)
val actionType = if (activeStake.pendingActions.isEmpty() || isTron) {
val isTronStakedBalance = isTronStakedBalance(
networkId = cryptoCurrencyStatus.currency.network.id,
activeStake = activeStake,
)
val actionType = if (activeStake.pendingActions.isEmpty() || isTronStakedBalance) {
StakingActionCommonType.EXIT
} else {
StakingActionCommonType.PENDING_OTHER
@ -21,4 +26,8 @@ internal class ActionTypeActiveStakeTransformer(
return prevState.copy(actionType = actionType)
}
private fun isTronStakedBalance(networkId: Network.ID, activeStake: BalanceState): Boolean {
return isTron(networkId.value) && activeStake.type == BalanceType.STAKED
}
}