From f22fbb88e58fd5b5824d87f2b9cb39a4e5de7b2e Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 3 Dec 2025 13:54:00 +0400 Subject: [PATCH] Updated on 2026-08-14 --- .../usecase/YieldSupplyGetRewardsBalanceUseCase.kt | 6 +++++- .../tokendetails/model/TokenDetailsModel.kt | 10 ++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/domain/yield-supply/src/main/java/com/tangem/domain/yield/supply/usecase/YieldSupplyGetRewardsBalanceUseCase.kt b/domain/yield-supply/src/main/java/com/tangem/domain/yield/supply/usecase/YieldSupplyGetRewardsBalanceUseCase.kt index 775081fd02..5e1b8676a9 100644 --- a/domain/yield-supply/src/main/java/com/tangem/domain/yield/supply/usecase/YieldSupplyGetRewardsBalanceUseCase.kt +++ b/domain/yield-supply/src/main/java/com/tangem/domain/yield/supply/usecase/YieldSupplyGetRewardsBalanceUseCase.kt @@ -26,6 +26,10 @@ class YieldSupplyGetRewardsBalanceUseCase( val cryptoAmount = status.value.amount val fiatRate = status.value.fiatRate + if (cryptoAmount?.compareTo(BigDecimal.ZERO) == 0) { + return@flow + } + val amount = if (cryptoAmount != null && fiatRate != null) { cryptoAmount.multiply(fiatRate) } else { @@ -95,7 +99,7 @@ class YieldSupplyGetRewardsBalanceUseCase( private const val SCALE = 18 private const val MIN_DECIMALS = 3 - private const val MAX_DECIMALS = 8 + private const val MAX_DECIMALS = 12 private val LN_10 = ln(10.0) private const val EPSILON = 1e-18 diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/model/TokenDetailsModel.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/model/TokenDetailsModel.kt index 3ef6e97629..809fa4ea3f 100644 --- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/model/TokenDetailsModel.kt +++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/model/TokenDetailsModel.kt @@ -1251,8 +1251,14 @@ internal class TokenDetailsModel @Inject constructor( } private fun handleNavigationParam() { - if (params.navigationAction is NavigationAction.Staking) { - openStaking() + when (val action = params.navigationAction) { + is NavigationAction.Staking -> openStaking() + is NavigationAction.YieldSupply -> if (action.isActive) { + modelScope.launch(dispatchers.default) { + fetchCurrencyStatusUseCase(userWalletId = userWalletId, id = cryptoCurrency.id) + } + } + else -> Unit } }