From 5003eabc07bbd8a7753bfb82a691050ebcd5ab62 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 21 May 2026 17:42:30 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../models/staking/P2PEthPoolStakingAccountExt.kt | 10 ++++++++-- .../com/tangem/domain/models/staking/StakingBalance.kt | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/domain/models/src/main/kotlin/com/tangem/domain/models/staking/P2PEthPoolStakingAccountExt.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/staking/P2PEthPoolStakingAccountExt.kt index 69db40bd72..4b611da525 100644 --- a/domain/models/src/main/kotlin/com/tangem/domain/models/staking/P2PEthPoolStakingAccountExt.kt +++ b/domain/models/src/main/kotlin/com/tangem/domain/models/staking/P2PEthPoolStakingAccountExt.kt @@ -2,14 +2,20 @@ package com.tangem.domain.models.staking import java.math.BigDecimal +val P2PEthPoolStakingAccount.unstakingAssets: BigDecimal + get() = exitQueue.requests.filter { !it.isClaimable }.sumOf { it.totalAssets } + +val P2PEthPoolStakingAccount.withdrawableAssets: BigDecimal + get() = exitQueue.requests.filter { it.isClaimable }.sumOf { it.totalAssets } + fun P2PEthPoolStakingAccount.toStakingBalanceEntries(vaultName: String? = null): List { return buildList { if (stake.assets > BigDecimal.ZERO) { add(createStakedEntry(vaultAddress, stake.assets, vaultName)) } exitQueue.requests.filter { !it.isClaimable }.forEach { add(createUnstakingEntry(vaultAddress, it, vaultName)) } - if (availableToWithdraw > BigDecimal.ZERO) { - add(createWithdrawableEntry(vaultAddress, availableToWithdraw, vaultName)) + if (withdrawableAssets > BigDecimal.ZERO) { + add(createWithdrawableEntry(vaultAddress, withdrawableAssets, vaultName)) } if (stake.totalEarnedAssets > BigDecimal.ZERO) { add(createRewardsEntry(vaultAddress, stake.totalEarnedAssets, vaultName)) diff --git a/domain/models/src/main/kotlin/com/tangem/domain/models/staking/StakingBalance.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/staking/StakingBalance.kt index 11c22e2ae4..938b667b57 100644 --- a/domain/models/src/main/kotlin/com/tangem/domain/models/staking/StakingBalance.kt +++ b/domain/models/src/main/kotlin/com/tangem/domain/models/staking/StakingBalance.kt @@ -62,9 +62,9 @@ sealed interface StakingBalance { override val totalRewards: SerializedBigDecimal = accounts.sumOf { it.stake.totalEarnedAssets } - override val unstakingAmount: SerializedBigDecimal = accounts.sumOf { it.exitQueue.total } + override val unstakingAmount: SerializedBigDecimal = accounts.sumOf { it.unstakingAssets } - override val withdrawableAmount: SerializedBigDecimal = accounts.sumOf { it.availableToWithdraw } + override val withdrawableAmount: SerializedBigDecimal = accounts.sumOf { it.withdrawableAssets } override val entries: List = accounts.flatMap { it.toStakingBalanceEntries() } }