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 2ccac4081b..9273ee0dff 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 @@ -121,7 +121,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 c2df5db972..0db1e1f2cb 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)) stateController.update(SetBalanceStateTransformer(balanceState)) onRefreshSwipe(isRefreshing = false) @@ -328,6 +329,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,