diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/PendingTransaction.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/PendingTransaction.kt index b01eab990b..088a823cca 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/PendingTransaction.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/PendingTransaction.kt @@ -1,5 +1,6 @@ package com.tangem.domain.staking.model +import com.tangem.domain.staking.model.stakekit.BalanceItem import com.tangem.domain.staking.model.stakekit.BalanceType import com.tangem.domain.staking.model.stakekit.Yield import java.math.BigDecimal @@ -11,4 +12,5 @@ data class PendingTransaction( val rawCurrencyId: String?, val validator: Yield.Validator?, val balancesId: Int, + val balanceItems: List, // TODO staking remove it ) \ No newline at end of file diff --git a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/YieldBalance.kt b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/YieldBalance.kt index 33b6ce8443..2c881ded88 100644 --- a/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/YieldBalance.kt +++ b/domain/staking/models/src/main/kotlin/com/tangem/domain/staking/model/stakekit/YieldBalance.kt @@ -35,7 +35,10 @@ sealed class YieldBalance { fun getBalancesUniqueId(): Int { // need to exclude rewards because their amount may change frequently - return balance.items.filter { it.type != BalanceType.REWARDS }.hashCode() + return balance.items + .filter { it.type != BalanceType.REWARDS } + .map { it.amount.toString() + it.type.toString() + it.groupId + it.validatorAddress } + .hashCode() } } diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingTransactionSender.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingTransactionSender.kt index 7edd7024b0..1fb3bbfbd7 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingTransactionSender.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/helpers/StakingTransactionSender.kt @@ -294,6 +294,7 @@ internal class StakingTransactionSender @AssistedInject constructor( rawCurrencyId = cryptoCurrencyStatus.currency.id.rawCurrencyId, validator = (confirmationState.validatorState as? ValidatorState.Content)?.chosenValidator, balancesId = (cryptoCurrencyStatus.value.yieldBalance as? YieldBalance.Data)?.getBalancesUniqueId() ?: 0, + balanceItems = (cryptoCurrencyStatus.value.yieldBalance as? YieldBalance.Data)?.balance?.items ?: emptyList() ) } diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetPossiblePendingTransactionTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetPossiblePendingTransactionTransformer.kt index a176330f37..cd352d6058 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetPossiblePendingTransactionTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetPossiblePendingTransactionTransformer.kt @@ -26,6 +26,7 @@ internal class SetPossiblePendingTransactionTransformer( rawCurrencyId = balanceState.rawCurrencyId, validator = balanceState.validator, balancesId = balancesId, + balanceItems = (cryptoCurrencyStatus.value.yieldBalance as? YieldBalance.Data)?.balance?.items ?: emptyList() ), ), )