Updated on 2026-08-14
This commit is contained in:
parent
7b9cf3f4e1
commit
c707bef9a3
2 changed files with 11 additions and 2 deletions
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue