diff --git a/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt b/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt index a1fe27bb29..3be43d56c8 100644 --- a/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt +++ b/data/staking/src/main/java/com/tangem/data/staking/DefaultStakingRepository.kt @@ -120,7 +120,7 @@ internal class DefaultStakingRepository( key = YIELDS_STORE_KEY, skipCache = refresh, block = { - val stakingTokensWithYields = stakeKitApi.getMultipleYields(preferredValidatorsOnly = true) + val stakingTokensWithYields = stakeKitApi.getMultipleYields(preferredValidatorsOnly = false) .getOrThrow() stakingYieldsStore.store(stakingTokensWithYields.data) diff --git a/data/staking/src/main/java/com/tangem/data/staking/converters/YieldConverter.kt b/data/staking/src/main/java/com/tangem/data/staking/converters/YieldConverter.kt index c08359c098..46cf6e3ae1 100644 --- a/data/staking/src/main/java/com/tangem/data/staking/converters/YieldConverter.kt +++ b/data/staking/src/main/java/com/tangem/data/staking/converters/YieldConverter.kt @@ -28,7 +28,7 @@ class YieldConverter( metadata = convertMetadata(value.metadata), validators = value.validators .asSequence() - .filter { it.preferred && it.status == ValidatorStatusDTO.ACTIVE } + .filter { it.status == ValidatorStatusDTO.ACTIVE } .sortedByDescending { it.apr } .map { convertValidator(it) } .toImmutableList(), diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateLoadingTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateLoadingTransformer.kt index 1fcfee71c7..60e1fd090c 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateLoadingTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateLoadingTransformer.kt @@ -20,9 +20,12 @@ internal class SetConfirmationStateLoadingTransformer( ) : Transformer { override fun transform(prevState: StakingUiState): StakingUiState { + val filteredValidators = yield.validators.filter { + it.preferred + } val possibleConfirmationState = prevState.confirmationState as? StakingStates.ConfirmationState.Data val possibleValidatorState = possibleConfirmationState?.validatorState as? ValidatorState.Content - val chosenValidator = possibleValidatorState?.chosenValidator ?: yield.validators[0] + val chosenValidator = possibleValidatorState?.chosenValidator ?: filteredValidators[0] return prevState.copy( confirmationState = StakingStates.ConfirmationState.Data( @@ -32,7 +35,7 @@ internal class SetConfirmationStateLoadingTransformer( validatorState = ValidatorState.Content( isClickable = true, chosenValidator = chosenValidator, - availableValidators = yield.validators, + availableValidators = filteredValidators, ), notifications = persistentListOf(), footerText = getFooter(prevState, chosenValidator), diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateResetAssentTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateResetAssentTransformer.kt index ee866db72c..a3b203d9eb 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateResetAssentTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetConfirmationStateResetAssentTransformer.kt @@ -3,6 +3,7 @@ package com.tangem.features.staking.impl.presentation.state.transformers import com.tangem.features.staking.impl.presentation.state.InnerConfirmationStakingState import com.tangem.features.staking.impl.presentation.state.StakingStates import com.tangem.features.staking.impl.presentation.state.StakingUiState +import com.tangem.features.staking.impl.presentation.state.ValidatorState import com.tangem.utils.transformer.Transformer internal object SetConfirmationStateResetAssentTransformer : Transformer { @@ -13,7 +14,7 @@ internal object SetConfirmationStateResetAssentTransformer : Transformer { + stateController.update(SetConfirmationStateResetAssentTransformer) stateController.update(SetConfirmationStateLoadingTransformer(yield, appCurrency)) if (balanceState != null) { stateController.update(SetPossiblePendingTransactionTransformer(balanceState, cryptoCurrencyStatus)) @@ -333,6 +334,7 @@ internal class StakingViewModel @Inject constructor( if (value.currentStep == StakingStep.Confirmation) { when ((value.confirmationState as? StakingStates.ConfirmationState.Data)?.innerState) { InnerConfirmationStakingState.ASSENT -> { + stateController.update(SetConfirmationStateResetAssentTransformer) stakingStateRouter.onPrevClick() } null,