Updated on 2026-08-14

This commit is contained in:
Tangem 2026-01-26 14:23:56 +07:00
commit e7b7412222
39 changed files with 261 additions and 171 deletions

View file

@ -39,6 +39,10 @@
"name": "HOT_WALLET_CREATION_RESTRICTION_ENABLED",
"version": "5.32.0"
},
{
"name": "HOT_WALLET_VISIBLE",
"version": "undefined"
},
{
"name": "TANGEM_PAY_ENABLED",
"version": "5.31.0"

View file

@ -327,7 +327,8 @@
<string name="common_now">Jetzt</string>
<string name="common_ok">OK</string>
<string name="common_open_in_browser">Im Browser öffnen</string>
<string name="common_origin_card">Hauptkarte oder Ring</string>
<string name="common_or">oder</string>
<string name="common_origin_card">Hauptkarte</string>
<string name="common_origin_ring">Primärring</string>
<string name="common_passphrase">Passphrase</string>
<string name="common_paste">Einfügen</string>
@ -437,6 +438,7 @@
<string name="details_manage_security_long_tap_description">Dieser Mechanismus schützt vor Annäherungsangriffen auf eine Karte oder einen Ring. Er erzwingt eine Verzögerung zwischen dem Empfang und der Ausführung eines Befehls.</string>
<string name="details_manage_security_passcode">Passcode</string>
<string name="details_manage_security_passcode_description">Bevor du einen Befehl ausführst, der eine Änderung des Kartenstatus zur Folge hat, musst du den Passcode eingeben.</string>
<string name="details_mobile_wallet_upgrade_action_title">Upgrade auf Hardware-Wallet</string>
<string name="details_nft_title">NFT</string>
<string name="details_referral_title">Empfehlungsprogramm</string>
<string name="details_row_description_flip_to_hide">Flippe den Bildschirm deines Geräts nach unten, um Salden schnell ein- und auszublenden</string>
@ -450,6 +452,7 @@
<string name="details_row_title_signed_hashes">Signiert</string>
<string name="details_send_feedback">Gib uns eine Rückmeldung</string>
<string name="details_title">Details</string>
<string name="details_wallets_section_description">Du kannst jeweils nur eine mobile Wallet haben. Sie kann zu einer Tangem-Wallet aufgerüstet oder zusammen mit einer neuen Wallet verwendet werden.</string>
<string name="disclaimer_error_loading">Überprüfe deine Internetverbindung oder wechseln zu einem anderen Netzwerk</string>
<string name="disclaimer_title">Nutzungsbedingungen</string>
<string name="domain_receive_assets_default_address">Standardadresse</string>
@ -569,8 +572,8 @@
<string name="give_permission_swap_subtitle" formatted="false">Um fortzufahren, erteile %1s Smart Contracts die Berechtigung, dein zu %2s verwenden.</string>
<string name="give_permission_title">Erlaubnis erteilen</string>
<string name="give_permission_unlimited">Unbegrenzt</string>
<string name="hardware_wallet_backup_feature_description">Dein Backup wird mit 2 oder 3 Tangem-Karten erstellt. Bewahre diese an separaten &amp; sicheren Orten auf, um sie vor Verlust oder Beschädigung zu schützen es ist keine Seed-Phrase erforderlich.</string>
<string name="hardware_wallet_backup_feature_title">Backup mit mehreren Karten</string>
<string name="hardware_wallet_backup_feature_description">Die Adressen werden direkt auf Deiner Tangem-Hardware-Wallet generiert sofort einsatzbereit und vollständig geschützt.</string>
<string name="hardware_wallet_backup_feature_title">Neue Adressen</string>
<string name="hardware_wallet_create_title">Tangem Wallet hinzufügen</string>
<string name="hardware_wallet_key_feature_description">Dein privater Schlüssel wird direkt in der Tangem-Karte generiert und verlässt diese nie.</string>
<string name="hardware_wallet_key_feature_title">Schlüsselgenerierung</string>
@ -611,11 +614,15 @@
<string name="hw_backup_seed_title">Wiederherstellungs-Phrase</string>
<string name="hw_backup_to_secure_description">Um Deine Wallet mit einem Zugangscode zu sichern, schließe den Sicherungsvorgang ab.</string>
<string name="hw_backup_to_upgrade_description">Um Deine Wallet auf Hardware umzustellen, erstelle vorher ein Backup.</string>
<string name="hw_create_keys_description">Deine privaten Schlüssel sind sicher verschlüsselt und auf Deinem Telefon gespeichert.</string>
<string name="hw_backup_upgrade_description">Rüste Deine mobile Wallet auf eine Tangem-Hardware-Wallet um, um höchste Sicherheit zu gewährleisten. Importiere Deine Wallet oder übertrage Dein Guthaben auf eine neue Wallet.</string>
<string name="hw_backup_upgrade_title">Upgrade auf Cold Wallet</string>
<string name="hw_create_keys_description">Deine privaten Schlüssel sind nur für die Tangem Hot-Wallet sicher verschlüsselt und auf Deinem Telefon gespeichert.</string>
<string name="hw_create_keys_title">Schlüssel werden in der App gespeichert</string>
<string name="hw_create_seed_description">Erstelle oder stelle Deine Wallet mithilfe einer Wiederherstellungsphrase wieder her Deinem integrierten Backup.</string>
<string name="hw_create_seed_title">Sicherung der Seed-Phrase</string>
<string name="hw_create_title">Mobile Wallet erstellen</string>
<string name="hw_create_upgrade_description">Übertrage Deine mobile Wallet jederzeit und sicher auf eine Tangem-Karte oder einen Tangem-Ring.</string>
<string name="hw_create_upgrade_title">Upgrade auf Hardware-Wallet</string>
<string name="hw_import_existing_wallet">Vorhandene Wallet importieren</string>
<string name="hw_import_seed_phrase_already_imported">Diese Wiederherstellungsphrase wurde bereits importiert</string>
<string name="hw_mobile_wallet">Mobile Wallet</string>
@ -633,14 +640,14 @@
<string name="hw_remove_wallet_warning_access">Mir ist bewusst, dass ich den Zugriff auf meine Wallet verlieren kann, wenn ich sie vor der Entfernung nicht gesichert habe.</string>
<string name="hw_remove_wallet_warning_device">Mir ist bewusst, dass durch das Entfernen meiner Wallet diese nicht gelöscht, sondern lediglich von meinem Gerät entfernt wird.</string>
<string name="hw_upgrade">Upgrade</string>
<string name="hw_upgrade_backup_description">Es wird keine Seed-Phrase mehr benötigt Deine Tangem-Karte oder Dein Tangem-Ring wird zu Deinem sicheren Backup.</string>
<string name="hw_upgrade_backup_title">Backup mit Tangem</string>
<string name="hw_upgrade_backup_description">Alle Deine Adressen und Guthaben bleiben beim Upgrade Deiner mobilen Wallet auf eine Tangem-Karte oder einen Tangem-Ring vollständig zugänglich.</string>
<string name="hw_upgrade_backup_title">Gleiche Adressen</string>
<string name="hw_upgrade_error_card_already_has_wallet">Ein Upgrade ist nicht möglich. Auf diesem Gerät ist bereits eine Wallet vorhanden.</string>
<string name="hw_upgrade_error_card_key_import">Wähle ein anderes Gerät. Dieses Gerät kann für das Upgrade nicht verwendet werden.</string>
<string name="hw_upgrade_error_wallet2_card_required">Bei der Operation ist ein Fehler aufgetreten.</string>
<string name="hw_upgrade_funds_access_description">Dein Geld bleibt während des gesamten Prozesses sicher und vollständig zugänglich</string>
<string name="hw_upgrade_funds_access_title">Zugang zu Geldern</string>
<string name="hw_upgrade_general_security_description">Die Daten Deiner Wallet werden aus der App gelöscht und auf Deinem Tangem-Gerät gespeichert</string>
<string name="hw_upgrade_general_security_description">Nach dem Upgrade wird Deine mobile Wallet aus der App entfernt und auf Deine Tangem-Hardware-Wallet gespeichert. Deine Wiederherstellungsphrase bleibt erhalten.</string>
<string name="hw_upgrade_general_security_title">Allgemeine Sicherheit</string>
<string name="hw_upgrade_key_migration_description">Die privaten Schlüssel werden von der App auf Ihr Tangem-Gerät übertragen.</string>
<string name="hw_upgrade_key_migration_title">Schlüsselmigration</string>
@ -1242,6 +1249,11 @@
<string name="settings_card_settings_footer">Bereite das Scannen der Karte oder Ring vor, die du einrichten möchtest.</string>
<string name="settings_forget_wallet">Entferne diese Wallet</string>
<string name="settings_forget_wallet_footer">Hiermit wird die Wallet aus der Anwendung entfernt. Die Wallet selbst kann wieder hinzugefügt werden.</string>
<string name="settings_upgrade_banner_advantage_feature_title">Einfach zu bedienen</string>
<string name="settings_upgrade_banner_description">Schützt Deine Kryptowährungen und bewahrt diese offline auf. So schlank wie eine Kreditkarte, sicherer als ein Banktresor.</string>
<string name="settings_upgrade_banner_seed_phrase_feature_title">Keine Seed-Phrase</string>
<string name="settings_upgrade_banner_superiority_feature_title">Erstklassige Hardware-Wallet</string>
<string name="settings_upgrade_banner_title">Tangem Cold Wallet</string>
<string name="settings_wallet_name_title">Name</string>
<string name="stake_token_description">Lass deinen Token für dich arbeiten</string>
<string name="staking_account_initialization_footer">Eine Netzwerkgebühr ist eine kleine Zahlung, die erforderlich ist, um Deine Transaktion auf der Blockchain zu verarbeiten und zu bestätigen.</string>
@ -1542,6 +1554,8 @@
<string name="tangempay_temporarily_unavailable">Tangem Pay ist vorübergehend nicht erreichbar.</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">Klicken Sie auf die Schaltfläche unten, um den Zugriff wiederherzustellen</string>
<string name="tangempay_withdrawal_note_description">Ihr USDC Polygon On-Chain-Guthaben unterscheidet sich von Ihrem Kartenguthaben und wird innerhalb von 2 Werktagen nach einem Kauf aktualisiert. Gelder aus erstatteten Käufen werden nicht auf Ihr On-Chain-Guthaben zurückerstattet und stehen nicht für Abhebungen zur Verfügung, bleiben aber auf Ihrem Kartenguthaben für Einkäufe verfügbar.</string>
<string name="tangempay_withdrawal_note_title">Bitte beachten Sie</string>
<string name="tangempay_your_pin_code">Ihr PIN-Code</string>
<string name="this_is_my_wallet_title">Das ist meine Wallet</string>
<string name="toast_balances_hidden">Guthaben versteckt</string>
@ -1613,6 +1627,7 @@
<string name="universal_error">Es ist ein Fehler aufgetreten. Fehlercode: %s. Bitte kontaktiere unseren Support.</string>
<string name="unlock_wallet_description_full">Verwende %s oder scanne eine Karte oder Ring, um Zugriff auf deine Wallet zu erhalten.</string>
<string name="unsupported_wc_version">Verbindung fehlgeschlagen: Diese dApp verwendet Wallet Connect Version 1.0, die nicht unterstützt wird. Bitte stelle sicher, dass die dApp Wallet Connect Version 2.0 unterstützt, um eine erfolgreiche Verbindung herzustellen.</string>
<string name="upgrade_to_hardware_wallet_button_title">Upgrade auf Hardware-Wallet</string>
<string name="user_push_notification_agreement_argument_one">Bleib auf dem Laufenden mit den neuesten Funktionen und Neuigkeiten</string>
<string name="user_push_notification_agreement_argument_one_subtitle">Echtzeit-Warnungen für Transaktionen, Umtausch und wichtige Aktualisierungen.</string>
<string name="user_push_notification_agreement_argument_one_title">Transaktionswarnungen</string>
@ -1982,6 +1997,7 @@
<string name="welcome_create_wallet_feature_delivery">Schnelle Lieferung</string>
<string name="welcome_create_wallet_feature_one_tap">Mit einem Fingertipp starten</string>
<string name="welcome_create_wallet_feature_seamless">Nahtlos und sicher</string>
<string name="welcome_create_wallet_feature_seedphrase">Keine Seed-Phrase</string>
<string name="welcome_create_wallet_feature_use">Einfach zu bedienen</string>
<string name="welcome_create_wallet_hardware_description">Erstelle eine Hardware-Wallet mit Tangem. Schlank wie eine Bankkarte, sicher wie ein Banktresor.</string>
<string name="welcome_create_wallet_mobile_description">Erstelle oder importiere eine Software-Wallet</string>

View file

@ -1554,6 +1554,8 @@
<string name="tangempay_temporarily_unavailable">Tangem Pay temporalmente no disponible</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">Haga clic en el botón de abajo para restaurar el acceso</string>
<string name="tangempay_withdrawal_note_description">Tu saldo USDC Polygon on-chain difiere de tu saldo de tarjeta y se actualiza dentro de 2 días hábiles después de una compra. Los fondos de compras reembolsadas no se devolverán a tu saldo on-chain ni estarán disponibles para retiro, pero permanecerán en tu saldo de tarjeta para compras.</string>
<string name="tangempay_withdrawal_note_title">Tenga en cuenta</string>
<string name="tangempay_your_pin_code">Tu código PIN</string>
<string name="this_is_my_wallet_title">Esta es mi billetera</string>
<string name="toast_balances_hidden">Saldos ocultos</string>

View file

@ -326,6 +326,7 @@
<string name="common_now">Maintenant</string>
<string name="common_ok">OK</string>
<string name="common_open_in_browser">Ouvrir dans le navigateur</string>
<string name="common_or">ou</string>
<string name="common_origin_card">Carte principale</string>
<string name="common_origin_ring">Bague principale</string>
<string name="common_passphrase">Passphrase</string>
@ -434,6 +435,7 @@
<string name="details_manage_security_long_tap_description">Ce mécanisme protège contre les attaques sans contact sur la carte. Il y a un délai entre la réception et l\'exécution de la commande. Après la première transaction signée, ce téléphone sera associé à la carte et les transactions seront signées immédiatement.</string>
<string name="details_manage_security_passcode">Mot de passe</string>
<string name="details_manage_security_passcode_description">Avant d\'exécuter une commande qui modifie l\'état de la carte, vous devrez entrer un mot de passe.</string>
<string name="details_mobile_wallet_upgrade_action_title">Passez au hardware wallet</string>
<string name="details_nft_title">NFT</string>
<string name="details_referral_title">Programme de parrainage</string>
<string name="details_row_description_flip_to_hide">Retournez l\'écran de votre appareil vers le bas pour masquer et afficher rapidement les soldes</string>
@ -447,6 +449,7 @@
<string name="details_row_title_signed_hashes">Signé</string>
<string name="details_send_feedback">Envoyer un commentaire</string>
<string name="details_title">Détails</string>
<string name="details_wallets_section_description">Vous ne pouvez avoir qu\'un seul portefeuille mobile à la fois. Il peut être mis à niveau vers un hardware wallet Tangem ou utilisé avec un nouveau hardware wallet.</string>
<string name="disclaimer_error_loading">Vérifiez votre connexion Internet ou passez à un réseau différent</string>
<string name="disclaimer_title">Conditions d\'utilisation</string>
<string name="domain_receive_assets_default_address">Adresse par défaut</string>
@ -566,8 +569,8 @@
<string name="give_permission_swap_subtitle" formatted="false">Pour continuer, accordez aux smart contracts de %1s l\'autorisation d\'utiliser votre %2s</string>
<string name="give_permission_title">Donner l\'autorisation</string>
<string name="give_permission_unlimited">Illimité</string>
<string name="hardware_wallet_backup_feature_description">Votre sauvegarde est créée à l\'aide de 2 ou 3 cartes Tangem. Conservez-les dans des endroits sûrs distincts afin de les protéger contre toute perte ou tout dommage. Aucune seed phrase n\'est nécessaire.</string>
<string name="hardware_wallet_backup_feature_title">Sauvegarde avec plusieurs cartes</string>
<string name="hardware_wallet_backup_feature_description">De nouvelles adresses seront générées pour vous dans votre hardware wallet, prêtes à l\'emploi et entièrement sécurisées.</string>
<string name="hardware_wallet_backup_feature_title">Nouvelles adresses</string>
<string name="hardware_wallet_create_title">Ajouter le wallet Tangem</string>
<string name="hardware_wallet_key_feature_description">Votre clé privée est générée directement dans la carte Tangem et ne la quitte jamais.</string>
<string name="hardware_wallet_key_feature_title">Génération de clés</string>
@ -608,11 +611,15 @@
<string name="hw_backup_seed_title">Seed phrase</string>
<string name="hw_backup_to_secure_description">Pour sécuriser votre wallet avec un code d\'accès, effectuez la procédure de sauvegarde.</string>
<string name="hw_backup_to_upgrade_description">Pour passer à un portefeuille matériel, terminez le processus de sauvegarde.</string>
<string name="hw_backup_upgrade_description">Mettez à niveau votre portefeuille mobile vers un portefeuille matériel Tangem pour bénéficier d\'une sécurité maximale. Importez votre portefeuille ou transférez vos fonds vers un nouveau portefeuille.</string>
<string name="hw_backup_upgrade_title">Passez à un hardware wallet</string>
<string name="hw_create_keys_description">Vos clés privées sont cryptées et stockées en toute sécurité sur votre téléphone.</string>
<string name="hw_create_keys_title">Les clés privées restent sur votre appareil</string>
<string name="hw_create_seed_description">Créez ou restaurez votre portefeuille à l\'aide d\'une seed phrase.</string>
<string name="hw_create_seed_title">Sauvegarde de la seed phrase</string>
<string name="hw_create_title">Créer un wallet mobile</string>
<string name="hw_create_upgrade_description">Transférez votre portefeuille mobile vers une carte ou une bague Tangem à tout moment, en toute sécurité.</string>
<string name="hw_create_upgrade_title">Passez à un hardware wallet</string>
<string name="hw_import_existing_wallet">Importer un portefeuille existant</string>
<string name="hw_import_seed_phrase_already_imported">Cette seed phrase a déjà été importée.</string>
<string name="hw_mobile_wallet">Wallet mobile</string>
@ -630,14 +637,14 @@
<string name="hw_remove_wallet_warning_access">Je comprends que si je n\'ai pas sauvegardé mon portefeuille avant de le supprimer, je perdrai l\'accès à celui-ci.</string>
<string name="hw_remove_wallet_warning_device">Je comprends que le fait de supprimer mon portefeuille ne l\'efface pas, mais le supprime uniquement de mon appareil.</string>
<string name="hw_upgrade">Améliorer</string>
<string name="hw_upgrade_backup_description">Aucune seed phrase n\'est requise. Votre carte ou bague Tangem devient votre sauvegarde sécurisée.</string>
<string name="hw_upgrade_backup_title">Sauvegarde avec Tangem</string>
<string name="hw_upgrade_backup_description">Toutes vos adresses et tous vos soldes restent entièrement accessibles lorsque vous passez d\'un portefeuille mobile à une carte ou une bague Tangem.</string>
<string name="hw_upgrade_backup_title">Mêmes adresses</string>
<string name="hw_upgrade_error_card_already_has_wallet">Impossible de mettre à niveau. Un portefeuille existe déjà sur cet appareil.</string>
<string name="hw_upgrade_error_card_key_import">Choisissez un autre appareil. Celui-ci ne peut pas être utilisé pour la mise à niveau.</string>
<string name="hw_upgrade_error_wallet2_card_required">Une erreur s\'est produite pendant l\'opération.</string>
<string name="hw_upgrade_funds_access_description">Vos fonds restent en sécurité et entièrement accessibles pendant toute la durée du processus.</string>
<string name="hw_upgrade_funds_access_title">Accès aux fonds</string>
<string name="hw_upgrade_general_security_description">Les données de votre wallet seront effacées de l\'application et stockées sur votre hardware wallet.</string>
<string name="hw_upgrade_general_security_description">Après la mise à niveau, votre portefeuille mobile sera supprimé de l\'application et stocké sur votre hardware wallet; votre seedphrase restera en votre possession.</string>
<string name="hw_upgrade_general_security_title">Sécurité générale</string>
<string name="hw_upgrade_key_migration_description">Les clés privées seront transférées de l\'application vers votre hardware wallet Tangem.</string>
<string name="hw_upgrade_key_migration_title">Migration des clés</string>
@ -1238,6 +1245,11 @@
<string name="settings_card_settings_footer">Scannez la carte/ bague que vous souhaitez configurer.</string>
<string name="settings_forget_wallet">Oublier le portefeuille</string>
<string name="settings_forget_wallet_footer">Cela supprimera le portefeuille de l\'application. Le portefeuille lui-même peut être ajouté à nouveau.</string>
<string name="settings_upgrade_banner_advantage_feature_title">Facile à utiliser</string>
<string name="settings_upgrade_banner_description">Gardez vos cryptomonnaies en sécurité et hors ligne. Aussi fin qu\'une carte de crédit, plus sûr qu\'un coffre-fort bancaire.</string>
<string name="settings_upgrade_banner_seed_phrase_feature_title">Pas de seedphrase</string>
<string name="settings_upgrade_banner_superiority_feature_title">Le meilleur hardware wallet</string>
<string name="settings_upgrade_banner_title">Tangem Hardware Wallet</string>
<string name="settings_wallet_name_title">Nom</string>
<string name="stake_token_description">Faites travailler votre jeton pour vous</string>
<string name="staking_account_initialization_message">Pour commencer à staker, votre compte TON doit être activé avec une transaction de 1 TON. Les fonds restent sur votre compte, car cette étape sert uniquement à l\'activer pour le staking.</string>
@ -1535,6 +1547,8 @@
<string name="tangempay_temporarily_unavailable">Tangem Pay est temporairement indisponible</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">Cliquez sur le bouton ci-dessous pour restaurer l\'accès</string>
<string name="tangempay_withdrawal_note_description">Votre solde USDC Polygon on-chain diffère de votre solde de carte et se met à jour dans les 2 jours ouvrables suivant un achat. Les fonds des achats remboursés ne seront pas retournés à votre solde on-chain ni disponibles pour un retrait, mais resteront sur votre solde de carte pour vos achats.</string>
<string name="tangempay_withdrawal_note_title">Veuillez noter</string>
<string name="tangempay_your_pin_code">Votre code PIN</string>
<string name="this_is_my_wallet_title">C\'est mon portefeuille</string>
<string name="toast_balances_hidden">Soldes masqués</string>
@ -1605,6 +1619,7 @@
<string name="universal_error">Nous avons rencontré une erreur. Code d\'erreur : %s. Veuillez contacter notre équipe de support.</string>
<string name="unlock_wallet_description_full">Utilisez %s ou scannez une carte/bague pour avoir accès à votre portefeuille</string>
<string name="unsupported_wc_version">Échec de la connexion : Cette dApp utilise Wallet Connect version1.0, qui n\'est pas prise en charge. Veuillez vous assurer que la dApp prend en charge Wallet Connect version2.0 pour réussir la connexion.</string>
<string name="upgrade_to_hardware_wallet_button_title">Passez à un hardware wallet</string>
<string name="user_push_notification_agreement_argument_one">Restez à jour avec les dernières fonctionnalités et actualités</string>
<string name="user_push_notification_agreement_argument_one_subtitle">Alertes en temps réel pour les transactions, les échanges et les mises à jour importantes.</string>
<string name="user_push_notification_agreement_argument_one_title">Alertes de transaction</string>
@ -1968,6 +1983,7 @@
<string name="welcome_create_wallet_feature_delivery">Livraison rapide</string>
<string name="welcome_create_wallet_feature_one_tap">Commencez en un seul clic</string>
<string name="welcome_create_wallet_feature_seamless">Sans faille et sécurisé</string>
<string name="welcome_create_wallet_feature_seedphrase">Pas de seedphrase</string>
<string name="welcome_create_wallet_feature_use">Facile à utiliser</string>
<string name="welcome_create_wallet_hardware_description">Créez un harware wallet avec Tangem. Aussi fin qu\'une carte bancaire, aussi sûr qu\'un coffre-fort.</string>
<string name="welcome_create_wallet_mobile_description">Créer ou importer un portefeuille logiciel</string>

View file

@ -174,6 +174,8 @@
<string name="tangempay_temporarily_unavailable">Tangem Pay è temporaneamente non disponibile</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">Fare clic sul pulsante in basso per ripristinare l\'accesso</string>
<string name="tangempay_withdrawal_note_description">Il tuo saldo USDC Polygon on-chain differisce dal saldo della carta e si aggiorna entro 2 giorni lavorativi dopo un acquisto. I fondi degli acquisti rimborsati non verranno restituiti al tuo saldo on-chain né saranno disponibili per il prelievo, ma rimarranno sul saldo della tua carta per gli acquisti.</string>
<string name="tangempay_withdrawal_note_title">Attenzione</string>
<string name="tangempay_your_pin_code">Il tuo codice PIN</string>
<string name="twins_recreate_toolbar">Tangem Twin</string>
<string name="visa_onboarding_pin_code_description">Imposta un codice di 4 cifre.\nVerrà utilizzato per i pagamenti.</string>

View file

@ -367,6 +367,7 @@
<string name="common_supported_networks">対応ネットワーク</string>
<string name="common_swap">スワップ</string>
<string name="common_tangem">Tangem</string>
<string name="common_tangem_wallet">Tangem Wallet</string>
<string name="common_terms_and_conditions">利用規約</string>
<string name="common_terms_of_use">利用規約</string>
<string name="common_to">宛先</string>
@ -1547,7 +1548,7 @@
<string name="tangempay_temporarily_unavailable">Tangem Payは現在一時的に利用できません。</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">下のボタンをクリックしてアクセスを復元してください</string>
<string name="tangempay_withdrawal_note_description">現在引き出せるのは、保留中の取引分を差し引いたオンチェーンアドレス上のUSDCPolygonのみです。以前に返金や購入のキャンセルを行った場合、暗号資産アカウントの残高は2営業日以内に更新されます。</string>
<string name="tangempay_withdrawal_note_description">USDC Polygonのオンチェーン残高はカード残高とは異なり、購入後2営業日以内に更新されます。返金された購入資金はオンチェーン残高に戻らず、出金もできませんが、カード残高に残り、購入に使用できます。</string>
<string name="tangempay_withdrawal_note_title">ご注意ください</string>
<string name="tangempay_your_pin_code">PINコード</string>
<string name="this_is_my_wallet_title">これは私のウォレットです</string>

View file

@ -133,9 +133,9 @@
<string name="backup_complete_seed_description">Эти слова невозможно восстановить, если они будут потеряны. Храните их в надёжном месте.</string>
<string name="backup_complete_title">Бэкап завершен</string>
<string name="backup_info_description">Ваша фраза восстановления — фиксированный набор из %s случайных слов для доступа и восстановления кошелька.</string>
<string name="backup_info_keep_description">Эти слова невозможно восстановить, если они будут потеряны. Храните их в безопасности.</string>
<string name="backup_info_keep_description">Если вы потеряете эту фразу, восстановить её будет невозможно. Храните её в полной безопасности.</string>
<string name="backup_info_keep_title">Храните в безопасности</string>
<string name="backup_info_save_description">Сохраните эти %s слов в безопасном месте и никому их не сообщайте.</string>
<string name="backup_info_save_description">Сохраните эти %s слов в надежном месте, к которому только вы имеете доступ, и никому их не показывайте.</string>
<string name="backup_info_save_title">Восстановление невозможно</string>
<string name="backup_info_title">Фраза восстановления</string>
<string name="backup_seed_caution">Никому не сообщайте эти слова. Tangem никогда не будет их спрашивать. Ниже приведены %s слов вашей фразы восстановления кошелька. Используйте их, чтобы восстановить кошелёк в случае потери устройства.</string>
@ -384,7 +384,7 @@
<string name="common_supported_networks">Поддерживаемые сети</string>
<string name="common_swap">Обменять</string>
<string name="common_tangem">Tangem</string>
<string name="common_tangem_wallet">Tangem Кошелек</string>
<string name="common_tangem_wallet">Tangem Wallet</string>
<string name="common_terms_and_conditions">условия участия</string>
<string name="common_terms_of_use">Условиями использования</string>
<string name="common_to">На</string>
@ -466,7 +466,7 @@
<string name="details_row_title_signed_hashes">Подписано</string>
<string name="details_send_feedback">Отправить отзыв</string>
<string name="details_title">Подробности</string>
<string name="details_wallets_section_description">Одновременно у вас может быть только один мобильный кошелек. Его можно апгрейдить до Tangem cold wallet или использовать вместе с новым холодным кошельком.</string>
<string name="details_wallets_section_description">У вас может быть только один мобильный кошелек. Вы можете апгрейдить его до аппаратного кошелька Tangem или добавить новый аппаратный кошелек.</string>
<string name="disclaimer_error_loading">Проверьте подключение с интернетом или переключитесь на другую сеть</string>
<string name="disclaimer_title">Условия использования</string>
<string name="domain_receive_assets_default_address">Основной адрес</string>
@ -586,7 +586,7 @@
<string name="give_permission_swap_subtitle" formatted="false">Чтобы продолжить, вам нужно разрешить смарт-контракту %1s использовать ваш %2s</string>
<string name="give_permission_title">Дать разрешение</string>
<string name="give_permission_unlimited">Безлимитно</string>
<string name="hardware_wallet_backup_feature_description">Новые адреса будут сгенерированы прямо в вашем аппаратном кошельке, готовы к использованию и полностью защищены.</string>
<string name="hardware_wallet_backup_feature_description">Адреса будут сгенерированы прямо в аппаратном кошельке Tangem — готовы к использованию и полностью защищены</string>
<string name="hardware_wallet_backup_feature_title">Новые адреса</string>
<string name="hardware_wallet_create_title">Добавить кошелек Tangem</string>
<string name="hardware_wallet_key_feature_description">Ваш приватный ключ будет сгенерирован на карте Tangem и никогда не покинет её.</string>
@ -629,13 +629,13 @@
<string name="hw_backup_seed_title">Фраза восстановления</string>
<string name="hw_backup_to_secure_description">Чтобы защитить ваш кошелёк с помощью кода доступа, сначала завершите резервное копирование.</string>
<string name="hw_backup_to_upgrade_description">Чтобы улучшить кошелёк до аппаратного, сначала создайте резервную копию.</string>
<string name="hw_backup_upgrade_description">Перенесите свой мобильный кошелек на аппаратный кошелек Tangem для максимальной безопасности. Импортируйте существующий кошелек или переведите средства на новый.</string>
<string name="hw_backup_upgrade_description">Сделайте апгрейд до аппаратного кошелька Tangem для максимальной безопасности.\nИмпортируйте существующий кошелек или создайте новый.</string>
<string name="hw_backup_upgrade_title">Апгрейд до холодного кошелька</string>
<string name="hw_create_keys_description">Ваши приватные ключи надёжно зашифрованы и хранятся на вашем телефоне</string>
<string name="hw_create_keys_description">Ваши приватные ключи надёжно зашифрованы и хранятся на вашем телефоне.</string>
<string name="hw_create_keys_title">Ключи хранятся в приложении</string>
<string name="hw_create_seed_description">Создайте или импортируйте кошелёк с помощью вашей фразы восстановления.</string>
<string name="hw_create_seed_title">Резервная копия</string>
<string name="hw_create_title">Создать мобильный кошелек</string>
<string name="hw_create_title">Мобильный кошелек</string>
<string name="hw_create_upgrade_description">Перенесите свой мобильный кошелек на Tangem-карту или кольцо в любое время.</string>
<string name="hw_create_upgrade_title">Апгрейд до аппаратного кошелька</string>
<string name="hw_import_existing_wallet">Импортировать существующий</string>
@ -662,15 +662,15 @@
<string name="hw_upgrade_error_wallet2_card_required">Во время операции произошла ошибка.</string>
<string name="hw_upgrade_funds_access_description">Ваши средства остаются в безопасности и полностью доступны в процессе.</string>
<string name="hw_upgrade_funds_access_title">Доступ к средствам</string>
<string name="hw_upgrade_general_security_description">После апгрейда ваш мобильный кошелек будет удалён из приложения и сохранён на аппаратном кошельке; фраза восстановления остаётся у вас.</string>
<string name="hw_upgrade_general_security_description">После апгрейда мобильный кошелек удаляется из приложения, ключи сохраняются в вашем аппаратном кошельке Tangem. Seed-фраза остаётся у вас.</string>
<string name="hw_upgrade_general_security_title">Общая безопасность</string>
<string name="hw_upgrade_key_migration_description">Приватные ключи будут перемещены из приложения в вашу Tangem карту или кольцо</string>
<string name="hw_upgrade_key_migration_description">Приватные ключи будут перемещены на вашу Tangem-карту или кольцо.</string>
<string name="hw_upgrade_key_migration_title">Миграция ключей</string>
<string name="hw_upgrade_scan_device">Сканировать устройство</string>
<string name="hw_upgrade_start_action">Начать апгрейд</string>
<string name="hw_upgrade_start_description">Вы собираетесь перейти на устройство Tangem, где ваши активы будут в безопасности в холодном хранилище.</string>
<string name="hw_upgrade_start_title">Tangem Wallet</string>
<string name="hw_upgrade_title">Обновиться до аппаратного кошелька</string>
<string name="hw_upgrade_title">Апгрейд до аппаратного кошелька</string>
<string name="hw_upgrade_to_cold_banner_description">Храните свою криптовалюту в безопасности с помощью первоклассного аппаратного кошелька Tangem.</string>
<string name="hw_upgrade_to_cold_banner_title">Сделать апгрейд кошелька до аппаратной версии.</string>
<string name="information_generated_with_ai">Эта информация была сгенерирована ИИ.\nНажмите здесь, если обнаружили ошибку.</string>
@ -1028,6 +1028,7 @@
<string name="onboarding_wallet_info_title_fourth">Восстановление кода доступа</string>
<string name="onboarding_wallet_info_title_second">Идентичные карты</string>
<string name="onboarding_wallet_info_title_third">Код доступа</string>
<string name="only_one_mobile_wallet_explanation">У вас может быть только один мобильный кошелек. Вы можете апгрейдить его до аппаратного кошелька Tangem или добавить новый аппаратный кошелек.</string>
<string name="onramp_all_offers_button_title">Все предложения</string>
<string name="onramp_avaiable_with_payment_methods">Доступно с %s</string>
<string name="onramp_choose_provider_title_hint">Tangem предоставляет доступ к покупке через сторонних провайдеров в соответствии с их правилами</string>
@ -1291,7 +1292,7 @@
<string name="settings_upgrade_banner_advantage_feature_title">Прост в использовании</string>
<string name="settings_upgrade_banner_description">Хранит вашу криптовалюту в безопасности и офлайн. Тонкий, как кредитная карта, надежнее банковского сейфа.</string>
<string name="settings_upgrade_banner_seed_phrase_feature_title">Без seed-фразы</string>
<string name="settings_upgrade_banner_superiority_feature_title">Лучший в своём классе аппаратный кошелек</string>
<string name="settings_upgrade_banner_superiority_feature_title">Лучший в своём классе</string>
<string name="settings_upgrade_banner_title">Холодный кошелек Tangem</string>
<string name="settings_wallet_name_title">Имя</string>
<string name="stake_token_description">Заставьте ваш токен работать</string>
@ -1593,6 +1594,8 @@
<string name="tangempay_temporarily_unavailable">Tangem Pay временно недоступен</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">Нажмите на кнопку ниже, чтобы восстановить доступ</string>
<string name="tangempay_withdrawal_note_description">Баланс ончейн-адреса (USDC Polygon) обновляется в течение 2 рабочих дней после покупки. При возвратах покупок средства не возвращаются на ончейн-баланс и недоступны для вывода, но отображаются на карте и могут быть использованы для покупок.</string>
<string name="tangempay_withdrawal_note_title">Обратите внимание</string>
<string name="tangempay_your_pin_code">Ваш PIN-код</string>
<string name="this_is_my_wallet_title">Это мой кошелек</string>
<string name="toast_balances_hidden">Балансы скрыты</string>
@ -1675,7 +1678,7 @@
<string name="user_push_notification_agreement_header">Хотите использовать Push-уведомления?</string>
<string name="user_push_notification_banner_subtitle">Включите push-уведомления, и мы мгновенно сообщим вам, когда поступят средства.</string>
<string name="user_push_notification_banner_title">Не пропустите транзакцию</string>
<string name="user_wallet_list_add_button">Добавить новый кошелек</string>
<string name="user_wallet_list_add_button">Добавить кошелек</string>
<string name="user_wallet_list_delete_hw_prompt">Если вы удалите этот кошелёк без резервной копии, вы навсегда потеряете доступ к своим средствам.</string>
<string name="user_wallet_list_delete_prompt">Вы уверены, что хотите забыть этот кошелек?</string>
<string name="user_wallet_list_error_unable_to_unlock">Произошла ошибка, пожалуйста, отсканируйте свою карту или кольцо для входа</string>
@ -1970,9 +1973,9 @@
<string name="wc_uri_already_used_title">URI уже используется</string>
<string name="wc_wallet_connect">WalletConnect</string>
<string name="wc_warning_transaction">Подозрительная транзакция</string>
<string name="welcome_create_wallet_already_have">Уже есть Tangem кошелек?</string>
<string name="welcome_create_wallet_already_have">Уже есть кошелек Tangem?</string>
<string name="welcome_create_wallet_feature_assets">Тысячи активов</string>
<string name="welcome_create_wallet_feature_class">Лучший в своём классе аппаратный кошелёк</string>
<string name="welcome_create_wallet_feature_class">Лучший в своём классе</string>
<string name="welcome_create_wallet_feature_delivery">Быстрая доставка</string>
<string name="welcome_create_wallet_feature_one_tap">Начните в один клик</string>
<string name="welcome_create_wallet_feature_seamless">Просто и надёжно</string>

View file

@ -382,6 +382,7 @@
<string name="common_supported_networks">Підтримувані мережі</string>
<string name="common_swap">Обмін</string>
<string name="common_tangem">Tangem</string>
<string name="common_tangem_wallet">Tangem Wallet</string>
<string name="common_terms_and_conditions">умови участі</string>
<string name="common_terms_of_use">Умовами використання</string>
<string name="common_to">До</string>
@ -623,7 +624,7 @@
<string name="hw_create_keys_title">Ключі зберігаються у застосунку</string>
<string name="hw_create_seed_description">Створіть або відновіть свій гаманець за допомогою вашої фрази відновлення.</string>
<string name="hw_create_seed_title">Резервна копія</string>
<string name="hw_create_title">Створити мобільний гаманець</string>
<string name="hw_create_title">Мобільний гаманець</string>
<string name="hw_import_existing_wallet">Імпортувати існуючий гаманець</string>
<string name="hw_import_seed_phrase_already_imported">Ця фраза відновлення вже була імпортована</string>
<string name="hw_mobile_wallet">Мобільний гаманець</string>
@ -1569,6 +1570,8 @@
<string name="tangempay_temporarily_unavailable">Tangem Pay тимчасово недоступний</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">Натисніть кнопку нижче, щоб відновити доступ</string>
<string name="tangempay_withdrawal_note_description">Ваш ончейн-баланс USDC Polygon відрізняється від балансу картки та оновлюється протягом 2 робочих днів після покупки. Кошти з повернених покупок не будуть повернуті на ваш ончейн-баланс і не будуть доступні для виведення, але залишаться на балансі картки для покупок.</string>
<string name="tangempay_withdrawal_note_title">Зверніть увагу</string>
<string name="tangempay_your_pin_code">Ваш PIN-код</string>
<string name="this_is_my_wallet_title">Це мій гаманець</string>
<string name="toast_balances_hidden">Баланси приховано</string>
@ -1650,7 +1653,7 @@
<string name="user_push_notification_agreement_header">Бажаєте використовувати Push-повідомлення?</string>
<string name="user_push_notification_banner_subtitle">Увімкніть push-сповіщення, щоб отримувати повідомлення, коли кошти надходять на ваш гаманець.</string>
<string name="user_push_notification_banner_title">Не пропустіть транзакцію</string>
<string name="user_wallet_list_add_button">Додати новий гаманець</string>
<string name="user_wallet_list_add_button">Додати гаманець</string>
<string name="user_wallet_list_delete_hw_prompt">Якщо ви видалите цей гаманець без резервної копії, ви назавжди втратите доступ до своїх коштів.</string>
<string name="user_wallet_list_delete_prompt">Ви впевнені, що хочете видалити цей гаманець?</string>
<string name="user_wallet_list_error_unable_to_unlock">Сталася помилка, будь ласка, відскануйте свою картку або кільце, для входу</string>

View file

@ -416,6 +416,8 @@
<string name="tangempay_temporarily_unavailable">Tangem Pay暂时不可用</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">點擊下方按鈕以恢復存取權限</string>
<string name="tangempay_withdrawal_note_description">您的 USDC Polygon 鏈上餘額與卡片餘額不同,並在購買後 2 個工作日內更新。退款交易的資金不會返回到您的鏈上餘額或可供提現,但會保留在您的卡片餘額中用於購買。</string>
<string name="tangempay_withdrawal_note_title">請注意</string>
<string name="tangempay_your_pin_code">您的PIN码</string>
<string name="token_details_hide_alert_hide">隱藏</string>
<string name="token_details_hide_alert_message">您即將在主屏幕上隱藏此代幣。您可以隨時通過管理代幣頁面將其添加回來。</string>

View file

@ -131,9 +131,9 @@
<string name="backup_complete_seed_description">These words cannot be recovered if lost. Store them securely.</string>
<string name="backup_complete_title">Backup completed</string>
<string name="backup_info_description">Your secret recovery phrase is a set of %s random words for accessing and recovering your wallet.</string>
<string name="backup_info_keep_description">These words cannot be recovered if lost. Keep them safe.</string>
<string name="backup_info_keep_description">If you lose this phrase, it cannot be recovered. Keep it completely secure.</string>
<string name="backup_info_keep_title">Keep it safe</string>
<string name="backup_info_save_description">Save these %s words in a secure location and never share them with anyone.</string>
<string name="backup_info_save_description">Save these %s words in a secure place that only you can access, and never share them with anyone.</string>
<string name="backup_info_save_title">No recovery possible</string>
<string name="backup_info_title">Recovery phrase</string>
<string name="backup_seed_caution">The %s words below are your wallet\'s recovery phrase. Never share these words with anyone. Tangem will never ask you for them. Use them to restore your wallet if you lose your device.</string>
@ -453,7 +453,7 @@
<string name="details_row_title_signed_hashes">Signed</string>
<string name="details_send_feedback">Send feedback</string>
<string name="details_title">Details</string>
<string name="details_wallets_section_description">You can have only one mobile wallet at a time. It can be upgraded to a Tangem cold wallet or used alongside a new cold wallet.</string>
<string name="details_wallets_section_description">You can only have one mobile wallet. Upgrade it to Tangem hardware wallet, or add a new hardware wallet.</string>
<string name="disclaimer_error_loading">Check your internet connection or switch to a different network</string>
<string name="disclaimer_title">Terms of service</string>
<string name="domain_receive_assets_default_address">Default Address</string>
@ -576,7 +576,7 @@
<string name="give_permission_swap_subtitle" formatted="false">To continue, grant %1s smart contracts permission to use your %2s</string>
<string name="give_permission_title">Give Permission</string>
<string name="give_permission_unlimited">Unlimited</string>
<string name="hardware_wallet_backup_feature_description">New addresses will be generated for you inside your hardware wallet, ready for use and fully secure.</string>
<string name="hardware_wallet_backup_feature_description">Addresses are generated directly on your Tangem hardware wallet — ready to use and fully protected.</string>
<string name="hardware_wallet_backup_feature_title">New Addresses</string>
<string name="hardware_wallet_create_title">Add Tangem Wallet</string>
<string name="hardware_wallet_key_feature_description">Your private key will be generated directly inside the Tangem card and will never leave it.</string>
@ -652,7 +652,7 @@
<string name="hw_upgrade_error_wallet2_card_required">An error occurred during the operation.</string>
<string name="hw_upgrade_funds_access_description">Your funds remain safe and fully accessible during the process</string>
<string name="hw_upgrade_funds_access_title">Access to funds</string>
<string name="hw_upgrade_general_security_description">After upgrading, your mobile wallet will be removed from the app and stored on your hardware wallet; your recovery phrase stays with you.</string>
<string name="hw_upgrade_general_security_description">After upgrading, your mobile wallet is removed from the app and stored on your Tangem hardware wallet. Your recovery phrase stays with you.</string>
<string name="hw_upgrade_general_security_title">General security</string>
<string name="hw_upgrade_key_migration_description">Private keys will be moved from the app to your Tangem hardware wallet</string>
<string name="hw_upgrade_key_migration_title">Key migration</string>
@ -1000,7 +1000,7 @@
<string name="onboarding_wallet_info_title_fourth">Access code restore</string>
<string name="onboarding_wallet_info_title_second">Identical cards</string>
<string name="onboarding_wallet_info_title_third">Access code</string>
<string name="only_one_mobile_wallet_explanation">You can have either a mobile wallet or a hardware wallet at one time. Upgrade your wallet or delete it from the app to start using a Tangem cold wallet.</string>
<string name="only_one_mobile_wallet_explanation">You can only have one mobile wallet. Upgrade it to Tangem hardware wallet, or add a new hardware wallet.</string>
<string name="onramp_all_offers_button_title">All offers</string>
<string name="onramp_avaiable_with_payment_methods">Available with %s</string>
<string name="onramp_choose_provider_title_hint">Providers facilitate transactions</string>
@ -1568,7 +1568,7 @@
<string name="tangempay_temporarily_unavailable">Tangem Pay is temporarily unreachable</string>
<string name="tangempay_title">Tangem Pay</string>
<string name="tangempay_use_tangem_device_to_restore_payment_account">Click the button below to restore access</string>
<string name="tangempay_withdrawal_note_description">You can only withdraw USDC (Polygon) currently available on your onchain address balance, taking into account pending transactions. If you previously made a refund or cancelled a purchase, your crypto account balance will update within 2 business days.</string>
<string name="tangempay_withdrawal_note_description">Your on-chain USDC Polygon balance differs from your card balance and updates within 2 business days after a purchase. Funds from refunded purchases wont be returned your on-chain balance or be available for withdrawal, but will stay on your card balance for purchases.</string>
<string name="tangempay_withdrawal_note_title">Please note</string>
<string name="tangempay_your_pin_code">Your PIN code</string>
<string name="this_is_my_wallet_title">This is my wallet</string>

View file

@ -10,7 +10,6 @@ import com.tangem.data.txhistory.repository.paging.TxHistoryPagingSource
import com.tangem.datasource.local.txhistory.TxHistoryItemsStore
import com.tangem.datasource.local.userwallet.UserWalletsStore
import com.tangem.domain.models.currency.CryptoCurrency
import com.tangem.domain.models.network.Network
import com.tangem.domain.models.network.TxInfo
import com.tangem.domain.models.wallet.UserWallet
import com.tangem.domain.models.wallet.UserWalletId
@ -75,28 +74,18 @@ class DefaultTxHistoryRepository(
return pager.flow
}
@Deprecated("Replace with getTxExploreUrl [UserWalletId, Network] instead")
override fun getTxExploreUrl(txHash: String, networkId: Network.ID): String {
val blockchain = networkId.toBlockchain()
return when (val txExploreState = blockchain.getExploreTxUrl(txHash)) {
override fun getTxExploreUrl(txHash: String, currency: CryptoCurrency): String {
val blockchain = currency.network.id.toBlockchain()
val txExploreState = when (currency) {
is CryptoCurrency.Token -> blockchain.getTokenExplorerTxUrl(txHash)
else -> blockchain.getExploreTxUrl(txHash)
}
return when (txExploreState) {
is TxExploreState.Url -> txExploreState.url
is TxExploreState.Unsupported -> ""
}
}
override suspend fun getTxExploreUrl(userWalletId: UserWalletId, network: Network): String {
val blockchain = network.toBlockchain()
val walletManager = walletManagersFacade.getOrCreateWalletManager(
userWalletId = userWalletId,
network = network,
)
val lastTxHash = walletManager?.wallet?.recentTransactions?.last()?.hash.orEmpty()
return when (val txExploreState = blockchain.getExploreTxUrl(lastTxHash)) {
is TxExploreState.Url -> txExploreState.url
else -> ""
}
}
override suspend fun getFixedSizeTxHistoryItems(
userWalletId: UserWalletId,
currency: CryptoCurrency,

View file

@ -1,6 +1,8 @@
plugins {
alias(deps.plugins.android.library)
alias(deps.plugins.kotlin.android)
alias(deps.plugins.kotlin.kapt)
alias(deps.plugins.hilt.android)
id("configuration")
}
@ -23,4 +25,8 @@ dependencies {
implementation(deps.androidx.paging.runtime)
api(projects.core.pagination)
/** DI */
implementation(deps.hilt.android)
kapt(deps.hilt.kapt)
}

View file

@ -2,7 +2,6 @@ package com.tangem.domain.txhistory.repository
import androidx.paging.PagingData
import com.tangem.domain.models.currency.CryptoCurrency
import com.tangem.domain.models.network.Network
import com.tangem.domain.models.network.TxInfo
import com.tangem.domain.txhistory.models.TxHistoryListError
import com.tangem.domain.txhistory.models.TxHistoryStateError
@ -22,10 +21,7 @@ interface TxHistoryRepository {
refresh: Boolean,
): Flow<PagingData<TxInfo>>
fun getTxExploreUrl(txHash: String, networkId: Network.ID): String
/** Get transaction url in explorer via last transaction from wallet's recentTransactions list */
suspend fun getTxExploreUrl(userWalletId: UserWalletId, network: Network): String
fun getTxExploreUrl(txHash: String, currency: CryptoCurrency): String
@Throws(TxHistoryListError::class)
suspend fun getFixedSizeTxHistoryItems(

View file

@ -3,14 +3,13 @@ package com.tangem.domain.txhistory.usecase
import arrow.core.Either
import arrow.core.raise.catch
import arrow.core.raise.either
import com.tangem.domain.models.network.Network
import com.tangem.domain.models.currency.CryptoCurrency
import com.tangem.domain.txhistory.models.TxStatusError
import com.tangem.domain.txhistory.repository.TxHistoryRepository
class GetExplorerTransactionUrlUseCase(
private val repository: TxHistoryRepository,
) {
operator fun invoke(txHash: String, networkId: Network.ID): Either<TxStatusError, String> {
class GetExplorerTransactionUrlUseCase(private val repository: TxHistoryRepository) {
operator fun invoke(txHash: String, currency: CryptoCurrency): Either<TxStatusError, String> {
return either {
catch(
block = {
@ -18,7 +17,7 @@ class GetExplorerTransactionUrlUseCase(
raise(TxStatusError.EmptyUrlError)
}
repository.getTxExploreUrl(txHash, networkId).ifEmpty {
repository.getTxExploreUrl(txHash, currency).ifEmpty {
raise(TxStatusError.EmptyUrlError)
}
},

View file

@ -87,7 +87,7 @@ sealed class WcAnalyticEvents(
AnalyticsParam.ERROR_CODE to errorCode,
AnalyticsParam.ERROR_DESCRIPTION to errorMessage,
),
), AppsFlyerIncludedEvent
)
class SessionDisconnected(dAppMetaData: WcAppMetaData) : WcAnalyticEvents(
event = "dApp Disconnected",
@ -146,7 +146,7 @@ sealed class WcAnalyticEvents(
AnalyticsParam.BLOCKCHAIN to network.name,
AnalyticsParam.TYPE to securityStatus.toAnalyticVerificationStatus(),
),
)
), AppsFlyerIncludedEvent
class SignatureRequestFailed(
rawRequest: WcSdkSessionRequest,

View file

@ -14,6 +14,7 @@ android {
dependencies {
/** Api */
implementation(projects.features.createWalletStart.api)
implementation(projects.features.hotWallet.api)
/** Project - Domain */
implementation(projects.domain.card)

View file

@ -32,6 +32,7 @@ import com.tangem.domain.wallets.builder.ColdUserWalletBuilder
import com.tangem.domain.wallets.usecase.GenerateBuyTangemCardLinkUseCase
import com.tangem.domain.wallets.usecase.SaveWalletUseCase
import com.tangem.features.createwalletstart.entity.CreateWalletStartUM
import com.tangem.features.hotwallet.HotWalletFeatureToggles
import com.tangem.utils.coroutines.CoroutineDispatcherProvider
import kotlinx.collections.immutable.persistentListOf
import kotlinx.coroutines.delay
@ -63,6 +64,7 @@ internal class CreateWalletStartModel @Inject constructor(
private val urlOpener: UrlOpener,
private val trackingContextProxy: TrackingContextProxy,
private val analyticsEventHandler: AnalyticsEventHandler,
private val hotWalletFeatureToggles: HotWalletFeatureToggles,
) : Model() {
private val params = paramsContainer.require<CreateWalletStartComponent.Params>()
@ -97,6 +99,7 @@ internal class CreateWalletStartModel @Inject constructor(
onBackClick = { router.pop() },
onScanClick = ::onScanClick,
isScanInProgress = false,
isHotWalletOptionVisible = hotWalletFeatureToggles.isHotWalletVisible,
)
CreateWalletStartComponent.Mode.HotWallet -> CreateWalletStartUM(
title = resourceReference(R.string.hw_mobile_wallet),

View file

@ -17,6 +17,7 @@ internal data class CreateWalletStartUM(
val otherMethodClick: () -> Unit,
val onScanClick: () -> Unit,
val onBackClick: () -> Unit,
val isHotWalletOptionVisible: Boolean = true,
) {
data class FeatureItem(
val iconResId: Int,

View file

@ -165,70 +165,74 @@ internal fun CreateWalletStartContent(state: CreateWalletStartUM, modifier: Modi
text = state.primaryButtonText.resolveReference(),
onClick = state.onPrimaryButtonClick,
)
Row(
modifier = Modifier
.padding(
start = 16.dp,
top = 24.dp,
end = 16.dp,
),
horizontalArrangement = Arrangement.spacedBy(16.dp),
verticalAlignment = Alignment.CenterVertically,
) {
DashedGradientLine(
if (state.isHotWalletOptionVisible) {
Row(
modifier = Modifier
.weight(1f)
.height(16.dp),
)
Text(
text = stringResourceSafe(R.string.common_or),
style = TangemTheme.typography.caption1,
color = TangemTheme.colors.text.secondary,
textAlign = TextAlign.Center,
)
DashedGradientLine(
modifier = Modifier
.weight(1f)
.height(16.dp)
.scale(scaleX = -1f, scaleY = 1f),
)
}
if (state.otherMethodDescription != null) {
Text(
modifier = Modifier
.fillMaxWidth()
.padding(
start = 16.dp,
top = 16.dp,
top = 24.dp,
end = 16.dp,
),
text = state.otherMethodDescription.resolveReference(),
style = TangemTheme.typography.subtitle2,
color = TangemTheme.colors.text.tertiary,
textAlign = TextAlign.Center,
)
horizontalArrangement = Arrangement.spacedBy(16.dp),
verticalAlignment = Alignment.CenterVertically,
) {
DashedGradientLine(
modifier = Modifier
.weight(1f)
.height(16.dp),
)
Text(
text = stringResourceSafe(R.string.common_or),
style = TangemTheme.typography.caption1,
color = TangemTheme.colors.text.secondary,
textAlign = TextAlign.Center,
)
DashedGradientLine(
modifier = Modifier
.weight(1f)
.height(16.dp)
.scale(scaleX = -1f, scaleY = 1f),
)
}
}
Row(
modifier = Modifier
.wrapContentWidth()
.clickable { state.otherMethodClick() }
.padding(
horizontal = 16.dp,
vertical = 12.dp,
),
horizontalArrangement = Arrangement.Center,
) {
Text(
text = state.otherMethodTitle.resolveReference(),
style = TangemTheme.typography.subtitle1,
color = TangemTheme.colors.text.primary1,
textAlign = TextAlign.Center,
)
Icon(
painter = painterResource(id = R.drawable.ic_chevron_right_18x24),
tint = TangemTheme.colors.icon.primary1,
contentDescription = null,
)
if (state.isHotWalletOptionVisible) {
if (state.otherMethodDescription != null) {
Text(
modifier = Modifier
.fillMaxWidth()
.padding(
start = 16.dp,
top = 16.dp,
end = 16.dp,
),
text = state.otherMethodDescription.resolveReference(),
style = TangemTheme.typography.subtitle2,
color = TangemTheme.colors.text.tertiary,
textAlign = TextAlign.Center,
)
}
Row(
modifier = Modifier
.wrapContentWidth()
.clickable { state.otherMethodClick() }
.padding(
horizontal = 16.dp,
vertical = 12.dp,
),
horizontalArrangement = Arrangement.Center,
) {
Text(
text = state.otherMethodTitle.resolveReference(),
style = TangemTheme.typography.subtitle1,
color = TangemTheme.colors.text.primary1,
textAlign = TextAlign.Center,
)
Icon(
painter = painterResource(id = R.drawable.ic_chevron_right_18x24),
tint = TangemTheme.colors.icon.primary1,
contentDescription = null,
)
}
}
},
minImageHeight = 160.dp,

View file

@ -23,6 +23,7 @@ internal class PreviewDetailsComponent : DetailsComponent {
hotWalletFeatureToggles = object : HotWalletFeatureToggles {
override val isHotWalletEnabled: Boolean = true
override val isWalletCreationRestrictionEnabled: Boolean = true
override val isHotWalletVisible: Boolean = true
},
).buildAll(
isWalletConnectAvailable = true,

View file

@ -3,4 +3,5 @@ package com.tangem.features.hotwallet
interface HotWalletFeatureToggles {
val isHotWalletEnabled: Boolean
val isWalletCreationRestrictionEnabled: Boolean
val isHotWalletVisible: Boolean
}

View file

@ -10,4 +10,6 @@ internal class DefaultHotWalletFeatureToggles(
override val isWalletCreationRestrictionEnabled: Boolean
get() = isHotWalletEnabled &&
featureTogglesManager.isFeatureEnabled(name = "HOT_WALLET_CREATION_RESTRICTION_ENABLED")
override val isHotWalletVisible: Boolean
get() = featureTogglesManager.isFeatureEnabled(name = "HOT_WALLET_VISIBLE")
}

View file

@ -482,7 +482,7 @@ internal class SendConfirmModel @Inject constructor(
private fun updateTransactionStatus(txData: TransactionData.Uncompiled, txHash: String) {
val txUrl = getExplorerTransactionUrlUseCase(
txHash = txHash.ifEmpty { txData.hash.orEmpty() },
networkId = cryptoCurrency.network.id,
currency = cryptoCurrency,
).getOrNull().orEmpty()
_uiState.update(SendConfirmSentStateTransformer(txData, txUrl))
}

View file

@ -334,7 +334,7 @@ internal class NFTSendConfirmModel @Inject constructor(
private fun updateTransactionStatus(txData: TransactionData.Uncompiled) {
val txUrl = getExplorerTransactionUrlUseCase(
txHash = txData.hash.orEmpty(),
networkId = cryptoCurrency.network.id,
currency = cryptoCurrency,
).getOrElse { "" }
_uiState.update(NFTSendConfirmSentStateTransformer(txData, txUrl))
}

View file

@ -76,7 +76,7 @@ internal class P2PEthPoolTransactionSender @AssistedInject constructor(
ifRight = { broadcastResult ->
val txUrl = getExplorerTransactionUrlUseCase(
txHash = broadcastResult.hash,
networkId = cryptoCurrencyStatus.currency.network.id,
currency = cryptoCurrencyStatus.currency,
).getOrNull().orEmpty()
balanceUpdater.updateAfterTransaction()

View file

@ -261,7 +261,7 @@ internal class StakeKitTransactionSender @AssistedInject constructor(
val txUrl = getExplorerTransactionUrlUseCase(
txHash = transactionHashes.last(),
networkId = cryptoCurrencyStatus.currency.network.id,
currency = cryptoCurrencyStatus.currency,
).getOrNull().orEmpty()
balanceUpdater.updateAfterTransaction()

View file

@ -329,7 +329,7 @@ internal class SendWithSwapConfirmModel @Inject constructor(
onSendSuccess = { txHash, timestamp, data ->
val txUrl = getExplorerTransactionUrlUseCase(
txHash = txHash,
networkId = primaryCurrencyStatus.currency.network.id,
currency = primaryCurrencyStatus.currency,
).getOrNull().orEmpty()
sendSuccessAnalytics()
uiState.transformerUpdate(

View file

@ -975,7 +975,7 @@ internal class SwapModel @Inject constructor(
)
val url = getExplorerTransactionUrlUseCase(
txHash = swapTransactionState.txHash,
networkId = fromCurrency.currency.network.id,
currency = fromCurrency.currency,
).getOrElse {
Timber.i("tx hash explore not supported")
""

View file

@ -289,18 +289,9 @@ internal class TangemPayDetailsModel @Inject constructor(
.getOrNull()
}
if (currency != null) {
router.push(
AppRoute.Swap(
currencyFrom = currency,
userWalletId = params.userWalletId,
isInitialReverseOrder = false,
screenSource = AnalyticsParam.ScreensSources.TangemPay.value,
tangemPayInput = AppRoute.Swap.TangemPayInput(
cryptoAmount = currentBalance.availableForWithdrawal,
fiatAmount = currentBalance.availableForWithdrawal,
depositAddress = depositAddress,
isWithdrawal = true,
),
uiMessageSender.send(
message = TangemPayMessagesFactory.createWithdrawWarning(
onGotItClick = { onConfirmWithdrawal(currency, currentBalance, depositAddress) },
),
)
} else {
@ -311,6 +302,27 @@ internal class TangemPayDetailsModel @Inject constructor(
}
}
private fun onConfirmWithdrawal(
currency: CryptoCurrency,
currentBalance: TangemPayCardBalance,
depositAddress: String,
) {
router.push(
AppRoute.Swap(
currencyFrom = currency,
userWalletId = params.userWalletId,
isInitialReverseOrder = false,
screenSource = AnalyticsParam.ScreensSources.TangemPay.value,
tangemPayInput = AppRoute.Swap.TangemPayInput(
cryptoAmount = currentBalance.availableForWithdrawal,
fiatAmount = currentBalance.availableForWithdrawal,
depositAddress = depositAddress,
isWithdrawal = true,
),
),
)
}
private fun fetchBalance(): Job {
return modelScope.launch {
val result = try {

View file

@ -94,4 +94,23 @@ internal object TangemPayMessagesFactory {
}
}
}
fun createWithdrawWarning(onGotItClick: () -> Unit): BottomSheetMessageV2 {
return bottomSheetMessage {
infoBlock {
icon(R.drawable.img_attention_20) {
backgroundType = MessageBottomSheetUMV2.Icon.BackgroundType.Attention
}
title = TextReference.Res(R.string.tangempay_withdrawal_note_title)
body = TextReference.Res(R.string.tangempay_withdrawal_note_description)
}
primaryButton {
text = resourceReference(R.string.common_got_it)
onClick {
onGotItClick()
closeBs()
}
}
}
}
}

View file

@ -831,7 +831,7 @@ internal class TokenDetailsModel @Inject constructor(
override fun onTransactionClick(txHash: String) {
getExplorerTransactionUrlUseCase(
txHash = txHash,
networkId = cryptoCurrency.network.id,
currency = cryptoCurrency,
).fold(
ifLeft = { Timber.e(it.toString()) },
ifRight = { router.openUrl(url = it) },

View file

@ -221,7 +221,7 @@ internal class TxHistoryModel @Inject constructor(
override fun openTxInExplorer(txHash: String) {
getExplorerTransactionUrlUseCase(
txHash = txHash,
networkId = params.currency.network.id,
currency = params.currency,
).fold(
ifLeft = { Timber.e(it.toString()) },
ifRight = { urlOpener.openUrl(url = it) },

View file

@ -246,7 +246,6 @@ internal class TangemPayClickIntentsImplementor @Inject constructor(
router.openTangemPayOnboarding(mode = AppRoute.TangemPayOnboarding.Mode.FromBannerOnMain(userWalletId))
} else {
stateHolder.update(transformer = TangemPayHideOnboardingStateTransformer(userWalletId))
tangemPayMainScreenCustomerInfoUseCase.fetch(userWalletId)
}
}
}

View file

@ -297,11 +297,13 @@ internal class WalletContentClickIntentsImplementor @Inject constructor(
?.currency
?: return@launch
getExplorerTransactionUrlUseCase(txHash = txHash, networkId = currency.network.id)
.fold(
ifLeft = { Timber.e(it.toString()) },
ifRight = { router.openUrl(url = it) },
)
getExplorerTransactionUrlUseCase(
txHash = txHash,
currency = currency,
).fold(
ifLeft = { Timber.e(it.toString()) },
ifRight = { router.openUrl(url = it) },
)
}
}

View file

@ -305,7 +305,7 @@ internal enum class Wallet2CobrandImage(
USA(
cards2ResId = R.drawable.ill_usa_card2_120_106,
cards3ResId = R.drawable.ill_usa_card3_120_106,
batchIds = setOf("AF91", "AF990017"),
batchIds = setOf("AF91", "AF990017", "AF990056"),
),
VeChain(
@ -384,6 +384,12 @@ internal enum class Wallet2CobrandImage(
HyperBlue(
cards2ResId = R.drawable.ill_hyperblue_card2_120_106,
cards3ResId = R.drawable.ill_hyperblue_card3_120_106,
batchIds = setOf("AF990026", "AF990027", "AF990028"),
batchIds = setOf("AF990026", "AF990027", "AF990028", "AF990050", "AF990051", "AF990052"),
),
Lunar(
cards2ResId = R.drawable.ill_lunar_card2_120_106,
cards3ResId = R.drawable.ill_lunar_card3_120_106,
batchIds = setOf("AF990057", "AF990058", "AF990059"),
),
}

View file

@ -51,15 +51,28 @@ internal fun TangemPayOnboardingBanner(state: TangemPayState.OnboardingBanner, m
) {
val (image, text, close) = createRefs()
Image(
painter = painterResource(R.drawable.ic_close_24),
contentDescription = null,
modifier = Modifier
.size(16.dp)
.clickable(onClick = state.closeOnClick)
.constrainAs(close) {
top.linkTo(parent.top, margin = 16.dp)
end.linkTo(parent.end, margin = 16.dp)
},
colorFilter = ColorFilter.tint(TangemTheme.colors.icon.inactive),
)
Column(
modifier = Modifier
.constrainAs(text) {
top.linkTo(parent.top)
start.linkTo(image.end, margin = 12.dp)
end.linkTo(parent.end)
end.linkTo(close.start, margin = 12.dp)
width = Dimension.fillToConstraints
}
.padding(top = 16.dp, end = 16.dp, bottom = 16.dp),
.padding(top = 16.dp, bottom = 16.dp),
) {
Text(
text = stringResourceSafe(R.string.tangempay_onboarding_banner_title),
@ -80,26 +93,13 @@ internal fun TangemPayOnboardingBanner(state: TangemPayState.OnboardingBanner, m
painter = painterResource(R.drawable.img_tangem_pay_onboarding_banner),
contentDescription = null,
modifier = Modifier
.padding(top = 8.dp, start = 24.dp)
.constrainAs(image) {
start.linkTo(parent.start)
top.linkTo(text.top)
bottom.linkTo(text.bottom)
height = Dimension.fillToConstraints
}
.padding(top = 8.dp, start = 24.dp),
)
Image(
painter = painterResource(R.drawable.ic_close_24),
contentDescription = null,
modifier = Modifier
.size(16.dp)
.clickable(onClick = state.closeOnClick)
.constrainAs(close) {
top.linkTo(parent.top, margin = 16.dp)
end.linkTo(parent.end, margin = 16.dp)
},
colorFilter = ColorFilter.tint(TangemTheme.colors.icon.inactive),
)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View file

@ -5,7 +5,7 @@
# https://github.com/tangem/tangem-sdk-android/
# https://github.com/tangem/vico
tangemBlockchainSdk = "develop-1383"
tangemBlockchainSdk = "develop-1387"
#tangemBlockchainSdk = "0.0.1" # Keep it! - used for local builds
tangemCardSdk = "develop-573"
#tangemCardSdk = "0.0.1" # Keep it! - used for local builds ^