Updated on 2026-08-14

This commit is contained in:
Tangem 2024-12-23 18:31:26 +03:00
parent e9cb936766
commit 8e3bdacae1
9 changed files with 30 additions and 1 deletions

View file

@ -580,6 +580,7 @@
<string name="onboarding_wallet_info_title_second">Cartes identiques</string>
<string name="onboarding_wallet_info_title_third">Code d\'accès</string>
<string name="onramp_avaiable_with_payment_methods">Disponible avec %s</string>
<string name="onramp_choose_provider_title_hint">L\'achat de crypto-monnaies sur Tangem est assuré par des fournisseurs tiers selon leurs conditions.</string>
<string name="onramp_country_search">Recherche par pays</string>
<string name="onramp_country_unavailable">Indisponible</string>
<string name="onramp_currency_other">Autres devises</string>

View file

@ -51,6 +51,8 @@
<string name="balance_hidden_do_not_show_button">Больше не показывать</string>
<string name="balance_hidden_got_it_button">Понятно</string>
<string name="balance_hidden_title">Балансы скрыты</string>
<string name="beta_mode_warning_message">Согласно информации от разработчиков сети, токены Kaspa находятся в режиме бета. Следите за обновлениями!</string>
<string name="beta_mode_warning_title">Бета режим</string>
<string name="biometric_lockout_permanent_warning_description">Пожалуйста, отсканируйте карту или кольцо</string>
<string name="biometric_lockout_warning_description">Пожалуйста, попробуйте снова через 30 секунд или отсканируйте карту или кольцо</string>
<string name="biometric_lockout_warning_title">Слишком много попыток</string>
@ -227,7 +229,7 @@
<string name="custom_token_network_input_not_selected">Не выбрано</string>
<string name="custom_token_network_input_title">Сеть</string>
<string name="custom_token_network_selector_title">Сеть</string>
<string name="custom_token_subtitle">Вы можете добавить токен в ручную, если он не поддерживается Tangem</string>
<string name="custom_token_subtitle">Вы можете добавить токен вручную, если он не поддерживается Tangem</string>
<string name="custom_token_token_symbol_input_placeholder">Например, USDC</string>
<string name="custom_token_token_symbol_input_title">Символ</string>
<string name="custom_token_token_symbol_input_title_old">Символ токена</string>

View file

@ -51,6 +51,8 @@
<string name="balance_hidden_do_not_show_button">Don\'t show again</string>
<string name="balance_hidden_got_it_button">Got it</string>
<string name="balance_hidden_title">Balances are hidden</string>
<string name="beta_mode_warning_message">According to the blockchain developers, Kaspa tokens are currently in beta. Stay tuned for updates!</string>
<string name="beta_mode_warning_title">Beta Mode </string>
<string name="biometric_lockout_permanent_warning_description">Please scan the card or ring</string>
<string name="biometric_lockout_warning_description">Please try again in 30 seconds or scan the card or ring</string>
<string name="biometric_lockout_warning_title">Too many attempts</string>

View file

@ -57,4 +57,6 @@ sealed class CryptoCurrencyWarning {
val amount: BigDecimal,
val maxAmount: BigDecimal?,
) : CryptoCurrencyWarning()
data object TokensInBetaWarning : CryptoCurrencyWarning()
}

View file

@ -173,6 +173,7 @@ class GetCurrencyWarningsUseCase(
when {
tokenStatus != null && coinStatus != null -> {
buildList {
getIsBetaTokensWarning(tokenStatus.currency)?.let(::add)
getFeeWarning(
userWalletId = userWalletId,
coinStatus = coinStatus,
@ -219,6 +220,15 @@ class GetCurrencyWarningsUseCase(
}
}
private fun getIsBetaTokensWarning(currency: CryptoCurrency): CryptoCurrencyWarning? {
val isTokenBetaFunctionality = BlockchainUtils.isTokenBetaFunctionality(currency.network.id.value)
return if (isTokenBetaFunctionality) {
CryptoCurrencyWarning.TokensInBetaWarning
} else {
null
}
}
private suspend fun constructTokenBalanceNotEnoughWarning(
userWalletId: UserWalletId,
tokenStatus: CryptoCurrencyStatus,

View file

@ -53,6 +53,7 @@ internal class TokenDetailsNotificationsAnalyticsSender(
is TokenDetailsNotification.HederaAssociateWarning,
is TokenDetailsNotification.KoinosMana,
is TokenDetailsNotification.MigrationMaticToPol,
is TokenDetailsNotification.TokensInBeta,
-> null
}
}

View file

@ -229,4 +229,9 @@ internal sealed class TokenDetailsNotification(val config: NotificationConfig) {
title = resourceReference(id = R.string.warning_matic_migration_title),
subtitle = resourceReference(id = R.string.warning_matic_migration_message),
)
data object TokensInBeta : Warning(
title = resourceReference(id = R.string.beta_mode_warning_title),
subtitle = resourceReference(id = R.string.beta_mode_warning_message),
)
}

View file

@ -135,6 +135,7 @@ internal class TokenDetailsNotificationConverter(
},
)
is CryptoCurrencyWarning.MigrationMaticToPol -> MigrationMaticToPol
is CryptoCurrencyWarning.TokensInBetaWarning -> TokensInBeta
}
}

View file

@ -141,4 +141,9 @@ object BlockchainUtils {
private fun getNetworkNameWithoutTestnet(blockchain: Blockchain): String {
return blockchain.getNetworkName().replace(oldValue = " Testnet", newValue = "")
}
fun isTokenBetaFunctionality(blockchainId: String): Boolean {
val blockchain = Blockchain.fromId(blockchainId)
return blockchain == Blockchain.Kaspa
}
}