diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml
index 913619547d..e44b286ffe 100644
--- a/core/res/src/main/res/values-de/strings.xml
+++ b/core/res/src/main/res/values-de/strings.xml
@@ -323,6 +323,7 @@
Nein
Keine Adresse
Nicht hinzugefügt
+ Nicht verfügbar
Nicht jetzt
Jetzt
OK
@@ -561,6 +562,8 @@
Feedback zu Tangem
Eine Transaktion kann nicht gesendet werden
Fehler in der Coinbeschreibung
+ Nicht genügend Mittel
+ Transaktionsgebühr
Es ist ein Fehler aufgetreten
Es ist ein Fehler aufgetreten. Code: %s.
Memo erforderlich
@@ -602,7 +605,7 @@
Neue Wallet erstellen
Erhöhe Deine Sicherheit mit der überlegenen Hardware-Wallet von Tangem.
Hardware-Wallet
- Übertrage Deine aktuelle Wallet in die Tangem Wallet.
+ Übertrage Deine aktuelle Wallet in die Tangem Hardware-Wallet.
Aktualisiere Deine aktuelle Wallet
Gehe zum Backup
Bitte sicher Deine Wallet, bevor Du einen Zugangscode erstellst.
@@ -827,7 +830,7 @@
Kurze Zusammenfassung
Verwandte Nachrichten
Verwandte Token
- Quellen
+ Verwandte Nachrichten
Auf dem Laufenden bleiben
NFC ist auf deinem Gerät nicht verfügbar
Über NFT
@@ -995,6 +998,7 @@
Zugangscode wiederherstellen
Identische Karten oder Ring
Zugangscode
+ Du kannst nur eine mobile Wallet verwenden. Aktualisiere diese auf einer Tangem-Hardware-Wallet oder füge eine neue Hardware-Wallet hinzu.
Alle Angebote
Verfügbar mit %s
Anbieter erleichtern Transaktionen
@@ -1265,6 +1269,7 @@
Der Stakingbetrag wird aufgrund der Netzwerkregeln auf %1$s TRX aufgerundet.
Der Betrag der unstaked wird, wird aufgrund der Netzwerkregeln auf %1$s TRX gerundet.
Effektiver Jahreszins %1$s%%
+ Deine Staking-Belohnungen beginnen nach 5 Epochen (~25 Tage), während Deine Delegation vom Netzwerk registriert und gezählt wird.
Nicht gestakte beanspruche
Gebühr für das Staking-Konto
Ein Staking-Konto ist ein spezielles Konto, auf dem eingesetzte SOL-Token gespeichert werden. Es wird erstellt, indem Sie Ihre Token an einen Validator delegieren, um an der Transaktionsvalidierung teilzunehmen und Belohnungen zu erhalten. Für die Einrichtung des Staking-Kontos wird eine geringe Gebühr erhoben, die nach Abschluss des Stakings zurückerstattet wird.
@@ -1275,6 +1280,7 @@
Effektiver Jahreszins
APY
Belohnungen sammeln sich täglich automatisch in deinem Staking-Konto an.
+ Die Belohnungen werden auf Dein Stakingguthaben aufgezinst. Verdiente Gelder: %s
Verfügbar
Durchschnittliche Belohnungsquote
Wie funktioniert Staking?
@@ -1419,6 +1425,7 @@
Problemlos und intuitiv, sodass Deine Token mit nur wenigen Handgriffen getauscht werden können
Einfach bequem
Tausch über Anbieter
+ Dein Vermögen
Der Betrag umfasst:\n- Gebühr des Dienstanbieters\n- Netzgebühr für die Rücksendung von %s von der Vermittlungsstelle an die Adresse des Nutzers.
Der Betrag beinhaltet:\n• Honorar des Dienstleisters\n• Netzwerkgebühr für das Senden %1$s von der Börse zurück an die Adresse des Benutzers. \n\n Provider-Slippage kann bis zu %2$s
Der Betrag enthält die Gebühren des Dienstleisters.
@@ -1433,6 +1440,7 @@
Unzureichende Mittel
Erlaubnis erteilen
Tauschen
+ Tauschen...
Du erhältst
Token auswählen
Nicht verfügbar
@@ -1527,10 +1535,15 @@
Möchtest Du den KYC wirklich abbrechen? Du kannst später jederzeit weiter machen.
Wir konnten Ihr Profil nicht verifizieren. Bei Fragen wenden Sie sich bitte an den Support.
Leider konnten wir Ihre Identität nicht verifizieren
+ KYC ist gescheitert
KYC in Bearbeitung
Status anzeigen
KYC für Tangem Pay in Arbeit
Dokumente werden in der Regel innerhalb von 5 Minuten automatisch überprüft. In seltenen Fällen, wenn eine manuelle Überprüfung erforderlich ist, kann es bis zu 48 Stunden dauern.
+ KYC abgelehnt
+ KYC-Sperre ausblenden
+ Entschuldigung, wir konnten dies nicht überprüfen.
+ Dein Profil.
Holen Sie sich Ihre kostenlose virtuelle Tangem Visa-Karte
Nutzen Sie USDC für alltägliche Zahlungen
Karte erhalten
diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml
index 619641f86b..96e91c5c3a 100644
--- a/core/res/src/main/res/values-ja/strings.xml
+++ b/core/res/src/main/res/values-ja/strings.xml
@@ -130,9 +130,9 @@
これらの単語は、紛失すると復元できません。安全に保管してください。
バックアップが完了しました
シークレットリカバリーフレーズは、ウォレットへのアクセスおよび復元に使用する、%s個のランダムな単語のセットです。
- これらの単語は紛失した場合、復元できません。大切に保管してください。
+ このフレーズを紛失すると、復元することはできません。厳重に保管してください。
安全に保管してください
- これらの%s個の単語を安全な場所に保存し、決して誰とも共有しないでください。
+ これらの%sの単語は、あなただけがアクセスできる安全な場所に保管し、決して他人と共有しないでください。
復元は不可能です
リカバリーフレーズ
以下の%s個の単語が、あなたのウォレットのリカバリーフレーズです。これらの単語は絶対に他人と共有しないでください。Tangemがこれらを尋ねることは決してありません。デバイスを紛失した場合、このフレーズを使ってウォレットを復元できます。
@@ -446,7 +446,7 @@
署名済み
フィードバックを送信
詳細
- モバイルウォレットは同時に1つのみ利用できます。Tangemコールドウォレットにアップグレードすることも、新しいコールドウォレットと併用することも可能です。
+ モバイルウォレットは1つしか作成できません。Tangemハードウェアウォレットにアップグレードするか、新しいハードウェアウォレットを追加してください。
インターネット接続を確認するか、別のネットワークに切り替えてください。
利用規約
デフォルトアドレス
@@ -569,7 +569,7 @@
続行するには、%1sスマートコントラクトに%2sを使用する権限を付与してください
許可を与える
無制限
- ハードウェアウォレット内に新しいアドレスが自動生成され、安全にすぐ利用できる状態になります。
+ アドレスはTangemハードウェアウォレット上で直接生成され、そのまま安全に使用できます。
新しいアドレス
Tangemウォレットを追加
秘密鍵はTangemカード内部で直接生成され、外部に出ることは一切ありません。
@@ -645,7 +645,7 @@
操作中にエラーが発生しました。
処理中も、資金は安全に保たれ、常にアクセス可能です。
資金へのアクセス
- アップグレード後、モバイルウォレットはアプリから削除され、ハードウェアウォレットに保存されます。リカバリーフレーズは引き続きご自身で管理してください。
+ アップグレード後、モバイルウォレットはアプリから削除され、Tangemハードウェアウォレットに保存されます。リカバリーフレーズは引き続きお手元に保持されます。
セキュリティ全般
秘密鍵はアプリからTangemハードウェアウォレットへ移行されます
キーの移行
@@ -984,7 +984,7 @@
アクセスコードの復元
同一のカード
アクセスコード
- 同時に利用できるのは、モバイルウォレットまたはハードウェアウォレットのいずれか一方のみです。Tangemのコールドウォレットを使用するには、ウォレットをアップグレードするか、アプリから削除してください。
+ モバイルウォレットは1つまでしか作成できません。Tangemハードウェアウォレットにアップグレードするか、新しいハードウェアウォレットを追加してください。
すべてのオファー
%sで利用可能
プロバイダーが取引を促進します
diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml
index 8f7fdf9929..9ee6136ac8 100644
--- a/core/res/src/main/res/values/strings.xml
+++ b/core/res/src/main/res/values/strings.xml
@@ -1276,6 +1276,7 @@
Staking amount will be rounded to %1$s TRX due to network rules.
Unstaking amount will be rounded to %1$s TRX due to network rules.
APR %1$s%%
+ Your staking rewards will start after 5 epochs (~25 days) while your delegation is registered and counted by the network.
Claim unstaked
Stake account fee
A staking account is a special account where staked SOL tokens are stored. It is created when you delegate your tokens to a validator to participate in transaction validation and receive rewards. A small fee is charged for creating the staking account, which is returned after the staking is completed.
diff --git a/domain/models/src/main/kotlin/com/tangem/domain/models/staking/YieldBalanceItem.kt b/domain/models/src/main/kotlin/com/tangem/domain/models/staking/YieldBalanceItem.kt
index 198e8a00f7..64bfab980e 100644
--- a/domain/models/src/main/kotlin/com/tangem/domain/models/staking/YieldBalanceItem.kt
+++ b/domain/models/src/main/kotlin/com/tangem/domain/models/staking/YieldBalanceItem.kt
@@ -109,6 +109,7 @@ enum class BalanceType(val order: Int) {
@Serializable
sealed interface RewardBlockType {
data object NoRewards : RewardBlockType
+ data object CardanoNoRewards : RewardBlockType
data object Rewards : RewardBlockType
data object RewardsRequirementsError : RewardBlockType
data object EthereumEarnedRewards : RewardBlockType
@@ -125,6 +126,7 @@ sealed interface RewardBlockType {
val isActionable: Boolean
get() = when (this) {
is NoRewards,
+ is CardanoNoRewards,
is RewardUnavailable,
is EthereumEarnedRewards,
-> false
diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/YieldBalancesConverter.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/YieldBalancesConverter.kt
index 7725be5eee..f9599f7303 100644
--- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/YieldBalancesConverter.kt
+++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/converters/YieldBalancesConverter.kt
@@ -16,6 +16,7 @@ import com.tangem.domain.staking.model.StakingIntegration
import com.tangem.features.staking.impl.presentation.state.InnerYieldBalanceState
import com.tangem.features.staking.impl.presentation.state.YieldReward
import com.tangem.lib.crypto.BlockchainUtils
+import com.tangem.lib.crypto.BlockchainUtils.isCardano
import com.tangem.lib.crypto.BlockchainUtils.isStakingRewardUnavailable
import com.tangem.utils.Provider
import com.tangem.utils.converter.Converter
@@ -110,6 +111,7 @@ internal class YieldBalancesConverter(
}
isRewardsClaimable && isActionable -> RewardBlockType.Rewards
isRewardsClaimable && !isActionable -> RewardBlockType.RewardsRequirementsError
+ isCardano(blockchainId) -> RewardBlockType.CardanoNoRewards
else -> RewardBlockType.NoRewards
}
}
diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/utils/StakingRewardsUtils.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/utils/StakingRewardsUtils.kt
index 39bcf9c206..42505ce006 100644
--- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/utils/StakingRewardsUtils.kt
+++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/state/utils/StakingRewardsUtils.kt
@@ -4,9 +4,11 @@ import com.tangem.core.ui.extensions.*
import com.tangem.domain.staking.model.common.RewardSchedule
import com.tangem.domain.staking.model.common.RewardType
import com.tangem.features.staking.impl.R
+import com.tangem.features.staking.impl.presentation.state.utils.StakingRewardScheduleConstants.CARDANO_SCHEDULE
import com.tangem.features.staking.impl.presentation.state.utils.StakingRewardScheduleConstants.COSMOS_SCHEDULE
import com.tangem.features.staking.impl.presentation.state.utils.StakingRewardScheduleConstants.SOLANA_SCHEDULE
import com.tangem.features.staking.impl.presentation.state.utils.StakingRewardScheduleConstants.TON_SCHEDULE
+import com.tangem.lib.crypto.BlockchainUtils.isCardano
import com.tangem.lib.crypto.BlockchainUtils.isCosmos
import com.tangem.lib.crypto.BlockchainUtils.isSolana
import com.tangem.lib.crypto.BlockchainUtils.isTon
@@ -15,6 +17,7 @@ import com.tangem.utils.StringsSigns.MINUS
import com.tangem.utils.StringsSigns.NON_BREAKING_SPACE
private data object StakingRewardScheduleConstants {
+ const val CARDANO_SCHEDULE = 5
val COSMOS_SCHEDULE = 5 to 12
val SOLANA_SCHEDULE = 2 to 3
val TON_SCHEDULE = 1 to 2
@@ -100,6 +103,15 @@ private fun getCustomRewardSchedule(networkId: String, decapitalize: Boolean = f
count = TON_SCHEDULE.second,
),
)
+ isCardano(networkId) -> combinedReference(
+ resourceReference(id = R.string.staking_reward_schedule_each_plural, decapitalize = decapitalize),
+ stringReference(NON_BREAKING_SPACE.toString()),
+ stringReference("$CARDANO_SCHEDULE$NON_BREAKING_SPACE"),
+ pluralReference(
+ id = R.plurals.common_days_no_param,
+ count = CARDANO_SCHEDULE,
+ ),
+ )
else -> null
}
}
\ No newline at end of file
diff --git a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt
index d0604549f9..eb514ea0ba 100644
--- a/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt
+++ b/features/staking/impl/src/main/java/com/tangem/features/staking/impl/presentation/ui/StakingInitialInfoContent.kt
@@ -257,6 +257,10 @@ private fun StakingRewardBlock(
resourceReference(R.string.staking_solana_details_auto_claiming_rewards_daily_text) to
TangemTheme.colors.text.tertiary
}
+ RewardBlockType.CardanoNoRewards -> {
+ resourceReference(R.string.staking_cardano_details_rewards_info_text) to
+ TangemTheme.colors.text.tertiary
+ }
RewardBlockType.NoRewards -> {
resourceReference(R.string.staking_details_no_rewards_to_claim) to TangemTheme.colors.text.tertiary
}
diff --git a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsStakingInfoConverter.kt b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsStakingInfoConverter.kt
index ba6a44c2be..ebf27e2456 100644
--- a/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsStakingInfoConverter.kt
+++ b/features/tokendetails/impl/src/main/kotlin/com/tangem/feature/tokendetails/presentation/tokendetails/state/factory/TokenDetailsStakingInfoConverter.kt
@@ -194,6 +194,7 @@ internal class TokenDetailsStakingInfoConverter(
return when (rewardBlockType) {
RewardBlockType.NoRewards -> resourceReference(R.string.staking_details_no_rewards_to_claim)
+ RewardBlockType.CardanoNoRewards -> resourceReference(R.string.staking_cardano_details_rewards_info_text)
RewardBlockType.RewardUnavailable.DefaultRewardUnavailable,
RewardBlockType.RewardUnavailable.SolanaRewardUnavailable,
-> TextReference.EMPTY