Updated on 2026-08-14

This commit is contained in:
Tangem 2026-02-10 13:31:07 +04:00
parent 49cf3b9cef
commit e17029ce9b
27 changed files with 184 additions and 207 deletions

View file

@ -19,8 +19,8 @@ import com.tangem.datasource.api.common.response.getOrThrow
import com.tangem.datasource.api.markets.TangemTechMarketsApi
import com.tangem.datasource.api.markets.models.response.TokenMarketExchangesResponse
import com.tangem.datasource.local.datastore.RuntimeStateStore
import com.tangem.datasource.local.userwallet.UserWalletsStore
import com.tangem.domain.appcurrency.model.AppCurrency
import com.tangem.domain.common.wallets.UserWalletsListRepository
import com.tangem.domain.markets.*
import com.tangem.domain.markets.repositories.MarketsTokenRepository
import com.tangem.domain.models.account.DerivationIndex
@ -38,7 +38,7 @@ import java.util.concurrent.atomic.AtomicLong
internal class DefaultMarketsTokenRepository(
private val marketsApi: TangemTechMarketsApi,
private val quotesFetcher: QuotesFetcher,
private val userWalletsStore: UserWalletsStore,
private val userWalletsListRepository: UserWalletsListRepository,
private val dispatcherProvider: CoroutineDispatcherProvider,
private val analyticsEventHandler: AnalyticsEventHandler,
private val cacheRegistry: CacheRegistry,
@ -251,7 +251,7 @@ internal class DefaultMarketsTokenRepository(
network: TokenMarketInfo.Network,
accountIndex: DerivationIndex?,
): CryptoCurrency? {
val userWallet = userWalletsStore.getSyncOrNull(userWalletId) ?: error("UserWalletId [$userWalletId] not found")
val userWallet = userWalletsListRepository.getSyncStrict(userWalletId)
val blockchain = Blockchain.fromNetworkId(network.networkId) ?: error("Unknown network [${network.networkId}]")
return if (network.contractAddress == null) {

View file

@ -8,7 +8,7 @@ import com.tangem.data.common.quote.QuotesFetcher
import com.tangem.data.markets.DefaultMarketsTokenRepository
import com.tangem.datasource.api.markets.TangemTechMarketsApi
import com.tangem.datasource.local.datastore.RuntimeStateStore
import com.tangem.datasource.local.userwallet.UserWalletsStore
import com.tangem.domain.common.wallets.UserWalletsListRepository
import com.tangem.domain.markets.repositories.MarketsTokenRepository
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import dagger.Module
@ -26,7 +26,7 @@ internal object MarketsDataModule {
fun provideMarketsTokenRepository(
marketsApi: TangemTechMarketsApi,
quotesFetcher: QuotesFetcher,
userWalletsStore: UserWalletsStore,
userWalletsListRepository: UserWalletsListRepository,
dispatchers: CoroutineDispatcherProvider,
analyticsEventHandler: AnalyticsEventHandler,
cacheRegistry: CacheRegistry,
@ -37,7 +37,7 @@ internal object MarketsDataModule {
marketsApi = marketsApi,
quotesFetcher = quotesFetcher,
dispatcherProvider = dispatchers,
userWalletsStore = userWalletsStore,
userWalletsListRepository = userWalletsListRepository,
analyticsEventHandler = analyticsEventHandler,
cacheRegistry = cacheRegistry,
tokenExchangesStore = RuntimeStateStore(defaultValue = emptyList()),