Updated on 2026-08-14
This commit is contained in:
parent
deb6d570b0
commit
098681020d
5 changed files with 7 additions and 269 deletions
|
|
@ -1,138 +0,0 @@
|
|||
[
|
||||
{
|
||||
"fw":"1.24r",
|
||||
"challenge":"00000000000000000000000000000001",
|
||||
"sha-256":[
|
||||
{"block":0,"count":1,"digest":"9B091DF443FE951D27AA8843517096DC421433F5603EBC566B11891F867E3D18"},
|
||||
{"block":1,"count":1,"digest":"B4F723EE79075C8C00FA17D037BF10528BB0C7CF421539EE15F4A397204C87AF"},
|
||||
{"block":2,"count":1,"digest":"1258585B438B6BC8F41FC22AFF383C86690E984E84E96AA752C9A54954DF731A"},
|
||||
{"block":3,"count":1,"digest":"14082C75D6AA533A06E9B764642F97B5783FED91BD1173EFADC3CF57D8769AAE"},
|
||||
{"block":4,"count":1,"digest":"A8F6CB02D56933361127072BB0D89999020CE196AE9718E9CF019DCCC9437E85"},
|
||||
{"block":5,"count":1,"digest":"491604BA2A2F6EE03A2B4812958F0356D745678FB0ABABF0109A9E8F59099D9D"},
|
||||
{"block":6,"count":1,"digest":"B2F057FF8B83343BC40058CA459F3C63B9670ABCD059730BE70223AEBDC88D77"},
|
||||
{"block":7,"count":1,"digest":"73F4391010345E27745A1AFEC93C02B2CA460D9EAB437605F82A18281DF17DCE"},
|
||||
{"block":8,"count":1,"digest":"74588EBB6704DD3DB9ECDFE6B85EC2872BD6A1F7C73E080E57697D3FF8DDD470"},
|
||||
{"block":9,"count":1,"digest":"3B382C35ADBBF206B0A6B216EE95AF2321EE34148E93BBFECCF275AB13ED08A2"},
|
||||
{"block":11500,"count":1,"digest":"21DDEC9788E3EA04663297AD0208F2714F139434E3540EBB7C96150EE1D320C9"},
|
||||
{"block":11501,"count":1,"digest":"C545C5D092D1EBC4BA266C139CE0F2A399E4D23E74EB4EBD0E53019AB58CB486"},
|
||||
{"block":0,"count":0,"digest":"C689C50352E9F6E41BF2E6EC852D8466814A51018F40BE32BAADEE9C2A9E6B6D"}
|
||||
],
|
||||
"crc-16":[
|
||||
{"block":0,"count":1,"digest":"1BFC"},
|
||||
{"block":1,"count":1,"digest":"D58D"},
|
||||
{"block":2,"count":1,"digest":"7E3E"},
|
||||
{"block":3,"count":1,"digest":"14EA"},
|
||||
{"block":4,"count":1,"digest":"014F"},
|
||||
{"block":5,"count":1,"digest":"5FF0"},
|
||||
{"block":6,"count":1,"digest":"7D3A"},
|
||||
{"block":7,"count":1,"digest":"702C"},
|
||||
{"block":8,"count":1,"digest":"CC22"},
|
||||
{"block":9,"count":1,"digest":"392C"},
|
||||
{"block":11500,"count":1,"digest":"5FCB"},
|
||||
{"block":11501,"count":1,"digest":"FF77"},
|
||||
{"block":0,"count":0,"digest":"D07B"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fw":"1.24d SDK",
|
||||
"challenge":"00000000000000000000000000000001",
|
||||
"sha-256":[
|
||||
{"block":0,"count":1,"digest":"6B360B47FFB16641EF9CC778746FE6B1010AB60C69281CE431A46ECC29A72304"},
|
||||
{"block":1,"count":1,"digest":"648F50D44E9A31CB4C2682EAD7B8E2E570E5F252035849CD9B08BD4F9106B432"},
|
||||
{"block":2,"count":1,"digest":"BAA31588F599E2DBC8AC06CFBF4E710B9B0E3FEA0201AE67E5A9E605DB50D1ED"},
|
||||
{"block":3,"count":1,"digest":"48CFA13758F0B8018A97831C11BB1668A39CC76B141C90038551D950F83A43BA"},
|
||||
{"block":4,"count":1,"digest":"8932B8E9D93A28EEEAC8FD3477F38A8A384AC895B06E09B8396A7806C3DCFC09"},
|
||||
{"block":5,"count":1,"digest":"A3E7F2911AB380B366E47EB9E7DCC0C3D8667EEE3CF355FCCD5B113918873EFC"},
|
||||
{"block":6,"count":1,"digest":"32CFCDC12C3AAA6C8FE4935C76B795A81206141AE7C7AB941A4B5F74EB02D844"},
|
||||
{"block":7,"count":1,"digest":"1BA7B6ED5F28A0744E177843F2A960CB757B27FF6052C17F9E57B266AEC4F564"},
|
||||
{"block":8,"count":1,"digest":"7C1A2C88529DA038C3A124CC049B9A5CD73089C2CD9C66B15DF91020E981B94B"},
|
||||
{"block":9,"count":1,"digest":"5F14E10CBE14230EEF9B8896C84998197E56738952A1ECF22202801B9AE64340"},
|
||||
{"block":10,"count":1,"digest":"8FF4F496E7C68A654E574F13517EFA4F2058FDFC9E949421DA5ACC855C876F63"},
|
||||
{"block":11491,"count":1,"digest":"E45CFEA35B1C4C217A55B78B0D78C841978F1008C3C1917D228EECB0324A0942"},
|
||||
{"block":0,"count":0,"digest":"F4199A74F2D4BAF2E282A670989A50B9186665D8EC453D1CED02F4E4019E1C0F"}
|
||||
],
|
||||
"crc-16":[
|
||||
{"block":0,"count":1,"digest":"22C3"},
|
||||
{"block":1,"count":1,"digest":"ECB2"},
|
||||
{"block":2,"count":1,"digest":"4701"},
|
||||
{"block":3,"count":1,"digest":"2DD5"},
|
||||
{"block":4,"count":1,"digest":"3870"},
|
||||
{"block":5,"count":1,"digest":"66CF"},
|
||||
{"block":6,"count":1,"digest":"4405"},
|
||||
{"block":7,"count":1,"digest":"4913"},
|
||||
{"block":8,"count":1,"digest":"F51D"},
|
||||
{"block":9,"count":1,"digest":"0013"},
|
||||
{"block":10,"count":1,"digest":"5E68"},
|
||||
{"block":11491,"count":1,"digest":"4078"},
|
||||
{"block":0,"count":0,"digest":"75C3"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fw":"1.28r",
|
||||
"challenge":"00000000000000000000000000000001",
|
||||
"sha-256":[
|
||||
{"block":0,"count":1,"digest":"A52D552A4CCA2979122300C7C8686031FBB216C187971C739305D493284DD262"},
|
||||
{"block":1,"count":1,"digest":"AF8D5DDC8FD0BA9B58707BC66940A50298AAB6FFE74D243874BAA25CCD53C7C3"},
|
||||
{"block":2,"count":1,"digest":"03612CB50531C2A2B7825B6A72C14528522A926A781391E8FE17027943543387"},
|
||||
{"block":3,"count":1,"digest":"88A984179C97654B7833824DF43A13133BC6E627C17C9A65BEEDFB671CD78D2A"},
|
||||
{"block":4,"count":1,"digest":"A3DB1DD3F876ED972287FEC903C2112F6B99A09BCF686E2B65A6E19EA9CD9ECB"},
|
||||
{"block":5,"count":1,"digest":"CA7685FCD6BE9D8310BBD58AA7DED1390925BADA47B6611DB010625CA6BA7542"},
|
||||
{"block":6,"count":1,"digest":"192E10BF1D4AA426676918AAC7312FF4914A4781A2E6372986356AC26917078B"},
|
||||
{"block":7,"count":1,"digest":"00B657206A8120DE159F3C16B4F036B7D2D292603067FCB6B33E3753421D9D15"},
|
||||
{"block":8,"count":1,"digest":"2F875EE18AD37A3A4666810E7E0942F7370CAD365C510B7952280EC43BE12ADE"},
|
||||
{"block":9,"count":1,"digest":"1CFAF013B43CAF9F6627DAC871335B09279375A9DE8644AEB2FBBA105C73C05A"},
|
||||
{"block":10,"count":1,"digest":"AD33E62400EFE078EB9256C3A6F9B9299A4B56F4A7E63E78C9BC34F7DCA2FE10"},
|
||||
{"block":11497,"count":1,"digest":"FBB56C858CF485012A08343B73C46CDA7423500D52FBE5E4F28326F2515C7150"},
|
||||
{"block":0,"count":0,"digest":"7582258B2AF9FDCD83BCDEA05FA0310216F7CFF4FB27C699461397EF4D189567"}
|
||||
],
|
||||
"crc-16":[
|
||||
{"block":0,"count":1,"digest":"B42D"},
|
||||
{"block":1,"count":1,"digest":"7A5C"},
|
||||
{"block":2,"count":1,"digest":"D1EF"},
|
||||
{"block":3,"count":1,"digest":"BB3B"},
|
||||
{"block":4,"count":1,"digest":"AE9E"},
|
||||
{"block":5,"count":1,"digest":"F021"},
|
||||
{"block":6,"count":1,"digest":"D2EB"},
|
||||
{"block":7,"count":1,"digest":"DFFD"},
|
||||
{"block":8,"count":1,"digest":"63F3"},
|
||||
{"block":9,"count":1,"digest":"96FD"},
|
||||
{"block":10,"count":1,"digest":"C886"},
|
||||
{"block":11497,"count":1,"digest":"E4B0"},
|
||||
{"block":0,"count":0,"digest":"0143"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"fw":"1.28d SDK",
|
||||
"challenge":"00000000000000000000000000000001",
|
||||
"sha-256":[
|
||||
{"block":0,"count":1,"digest":"2F9DB9B70A20E28A97A6A58919E71ABF757BA73E693D9DC9CEEE1B0BCA8DAB8E"},
|
||||
{"block":1,"count":1,"digest":"6B6F75ECF7E9CB76E570C290E7BEEAEF44E4B24C46BA4AA115D5BBAE3209869F"},
|
||||
{"block":2,"count":1,"digest":"4D584DDC73B940C7E508456BF0C52BC6BE018CD448A5886B54BEBF1D26D31AD5"},
|
||||
{"block":3,"count":1,"digest":"A9D5929A34793F5BCC623234AE34DEE246A95ED34D75D51508B9DC2694F28CD6"},
|
||||
{"block":4,"count":1,"digest":"094D5F3E03262B6D07E58F795E17FFF2D83D39ABCF86B3B04A856A37BB076AD0"},
|
||||
{"block":5,"count":1,"digest":"40F5586223406B2BD790629AB5D8D1AB97B6EA9151B69BF4D55C4A1EF5E2A1BB"},
|
||||
{"block":6,"count":1,"digest":"B56C71A3E6DFE98B1666825825844372EEE5811EEA743A40760FA7AE2D66CADD"},
|
||||
{"block":7,"count":1,"digest":"4331EB4B7415883536DDBA03D75F0408BE1F23F3DEE4459227755C12CBF98A8D"},
|
||||
{"block":8,"count":1,"digest":"7383EDD57D266591760CD74E50073D28973CB2DAFD1410E45030B33588768DEE"},
|
||||
{"block":9,"count":1,"digest":"893F5CF5E368E82CABE7F48D5DAA54AFAFA740B28496F303E845E680B7C1436C"},
|
||||
{"block":10,"count":1,"digest":"8DEEB29CD6C764FB7AB53A056BC3C860DBD8E121AB7C1E6E4DF3C273A503C405"},
|
||||
{"block":11497,"count":1,"digest":"6F6166E13672B12BD947CDFEC3158064A14C5A259AD0B3550738E30E90BC20C5"},
|
||||
{"block":0,"count":0,"digest":"E475661F4D0948ACBDF104EAD718260A73FB99448691F0EB68AED85D189B6F3C"}
|
||||
],
|
||||
"crc-16":[
|
||||
{"block":0,"count":1,"digest":"3506"},
|
||||
{"block":1,"count":1,"digest":"FB77"},
|
||||
{"block":2,"count":1,"digest":"50C4"},
|
||||
{"block":3,"count":1,"digest":"3A10"},
|
||||
{"block":4,"count":1,"digest":"2FB5"},
|
||||
{"block":5,"count":1,"digest":"710A"},
|
||||
{"block":6,"count":1,"digest":"53C0"},
|
||||
{"block":7,"count":1,"digest":"5ED6"},
|
||||
{"block":8,"count":1,"digest":"E2D8"},
|
||||
{"block":9,"count":1,"digest":"17D6"},
|
||||
{"block":10,"count":1,"digest":"49AD"},
|
||||
{"block":11497,"count":1,"digest":"659B"},
|
||||
{"block":0,"count":0,"digest":"1893"}
|
||||
]
|
||||
}
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -1,17 +1,13 @@
|
|||
package com.tangem.blockchainsdk
|
||||
|
||||
import com.tangem.blockchain.common.Blockchain
|
||||
import com.tangem.blockchain.common.BlockchainSdkConfig
|
||||
import com.tangem.blockchain.common.WalletManagerFactory
|
||||
import com.tangem.blockchain.common.network.providers.ProviderType
|
||||
import com.tangem.blockchainsdk.converters.BlockchainProviderTypesConverter
|
||||
import com.tangem.blockchainsdk.converters.BlockchainSDKConfigConverter
|
||||
import com.tangem.blockchainsdk.loader.BlockchainProvidersResponseLoader
|
||||
import com.tangem.blockchainsdk.store.RuntimeStore
|
||||
import com.tangem.datasource.asset.loader.AssetLoader
|
||||
import com.tangem.datasource.config.models.ConfigValueModel
|
||||
import com.tangem.datasource.config.ConfigManager
|
||||
import com.tangem.datasource.config.models.ProviderModel
|
||||
import com.tangem.libs.blockchain_sdk.BuildConfig
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.coroutineScope
|
||||
|
|
@ -25,18 +21,16 @@ internal typealias BlockchainProviderTypes = Map<Blockchain, List<ProviderType>>
|
|||
/**
|
||||
* Implementation of Blockchain SDK components factory
|
||||
*
|
||||
* @property assetLoader asset loader
|
||||
* @property blockchainProvidersResponseLoader blockchain providers response loader
|
||||
* @property configStore blockchain sdk config store
|
||||
* @property configManager config manager
|
||||
* @property blockchainProviderTypesStore blockchain provider types store
|
||||
* @property walletManagerFactoryCreator wallet manager factory creator
|
||||
*
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
internal class DefaultBlockchainSDKFactory(
|
||||
private val assetLoader: AssetLoader,
|
||||
private val blockchainProvidersResponseLoader: BlockchainProvidersResponseLoader,
|
||||
private val configStore: RuntimeStore<BlockchainSdkConfig>,
|
||||
private val configManager: ConfigManager,
|
||||
private val blockchainProviderTypesStore: RuntimeStore<BlockchainProviderTypes>,
|
||||
private val walletManagerFactoryCreator: WalletManagerFactoryCreator,
|
||||
dispatchers: CoroutineDispatcherProvider,
|
||||
|
|
@ -52,7 +46,6 @@ internal class DefaultBlockchainSDKFactory(
|
|||
|
||||
override suspend fun init() {
|
||||
coroutineScope {
|
||||
updateBlockchainSDKConfig()
|
||||
updateBlockchainProviderTypes()
|
||||
}
|
||||
}
|
||||
|
|
@ -61,7 +54,7 @@ internal class DefaultBlockchainSDKFactory(
|
|||
|
||||
private fun createWalletManagerFactory(): Flow<WalletManagerFactory?> {
|
||||
return combine(
|
||||
flow = configStore.get(),
|
||||
flow = configManager.getConfig().map { it.blockchainSdkConfig },
|
||||
flow2 = blockchainProviderTypesStore.get(),
|
||||
// flow3 = subscribe on feature toggles changes, TODO: [REDACTED_JIRA]
|
||||
transform = walletManagerFactoryCreator::create,
|
||||
|
|
@ -69,23 +62,6 @@ internal class DefaultBlockchainSDKFactory(
|
|||
.stateIn(scope = mainScope, started = SharingStarted.Eagerly, initialValue = null)
|
||||
}
|
||||
|
||||
private fun CoroutineScope.updateBlockchainSDKConfig() {
|
||||
launch {
|
||||
val config = assetLoader.load<ConfigValueModel>(fileName = CONFIG_FILE_NAME)
|
||||
|
||||
if (config == null) {
|
||||
Timber.e("Error loading BlockchainSDKConfig")
|
||||
return@launch
|
||||
}
|
||||
|
||||
Timber.i("Update BlockchainSDKConfig")
|
||||
|
||||
configStore.store(
|
||||
value = BlockchainSDKConfigConverter.convert(value = config),
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun CoroutineScope.updateBlockchainProviderTypes() {
|
||||
launch {
|
||||
val response = blockchainProvidersResponseLoader.load()
|
||||
|
|
@ -102,8 +78,4 @@ internal class DefaultBlockchainSDKFactory(
|
|||
)
|
||||
}
|
||||
}
|
||||
|
||||
private companion object {
|
||||
const val CONFIG_FILE_NAME = "tangem-app-config/config_${BuildConfig.ENVIRONMENT}"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
package com.tangem.blockchainsdk.converters
|
||||
|
||||
import com.tangem.blockchain.common.*
|
||||
import com.tangem.datasource.config.models.ConfigValueModel
|
||||
import com.tangem.utils.converter.Converter
|
||||
|
||||
/**
|
||||
* Converts [ConfigValueModel] to [BlockchainSdkConfig]
|
||||
*
|
||||
[REDACTED_AUTHOR]
|
||||
*/
|
||||
internal object BlockchainSDKConfigConverter : Converter<ConfigValueModel, BlockchainSdkConfig> {
|
||||
|
||||
override fun convert(value: ConfigValueModel): BlockchainSdkConfig {
|
||||
return BlockchainSdkConfig(
|
||||
blockchairCredentials = BlockchairCredentials(
|
||||
apiKey = value.blockchairApiKeys,
|
||||
authToken = value.blockchairAuthorizationToken,
|
||||
),
|
||||
blockcypherTokens = value.blockcypherTokens,
|
||||
quickNodeSolanaCredentials = QuickNodeCredentials(
|
||||
apiKey = value.quiknodeApiKey,
|
||||
subdomain = value.quiknodeSubdomain,
|
||||
),
|
||||
quickNodeBscCredentials = QuickNodeCredentials(
|
||||
apiKey = value.bscQuiknodeApiKey,
|
||||
subdomain = value.bscQuiknodeSubdomain,
|
||||
),
|
||||
infuraProjectId = value.infuraProjectId,
|
||||
tronGridApiKey = value.tronGridApiKey,
|
||||
nowNodeCredentials = NowNodeCredentials(value.nowNodesApiKey),
|
||||
getBlockCredentials = createGetBlockCredentials(value),
|
||||
kaspaSecondaryApiUrl = value.kaspaSecondaryApiUrl,
|
||||
tonCenterCredentials = TonCenterCredentials(
|
||||
mainnetApiKey = value.tonCenterKeys.mainnet,
|
||||
testnetApiKey = value.tonCenterKeys.testnet,
|
||||
),
|
||||
chiaFireAcademyApiKey = value.chiaFireAcademyApiKey,
|
||||
chiaTangemApiKey = value.chiaTangemApiKey,
|
||||
hederaArkhiaApiKey = value.hederaArkhiaKey,
|
||||
polygonScanApiKey = value.polygonScanApiKey,
|
||||
bittensorDwellirApiKey = value.bittensorDwellirApiKey,
|
||||
bittensorOnfinalityApiKey = value.bittensorOnfinalityKey,
|
||||
koinosProApiKey = value.koinosProApiKey,
|
||||
)
|
||||
}
|
||||
|
||||
private fun createGetBlockCredentials(configValues: ConfigValueModel): GetBlockCredentials? {
|
||||
return configValues.getBlockAccessTokens?.let { accessTokens ->
|
||||
GetBlockCredentials(
|
||||
xrp = GetBlockAccessToken(jsonRpc = accessTokens.xrp?.jsonRPC),
|
||||
cardano = GetBlockAccessToken(rosetta = accessTokens.cardano?.rosetta),
|
||||
avalanche = GetBlockAccessToken(jsonRpc = accessTokens.avalanche?.jsonRPC),
|
||||
eth = GetBlockAccessToken(jsonRpc = accessTokens.eth?.jsonRPC),
|
||||
etc = GetBlockAccessToken(jsonRpc = accessTokens.etc?.jsonRPC),
|
||||
fantom = GetBlockAccessToken(jsonRpc = accessTokens.fantom?.jsonRPC),
|
||||
rsk = GetBlockAccessToken(jsonRpc = accessTokens.rsk?.jsonRPC),
|
||||
bsc = GetBlockAccessToken(jsonRpc = accessTokens.bsc?.jsonRPC),
|
||||
polygon = GetBlockAccessToken(jsonRpc = accessTokens.polygon?.jsonRPC),
|
||||
gnosis = GetBlockAccessToken(jsonRpc = accessTokens.gnosis?.jsonRPC),
|
||||
cronos = GetBlockAccessToken(jsonRpc = accessTokens.cronos?.jsonRPC),
|
||||
solana = GetBlockAccessToken(jsonRpc = accessTokens.solana?.jsonRPC),
|
||||
ton = GetBlockAccessToken(jsonRpc = accessTokens.ton?.jsonRPC),
|
||||
tron = GetBlockAccessToken(rest = accessTokens.tron?.rest),
|
||||
cosmos = GetBlockAccessToken(rest = accessTokens.cosmos?.rest),
|
||||
near = GetBlockAccessToken(jsonRpc = accessTokens.near?.jsonRPC),
|
||||
aptos = GetBlockAccessToken(rest = accessTokens.aptos?.rest),
|
||||
dogecoin = GetBlockAccessToken(
|
||||
jsonRpc = accessTokens.dogecoin?.jsonRPC,
|
||||
blockBookRest = accessTokens.dogecoin?.blockBookRest,
|
||||
),
|
||||
litecoin = GetBlockAccessToken(
|
||||
jsonRpc = accessTokens.litecoin?.jsonRPC,
|
||||
blockBookRest = accessTokens.litecoin?.blockBookRest,
|
||||
),
|
||||
dash = GetBlockAccessToken(
|
||||
jsonRpc = accessTokens.dash?.jsonRPC,
|
||||
blockBookRest = accessTokens.dash?.blockBookRest,
|
||||
),
|
||||
bitcoin = GetBlockAccessToken(
|
||||
jsonRpc = accessTokens.bitcoin?.jsonRPC,
|
||||
blockBookRest = accessTokens.bitcoin?.blockBookRest,
|
||||
),
|
||||
algorand = GetBlockAccessToken(rest = accessTokens.algorand?.rest),
|
||||
zkSyncEra = GetBlockAccessToken(jsonRpc = accessTokens.zksync?.jsonRPC),
|
||||
polygonZkEvm = GetBlockAccessToken(jsonRpc = accessTokens.polygonZkevm?.jsonRPC),
|
||||
base = GetBlockAccessToken(jsonRpc = accessTokens.base?.jsonRPC),
|
||||
blast = GetBlockAccessToken(jsonRpc = accessTokens.blast?.jsonRPC),
|
||||
filecoin = GetBlockAccessToken(jsonRpc = accessTokens.filecoin?.jsonRPC),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
package com.tangem.blockchainsdk.di
|
||||
|
||||
import com.tangem.blockchain.common.BlockchainSdkConfig
|
||||
import com.tangem.blockchain.common.logging.BlockchainSDKLogger
|
||||
import com.tangem.blockchainsdk.BlockchainSDKFactory
|
||||
import com.tangem.blockchainsdk.DefaultBlockchainSDKFactory
|
||||
|
|
@ -13,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.asset.loader.AssetLoader
|
||||
import com.tangem.datasource.config.ConfigManager
|
||||
import com.tangem.datasource.local.preferences.AppPreferencesStore
|
||||
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
|
||||
import dagger.Module
|
||||
|
|
@ -29,15 +28,14 @@ internal object BlockchainSDKFactoryModule {
|
|||
@Provides
|
||||
@Singleton
|
||||
fun provideBlockchainSDKFactory(
|
||||
assetLoader: AssetLoader,
|
||||
blockchainProvidersResponseLoader: BlockchainProvidersResponseLoader,
|
||||
configManager: ConfigManager,
|
||||
walletManagerFactoryCreator: WalletManagerFactoryCreator,
|
||||
dispatchers: CoroutineDispatcherProvider,
|
||||
): BlockchainSDKFactory {
|
||||
return DefaultBlockchainSDKFactory(
|
||||
assetLoader = assetLoader,
|
||||
blockchainProvidersResponseLoader = blockchainProvidersResponseLoader,
|
||||
configStore = DefaultRuntimeStore(defaultValue = BlockchainSdkConfig()),
|
||||
configManager = configManager,
|
||||
blockchainProviderTypesStore = DefaultRuntimeStore(defaultValue = emptyMap()),
|
||||
walletManagerFactoryCreator = walletManagerFactoryCreator,
|
||||
dispatchers = dispatchers,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue