Updated on 2026-08-14

This commit is contained in:
Tangem 2025-12-22 09:41:07 +02:00
parent 7b9cf3f4e1
commit c707bef9a3
2 changed files with 11 additions and 2 deletions

View file

@ -17,6 +17,7 @@ import com.tangem.domain.staking.model.StakingOption
import com.tangem.domain.staking.model.ethpool.* import com.tangem.domain.staking.model.ethpool.*
import com.tangem.domain.staking.repositories.P2PEthPoolRepository import com.tangem.domain.staking.repositories.P2PEthPoolRepository
import com.tangem.domain.staking.model.stakekit.StakingError import com.tangem.domain.staking.model.stakekit.StakingError
import com.tangem.domain.staking.toggles.StakingFeatureToggles
import com.tangem.utils.coroutines.CoroutineDispatcherProvider import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.distinctUntilChanged
@ -31,6 +32,7 @@ internal class DefaultP2PEthPoolRepository(
private val p2pApi: P2PEthPoolApi, private val p2pApi: P2PEthPoolApi,
private val p2pEthPoolVaultsStore: P2PEthPoolVaultsStore, private val p2pEthPoolVaultsStore: P2PEthPoolVaultsStore,
private val dispatchers: CoroutineDispatcherProvider, private val dispatchers: CoroutineDispatcherProvider,
private val stakingFeatureToggles: StakingFeatureToggles,
) : P2PEthPoolRepository { ) : P2PEthPoolRepository {
private val vaultConverter = P2PEthPoolVaultConverter private val vaultConverter = P2PEthPoolVaultConverter
@ -40,10 +42,15 @@ internal class DefaultP2PEthPoolRepository(
private val errorConverter = P2PEthPoolErrorConverter private val errorConverter = P2PEthPoolErrorConverter
override suspend fun fetchVaults(network: P2PEthPoolNetwork) { override suspend fun fetchVaults(network: P2PEthPoolNetwork) {
val vaults = getVaults(network).getOrElse { error -> val vaults = if (stakingFeatureToggles.isEthStakingEnabled) {
Timber.e("Error fetching P2P vaults: $error") getVaults(network).getOrElse { error ->
Timber.e("Error fetching P2P vaults: $error")
emptyList()
}
} else {
emptyList() emptyList()
} }
p2pEthPoolVaultsStore.store(vaults) p2pEthPoolVaultsStore.store(vaults)
} }

View file

@ -78,11 +78,13 @@ internal object StakingDataModule {
p2pApi: P2PEthPoolApi, p2pApi: P2PEthPoolApi,
p2pEthPoolVaultsStore: P2PEthPoolVaultsStore, p2pEthPoolVaultsStore: P2PEthPoolVaultsStore,
dispatchers: CoroutineDispatcherProvider, dispatchers: CoroutineDispatcherProvider,
stakingFeatureToggles: StakingFeatureToggles,
): P2PEthPoolRepository { ): P2PEthPoolRepository {
return DefaultP2PEthPoolRepository( return DefaultP2PEthPoolRepository(
p2pApi = p2pApi, p2pApi = p2pApi,
p2pEthPoolVaultsStore = p2pEthPoolVaultsStore, p2pEthPoolVaultsStore = p2pEthPoolVaultsStore,
dispatchers = dispatchers, dispatchers = dispatchers,
stakingFeatureToggles = stakingFeatureToggles,
) )
} }