Updated on 2026-08-14

This commit is contained in:
Tangem 2024-09-05 16:28:36 +03:00
parent 1e85dbe6f7
commit 1006477fd7
5 changed files with 46 additions and 22 deletions

View file

@ -3,8 +3,10 @@ package com.tangem.domain.markets
import arrow.core.Either
import com.tangem.domain.card.repository.DerivationsRepository
import com.tangem.domain.markets.repositories.MarketsTokenRepository
import com.tangem.domain.tokens.model.CryptoCurrency
import com.tangem.domain.tokens.model.Network
import com.tangem.domain.tokens.repository.CurrenciesRepository
import com.tangem.domain.tokens.repository.NetworksRepository
import com.tangem.domain.wallets.models.UserWalletId
/**
@ -20,6 +22,7 @@ class SaveMarketTokensUseCase(
private val derivationsRepository: DerivationsRepository,
private val marketsTokenRepository: MarketsTokenRepository,
private val currenciesRepository: CurrenciesRepository,
private val networksRepository: NetworksRepository,
) {
suspend operator fun invoke(
@ -44,17 +47,20 @@ class SaveMarketTokensUseCase(
networkIds = addedNetworks.map { Network.ID(it.networkId) },
)
currenciesRepository.addCurrencies(
userWalletId = userWalletId,
currencies = addedNetworks.mapNotNull {
marketsTokenRepository.createCryptoCurrency(
userWalletId = userWalletId,
token = tokenMarketParams,
network = it,
)
},
)
val addedCurrencies = addedNetworks.mapNotNull {
marketsTokenRepository.createCryptoCurrency(
userWalletId = userWalletId,
token = tokenMarketParams,
network = it,
)
}
// TODO: [REDACTED_JIRA]
currenciesRepository.addCurrencies(userWalletId = userWalletId, currencies = addedCurrencies)
networksRepository.getNetworkStatusesSync(
userWalletId = userWalletId,
networks = addedCurrencies.map(CryptoCurrency::network).toSet(),
refresh = true,
)
}
}