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() } }