Updated on 2026-08-14
This commit is contained in:
parent
df3d24237f
commit
92f2c8fcf0
3 changed files with 8 additions and 6 deletions
|
|
@ -11,8 +11,7 @@ import com.tangem.domain.staking.utils.getRewardStakingBalance
|
|||
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
|
||||
import com.tangem.features.staking.impl.presentation.state.InnerYieldBalanceState
|
||||
import com.tangem.features.staking.impl.presentation.state.YieldReward
|
||||
import com.tangem.lib.crypto.BlockchainUtils.isBSC
|
||||
import com.tangem.lib.crypto.BlockchainUtils.isSolana
|
||||
import com.tangem.lib.crypto.BlockchainUtils.isStakingRewardUnavailable
|
||||
import com.tangem.utils.Provider
|
||||
import com.tangem.utils.converter.Converter
|
||||
import kotlinx.collections.immutable.toPersistentList
|
||||
|
|
@ -87,7 +86,7 @@ internal class YieldBalancesConverter(
|
|||
val isRewardsClaimable = rewards?.isNotEmpty() == true
|
||||
|
||||
return when {
|
||||
isSolana(blockchainId) || isBSC(blockchainId) -> RewardBlockType.RewardUnavailable
|
||||
isStakingRewardUnavailable(blockchainId) -> RewardBlockType.RewardUnavailable
|
||||
isRewardsClaimable && isActionable -> RewardBlockType.Rewards
|
||||
isRewardsClaimable && !isActionable -> RewardBlockType.RewardsRequirementsError
|
||||
else -> RewardBlockType.NoRewards
|
||||
|
|
|
|||
|
|
@ -20,8 +20,7 @@ import com.tangem.feature.tokendetails.presentation.tokendetails.state.IconState
|
|||
import com.tangem.feature.tokendetails.presentation.tokendetails.state.StakingBlockUM
|
||||
import com.tangem.feature.tokendetails.presentation.tokendetails.state.TokenDetailsState
|
||||
import com.tangem.features.tokendetails.impl.R
|
||||
import com.tangem.lib.crypto.BlockchainUtils.isBSC
|
||||
import com.tangem.lib.crypto.BlockchainUtils.isSolana
|
||||
import com.tangem.lib.crypto.BlockchainUtils.isStakingRewardUnavailable
|
||||
import com.tangem.utils.Provider
|
||||
import com.tangem.utils.converter.Converter
|
||||
import com.tangem.utils.isNullOrZero
|
||||
|
|
@ -146,7 +145,7 @@ internal class TokenDetailsStakingInfoConverter(
|
|||
private fun getRewardText(status: CryptoCurrencyStatus, stakingRewardAmount: BigDecimal?): TextReference {
|
||||
val blockchainId = status.currency.network.id.value
|
||||
val rewardBlockType = when {
|
||||
isSolana(blockchainId) || isBSC(blockchainId) -> RewardBlockType.RewardUnavailable
|
||||
isStakingRewardUnavailable(blockchainId) -> RewardBlockType.RewardUnavailable
|
||||
stakingRewardAmount.isNullOrZero() -> RewardBlockType.NoRewards
|
||||
else -> RewardBlockType.Rewards
|
||||
}
|
||||
|
|
|
|||
|
|
@ -148,6 +148,10 @@ object BlockchainUtils {
|
|||
return blockchain != Blockchain.Cardano
|
||||
}
|
||||
|
||||
fun isStakingRewardUnavailable(blockchainId: String): Boolean {
|
||||
return isSolana(blockchainId) || isBSC(blockchainId) || isTon(blockchainId)
|
||||
}
|
||||
|
||||
private fun getNetworkStandardName(blockchain: Blockchain): String {
|
||||
return when (blockchain) {
|
||||
Blockchain.Ethereum, Blockchain.EthereumTestnet -> "ERC20"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue