Updated on 2026-08-14
This commit is contained in:
commit
b02359feb6
10 changed files with 43 additions and 11 deletions
|
|
@ -75,5 +75,9 @@
|
|||
{
|
||||
"name": "TOKEN_SYNC_ENABLED",
|
||||
"version": "undefined"
|
||||
},
|
||||
{
|
||||
"name": "SOLANA_TX_HISTORY_ENABLED",
|
||||
"version": "undefined"
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ import com.tangem.domain.models.currency.CryptoCurrency
|
|||
import com.tangem.domain.models.currency.CryptoCurrencyStatus
|
||||
import com.tangem.domain.staking.model.StakingIntegration
|
||||
import com.tangem.domain.staking.model.stakekit.StakingError
|
||||
import com.tangem.domain.staking.model.stakekit.StakingErrors
|
||||
import com.tangem.domain.staking.model.stakekit.action.StakingActionCommonType
|
||||
import com.tangem.domain.tokens.model.warnings.CryptoCurrencyCheck
|
||||
import com.tangem.domain.tokens.model.warnings.CryptoCurrencyWarning
|
||||
|
|
@ -192,11 +191,9 @@ internal class AddStakingNotificationsTransformer(
|
|||
) {
|
||||
when (stakingError) {
|
||||
is StakingError.StakeKitApiError -> {
|
||||
if (stakingError.message != StakingErrors.MinimumAmountNotReachedError.message) {
|
||||
add(
|
||||
StakingNotification.Error.Common(subtitle = stringReference(stakingError.toString())),
|
||||
)
|
||||
}
|
||||
add(
|
||||
StakingNotification.Error.Common(subtitle = stringReference(stakingError.toString())),
|
||||
)
|
||||
}
|
||||
null -> Unit
|
||||
else -> add(NotificationUM.Warning.NetworkFeeUnreachable(onReload))
|
||||
|
|
|
|||
|
|
@ -1922,6 +1922,7 @@ internal class SwapModel @Inject constructor(
|
|||
toToken = toToken,
|
||||
fromAccount = fromAccount,
|
||||
toAccount = toAccount,
|
||||
mainTokenId = initialCurrencyFrom.id.value,
|
||||
)
|
||||
return true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,7 +179,10 @@ internal class StateBuilder(
|
|||
toToken: CryptoCurrencyStatus,
|
||||
fromAccount: Account.CryptoPortfolio?,
|
||||
toAccount: Account.CryptoPortfolio?,
|
||||
mainTokenId: String,
|
||||
): SwapStateHolder {
|
||||
val canSelectSendToken = mainTokenId != fromToken.currency.id.value
|
||||
val canSelectReceiveToken = mainTokenId != toToken.currency.id.value
|
||||
if (uiStateHolder.sendCardData !is SwapCardState.SwapCardData) return uiStateHolder
|
||||
return uiStateHolder.copy(
|
||||
sendCardData = SwapCardState.SwapCardData(
|
||||
|
|
@ -195,7 +198,7 @@ internal class StateBuilder(
|
|||
coinId = fromToken.currency.network.backendId,
|
||||
isNotNativeToken = fromToken.currency is CryptoCurrency.Token,
|
||||
tokenCurrency = fromToken.currency.symbol,
|
||||
canSelectAnotherToken = uiStateHolder.sendCardData.canSelectAnotherToken,
|
||||
canSelectAnotherToken = canSelectSendToken,
|
||||
balance = fromToken.getFormattedAmount(isNeedSymbol = false),
|
||||
networkIconRes = getActiveIconRes(fromToken.currency.network.rawId),
|
||||
isBalanceHidden = isBalanceHiddenProvider(),
|
||||
|
|
@ -213,7 +216,7 @@ internal class StateBuilder(
|
|||
coinId = toToken.currency.network.backendId,
|
||||
isNotNativeToken = toToken.currency is CryptoCurrency.Token,
|
||||
tokenCurrency = toToken.currency.symbol,
|
||||
canSelectAnotherToken = true,
|
||||
canSelectAnotherToken = canSelectReceiveToken,
|
||||
balance = toToken.getFormattedAmount(isNeedSymbol = false),
|
||||
networkIconRes = getActiveIconRes(toToken.currency.network.rawId),
|
||||
isBalanceHidden = isBalanceHiddenProvider(),
|
||||
|
|
|
|||
|
|
@ -263,8 +263,8 @@ internal class TangemPayDetailsModel @Inject constructor(
|
|||
bottomSheetNavigation.activate(
|
||||
TangemPayDetailsNavigation.AddFunds(
|
||||
walletId = params.userWalletId,
|
||||
fiatBalance = currentBalance.fiatBalance,
|
||||
cryptoBalance = currentBalance.cryptoBalance,
|
||||
fiatBalance = currentBalance.availableForWithdrawal,
|
||||
cryptoBalance = currentBalance.availableForWithdrawal,
|
||||
depositAddress = depositAddress,
|
||||
chainId = params.config.chainId,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
package com.tangem.features.txhistory
|
||||
|
||||
interface TxHistoryFeatureToggles {
|
||||
val isSolanaTxHistoryEnabled: Boolean
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
package com.tangem.features.txhistory.di
|
||||
|
||||
import com.tangem.core.configtoggle.FeatureToggles
|
||||
import com.tangem.core.configtoggle.feature.FeatureTogglesManager
|
||||
import com.tangem.features.txhistory.TxHistoryFeatureToggles
|
||||
import javax.inject.Inject
|
||||
|
||||
internal class DefaultTxHistoryFeatureToggles @Inject constructor(
|
||||
private val featureTogglesManager: FeatureTogglesManager,
|
||||
) : TxHistoryFeatureToggles {
|
||||
|
||||
override val isSolanaTxHistoryEnabled: Boolean
|
||||
get() = featureTogglesManager.isFeatureEnabled(FeatureToggles.SOLANA_TX_HISTORY_ENABLED)
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
# https://github.com/tangem/tangem-sdk-android/
|
||||
# https://github.com/tangem/vico
|
||||
|
||||
tangemBlockchainSdk = "develop-1473"
|
||||
tangemBlockchainSdk = "develop-1482"
|
||||
#tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds
|
||||
tangemCardSdk = "develop-602"
|
||||
#tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ internal class WalletManagerFactoryCreator @Inject constructor(
|
|||
private val accountCreator: AccountCreator,
|
||||
private val blockchainDataStorage: BlockchainDataStorage,
|
||||
private val blockchainSDKLogger: BlockchainSDKLogger,
|
||||
private val isSolanaTxHistoryEnabled: Boolean,
|
||||
) {
|
||||
|
||||
fun create(config: BlockchainSdkConfig, blockchainProviderTypes: BlockchainProviderTypes): WalletManagerFactory {
|
||||
|
|
@ -35,6 +36,7 @@ internal class WalletManagerFactoryCreator @Inject constructor(
|
|||
featureToggles = BlockchainFeatureToggles(
|
||||
isYieldSupplyEnabled = true,
|
||||
isPendingTransactionsEnabled = true,
|
||||
isSolanaTxHistoryEnabled = isSolanaTxHistoryEnabled,
|
||||
),
|
||||
blockchainDataStorage = blockchainDataStorage,
|
||||
loggers = listOf(blockchainSDKLogger),
|
||||
|
|
|
|||
|
|
@ -17,6 +17,8 @@ import com.tangem.blockchainsdk.providers.BlockchainProvidersTypesManager
|
|||
import com.tangem.blockchainsdk.providers.DevBlockchainProvidersTypesManager
|
||||
import com.tangem.blockchainsdk.providers.ProdBlockchainProvidersTypesManager
|
||||
import com.tangem.blockchainsdk.providers.dev.BlockchainProvidersResponseSerializer
|
||||
import com.tangem.core.configtoggle.FeatureToggles
|
||||
import com.tangem.core.configtoggle.feature.FeatureTogglesManager
|
||||
import com.tangem.datasource.api.tangemTech.TangemTechApi
|
||||
import com.tangem.datasource.di.NetworkMoshi
|
||||
import com.tangem.datasource.local.config.environment.EnvironmentConfig
|
||||
|
|
@ -89,11 +91,15 @@ internal object BlockchainSDKFactoryModule {
|
|||
tangemTechApi: TangemTechApi,
|
||||
appPreferencesStore: AppPreferencesStore,
|
||||
blockchainSDKLogger: BlockchainSDKLogger,
|
||||
featureTogglesManager: FeatureTogglesManager,
|
||||
): WalletManagerFactoryCreator {
|
||||
return WalletManagerFactoryCreator(
|
||||
accountCreator = DefaultAccountCreator(tangemTechApi),
|
||||
blockchainDataStorage = DefaultBlockchainDataStorage(appPreferencesStore),
|
||||
blockchainSDKLogger = blockchainSDKLogger,
|
||||
isSolanaTxHistoryEnabled = featureTogglesManager.isFeatureEnabled(
|
||||
FeatureToggles.SOLANA_TX_HISTORY_ENABLED,
|
||||
),
|
||||
)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue