Updated on 2026-08-14
This commit is contained in:
parent
18af16b795
commit
cd0b30eaec
40 changed files with 235 additions and 258 deletions
|
|
@ -6,8 +6,8 @@ import com.tangem.blockchain.common.network.providers.ProviderType
|
|||
import com.tangem.blockchainsdk.converters.BlockchainProviderTypesConverter
|
||||
import com.tangem.blockchainsdk.loader.BlockchainProvidersResponseLoader
|
||||
import com.tangem.blockchainsdk.store.RuntimeStore
|
||||
import com.tangem.datasource.config.ConfigManager
|
||||
import com.tangem.datasource.config.models.ProviderModel
|
||||
import com.tangem.datasource.local.config.environment.EnvironmentConfigStorage
|
||||
import com.tangem.datasource.local.config.environment.models.ProviderModel
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
|
|
@ -22,7 +22,7 @@ internal typealias BlockchainProviderTypes = Map<Blockchain, List<ProviderType>>
|
|||
* Implementation of Blockchain SDK components factory
|
||||
*
|
||||
* @property blockchainProvidersResponseLoader blockchain providers response loader
|
||||
* @property configManager config manager
|
||||
* @property environmentConfigStorage environment config storage
|
||||
* @property blockchainProviderTypesStore blockchain provider types store
|
||||
* @property walletManagerFactoryCreator wallet manager factory creator
|
||||
*
|
||||
|
|
@ -30,7 +30,7 @@ internal typealias BlockchainProviderTypes = Map<Blockchain, List<ProviderType>>
|
|||
*/
|
||||
internal class DefaultBlockchainSDKFactory(
|
||||
private val blockchainProvidersResponseLoader: BlockchainProvidersResponseLoader,
|
||||
private val configManager: ConfigManager,
|
||||
private val environmentConfigStorage: EnvironmentConfigStorage,
|
||||
private val blockchainProviderTypesStore: RuntimeStore<BlockchainProviderTypes>,
|
||||
private val walletManagerFactoryCreator: WalletManagerFactoryCreator,
|
||||
dispatchers: CoroutineDispatcherProvider,
|
||||
|
|
@ -54,7 +54,7 @@ internal class DefaultBlockchainSDKFactory(
|
|||
|
||||
private fun createWalletManagerFactory(): Flow<WalletManagerFactory?> {
|
||||
return combine(
|
||||
flow = configManager.getConfig().map { it.blockchainSdkConfig },
|
||||
flow = environmentConfigStorage.getConfig().map { it.blockchainSdkConfig },
|
||||
flow2 = blockchainProviderTypesStore.get(),
|
||||
// flow3 = subscribe on feature toggles changes, TODO: [REDACTED_JIRA]
|
||||
transform = walletManagerFactoryCreator::create,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import com.tangem.blockchainsdk.BlockchainProviderTypes
|
|||
import com.tangem.blockchainsdk.BlockchainProvidersResponse
|
||||
import com.tangem.blockchainsdk.utils.createPrivateProviderType
|
||||
import com.tangem.blockchainsdk.utils.fromNetworkId
|
||||
import com.tangem.datasource.config.models.ProviderModel
|
||||
import com.tangem.datasource.local.config.environment.models.ProviderModel
|
||||
import com.tangem.utils.converter.Converter
|
||||
import timber.log.Timber
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import com.tangem.blockchainsdk.store.DefaultRuntimeStore
|
|||
import com.tangem.core.featuretoggle.manager.FeatureTogglesManager
|
||||
import com.tangem.datasource.api.common.AuthProvider
|
||||
import com.tangem.datasource.api.tangemTech.TangemTechApi
|
||||
import com.tangem.datasource.config.ConfigManager
|
||||
import com.tangem.datasource.local.config.environment.EnvironmentConfigStorage
|
||||
import com.tangem.datasource.local.preferences.AppPreferencesStore
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import dagger.Module
|
||||
|
|
@ -29,13 +29,13 @@ internal object BlockchainSDKFactoryModule {
|
|||
@Singleton
|
||||
fun provideBlockchainSDKFactory(
|
||||
blockchainProvidersResponseLoader: BlockchainProvidersResponseLoader,
|
||||
configManager: ConfigManager,
|
||||
environmentConfigStorage: EnvironmentConfigStorage,
|
||||
walletManagerFactoryCreator: WalletManagerFactoryCreator,
|
||||
dispatchers: CoroutineDispatcherProvider,
|
||||
): BlockchainSDKFactory {
|
||||
return DefaultBlockchainSDKFactory(
|
||||
blockchainProvidersResponseLoader = blockchainProvidersResponseLoader,
|
||||
configManager = configManager,
|
||||
environmentConfigStorage = environmentConfigStorage,
|
||||
blockchainProviderTypesStore = DefaultRuntimeStore(defaultValue = emptyMap()),
|
||||
walletManagerFactoryCreator = walletManagerFactoryCreator,
|
||||
dispatchers = dispatchers,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import com.tangem.blockchainsdk.BlockchainProvidersResponse
|
|||
import com.tangem.blockchainsdk.utils.createPrivateProviderType
|
||||
import com.tangem.datasource.api.tangemTech.TangemTechApi
|
||||
import com.tangem.datasource.asset.loader.AssetLoader
|
||||
import com.tangem.datasource.config.models.ProviderModel
|
||||
import com.tangem.datasource.local.config.environment.models.ProviderModel
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import com.tangem.utils.coroutines.runCatching
|
||||
import timber.log.Timber
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue