From a0d7cd306657cf1abb1a75297d024db7f5336ba4 Mon Sep 17 00:00:00 2001 From: Tangem Date: Fri, 24 Oct 2025 15:07:18 +0500 Subject: [PATCH] Updated on 2026-08-14 --- .../ui/tokens/TokenItemStateConverter.kt | 9 ++- core/res/src/main/res/values-de/strings.xml | 61 +++++++++++++-- core/res/src/main/res/values-es/strings.xml | 78 +++++++++++++++++++ core/res/src/main/res/values-fr/strings.xml | 2 +- core/res/src/main/res/values-ru/strings.xml | 7 +- .../src/main/res/values-uk-rUA/strings.xml | 2 +- core/res/src/main/res/values/strings.xml | 7 +- .../impl/main/ui/YieldSupplyBlockContent.kt | 31 ++++---- .../active/ui/YieldSupplyActiveTitle.kt | 5 +- gradle/tangem_dependencies.toml | 2 +- .../com/tangem/lib/crypto/BlockchainUtils.kt | 7 ++ 11 files changed, 181 insertions(+), 30 deletions(-) diff --git a/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt b/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt index 17aa2184d7..31d7fecf65 100644 --- a/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt +++ b/common/ui/src/main/java/com/tangem/common/ui/tokens/TokenItemStateConverter.kt @@ -22,6 +22,7 @@ import com.tangem.domain.models.currency.CryptoCurrencyStatus import com.tangem.domain.models.currency.yieldSupplyKey import com.tangem.domain.models.staking.YieldBalance import com.tangem.domain.staking.utils.getTotalWithRewardsStakingBalance +import com.tangem.lib.crypto.BlockchainUtils import com.tangem.utils.StringsSigns.DASH_SIGN import com.tangem.utils.converter.Converter import com.tangem.utils.extensions.orZero @@ -185,6 +186,7 @@ class TokenItemStateConverter( } } + // polygon-pos_0xc2132d05d31c914a87c6611c10748aeb04b58e8f private fun resolveEarnApy( cryptoCurrencyStatus: CryptoCurrencyStatus, yieldModuleApyMap: Map, @@ -192,7 +194,12 @@ class TokenItemStateConverter( ): Pair { val token = cryptoCurrencyStatus.currency as? CryptoCurrency.Token if (token != null && yieldModuleApyMap.isNotEmpty()) { - val yieldSupplyApy = yieldModuleApyMap[token.yieldSupplyKey()] + val yieldSupplyApy = yieldModuleApyMap.entries.firstOrNull { + it.key.equals( + other = token.yieldSupplyKey(), + ignoreCase = BlockchainUtils.isCaseInsensitiveContractAddress(token.network.rawId), + ) + }?.value if (yieldSupplyApy != null) { val isActive = cryptoCurrencyStatus.value.yieldSupplyStatus?.isActive ?: false return resourceReference( diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml index ee000bb82f..d03a24ea12 100644 --- a/core/res/src/main/res/values-de/strings.xml +++ b/core/res/src/main/res/values-de/strings.xml @@ -1675,31 +1675,82 @@ Nein, alles senden Um %s XTZ reduziert Damit Sie beim nächsten Aufladen Ihrer Brieftasche keine erhöhte Provision zahlen, soll der Betrag um %s XTZ reduziert werden + Wenn der Yield-Modus aktiviert ist, gehen alle zukünftigen Einzahlungen an diese Adresse an Aave. Du kannst über Dein Guthaben weiterhin frei verfügen. + Deine %s wird an Aave übermittelt + Die Bereitstellung von %1$s %2$s für Aave steht aus + Genehmigen + Die Genehmigung Deines Tokens wurde widerrufen. Erteilen diese erneut, um die Servicefunktionalität fortzusetzen. + Genehmigung erforderlich + Die Gebühr wird abgezogen und Dein Vermögen wird erneut verliehen. + Um weiterhin Geld verdienen zu können, ist eine Genehmigung erforderlich. + Genehmigung bestätigen + Deine Gelder werden derzeit dem Aave-Protokoll bereitgestellt, Du kannst sie jedoch jederzeit verwalten. + Deine%s ist in Aave hinterlegt Chart konnte nicht geladen werden... Der erhaltene Betrag %1$s %2$s wurde nicht auf Aave eingezahlt. + APY %1$s%% + Verfügbar + Aktueller effektiver Jahreszins + Beim Aufladen zum Ausleihen wird eine Netzwerkgebühr von maximal %1$s vom Guthaben abgezogen. + Die Netzwerkgebühr ist derzeit zu hoch, um die Kreditvergabe durchzuführen. Die Mittel werden bereitgestellt, sobald sie auf %1$s oder darunter fallen. + Meine Mittel + Dein %1$s ist nun bei Aave hinterlegt und bringt Zinsen ein. Du besitzt einen %2$s-Token, der Dein Guthaben repräsentiert und mit der Zeit wächst. Wenn Du mehr Geld einzahlst, wird dieses an Aave weitergeleitet, um Zinsen abzüglich einer Transaktionsgebühr zu erwirtschaften. + Ertragsmodus + Gesamtverdienst + Übertragungen zu Aave + Entdecke Aave + Dies ist die aktuelle Liefergebühr auf %s. Die tatsächlichen Kosten werden auf der Registerkarte \"Aktivierung\" angezeigt. Aktuelle Gebühr + Alle zukünftigen %s-Einzahlungen werden automatisch an Aave geliefert, wobei die Transaktionsgebühr abgezogen wird. + Bei jeder zukünftigen Aufladung wird eine Netzwerkgebühr von ungefähr %1$s (%2$s) abgezogen, die Ihr Limit von %3$s (%4$s) nicht überschreitet. + Wenn die Netzwerkgebühren über die maximale Gebühr steigen, wird die Transaktion erst durchgeführt, wenn diese sinken. Du kannst dieses Limit später ändern. Maximale Gebühr - Dies ist die niedrigste Einzahlung, die an Aave gesendet werden kann. Um Einzahlungen rentabel zu halten, verarbeiten wir sie nicht, wenn die Netzwerkgebühren 4 % des Betrags übersteigen. + Der Mindestbetrag wird aus der aktuellen Netzwerkgebühr berechnet, um sicherzustellen, dass er 4%% nicht überschreitet, was den Mindestbetrag %1$s (%2$s) ergibt. + Mindestaufladung Gebührenpolitik - Die Netzwerkgebühr ist derzeit zu hoch. Warte, bis sie unter Dein Limit fällt. + Tangem erhebt außerdem eine Servicegebühr von 3% auf den erzielten Ertrag. + Deine Gelder werden automatisch an Aave überwiesen, sobald die Netzwerkgebühren niedriger sind oder Dein Guthaben den erforderlichen Mindestbetrag erreicht. Historische Renditen - Sofortige Auszahlung + Die Freigabe für Deine Token im Yield-Modus wurde widerrufen. Öffne den Token, um die Berechtigung erneut zu erteilen. + Token-Genehmigung erforderlich + Prüfe Deine Netzwerkverbindung + Informationen zu den Netzwerkgebühren nicht erreichbar + Jede Einzahlung, die Du tätigst, wird automatisch an Aave weitergeleitet. + Automatische Übertragung zu Aave + Senden, tauschen oder verkaufen Deine Gelder sofort, wann immer Du willst. + Jederzeit Zugriff auf Dein Geld Wie funktioniert das? + Aave ist ein dezentrales Protokoll, das einen Gesamtwert von über 81,9 Milliarden US-Dollar verwaltet. + Dezentral und selbstverwahrend + Durch die Nutzung dieses Dienstes erklärst Du Dich mit provider\n%1$s und %2$s einverstanden Mit Aave verbinden - Aave %1$s • Variabler Zinssatz + Aave %1$s%% • Variabler Zinssatz Aave Durchschnitt %s Renditen des letzten Jahres + Der aktuelle Zinssatz ist immer variabel und wird automatisch vom Aave On-Chain-Smart-Contract auf der Grundlage von Angebot und Nachfrage in Echtzeit berechnet. Unterstützt durch Der Zinssatz ist variabel + Wenn Du dein Guthaben auflädst, wird es automatisch an Aave weitergeleitet, um Zinsen zu verdienen. zur Deckung der Transaktionsgebühr wird ein Betrag von %s abgezogen. Beginn des Verdienstes + Dein %s wird an Aave übermittelt, bleibt aber verwaltbar. Siehe Gebührenrichtlinie + Deine nächste Aufladung wird automatisch an Aave weitergeleitet. Aktiv Pausiert + Deaktiviere den Yield-Modus + Wenn Du diese Option deaktivierst, wird Dein Geld von Aave auf %s in Deiner Wallet abgehoben und es werden keine Belohnungen mehr verdient. + Die Netzwerkgebühr wird von dem Betrag, den Du abhebst, abgezogen. Effektiver Jahreszins für Versorgung + Effektiver Jahreszins Lass Dein Geld arbeiten – verdiene Zinsen auf Dein Guthaben. - Verdienst auf Dein Guthaben + Zinsen fallen automatisch an + Ertragsmodus + Bearbeitung Deiner Einzahlung Lass dein Guthaben arbeiten + Automatisch + Einzahlung von %1$s %2$s zur Deckung der Netzwerkgebühr für Transaktionen + Die Gebühr %s kann nicht gedeckt werden Der Stakingservice ist derzeit nicht verfügbar. Bitte versuche es später erneut. Einnahmen nicht verfügbar Chart konnte nicht geladen werden... diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml index 98241d95b8..4a8daa7d9e 100644 --- a/core/res/src/main/res/values-es/strings.xml +++ b/core/res/src/main/res/values-es/strings.xml @@ -1476,4 +1476,82 @@ No, enviar todo Reducir en %s XTZ Para evitar pagar una comisión mayor la próxima vez que recargue su billetera, reduzca el importe en %s XTZ + Con el modo Rendimiento activo, todos los depósitos futuros a esta dirección irán a Aave. Puede seguir gestionando sus fondos libremente. + Su %s se suministra a Aave + El suministro de %1$s %2$s a Aave está pendiente + Aprobar + Se ha revocado la aprobación de su token. Concédalo de nuevo para reanudar el servicio. + Aprobación necesaria + Se le descontará la comisión y se le volverán a prestar sus activos. + Para seguir ganando, se requiere aprobación. + Confirmar aprobación + Sus fondos se suministran actualmente al protocolo Aave, pero puede gestionarlos en cualquier momento. + Su %s está depositado en Aave + No se puede cargar el gráfico... + La cantidad recibida, %1$s %2$s no fue suministrada a Aave. + APY %1$s%% + Disponible + APY actual + En las recargas para préstamos, se deducirá del saldo una comisión de red no superior a %1$s. + La tasa de red es actualmente demasiado alta para ejecutar préstamos. Los fondos se suministrarán una vez que baje a %1$s o menos. + Mis fondos + Su %1$s está ahora depositado en Aave y devenga intereses. Tiene un token%2$s, que representa su saldo y crece con el tiempo. Cuando deposite más fondos, estos se suministrarán a Aave para ganar intereses, menos una comisión por transacción. + Modo de rendimiento + Ganancias totales + Transferencias a Aave + Explore Aave + Esta es la tarifa de suministro actual en %s. El coste real se mostrará en la pestaña de activación. + Tarifa actual + Todos los depósitos futuros %s se proporcionarán a Aave automáticamente, con la tarifa de transacción deducida. + Se deducirá una comisión de red aproximada de %1$s (%2$s) de cada recarga futura, y no superará su límite de %3$s (%4$s). + Si las tarifas de red superan la tarifa máxima, la transacción no se realizará hasta que disminuyan. Puede cambiar este límite más adelante. + Tarifa máxima + El monto mínimo se calcula a partir de la tarifa de red actual para garantizar que no exceda 4%%, lo que hace que el mínimo sea %1$s (%2$s). + Recarga mínima + Política de tarifas + Tangem también cobra una comisión de servicio del 3% sobre el rendimiento obtenido. + Sus fondos se suministrarán automáticamente a Aave una vez que las comisiones de red sean más bajas o su saldo alcance el importe mínimo requerido. + Rendimientos históricos + Se ha revocado la autorización para su token en el modo Rendimiento. Abra el token para volver a conceder el permiso. + Se necesita la aprobación de Token + Compruebe su conexión de red + Información de tarifas de red inaccesible + Cada depósito que realice se suministrará a Aave automáticamente. + Transferencia automática a Aave + Envíe, intercambie o venda sus fondos al instante, cuando quiera. + Acceda a sus fondos en cualquier momento + ¿Cómo funciona? + Aave es un protocolo descentralizado que administra más de 81.9 billones de dólares en valor total. + Descentralizado y autocustodiado + Al utilizar este servicio, usted acepta que el proveedor\n%1$s y %2$s + Conectar Aave + Aave %1$s%% - Tipo de interés variable + Aave + Promedio %s + Resultados del año pasado + La tasa de interés actual siempre es variable y calculada automáticamente por el contrato inteligente onchain de Aave, en función de la oferta y la demanda en tiempo real. + Desarrollado por + El tipo de interés es variable + Cuando recargue, sus fondos se enviarán automáticamente a Aave para comenzar a ganar intereses. %s se deducirá para cubrir la tarifa de transacción. + Suministro de activos + Su %s se suministrará a Aave, pero seguirá siendo gestionable. + Ver política de tarifas + Sus próximas recargas se suministrarán automáticamente a Aave. + Activo + En pausa + Desactivar el modo de rendimiento + Al desactivar esto, retirará sus fondos de Aave a %s en su billetera y dejará de ganar recompensas. + La comisión de red se deducirá del importe que retire. + Suministro APY + APY + Deje que sus fondos hagan el trabajo mientras usted mantiene el control. + Los intereses se devengan automáticamente + Modo de rendimiento + Procesando su depósito + Haga que sus activos trabajen para usted + Automático + Deposite algo de %1$s %2$s para cubrir la tarifa de red para las transacciones + No se puede cubrir la tarifa %s + El servicio de intereses no está disponible en este momento. Vuelva a intentarlo más tarde. + Ganancias no disponibles diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml index 8e7c887222..22419eb4eb 100644 --- a/core/res/src/main/res/values-fr/strings.xml +++ b/core/res/src/main/res/values-fr/strings.xml @@ -1484,7 +1484,7 @@ Des frais de réseau d\'environ %1$s (%2$s) seront déduits de chaque recharge future, sans dépasser votre limite de %3$s (%4$s). Si les frais de réseau dépassent le montant maximal, la transaction ne sera pas effectuée tant qu\'ils n\'auront pas diminué. Vous pouvez modifier cette limite ultérieurement. Frais maximaux - Le montant minimum est calculé à partir des frais de réseau actuels afin de garantir qu\'il ne dépasse pas 4 %, ce qui donne un minimum de %1$s (%2$s). + Le montant minimum est calculé à partir des frais de réseau actuels afin de garantir qu\'il ne dépasse pas 4 %%, ce qui donne un minimum de %1$s (%2$s). Recharge minimale Politique tarifaire Tangem prélève également des frais de service de 3% sur les revenus générés. diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml index e4029c073b..d31c06528c 100644 --- a/core/res/src/main/res/values-ru/strings.xml +++ b/core/res/src/main/res/values-ru/strings.xml @@ -395,6 +395,7 @@ Больше провайдеров на подходе.\nСледите за обновлениями! Провайдер Лучший курс + Лучший выбор Доступно до %s Доступно с %s Недоступно для этой пары @@ -1596,7 +1597,7 @@ Все следующие пополнения %s автоматически поступят в Aave с удержанием комиссии за транзакцию. Если комиссия сети превысит максимальный лимит, транзакция не будет выполнена до тех пор, пока комиссия не снизится. Вы сможете изменить этот лимит позже. Максимальная комиссия - Это минимальный депозит, который можно отправить в Aave. Чтобы депозиты оставались прибыльными, мы не обрабатываем их, когда комиссия сети превышает 4% от суммы. + Это минимальный депозит, который можно отправить в Aave. Чтобы депозиты оставались прибыльными, мы не обрабатываем их, когда комиссия сети превышает %1$s%2$sот суммы. Минимальный депозит Политика комиссий Tangem взимает комиссию за обслуживание в размере 3% от полученного дохода. @@ -1642,7 +1643,7 @@ Автоматически Внесите немного %1$s %2$s, чтобы покрыть комиссию сети за транзакции. Невозможно покрыть комиссию в %s - Сервис начисления процентов в данный момент недоступен. Пожалуйста, попробуйте позже. - Данные о доходе недоступны + Сервис доходности в данный момент недоступен. Пожалуйста, попробуйте позже. + Режим доходности недоступен Невозможно загрузить график diff --git a/core/res/src/main/res/values-uk-rUA/strings.xml b/core/res/src/main/res/values-uk-rUA/strings.xml index 429d57b4f6..4a7a2575b3 100644 --- a/core/res/src/main/res/values-uk-rUA/strings.xml +++ b/core/res/src/main/res/values-uk-rUA/strings.xml @@ -1432,6 +1432,6 @@ Ні, відправити все Зменшити на %s XTZ Щоб не платити підвищену комісію при наступному поповненні гаманця, зменште суму на %s XTZ - Це найменший депозит, який можна надіслати в Aave. Щоб депозити залишалися прибутковими, ми не обробляємо їх, коли комісія мережі перевищує 4% від суми. + Це найменший депозит, який можна надіслати в Aave. Щоб депозити залишалися прибутковими, ми не обробляємо їх, коли комісія мережі перевищує %1$s%2$s від суми. Дозвіл для вашого токена в режимі Yield було відкликано. Відкрийте токен, щоб надати дозвіл знову. diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml index 6d900d8482..f93fca2b20 100644 --- a/core/res/src/main/res/values/strings.xml +++ b/core/res/src/main/res/values/strings.xml @@ -249,6 +249,7 @@ Enable Enabled Error + Estimated fee Swap Explore Explore transaction history @@ -484,7 +485,7 @@ Provider Best rate FCA Warning List - Great rate + Best choice Provider in FCA warning list Available up to %s Available from %s @@ -1888,7 +1889,7 @@ Automatic Deposit some %1$s %2$s to cover the network fee for transactions Unable to cover %s fee - The interest service isn’t available at the moment. Please try again later. - Earnings unavailable + The Yield mode service isn’t available at the moment. Please try again later. + Yield mode unavailable Unable to load chart... diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/main/ui/YieldSupplyBlockContent.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/main/ui/YieldSupplyBlockContent.kt index 913def042b..dbcb639c6b 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/main/ui/YieldSupplyBlockContent.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/main/ui/YieldSupplyBlockContent.kt @@ -40,30 +40,32 @@ import com.tangem.utils.StringsSigns internal fun YieldSupplyBlockContent(yieldSupplyUM: YieldSupplyUM, modifier: Modifier = Modifier) { AnimatedContent( targetState = yieldSupplyUM, - modifier = modifier, ) { supplyUM -> when (supplyUM) { - is YieldSupplyUM.Available -> SupplyAvailable(supplyUM) - YieldSupplyUM.Loading -> SupplyLoading() - is YieldSupplyUM.Content -> SupplyContent(supplyUM) + is YieldSupplyUM.Available -> SupplyAvailable(supplyUM, modifier) + YieldSupplyUM.Loading -> SupplyLoading(modifier) + is YieldSupplyUM.Content -> SupplyContent(supplyUM, modifier) YieldSupplyUM.Processing.Enter -> SupplyProcessing( resourceReference(R.string.yield_module_token_details_earn_notification_processing), + modifier, ) YieldSupplyUM.Processing.Exit -> SupplyProcessing( resourceReference(R.string.yield_module_stop_earning), + modifier, ) - YieldSupplyUM.Unavailable -> SupplyUnavailable() - YieldSupplyUM.Initial -> {} + YieldSupplyUM.Unavailable -> SupplyUnavailable(modifier) + YieldSupplyUM.Initial -> Unit } } } @Composable -private fun SupplyAvailable(supplyUM: YieldSupplyUM.Available) { +private fun SupplyAvailable(supplyUM: YieldSupplyUM.Available, modifier: Modifier = Modifier) { SupplyInfo( title = supplyUM.title, subtitle = resourceReference(R.string.yield_module_token_details_earn_notification_description), iconTint = TangemTheme.colors.icon.accent, + modifier = modifier, button = { SecondaryButton( text = stringResourceSafe(R.string.common_learn_more), @@ -76,20 +78,21 @@ private fun SupplyAvailable(supplyUM: YieldSupplyUM.Available) { } @Composable -private fun SupplyUnavailable() { +private fun SupplyUnavailable(modifier: Modifier = Modifier) { SupplyInfo( title = resourceReference(R.string.yield_module_unavailable_title), subtitle = resourceReference(R.string.yield_module_unavailable_subtitle), iconTint = TangemTheme.colors.icon.inactive, button = null, + modifier = modifier, ) } @Composable -private fun SupplyContent(supplyUM: YieldSupplyUM.Content) { +private fun SupplyContent(supplyUM: YieldSupplyUM.Content, modifier: Modifier = Modifier) { Row( verticalAlignment = Alignment.CenterVertically, - modifier = Modifier + modifier = modifier .clip(RoundedCornerShape(16.dp)) .background(TangemTheme.colors.background.primary) .clickable(onClick = supplyUM.onClick) @@ -149,10 +152,10 @@ private fun SupplyContent(supplyUM: YieldSupplyUM.Content) { } @Composable -private fun SupplyProcessing(text: TextReference) { +private fun SupplyProcessing(text: TextReference, modifier: Modifier = Modifier) { Row( verticalAlignment = Alignment.CenterVertically, - modifier = Modifier + modifier = modifier .clip(RoundedCornerShape(16.dp)) .background(TangemTheme.colors.background.primary) .padding(12.dp), @@ -190,11 +193,11 @@ private fun SupplyProcessing(text: TextReference) { } @Composable -private fun SupplyLoading() { +private fun SupplyLoading(modifier: Modifier = Modifier) { Column( verticalArrangement = Arrangement.spacedBy(12.dp), horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier + modifier = modifier .clip(RoundedCornerShape(16.dp)) .background(TangemTheme.colors.background.primary) .padding(12.dp), diff --git a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/active/ui/YieldSupplyActiveTitle.kt b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/active/ui/YieldSupplyActiveTitle.kt index 300e051ba1..f965c213f4 100644 --- a/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/active/ui/YieldSupplyActiveTitle.kt +++ b/features/yield-supply/impl/src/main/java/com/tangem/features/yield/supply/impl/subcomponents/active/ui/YieldSupplyActiveTitle.kt @@ -16,7 +16,10 @@ import com.tangem.features.yield.supply.impl.R @Composable internal fun YieldSupplyActiveTitle(onCloseClick: () -> Unit) { Box(modifier = Modifier.fillMaxWidth()) { - Column(modifier = Modifier.align(Alignment.Center)) { + Column( + horizontalAlignment = Alignment.CenterHorizontally, + modifier = Modifier.align(Alignment.Center), + ) { Text( text = stringResourceSafe(R.string.yield_module_earn_sheet_title), style = TangemTheme.typography.subtitle1, diff --git a/gradle/tangem_dependencies.toml b/gradle/tangem_dependencies.toml index 1cd201c597..0d352a3768 100644 --- a/gradle/tangem_dependencies.toml +++ b/gradle/tangem_dependencies.toml @@ -5,7 +5,7 @@ # https://github.com/tangem/tangem-sdk-android/ # https://github.com/tangem/vico -tangemBlockchainSdk = "releases-5.30-1285" +tangemBlockchainSdk = "releases-5.30-1290" #tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds tangemCardSdk = "releases-5.30-567" #tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^ 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 17fd386e25..b51011e498 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 @@ -159,6 +159,13 @@ object BlockchainUtils { return isSolana(blockchainId) || isBSC(blockchainId) || isTon(blockchainId) } + /** Checks if the blockchain uses case-insensitive contract addresses */ + fun isCaseInsensitiveContractAddress(blockchainId: String): Boolean { + val blockchain = Blockchain.fromId(blockchainId) + + return blockchain.isEvm() + } + private fun getNetworkStandardName(blockchain: Blockchain): String { return when (blockchain) { Blockchain.Ethereum, Blockchain.EthereumTestnet -> "ERC20"