Updated on 2026-08-14

This commit is contained in:
Tangem 2026-06-15 22:43:52 +03:00
commit d6f9f59866
1729 changed files with 67614 additions and 9361 deletions

View file

@ -16,16 +16,16 @@ import javax.inject.Inject
* @property accountCreator account creator
* @property blockchainDataStorage blockchain data storage
* @property blockchainSDKLogger blockchain SDK logger
* @property featureToggleValues blockchain feature toggle values
*
[REDACTED_AUTHOR]
*/
@Suppress("LongParameterList")
internal class WalletManagerFactoryCreator @Inject constructor(
private val accountCreator: AccountCreator,
private val blockchainDataStorage: BlockchainDataStorage,
private val blockchainSDKLogger: BlockchainSDKLogger,
private val isSolanaTxHistoryEnabled: Boolean,
private val isSolanaScaledUiAmountEnabled: Boolean,
private val isHederaErc20Enabled: Boolean,
private val featureToggleValues: FeatureToggleValues,
) {
fun create(config: BlockchainSdkConfig, blockchainProviderTypes: BlockchainProviderTypes): WalletManagerFactory {
@ -37,13 +37,23 @@ internal class WalletManagerFactoryCreator @Inject constructor(
accountCreator = accountCreator,
featureToggles = BlockchainFeatureToggles(
isYieldSupplyEnabled = true,
isYieldModeSwapEnabled = featureToggleValues.isYieldModeSwapEnabled,
isPendingTransactionsEnabled = true,
isSolanaTxHistoryEnabled = isSolanaTxHistoryEnabled,
isSolanaScaledUiAmountEnabled = isSolanaScaledUiAmountEnabled,
isHederaErc20Enabled = isHederaErc20Enabled,
isSolanaTxHistoryEnabled = featureToggleValues.isSolanaTxHistoryEnabled,
isSolanaScaledUiAmountEnabled = featureToggleValues.isSolanaScaledUiAmountEnabled,
isHederaErc20Enabled = featureToggleValues.isHederaErc20Enabled,
isStateOverrideGasEstimateEnabled = featureToggleValues.isStateOverrideGasEstimateEnabled,
),
blockchainDataStorage = blockchainDataStorage,
loggers = listOf(blockchainSDKLogger),
)
}
data class FeatureToggleValues(
val isSolanaTxHistoryEnabled: Boolean,
val isSolanaScaledUiAmountEnabled: Boolean,
val isYieldModeSwapEnabled: Boolean,
val isHederaErc20Enabled: Boolean,
val isStateOverrideGasEstimateEnabled: Boolean,
)
}

View file

@ -23,8 +23,8 @@ import com.tangem.datasource.api.tangemTech.TangemTechApi
import com.tangem.datasource.di.NetworkMoshi
import com.tangem.datasource.local.config.environment.EnvironmentConfig
import com.tangem.datasource.local.preferences.AppPreferencesStore
import com.tangem.utils.coroutines.AppCoroutineScope
import com.tangem.libs.blockchain_sdk.BuildConfig
import com.tangem.utils.coroutines.AppCoroutineScope
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import dagger.Module
import dagger.Provides
@ -97,14 +97,22 @@ internal object BlockchainSDKFactoryModule {
accountCreator = DefaultAccountCreator(tangemTechApi),
blockchainDataStorage = DefaultBlockchainDataStorage(appPreferencesStore),
blockchainSDKLogger = blockchainSDKLogger,
isSolanaTxHistoryEnabled = featureTogglesManager.isFeatureEnabled(
FeatureToggles.SOLANA_TX_HISTORY_ENABLED,
),
isSolanaScaledUiAmountEnabled = featureTogglesManager.isFeatureEnabled(
FeatureToggles.SOLANA_SCALED_UI_AMOUNT_ENABLED,
),
isHederaErc20Enabled = featureTogglesManager.isFeatureEnabled(
FeatureToggles.HEDERA_ERC20_ENABLED,
featureToggleValues = WalletManagerFactoryCreator.FeatureToggleValues(
isSolanaTxHistoryEnabled = featureTogglesManager.isFeatureEnabled(
FeatureToggles.SOLANA_TX_HISTORY_ENABLED,
),
isSolanaScaledUiAmountEnabled = featureTogglesManager.isFeatureEnabled(
FeatureToggles.SOLANA_SCALED_UI_AMOUNT_ENABLED,
),
isYieldModeSwapEnabled = featureTogglesManager.isFeatureEnabled(
FeatureToggles.TWI_1326_YIELD_MODE_SWAP_ENABLED,
),
isHederaErc20Enabled = featureTogglesManager.isFeatureEnabled(
FeatureToggles.HEDERA_ERC20_ENABLED,
),
isStateOverrideGasEstimateEnabled = featureTogglesManager.isFeatureEnabled(
FeatureToggles.AND_15120_SWAP_INTEGRATED_APPROVE,
),
),
)
}