diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml
index 4972952622..e6647acb4d 100644
--- a/core/res/src/main/res/values-fr/strings.xml
+++ b/core/res/src/main/res/values-fr/strings.xml
@@ -580,6 +580,7 @@
Cartes identiques
Code d\'accès
Disponible avec %s
+ L\'achat de crypto-monnaies sur Tangem est assuré par des fournisseurs tiers selon leurs conditions.
Recherche par pays
Indisponible
Autres devises
diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml
index 4bd80de49f..f63d0d3e28 100644
--- a/core/res/src/main/res/values-ru/strings.xml
+++ b/core/res/src/main/res/values-ru/strings.xml
@@ -51,6 +51,8 @@
Больше не показывать
Понятно
Балансы скрыты
+ Согласно информации от разработчиков сети, токены Kaspa находятся в режиме бета. Следите за обновлениями!
+ Бета режим
Пожалуйста, отсканируйте карту или кольцо
Пожалуйста, попробуйте снова через 30 секунд или отсканируйте карту или кольцо
Слишком много попыток
@@ -227,7 +229,7 @@
Не выбрано
Сеть
Сеть
- Вы можете добавить токен в ручную, если он не поддерживается Tangem
+ Вы можете добавить токен вручную, если он не поддерживается Tangem
Например, USDC
Символ
Символ токена
diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml
index ede0aab5f3..537be90651 100644
--- a/core/res/src/main/res/values/strings.xml
+++ b/core/res/src/main/res/values/strings.xml
@@ -51,6 +51,8 @@
Don\'t show again
Got it
Balances are hidden
+ According to the blockchain developers, Kaspa tokens are currently in beta. Stay tuned for updates!
+ Beta Mode
Please scan the card or ring
Please try again in 30 seconds or scan the card or ring
Too many attempts
diff --git a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/warnings/CryptoCurrencyWarning.kt b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/warnings/CryptoCurrencyWarning.kt
index 4c4473250c..ccd2264205 100644
--- a/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/warnings/CryptoCurrencyWarning.kt
+++ b/domain/tokens/models/src/main/java/com/tangem/domain/tokens/model/warnings/CryptoCurrencyWarning.kt
@@ -57,4 +57,6 @@ sealed class CryptoCurrencyWarning {
val amount: BigDecimal,
val maxAmount: BigDecimal?,
) : CryptoCurrencyWarning()
+
+ data object TokensInBetaWarning : CryptoCurrencyWarning()
}
\ No newline at end of file
diff --git a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/GetCurrencyWarningsUseCase.kt b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/GetCurrencyWarningsUseCase.kt
index 3e54e19951..325bba0998 100644
--- a/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/GetCurrencyWarningsUseCase.kt
+++ b/domain/tokens/src/main/kotlin/com/tangem/domain/tokens/GetCurrencyWarningsUseCase.kt
@@ -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,
diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt
index 414b838b91..8e3ed14b1c 100644
--- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt
+++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/analytics/TokenDetailsNotificationsAnalyticsSender.kt
@@ -53,6 +53,7 @@ internal class TokenDetailsNotificationsAnalyticsSender(
is TokenDetailsNotification.HederaAssociateWarning,
is TokenDetailsNotification.KoinosMana,
is TokenDetailsNotification.MigrationMaticToPol,
+ is TokenDetailsNotification.TokensInBeta,
-> null
}
}
diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt
index 86db0a1bf3..abc78abbec 100644
--- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt
+++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/components/TokenDetailsNotification.kt
@@ -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),
+ )
}
\ No newline at end of file
diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsNotificationConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsNotificationConverter.kt
index b1435ae301..1c0e9869ad 100644
--- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsNotificationConverter.kt
+++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsNotificationConverter.kt
@@ -135,6 +135,7 @@ internal class TokenDetailsNotificationConverter(
},
)
is CryptoCurrencyWarning.MigrationMaticToPol -> MigrationMaticToPol
+ is CryptoCurrencyWarning.TokensInBetaWarning -> TokensInBeta
}
}
diff --git a/libs/crypto/src/main/java/com/tangem/lib/crypto/BlockchainUtils.kt b/libs/crypto/src/main/java/com/tangem/lib/crypto/BlockchainUtils.kt
index 80b0af4a35..5e1a12c171 100644
--- a/libs/crypto/src/main/java/com/tangem/lib/crypto/BlockchainUtils.kt
+++ b/libs/crypto/src/main/java/com/tangem/lib/crypto/BlockchainUtils.kt
@@ -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
+ }
}
\ No newline at end of file