diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml
index 5996fd51d5..1b64b43e63 100644
--- a/core/res/src/main/res/values-fr/strings.xml
+++ b/core/res/src/main/res/values-fr/strings.xml
@@ -195,6 +195,7 @@
Rejeter
Recharger
Renommer
+ Obligatoire
Enregistrez
Sauvegarder les modifications
Rechercher
@@ -1320,27 +1321,55 @@
Le réseau requis %s n’est pas ajouté à votre portefeuille. Ajoutez-le d’abord, puis poursuivez la connexion.
Ajouter le réseau au portefeuille
Domaine malveillant
+ Domaine inconnu
+ Se connecter quand même
+ Erreur de délai d\'attente. Veuillez réessayer plus tard.
+ Échec de la connexion à WalletConnect
+ Ce domaine ne peut pas être vérifié. Vérifiez attentivement la demande avant de l\'approuver.
Pour continuer, veuillez reconnecter votre session dApp avec le réseau requis %s.
Réseau non connecté
Vérifiez votre connexion réseau
Délai d’attente de la requête dépassé
+ Veuillez retourner à votre navigateur et vous reconnecter via WalletConnect.
+ La session Wallet Connect a été déconnectée.
Signer quand même
+ Code d\'erreur : %s. Si le problème persiste, n\'hésitez pas à contacter notre service d\'assistance.
Si le problème persiste, n’hésitez pas à contacter notre support.
+ Nous avons rencontré une erreur inconnue.
Le portefeuille Tangem ne prend actuellement pas en charge %ss
dApp non prise en charge
Code d\'erreur : 8 005. Si le problème persiste, n\'hésitez pas à contacter notre support.
Nous avons rencontré une erreur inconnue
Le réseau %s n’est pas pris en charge par Tangem Wallet et ne peut pas être connecté.
Réseau non pris en charge
+ Tangem ne prend actuellement pas en charge le réseau requis par %s.
+ Réseaux non pris en charge
Ce domaine a passé les contrôles de vérification et est considéré comme sûr, fiable et exempt de menaces connues ou d’activités suspectes.
+ Domaine vérifié
+ Carte ou bague incorrecte sélectionnée dans l\'application
+ Nous avons un problème.
+ Toutes les dApps sont déconnectées
Autoriser à dépenser
Adresse
+ Connecter
Chargement
+ Réseau
+ Réseaux
Illimité
+ Wallet
+ Application connectée
Réseaux connectés
+ Connecté à %1$s
+ Consultez le solde et l\'activité de votre portefeuille
+ Signer des transactions sans vous en informer
+ Demander l\'accord pour les transactions
+ Ne pourra pas
+ Souhaite
+ Demande de connexion
Connexions
Contenu
Copier les données
+ dApp déconnectée
Déconnecter tout
Toutes les sessions dApp seront déconnectées. Votre portefeuille ne sera plus lié à aucune dApp.
Déconnecter toutes les dApps
@@ -1352,13 +1381,22 @@
La proposition de connexion a expiré
Modifications estimées du portefeuille
La transaction n\'a pas pu être simulée. Veuillez procéder avec prudence.
+ Rechargez votre solde pour couvrir les frais de réseau.
+ %1$s Insuffisant
Transaction malveillante
+ Ajoutez le réseau %s à votre portefeuille pour ce wallet
+ Le wallet ne nécessite aucun réseaux
Nouvelle connexion
Connectez votre portefeuille à différentes dApps
Aucune séance
Des risques potentiels ou un comportement malveillant ont été détectés. Se connecter ou signer des transactions peut entraîner une perte de fonds.
+ Risque de sécurité connu
+ Ouvrez l\'application Web3 et sélectionnez l\'option WalletConnect.
Demande de
Type de signature
+ Au moins un réseau est requis pour la connexion à une dApp.
+ Spécifier les réseaux sélectionnés
+ Signé avec succès
À
Demande de transaction
Demande de transaction
diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml
index 7e06ea9819..7f437b9d1e 100644
--- a/core/res/src/main/res/values-ja/strings.xml
+++ b/core/res/src/main/res/values-ja/strings.xml
@@ -71,8 +71,10 @@
設定に移動して、Tangemアプリで生体認証を有効にします。
生体認証を有効にする
%1$sが無効になると、アプリのロックを解除してウォレットを操作するために、パスコードを入力する必要があります。
+ 後でウォレットのアクセスコードを入力してもらいます。それを安全に保存し、今後の利用に備えるためです。
これにより、保存されているウォレットアクセスコードがすべて削除されます。ウォレットでの今後の操作には、アクセスコードの送信が必要になります。
保存したデバイスを削除すると、保存されているすべてのウォレットとそのアクセスコードがアプリから削除されます。
+ これにより、保存されているウォレットアクセスコードがすべて削除されます。今後ウォレットを操作するには、アクセスコードの送信が必要になります。
アクセスコードを要求する
このオプションを選択すると、機密性の高い操作における生体認証が無効になります。取引の署名時などには、毎回アクセスコードの入力が必要になります。
アクセスコードを保存
@@ -486,6 +488,7 @@
最新の機能とニュースをお届けします
シードフレーズのバックアップ
モバイルウォレットを作成する
+ このリカバリーフレーズはすでにインポートされています。
モバイルウォレット
この情報はAIで生成されました。 \nエラーが見つかった場合は、ここをタップしてください。
アクセスコードを変更するには、上図のようにカードまたはリングをタップし、操作が終了するまで取り外さないでください。
@@ -1491,7 +1494,7 @@
使用可能量の設定
dAppが接続解除されました
すべての接続を解除する
- すべてのdAppセッションが切断されます。ウォレットはどのdAppにも接続されなくなります。
+ すべてのdAppセッションの接続が解除されます。ウォレットはどのdAppにもリンクされなくなります。
すべてのdAppを接続解除する
新しいURIで、再度ペアリングを試してください
無効なdAppドメイン
diff --git a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt
index c0e035a70e..335160da29 100644
--- a/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt
+++ b/features/walletconnect/impl/src/main/kotlin/com/tangem/features/walletconnect/transaction/model/WcSendTransactionModel.kt
@@ -27,6 +27,7 @@ import com.tangem.domain.tokens.GetNetworkCoinStatusUseCase
import com.tangem.domain.tokens.error.CurrencyStatusError
import com.tangem.domain.tokens.model.CryptoCurrencyStatus
import com.tangem.domain.transaction.error.GetFeeError
+import com.tangem.domain.transaction.error.SendTransactionError.UserCancelledError
import com.tangem.domain.transaction.usecase.GetFeeUseCase
import com.tangem.domain.walletconnect.WcAnalyticEvents
import com.tangem.domain.walletconnect.WcAnalyticEvents.SignatureRequestReceived.EmulationStatus
@@ -346,25 +347,35 @@ internal class WcSendTransactionModel @Inject constructor(
}
private fun signingIsDone(signState: WcSignState<*>, useCase: WcSignUseCase<*>): Boolean {
- (signState.domainStep as? WcSignStep.Result)?.result?.let {
- return handleSigningError(it, useCase)
+ return when (val step = signState.domainStep) {
+ is WcSignStep.Result -> processResultStep(result = step.result, useCase = useCase)
+ WcSignStep.PreSign,
+ WcSignStep.Signing,
+ -> false
}
- return false
}
- private fun handleSigningError(result: Either, useCase: WcSignUseCase<*>): Boolean {
- return if (result.isLeft()) {
- val error = WcTransactionRoutes.Alert.Type.UnknownError(
- errorMessage = result.leftOrNull()?.message(),
- onDismiss = { cancel(useCase) },
- onRetry = { signFromAlert() },
- )
- stackNavigation.pushNew(WcTransactionRoutes.Alert(error))
- false
- } else {
- showSuccessSignMessage()
- router.pop()
- true
+ private fun processResultStep(result: Either, useCase: WcSignUseCase<*>): Boolean {
+ return when (result) {
+ is Either.Left -> {
+ val error = result.value
+ if (error is WcRequestError.WrappedSendError && error.sendTransactionError is UserCancelledError) {
+ return false
+ }
+
+ val alertError = WcTransactionRoutes.Alert.Type.UnknownError(
+ errorMessage = result.value.message(),
+ onDismiss = { cancel(useCase) },
+ onRetry = { signFromAlert() },
+ )
+ stackNavigation.pushNew(WcTransactionRoutes.Alert(alertError))
+ false
+ }
+ is Either.Right -> {
+ showSuccessSignMessage()
+ router.pop()
+ true
+ }
}
}