Updated on 2026-08-14

This commit is contained in:
Tangem 2024-02-02 19:10:13 +03:00
parent ad0c793b00
commit 7caeaf3a12
9 changed files with 78 additions and 22 deletions

View file

@ -19,7 +19,6 @@ import com.tangem.blockchain.extensions.SimpleResult
import com.tangem.crypto.bip39.Mnemonic
import com.tangem.crypto.hdWallet.DerivationPath
import com.tangem.datasource.asset.AssetReader
import com.tangem.datasource.config.ConfigManager
import com.tangem.datasource.local.userwallet.UserWalletsStore
import com.tangem.datasource.local.walletmanager.WalletManagersStore
import com.tangem.domain.common.util.hasDerivation
@ -39,6 +38,7 @@ import kotlinx.coroutines.flow.Flow
import timber.log.Timber
import java.math.BigDecimal
import java.util.EnumSet
import com.tangem.blockchain.common.WalletManagerFactory as BlockchainWalletManagerFactory
@Suppress("LargeClass", "TooManyFunctions")
// FIXME: Move to its own module and make internal
@ -46,7 +46,7 @@ import java.util.EnumSet
class DefaultWalletManagersFacade(
private val walletManagersStore: WalletManagersStore,
private val userWalletsStore: UserWalletsStore,
configManager: ConfigManager,
blockchainWalletManagerFactory: BlockchainWalletManagerFactory,
mnemonic: Mnemonic,
assetReader: AssetReader,
moshi: Moshi,
@ -54,7 +54,7 @@ class DefaultWalletManagersFacade(
private val demoConfig by lazy { DemoConfig() }
private val resultFactory by lazy { UpdateWalletManagerResultFactory() }
private val walletManagerFactory by lazy { WalletManagerFactory(configManager) }
private val walletManagerFactory by lazy { WalletManagerFactory(blockchainWalletManagerFactory) }
private val sdkTokenConverter by lazy { SdkTokenConverter() }
private val txHistoryStateConverter by lazy { SdkTransactionHistoryStateConverter() }
private val txHistoryItemConverter by lazy { SdkTransactionHistoryItemConverter(assetReader, moshi) }

View file

@ -3,23 +3,18 @@ package com.tangem.domain.walletmanager.utils
import com.tangem.blockchain.common.Blockchain
import com.tangem.blockchain.common.DerivationParams
import com.tangem.blockchain.common.WalletManager
import com.tangem.blockchain.common.WalletManagerFactory
import com.tangem.crypto.hdWallet.DerivationPath
import com.tangem.datasource.config.ConfigManager
import com.tangem.domain.common.DerivationStyleProvider
import com.tangem.domain.common.extensions.makeWalletManagerForApp
import com.tangem.domain.common.util.derivationStyleProvider
import com.tangem.domain.models.scan.ScanResponse
import timber.log.Timber
import com.tangem.blockchain.common.WalletManagerFactory as BlockchainWalletManagerFactory
internal class WalletManagerFactory(
private val configManager: ConfigManager,
private val sdkWalletManagerFactory: BlockchainWalletManagerFactory,
) {
private val sdkWalletManagerFactory by lazy {
WalletManagerFactory(configManager.config.blockchainSdkConfig)
}
fun createWalletManager(
scanResponse: ScanResponse,
blockchain: Blockchain,