From d6735f937fe53cb0dba531a8c54b8fdb29a2de26 Mon Sep 17 00:00:00 2001 From: Tangem Date: Thu, 22 Aug 2024 15:55:09 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../tap/di/domain/StakingDomainModule.kt | 12 --- .../main/res/layout/layout_receipt_total.xml | 84 ------------------- .../data/staking/DefaultStakingRepository.kt | 8 -- .../staking/IsStakeMoreAvailableUseCase.kt | 19 ----- .../staking/repositories/StakingRepository.kt | 3 - .../repository/MockStakingRepository.kt | 2 - .../impl/presentation/state/StakingUiState.kt | 1 - .../previewdata/InitialStakingStatePreview.kt | 1 - .../SetButtonsStateTransformer.kt | 8 +- .../SetInitialDataStateTransformer.kt | 2 - .../viewmodel/StakingViewModel.kt | 4 - 11 files changed, 1 insertion(+), 143 deletions(-) delete mode 100644 app/src/main/res/layout/layout_receipt_total.xml delete mode 100644 domain/staking/src/main/java/com/tangem/domain/staking/IsStakeMoreAvailableUseCase.kt diff --git a/app/src/main/java/com/tangem/tap/di/domain/StakingDomainModule.kt b/app/src/main/java/com/tangem/tap/di/domain/StakingDomainModule.kt index a714d71200..a4b7ff17e4 100644 --- a/app/src/main/java/com/tangem/tap/di/domain/StakingDomainModule.kt +++ b/app/src/main/java/com/tangem/tap/di/domain/StakingDomainModule.kt @@ -145,18 +145,6 @@ internal object StakingDomainModule { ) } - @Provides - @Singleton - fun provideIsStakeMoreAvailableUseCase( - stakingRepository: StakingRepository, - stakingErrorResolver: StakingErrorResolver, - ): IsStakeMoreAvailableUseCase { - return IsStakeMoreAvailableUseCase( - stakingRepository = stakingRepository, - stakingErrorResolver = stakingErrorResolver, - ) - } - @Provides @Singleton fun provideIsApproveNeededUseCase( diff --git a/app/src/main/res/layout/layout_receipt_total.xml b/app/src/main/res/layout/layout_receipt_total.xml deleted file mode 100644 index 5ff5d3377c..0000000000 --- a/app/src/main/res/layout/layout_receipt_total.xml +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - 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 213458581e..343c8f3116 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 @@ -556,14 +556,6 @@ internal class DefaultStakingRepository( } } - override fun isStakeMoreAvailable(networkId: Network.ID): Boolean { - val blockchain = Blockchain.fromId(networkId.value) - return when (blockchain) { - Blockchain.Solana -> false - else -> true - } - } - override fun getStakingApproval(cryptoCurrency: CryptoCurrency): StakingApproval { return when (getIntegrationKey(cryptoCurrency.id)) { Blockchain.Ethereum.id + Blockchain.Polygon.toCoinId() -> { diff --git a/domain/staking/src/main/java/com/tangem/domain/staking/IsStakeMoreAvailableUseCase.kt b/domain/staking/src/main/java/com/tangem/domain/staking/IsStakeMoreAvailableUseCase.kt deleted file mode 100644 index 4dd7fc8f38..0000000000 --- a/domain/staking/src/main/java/com/tangem/domain/staking/IsStakeMoreAvailableUseCase.kt +++ /dev/null @@ -1,19 +0,0 @@ -package com.tangem.domain.staking - -import arrow.core.Either -import com.tangem.domain.staking.model.stakekit.StakingError -import com.tangem.domain.staking.repositories.StakingErrorResolver -import com.tangem.domain.staking.repositories.StakingRepository -import com.tangem.domain.tokens.model.Network - -class IsStakeMoreAvailableUseCase( - private val stakingRepository: StakingRepository, - private val stakingErrorResolver: StakingErrorResolver, -) { - - operator fun invoke(networkId: Network.ID): Either { - return Either - .catch { stakingRepository.isStakeMoreAvailable(networkId) } - .mapLeft { stakingErrorResolver.resolve(it) } - } -} \ No newline at end of file diff --git a/domain/staking/src/main/java/com/tangem/domain/staking/repositories/StakingRepository.kt b/domain/staking/src/main/java/com/tangem/domain/staking/repositories/StakingRepository.kt index 528f40dac0..69016e1209 100644 --- a/domain/staking/src/main/java/com/tangem/domain/staking/repositories/StakingRepository.kt +++ b/domain/staking/src/main/java/com/tangem/domain/staking/repositories/StakingRepository.kt @@ -84,9 +84,6 @@ interface StakingRepository { suspend fun sendUnsubmittedHashes() - /** Returns whether additional staking is possible if there is already active staking */ - fun isStakeMoreAvailable(networkId: Network.ID): Boolean - /** Returns staking approval */ fun getStakingApproval(cryptoCurrency: CryptoCurrency): StakingApproval } \ No newline at end of file diff --git a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockStakingRepository.kt b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockStakingRepository.kt index 897920ce7f..9bc782020a 100644 --- a/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockStakingRepository.kt +++ b/domain/tokens/src/test/kotlin/com/tangem/domain/tokens/repository/MockStakingRepository.kt @@ -251,7 +251,5 @@ class MockStakingRepository : StakingRepository { /* no-op */ } - override fun isStakeMoreAvailable(networkId: Network.ID): Boolean = true - override fun getStakingApproval(cryptoCurrency: CryptoCurrency): StakingApproval = StakingApproval.Empty } \ No newline at end of file diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt index 0d7e1081b8..0e08d89b1c 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/StakingUiState.kt @@ -57,7 +57,6 @@ internal sealed class StakingStates { val aprRange: TextReference, val onInfoClick: (InfoType) -> Unit, val yieldBalance: InnerYieldBalanceState, - val isStakeMoreAvailable: Boolean, ) : InitialInfoState() data class Empty( diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt index f31cd5f501..66d92d8f89 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/previewdata/InitialStakingStatePreview.kt @@ -52,7 +52,6 @@ internal object InitialStakingStatePreview { ), onInfoClick = {}, yieldBalance = InnerYieldBalanceState.Empty, - isStakeMoreAvailable = true, ) val stateWithYield = defaultState.copy( diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt index 6b4515a6ba..3f8b253474 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetButtonsStateTransformer.kt @@ -119,7 +119,6 @@ internal class SetButtonsStateTransformer : Transformer { private fun List.getSecondaryAction(): PendingAction? = getOrNull(1) private fun StakingUiState.isButtonsVisible(): Boolean = when (currentStep) { - StakingStep.InitialInfo -> isStakeMoreAvailable() StakingStep.RewardsValidators -> false else -> true } @@ -170,7 +169,7 @@ internal class SetButtonsStateTransformer : Transformer { private fun StakingUiState.onPrimaryClick() { when (currentStep) { StakingStep.InitialInfo -> { - val actionType = StakingActionCommonType.ENTER.takeIf { isStakeMoreAvailable() } + val actionType = StakingActionCommonType.ENTER clickIntents.onAmountValueChange("") // reset amount state clickIntents.onNextClick(actionType) } @@ -241,9 +240,4 @@ internal class SetButtonsStateTransformer : Transformer { StakingActionType.UNKNOWN -> TextReference.EMPTY null -> TextReference.EMPTY } - - private fun StakingUiState.isStakeMoreAvailable(): Boolean { - val initialState = initialInfoState as? StakingStates.InitialInfoState.Data - return initialState?.isStakeMoreAvailable == true || initialState?.yieldBalance is InnerYieldBalanceState.Empty - } } \ No newline at end of file diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt index 2c0bcbef78..6402fc548e 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/transformers/SetInitialDataStateTransformer.kt @@ -33,7 +33,6 @@ import java.math.BigDecimal internal class SetInitialDataStateTransformer( private val clickIntents: StakingClickIntents, private val yield: Yield, - private val isStakeMoreAvailable: Boolean, private val isApprovalNeeded: Boolean, private val cryptoCurrencyStatusProvider: Provider, private val userWalletProvider: Provider, @@ -84,7 +83,6 @@ internal class SetInitialDataStateTransformer( infoItems = getInfoItems(), onInfoClick = clickIntents::onInfoClick, yieldBalance = yieldBalancesConverter.convert(Unit), - isStakeMoreAvailable = isStakeMoreAvailable, ) } diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt index 13c7fdda5e..d09ff672ca 100644 --- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt +++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/viewmodel/StakingViewModel.kt @@ -89,7 +89,6 @@ internal class StakingViewModel @Inject constructor( private val getExplorerTransactionUrlUseCase: GetExplorerTransactionUrlUseCase, private val saveUnsubmittedHashUseCase: SaveUnsubmittedHashUseCase, private val submitHashUseCase: SubmitHashUseCase, - private val isStakeMoreAvailableUseCase: IsStakeMoreAvailableUseCase, private val stakingYieldBalanceUseCase: FetchStakingYieldBalanceUseCase, private val updateDelayedNetworkStatusUseCase: UpdateDelayedNetworkStatusUseCase, private val fetchPendingTransactionsUseCase: FetchPendingTransactionsUseCase, @@ -581,13 +580,10 @@ internal class StakingViewModel @Inject constructor( setupApprovalNeeded() - val networkId = cryptoCurrencyStatus.currency.network.id - val isStakeMoreAvailable = isStakeMoreAvailableUseCase(networkId) stateController.update( transformer = SetInitialDataStateTransformer( clickIntents = this@StakingViewModel, yield = yield, - isStakeMoreAvailable = isStakeMoreAvailable.getOrElse { false }, isApprovalNeeded = stakingApproval is StakingApproval.Needed, cryptoCurrencyStatusProvider = Provider { cryptoCurrencyStatus }, userWalletProvider = Provider { userWallet },