Updated on 2026-08-14

This commit is contained in:
Tangem 2025-06-28 11:55:20 +04:00
parent 58c6eeac8c
commit 288bddfe18
13 changed files with 52 additions and 51 deletions

View file

@ -1,6 +1,6 @@
package com.tangem.feature.swap
import com.tangem.blockchainsdk.utils.ExcludedBlockchains
import com.tangem.data.common.currency.ResponseCryptoCurrenciesFactory
import com.tangem.data.common.currency.UserTokensResponseFactory
import com.tangem.datasource.local.preferences.AppPreferencesStore
import com.tangem.datasource.local.preferences.PreferencesKeys
@ -24,10 +24,12 @@ import kotlinx.coroutines.withContext
internal class DefaultSwapTransactionRepository(
private val appPreferencesStore: AppPreferencesStore,
private val dispatchers: CoroutineDispatcherProvider,
excludedBlockchains: ExcludedBlockchains,
responseCryptoCurrenciesFactory: ResponseCryptoCurrenciesFactory,
) : SwapTransactionRepository {
private val converter = SavedSwapTransactionListConverter(excludedBlockchains)
private val converter by lazy(LazyThreadSafetyMode.NONE) {
SavedSwapTransactionListConverter(responseCryptoCurrenciesFactory = responseCryptoCurrenciesFactory)
}
private val userTokensResponseFactory = UserTokensResponseFactory()
override suspend fun storeTransaction(

View file

@ -1,6 +1,5 @@
package com.tangem.feature.swap.converters
import com.tangem.blockchainsdk.utils.ExcludedBlockchains
import com.tangem.data.common.currency.ResponseCryptoCurrenciesFactory
import com.tangem.data.common.currency.UserTokensResponseFactory
import com.tangem.domain.models.currency.CryptoCurrency
@ -13,10 +12,9 @@ import com.tangem.feature.swap.domain.models.domain.SavedSwapTransactionModel
import com.tangem.utils.converter.Converter
internal class SavedSwapTransactionListConverter(
excludedBlockchains: ExcludedBlockchains,
private val responseCryptoCurrenciesFactory: ResponseCryptoCurrenciesFactory,
) : Converter<SavedSwapTransactionListModel, SavedSwapTransactionListModelInner> {
private val responseCryptoCurrenciesFactory = ResponseCryptoCurrenciesFactory(excludedBlockchains)
private val userTokensResponseFactory = UserTokensResponseFactory()
override fun convert(value: SavedSwapTransactionListModel) = SavedSwapTransactionListModelInner(

View file

@ -2,6 +2,7 @@ package com.tangem.feature.swap.di
import com.squareup.moshi.Moshi
import com.tangem.blockchainsdk.utils.ExcludedBlockchains
import com.tangem.data.common.currency.ResponseCryptoCurrenciesFactory
import com.tangem.datasource.api.express.TangemExpressApi
import com.tangem.datasource.api.express.models.response.ExpressErrorResponse
import com.tangem.datasource.crypto.DataSignatureVerifier
@ -55,13 +56,13 @@ internal class SwapDataModule {
@Singleton
fun provideSwapTransactionRepository(
appPreferencesStore: AppPreferencesStore,
responseCryptoCurrenciesFactory: ResponseCryptoCurrenciesFactory,
dispatcherProvider: CoroutineDispatcherProvider,
excludedBlockchains: ExcludedBlockchains,
): SwapTransactionRepository {
return DefaultSwapTransactionRepository(
appPreferencesStore = appPreferencesStore,
responseCryptoCurrenciesFactory = responseCryptoCurrenciesFactory,
dispatchers = dispatcherProvider,
excludedBlockchains = excludedBlockchains,
)
}