Updated on 2026-08-14
This commit is contained in:
parent
afdb81adac
commit
1bed77ffb1
4 changed files with 9 additions and 4 deletions
|
|
@ -91,7 +91,7 @@ class TokenItemStateConverter(
|
|||
}
|
||||
|
||||
private fun CryptoCurrencyStatus.getStakedBalance() =
|
||||
(value.yieldBalance as? YieldBalance.Data)?.getTotalStakingBalance().orZero()
|
||||
(value.yieldBalance as? YieldBalance.Data)?.getTotalWithRewardsStakingBalance().orZero()
|
||||
|
||||
private fun CryptoCurrencyStatus.mapToUnreachableTokenItemState(): TokenItemState.Unreachable {
|
||||
return TokenItemState.Unreachable(
|
||||
|
|
|
|||
|
|
@ -10,6 +10,10 @@ sealed class YieldBalance {
|
|||
val balance: YieldBalanceItem,
|
||||
val address: String,
|
||||
) : YieldBalance() {
|
||||
fun getTotalWithRewardsStakingBalance(): BigDecimal {
|
||||
return balance.items.sumOf { it.amount }
|
||||
}
|
||||
|
||||
fun getTotalStakingBalance(): BigDecimal {
|
||||
return balance.items
|
||||
.filterNot { it.type == BalanceType.REWARDS }
|
||||
|
|
|
|||
|
|
@ -58,7 +58,8 @@ internal class TokenListFiatBalanceOperations(
|
|||
currentBalance: TotalFiatBalance,
|
||||
): TotalFiatBalance {
|
||||
return with(currentBalance) {
|
||||
val stakingBalance = (status.yieldBalance as? YieldBalance.Data)?.getTotalStakingBalance().orZero()
|
||||
val yieldBalance = status.yieldBalance as? YieldBalance.Data
|
||||
val stakingBalance = yieldBalance?.getTotalWithRewardsStakingBalance().orZero()
|
||||
val fiatStakingBalance = status.fiatRate.times(stakingBalance)
|
||||
|
||||
(this as? TotalFiatBalance.Loaded)?.copy(
|
||||
|
|
@ -76,7 +77,7 @@ internal class TokenListFiatBalanceOperations(
|
|||
): TotalFiatBalance {
|
||||
return with(currentBalance) {
|
||||
val isTokenAmountCanBeSummarized = status.fiatAmount != null
|
||||
val yieldBalance = (status.yieldBalance as? YieldBalance.Data)?.getTotalStakingBalance().orZero()
|
||||
val yieldBalance = (status.yieldBalance as? YieldBalance.Data)?.getTotalWithRewardsStakingBalance().orZero()
|
||||
val fiatYieldBalance = status.fiatRate?.times(yieldBalance).orZero()
|
||||
(this as? TotalFiatBalance.Loaded)?.copy(
|
||||
amount = this.amount + status.fiatAmount.orZero() + fiatYieldBalance,
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ internal class TokenDetailsLoadedBalanceConverter(
|
|||
currentState: TokenDetailsBalanceBlockState,
|
||||
status: CryptoCurrencyStatus,
|
||||
): TokenDetailsBalanceBlockState {
|
||||
val stakingCryptoAmount = (status.value.yieldBalance as? YieldBalance.Data)?.getTotalStakingBalance()
|
||||
val stakingCryptoAmount = (status.value.yieldBalance as? YieldBalance.Data)?.getTotalWithRewardsStakingBalance()
|
||||
val stakingFiatAmount = stakingCryptoAmount?.let { status.value.fiatRate?.multiply(it) }
|
||||
val isBalanceSelectorEnabled = stakingFeatureToggles.isStakingEnabled && !stakingCryptoAmount.isNullOrZero()
|
||||
return when (status.value) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue