Updated on 2026-08-14

This commit is contained in:
Tangem 2025-11-19 16:35:10 +02:00
parent 51ae08211f
commit 9aa3bf7541
8 changed files with 151 additions and 115 deletions

View file

@ -94,7 +94,7 @@ internal class DefaultStakingRepository(
override suspend fun fetchEnabledYields() {
withContext(dispatchers.io) {
val yieldsResponses = getAvailableIntegrationsIds().map {
val yieldsResponses = getAvailableStakeKitIntegrationsIds().map {
async { it.getYieldRequest() }
}.awaitAll()
@ -157,13 +157,13 @@ internal class DefaultStakingRepository(
}
}
private suspend fun StakingIntegrationID.getYieldRequest(): ApiResponse<EnabledYieldsResponse> {
private suspend fun StakingIntegrationID.StakeKit.getYieldRequest(): ApiResponse<EnabledYieldsResponse> {
return when (this) {
is StakingIntegrationID.Coin -> stakeKitApi.getEnabledYields(
is StakingIntegrationID.StakeKit.Coin -> stakeKitApi.getEnabledYields(
preferredValidatorsOnly = false,
network = networkId,
)
is StakingIntegrationID.EthereumToken -> stakeKitApi.getEnabledYields(
is StakingIntegrationID.StakeKit.EthereumToken -> stakeKitApi.getEnabledYields(
preferredValidatorsOnly = false,
yieldId = value,
network = networkId,
@ -171,8 +171,8 @@ internal class DefaultStakingRepository(
}
}
private fun getAvailableIntegrationsIds(): List<StakingIntegrationID> {
return StakingIntegrationID.entries.filterNot {
private fun getAvailableStakeKitIntegrationsIds(): List<StakingIntegrationID.StakeKit> {
return StakingIntegrationID.StakeKit.entries.filterNot {
it.blockchain == Blockchain.Cardano && !stakingFeatureToggles.isCardanoStakingEnabled
}
}
@ -296,6 +296,7 @@ internal class DefaultStakingRepository(
return when (networkId.toBlockchain()) {
Blockchain.TON -> stakingFeatureToggles.isTonStakingEnabled
Blockchain.Cardano -> stakingFeatureToggles.isCardanoStakingEnabled
Blockchain.Ethereum -> stakingFeatureToggles.isEthStakingEnabled
else -> true
}
}

View file

@ -23,7 +23,7 @@ class DefaultStakingCleanerTest {
)
private val userWalletId = UserWalletId("011")
private val stakingIds = setOf(
StakingID(integrationId = StakingIntegrationID.Coin.Cardano.value, address = "0x1"),
StakingID(integrationId = StakingIntegrationID.StakeKit.Coin.Cardano.value, address = "0x1"),
)
@BeforeEach