diff --git a/.changeset/sharp-crews-rule.md b/.changeset/sharp-crews-rule.md new file mode 100644 index 000000000000..a265beaa4795 --- /dev/null +++ b/.changeset/sharp-crews-rule.md @@ -0,0 +1,7 @@ +--- +"@ledgerhq/hw-app-exchange": patch +"ledger-live-desktop": patch +"@ledgerhq/live-common": patch +--- + +Support base64 encodng for swap_ng type swaps diff --git a/apps/ledger-live-desktop/src/config/urls.ts b/apps/ledger-live-desktop/src/config/urls.ts index a04e8b3ead4a..36403911ac74 100644 --- a/apps/ledger-live-desktop/src/config/urls.ts +++ b/apps/ledger-live-desktop/src/config/urls.ts @@ -165,6 +165,11 @@ export const urls = { tos: "https://criptointercambio.com/terms-of-use", support: "https://criptointercambio.com/en/about", }, + moonpay: { + main: "https://www.moonpay.com/", + tos: "https://www.moonpay.com/legal/terms_of_use", + support: "https://support.moonpay.com", + }, }, }, exchange: { diff --git a/apps/ledger-live-desktop/src/renderer/screens/exchange/Swap2/Form/DrawerFooter.tsx b/apps/ledger-live-desktop/src/renderer/screens/exchange/Swap2/Form/DrawerFooter.tsx index 4682ac159a44..19ec8585f615 100644 --- a/apps/ledger-live-desktop/src/renderer/screens/exchange/Swap2/Form/DrawerFooter.tsx +++ b/apps/ledger-live-desktop/src/renderer/screens/exchange/Swap2/Form/DrawerFooter.tsx @@ -18,8 +18,9 @@ const Terms = styled(Text).attrs({ `; export function DrawerFooter({ provider }: { provider: string }) { - const swapProvider = urls.swap.providers[provider as keyof typeof urls.swap.providers]; - const url = ("tos" in swapProvider && swapProvider?.tos) || undefined; + const swapProvider = + urls.swap.providers?.[provider as keyof typeof urls.swap.providers] ?? undefined; + const url = (swapProvider && "tos" in swapProvider && swapProvider?.tos) || undefined; const onLinkClick = useCallback(() => openURL(url!), [url]); if (!url) { return null; diff --git a/apps/ledger-live-mobile/src/locales/ar/common.json b/apps/ledger-live-mobile/src/locales/ar/common.json index f13cf718a1d2..490aa4449748 100644 --- a/apps/ledger-live-mobile/src/locales/ar/common.json +++ b/apps/ledger-live-mobile/src/locales/ar/common.json @@ -492,7 +492,7 @@ "description" : "حاول إعادة تثبيت التطبيق من My Ledger (جهازي Ledger)" }, "NotEnoughGas" : { - "title" : "أنت بحاجة إلى {{ticker}} {{fees}} لرسوم الشبكة من أجل المبادلة حيث أنك على شبكة {{cryptoName}}. شراء {{ticker}}", + "title" : "أنت بحاجة إلى {{fees}} {{ticker}} للرسوم حيث إنك على شبكة {{cryptoName}}. شراء {{ticker}}", "description" : "يرجى إرسال بعض العملات إلى حسابك لسداد قيمة معاملات رموز التوكن." }, "NotEnoughGasSwap" : { @@ -2843,10 +2843,6 @@ "title" : "الإعلانات", "desc" : "تلقى تحديثات Ledger Live المهمة" }, - "recommendations" : { - "title" : "التوصيات", - "desc" : "أثري تجربتك مع التوصيات المخصصة والعروض الخاصة" - }, "largeMover" : { "title" : "تحرك كبير في السعر", "desc" : "سيتم إخطارك بوجود تحركات مهمة في سعر BTC وETH" @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "قم بتنمية ما تملك من ETH", "subTitle" : "قم بتكديس ETH خاصتك وتنمية ممتلكاتك من خلال كسب مكافآت يومية مباشرةً في Ledger Live لديك.", + "tagMinimum" : "Requires {{min}} ETH", "close" : "إغلاق", "providers" : { + "kiln_pooling" : { + "title" : "مُجمِع تكديس Kiln", + "description" : "قم بالتكديس دون حد أدنى. اكسب مكافآت مُجمّعة تلقائياً بدون فترة قَفل.", + "supportLink" : "تعرف على المزيد عن مُجمِعات Kiln" + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "قم بالتكديس دون حد أدنى. اكسب مكافآت مُجمّعة تلقائياً مع وصول إلى سيولة فورية.", + "supportLink" : "تعرّف على المزيد عن Stader" + }, "lido" : { - "title" : "اكسب مع Lido", - "description" : "قم بتكديس إيثريوم خاصتك مع Lido واكسب مكافآت يومية. بدون حد أدنى مطلوب من ETH. بدون فترة قَفل.", + "title" : "Lido", + "description" : "قم بتكديس أي مبلغ من ETH من أجل سيولة فورية ومكافآت يومية.", "supportLink" : "تعرف على المزيد عن Lido" }, - "kiln" : { - "title" : "تكديس Kiln المُخصص", + "figment" : { + "title" : "Figment", "tag" : "يتطلب 32 ETH", - "description" : "التكديس مع مدققين مخصصين. يتطلب مضاعفات 32 ETH. المطالبة بالمكافآت تتم يدوياً. غادِر في أي وقت.", - "supportLink" : "تعرف على المزيد عن مدقق Kiln" + "description" : "قم بتكديس أكثر من 32 ETH على مدققين مخصصين واجعل المكافآت تُرسل تلقائياً إلى حسابك.", + "supportLink" : "تعرف على المزيد عن Figment" }, - "kiln_pooling" : { - "title" : "مُجمِع تكديس Kiln", - "description" : "انضم إلى مُجمِع تكديس. لا يوجد حد أدنى مطلوب من ETH. تراكم المكافآت يتم تلقائياً. غادِر في أي وقت.", - "supportLink" : "تعرف على المزيد عن مُجمِعات Kiln", - "tag" : "ليس هناك حد أدنى" + "kiln" : { + "title" : "تكديس Kiln الفردي", + "tag" : "يتطلب 32 ETH", + "description" : "قم بتكديس أكثر من 32 ETH على مدققين مخصصين وطالب بالمكافآت بسهولة.", + "supportLink" : "تعرّف على المزيد عن Kiln" } } }, diff --git a/apps/ledger-live-mobile/src/locales/de/common.json b/apps/ledger-live-mobile/src/locales/de/common.json index cfaf54b7201e..cd1bf5b83fe2 100644 --- a/apps/ledger-live-mobile/src/locales/de/common.json +++ b/apps/ledger-live-mobile/src/locales/de/common.json @@ -492,7 +492,7 @@ "description" : "Versuchen Sie, die App über My Ledger neu zu installieren." }, "NotEnoughGas" : { - "title" : "Für den Umtausch benötigen Sie {{fees}} {{ticker}} für Netzwerkgebühren, da Sie sich im {{cryptoName}}-Netzwerk befinden. {{ticker}} kaufen", + "title" : "Sie benötigen {{fees}} {{ticker}} für Gebühren, da Sie sich im {{cryptoName}}-Netzwerk befinden. {{ticker}} kaufen", "description" : "Bitte senden Sie einige Coins an Ihr Konto, um Token-Transaktionen bezahlen zu können." }, "NotEnoughGasSwap" : { @@ -2843,10 +2843,6 @@ "title" : "Ankündigung", "desc" : "Wichtige Updates zu Ledger Live erhalten" }, - "recommendations" : { - "title" : "Empfehlungen", - "desc" : "Bereichern Sie Ihr Erlebnis mit personalisierten Empfehlungen und speziellen Angeboten" - }, "largeMover" : { "title" : "Große Mover", "desc" : "Sie bekommen eine Benachrichtigung über wichtige Preisbewegungen für BTC und ETH" @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "Vermehren Sie Ihr ETH-Guthaben", "subTitle" : "Staken Sie Ihre ETH und vermehren Sie Ihr Vermögen – durch tägliche Prämien direkt in Ledger Live.", + "tagMinimum" : "Benötigt {{min}} ETH", "close" : "Schließen", "providers" : { + "kiln_pooling" : { + "title" : "Kiln Staking Pool", + "description" : "Staken Sie ohne Mindestbetrag. Verdienen Sie automatisch aufgelaufene Belohnungen ohne Sperrfrist.", + "supportLink" : "Mehr über Kiln Pooling erfahren." + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "Staken Sie ohne Mindestbetrag. Verdienen Sie automatisch aufgelaufene Belohnungen und erhalten Sie direkte Liquidität.", + "supportLink" : "Erfahren Sie mehr über Stader" + }, "lido" : { - "title" : "Verdienen mit Lido", - "description" : "Staken Sie Ihr Ethereum mit Lido und verdienen Sie täglich Belohnungen. Kein ETH-Minimum erforderlich. Keine Sperrfrist.", + "title" : "Lido", + "description" : "Staken Sie einen beliebigen ETH-Betrag für Sofortliquidität und tägliche Belohnungen.", "supportLink" : "Mehr über Lido lernen" }, - "kiln" : { - "title" : "Staking mit Kiln", + "figment" : { + "title" : "Figment", "tag" : "Benötigt 32 ETH", - "description" : "Staken Sie mit speziellen Validatoren. Hierfür wird ein Vielfaches von 32 ETH benötigt. Prämien werden manuell beansprucht. Kann jederzeit beendet werden.", - "supportLink" : "Mehr über Kiln-Validator erfahren" + "description" : "Staken Sie mehr als 32 ETH bei speziellen Validatoren und lassen Sie Belohnungen automatisch Ihrem Konto gutschreiben.", + "supportLink" : "Erfahren Sie mehr über Figment" }, - "kiln_pooling" : { - "title" : "Kiln Staking Pool", - "description" : "Treten Sie einem Staking-Pool bei. Kein ETH-Minimum erforderlich. Prämien werden automatisch zusammengeführt. Kann jederzeit beendet werden.", - "supportLink" : "Mehr über Kiln Pooling erfahren.", - "tag" : "Kein Minimum" + "kiln" : { + "title" : "Solo-Staking mit Kiln", + "tag" : "Benötigt 32 ETH", + "description" : "Staken Sie mehr als 32 ETH bei speziellen Validatoren und fordern Sie Ihre Belohnungen ganz leicht ein.", + "supportLink" : "Erfahren Sie mehr über Kiln" } } }, diff --git a/apps/ledger-live-mobile/src/locales/es/common.json b/apps/ledger-live-mobile/src/locales/es/common.json index b417f41367de..d0a7a85d1976 100644 --- a/apps/ledger-live-mobile/src/locales/es/common.json +++ b/apps/ledger-live-mobile/src/locales/es/common.json @@ -492,7 +492,7 @@ "description" : "Prueba a reinstalar la aplicación desde Mi Ledger" }, "NotEnoughGas" : { - "title" : "En la red {{cryptoName}} debes pagar una tarifa de red de {{fees}} {{ticker}} para realizar permutas. Comprar {{ticker}}", + "title" : "Necesitas {{fees}} {{ticker}} para tarifas porque estás en la red de {{cryptoName}}. Comprar {{ticker}}", "description" : "Envía monedas a tu cuenta para pagar por transacciones de tokens." }, "NotEnoughGasSwap" : { @@ -2843,10 +2843,6 @@ "title" : "Anuncios", "desc" : "Recibe novedades importantes sobre Ledger Live" }, - "recommendations" : { - "title" : "Recomendaciones", - "desc" : "Mejora tu experiencia con recomendaciones personalizadas y ofertas especiales" - }, "largeMover" : { "title" : "Grandes movimientos", "desc" : "Te notificaremos si ocurren variaciones importantes en los precios de BTC o ETH" @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "Rentabiliza tus tenencias en ETH", "subTitle" : "Pon en participación ETH y genera ganancias con recompensas diarias directamente desde Ledger Live.", + "tagMinimum" : "Requires {{min}} ETH", "close" : "Cerrar", "providers" : { + "kiln_pooling" : { + "title" : "Pool de puesta en participación de Kiln", + "description" : "Pon en participación sin mínimos. Gana recompensas con interés compuesto automático sin periodo de inmovilización.", + "supportLink" : "Obtener más información acerca de pooling con Kiln" + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "Pon en participación sin mínimos. Gana recompensas con interés compuesto automático y acceso a liquidez inmediata.", + "supportLink" : "Más información sobre Stader" + }, "lido" : { - "title" : "Gana con Lido", - "description" : "Pon tus Ethereum en participación con Lido y gana recompensas diarias. No es necesario un mínimo de ETH. Sin periodo de inmovilización.", + "title" : "Lido", + "description" : "Pon en participación cualquier cantidad de ETH para obtener liquidez inmediata y recompensas diarias.", "supportLink" : "Obtén más información acerca de Lido" }, - "kiln" : { - "title" : "Puesta en participación dedicada de Kiln", + "figment" : { + "title" : "Figment", "tag" : "Requiere 32 ETH", - "description" : "Pon en participación con validadores dedicados. Requiere múltiplos de 32 ETH. Las recompensas se reclaman manualmente. Cancela la puesta en participación cuando quieras.", - "supportLink" : "Obtener más información acerca del validador Kiln" + "description" : "Pon en participación más de 32 ETH en validadores exclusivos y recibe recompensas automáticamente en tu cuenta.", + "supportLink" : "Más información sobre Figment" }, - "kiln_pooling" : { - "title" : "Pool de puesta en participación de Kiln", - "description" : "Únete a un Pool de puesta en participación. No es necesario un mínimo de ETH. Las recompensas generan interés compuesto automáticamente. Cancela la puesta en participación cuando quieras.", - "supportLink" : "Obtener más información acerca de pooling con Kiln", - "tag" : "Sin mínimos" + "kiln" : { + "title" : "Participación independiente con Kiln", + "tag" : "Requiere 32 ETH", + "description" : "Pon en participación más de 32 ETH en validadores exclusivos y reclama tus recompensas fácilmente.", + "supportLink" : "Más información sobre Kiln" } } }, diff --git a/apps/ledger-live-mobile/src/locales/fr/common.json b/apps/ledger-live-mobile/src/locales/fr/common.json index f831a8586678..97bb8c23f3fd 100644 --- a/apps/ledger-live-mobile/src/locales/fr/common.json +++ b/apps/ledger-live-mobile/src/locales/fr/common.json @@ -492,7 +492,7 @@ "description" : "Veuillez essayer de réinstaller l’app depuis My Ledger." }, "NotEnoughGas" : { - "title" : "Vous avez besoin de {{fees}} {{ticker}} comme frais de réseau pour échanger sur la blockchain {{cryptoName}}. Acheter des {{ticker}}", + "title" : "Vous avez besoin de {{fees}} {{ticker}} pour les frais, car vous êtes sur le réseau {{cryptoName}}. Acheter des {{ticker}}.", "description" : "Envoyez des coins sur votre compte pour régler vos transactions de tokens." }, "NotEnoughGasSwap" : { @@ -2843,10 +2843,6 @@ "title" : "Annonces", "desc" : "Recevez les dernières nouveautés sur Ledger Live." }, - "recommendations" : { - "title" : "Recommandations", - "desc" : "Enrichissez votre expérience grâce à des recommandations personnalisées et des offres spéciales." - }, "largeMover" : { "title" : "Variations importantes", "desc" : "Vous serez notifié(e) en cas de fortes fluctuations du cours du BTC et de l’ETH." @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "Faites fructifier vos ETH", "subTitle" : "Stakez vos ETH et gagnez des récompenses quotidiennes directement via Ledger Live.", + "tagMinimum" : "{{min}} ETH minimum", "close" : "Fermer", "providers" : { + "kiln_pooling" : { + "title" : "Staker avec un pool sur Kiln", + "description" : "Stakez sans durée, ni montant minimum. Gagnez des récompenses capitalisées automatiquement.", + "supportLink" : "En savoir plus sur les pools sur Kiln" + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "Stakez sans aucun minimum. Gagnez des récompenses capitalisées automatiquement et profitez d’une liquidité instantanée.", + "supportLink" : "En savoir plus sur Stader" + }, "lido" : { - "title" : "Staker avec Lido", - "description" : "Stakez vos ETH avec Lido et gagnez des récompenses quotidiennes. Sans durée, ni montant minimum.", + "title" : "Lido", + "description" : "Stakez le montant d’ETH de votre choix : récompenses quotidiennes et liquidité instantanée.", "supportLink" : "En savoir plus sur Lido" }, - "kiln" : { - "title" : "Staker avec un validateur Kiln", + "figment" : { + "title" : "Figment", "tag" : "32 ETH minimum", - "description" : "Stakez avec un validateur personnalisé. Minimum de 32 ETH (ou un multiple) requis. Récompenses à demander manuellement. Quittez à tout moment.", - "supportLink" : "En savoir plus sur les validateurs Kiln" + "description" : "Stakez plus de 32 ETH avec un validateur personnalisé et recevez automatiquement vos récompenses sur votre compte.", + "supportLink" : "En savoir plus sur Figment" }, - "kiln_pooling" : { - "title" : "Staker avec un pool sur Kiln", - "description" : "Rejoignez un pool de staking. Aucun montant minimum d’ETH requis. Récompenses capitalisées automatiquement. Quittez à tout moment.", - "supportLink" : "En savoir plus sur les pools sur Kiln", - "tag" : "Pas de minimum" + "kiln" : { + "title" : "Staking en solo avec Kiln", + "tag" : "32 ETH minimum", + "description" : "Stakez plus de 32 ETH avec un validateur personnalisé et demandez facilement vos récompenses.", + "supportLink" : "En savoir plus sur Kiln" } } }, diff --git a/apps/ledger-live-mobile/src/locales/ja/common.json b/apps/ledger-live-mobile/src/locales/ja/common.json index 22cc4dfbb23e..49e8d85bfb74 100644 --- a/apps/ledger-live-mobile/src/locales/ja/common.json +++ b/apps/ledger-live-mobile/src/locales/ja/common.json @@ -492,7 +492,7 @@ "description" : "My Ledgerからアプリの再インストールを試す" }, "NotEnoughGas" : { - "title" : "{{cryptoName}}ネットワークを使用しているため、スワップするにはネットワーク手数料{{fees}}{{ticker}}が必要です。{{ticker}}を購入する", + "title" : "{{cryptoName}}ネットワークを使用しているため、手数料{{fees}}{{ticker}}が必要です。{{ticker}}を購入する", "description" : "トークンのトランザクションの支払いに必要なコインをアカウントに送ってください。" }, "NotEnoughGasSwap" : { @@ -2843,10 +2843,6 @@ "title" : "お知らせ", "desc" : "Ledger Liveの重要なアップデートを受け取る" }, - "recommendations" : { - "title" : "おすすめ", - "desc" : "おすすめや特別なオファーで、お客様の体験をより豊かなものに" - }, "largeMover" : { "title" : "変動", "desc" : "BTCとETHで重要な値動きがあった場合に通知されます" @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "所有するETHを運用", "subTitle" : "ETHをステーキングし、日々の報酬をLedger Liveで直接獲得して資産を増やしましょう。", + "tagMinimum" : "{{min}}ETHが必要", "close" : "閉じる", "providers" : { + "kiln_pooling" : { + "title" : "Kilnステーキングプール", + "description" : "最低数量なしでステーキング。ロック(凍結)期間なしで自動複利報酬を獲得。", + "supportLink" : "Kilnプールの詳細を確認" + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "最低数量なしでステーキング。流動性を利用して、自動複利報酬を獲得。", + "supportLink" : "Staderについての詳細" + }, "lido" : { - "title" : "Lidoで報酬を稼ぐ", - "description" : "LidoでEthereumをステーキングして、毎日報酬を獲得しましょう。ETHの必要最低額の設定なし。ロックアップ(凍結)期間なし。", + "title" : "Lido", + "description" : "即時の流動性と毎日の報酬を目指して、任意の量のETHをステーキング。", "supportLink" : "Lidoの詳細を確認" }, + "figment" : { + "title" : "Figment", + "tag" : "必要最低額32ETH", + "description" : "専用バリデーターに32ETH超をステーキングして、アカウントに自動的に送信される報酬を獲得。", + "supportLink" : "Figmentの詳細" + }, "kiln" : { - "title" : "Kiln専用ステーキング", + "title" : "Kilnソロステーキング", "tag" : "32ETHが必要", - "description" : "専用のバリデーターでステーキングできます。32ETHの倍数が必要です。報酬は手動で請求されます。いつでも終了できます。", - "supportLink" : "Kilnバリデーターの詳細を確認" - }, - "kiln_pooling" : { - "title" : "Kilnステーキングプール", - "description" : "ステーキングプールに参加できます。ETHの必要最低額はありません。報酬は自動的に複利で計算されます。いつでも終了可能です。", - "supportLink" : "Kilnプールの詳細を確認", - "tag" : "最小数量なし" + "description" : "専用バリデーターに32ETH以上をステーキングして、簡単に報酬を獲得。", + "supportLink" : "Kilnの詳細" } } }, diff --git a/apps/ledger-live-mobile/src/locales/ko/common.json b/apps/ledger-live-mobile/src/locales/ko/common.json index 32be12984772..0b69d14fd795 100644 --- a/apps/ledger-live-mobile/src/locales/ko/common.json +++ b/apps/ledger-live-mobile/src/locales/ko/common.json @@ -492,7 +492,7 @@ "description" : "내 Ledger에서 앱을 다시 설치해 보세요" }, "NotEnoughGas" : { - "title" : "{{cryptoName}} 네트워크에서 스왑하려면 네트워크 수수료 명목으로 {{fees}} {{ticker}}가 필요합니다. {{ticker}} 구매", + "title" : "{{cryptoName}} 네트워크에서는 수수료로 {{ticker}} {{fees}}(이)가 필요합니다. {{ticker}} 구매", "description" : "토큰 트랜잭션 수수료로 계정에 코인을 전송하세요." }, "NotEnoughGasSwap" : { @@ -2843,10 +2843,6 @@ "title" : "발표", "desc" : "중요한 Ledger Live 업데이트 받아 보기" }, - "recommendations" : { - "title" : "추천", - "desc" : "개인 맞춤 추천과 특별 오퍼로 더욱 풍성해진 사용자 경험을 누려보세요." - }, "largeMover" : { "title" : "가격 변동폭이 큰 자산", "desc" : "BTC 및 ETH의 중요한 가격 변동에 대한 알림을 보내드립니다." @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "ETH 보유량 늘리기", "subTitle" : "Ledger Live에서 일일 보상을 바로 수령하여 ETH를 스테이킹하고 보유량을 늘려보세요.", + "tagMinimum" : "Requires {{min}} ETH", "close" : "종료", "providers" : { + "kiln_pooling" : { + "title" : "Kiln 스테이킹 풀", + "description" : "최소 금액 없이 스테이킹하세요. 락업 기간 없이 복리 이자가 자동으로 적립되는 보상을 받으세요.", + "supportLink" : "Kiln 풀링에 대해 자세히 알아보기" + }, + "stader-eth" : { + "title" : "Stade Labs", + "description" : "최소 금액 없이 스테이킹하세요. 복리 이자가 자동으로 적립되는 보상을 통해 유동성을 즉각적으로 확보하세요.", + "supportLink" : "Stader 자세히 알아보기" + }, "lido" : { - "title" : "Lido로 수익 창출", - "description" : "Lido를 통해 이더리움을 스테이킹하고 매일 보상을 받으세요. 최소 ETH가 필요하지 않습니다. 락업 기간 없음.", + "title" : "Lido", + "description" : "원하는 수량의 ETH를 스테이킹하여 매일 보상을 받고 유동성을 즉각적으로 확보하세요.", "supportLink" : "Lido에 대해 더 알아보기" }, - "kiln" : { - "title" : "Kiln 전용 스테이킹", + "figment" : { + "title" : "Figment", "tag" : "32 ETH 필요", - "description" : "전용 검증인을 통해 스테이킹하세요. 32 ETH의 배수가 필요합니다. 보상은 수동으로 청구됩니다. 언제든지 중단할 수도 있습니다.", - "supportLink" : "Kiln 검증인에 대해 자세히 알아보기" + "description" : "전용 검증인에게 32 ETH 이상을 스테이킹하면 본인 계정으로 보상이 자동 지급됩니다.", + "supportLink" : "Figment 자세히 알아보기" }, - "kiln_pooling" : { - "title" : "Kiln 스테이킹 풀", - "description" : "스테이킹 풀에 가입하세요. 최소 ETH가 필요하지 않습니다. 보상은 자동 합산됩니다. 언제든지 중단할 수도 있습니다.", - "supportLink" : "Kiln 풀링에 대해 자세히 알아보기", - "tag" : "최소 한도 없음" + "kiln" : { + "title" : "Kiln 솔로 스테이킹", + "tag" : "32 ETH 필요", + "description" : "전용 검증인에게 32 ETH 이상을 스테이킹하고 간단히 보상을 받으세요.", + "supportLink" : "Kiln 자세히 알아보기" } } }, diff --git a/apps/ledger-live-mobile/src/locales/pt-BR/common.json b/apps/ledger-live-mobile/src/locales/pt-BR/common.json index d7753cd6d909..c1b6d6575bba 100644 --- a/apps/ledger-live-mobile/src/locales/pt-BR/common.json +++ b/apps/ledger-live-mobile/src/locales/pt-BR/common.json @@ -492,7 +492,7 @@ "description" : "Tente reinstalar o aplicativo através do My Ledger" }, "NotEnoughGas" : { - "title" : "Você precisa de {{fees}} {{ticker}} para pagar as taxas de rede desta troca, já que está na rede {{cryptoName}}. Comprar {{ticker}}", + "title" : "Você precisa de {{fees}} {{ticker}} para pagar as taxas, já que você está na rede {{cryptoName}}. Comprar {{ticker}}", "description" : "Envie algumas moedas à sua conta para pagar transações de tokens." }, "NotEnoughGasSwap" : { @@ -1026,7 +1026,7 @@ }, "reset" : { "title" : "Desinstale e depois reinstale o Ledger Live", - "description" : "Desinstale e reinstale o aplicativo em seu celular para excluir os dados do Ledger Live, incluindo contas e configurações.", + "description" : "Desinstale e reinstale o aplicativo em seu smartphone para excluir os dados do Ledger Live, incluindo contas e configurações.", "button" : "Redefinir", "warning" : "Redefinir o Ledger Live vai apagar o histórico de transações de troca de todas as suas contas." }, @@ -1300,11 +1300,11 @@ }, "setupLedger" : { "title" : "Configurar sua Ledger", - "subtitle" : "Selecione se sua Ledger é nova ou foi redefinida." + "subtitle" : "Selecione esta opção se a sua Ledger é nova ou foi redefinida." }, "accessWallet" : { "title" : "Acessar sua carteira", - "subtitle" : "Selecione se sua Ledger já está configurada." + "subtitle" : "Selecione esta opção se a sua Ledger já está configurada." }, "buyNano" : { "title" : "Comprar uma Ledger Nano X", @@ -2843,10 +2843,6 @@ "title" : "Anúncios", "desc" : "Receba atualizações importantes do Ledger Live" }, - "recommendations" : { - "title" : "Recomendações", - "desc" : "Enriqueça a sua experiência com recomendações personalizadas e ofertas especiais" - }, "largeMover" : { "title" : "Alerta de Volatilidade", "desc" : "Receba notificações quando os preços de BTC e ETH sofrerem grandes movimentações." @@ -3957,8 +3953,8 @@ "SelectDevice" : { "title" : "Emparelhar novo dispositivo", "bluetooth" : { - "title" : "Conecte-se via Bluetooth...", - "label" : "Detecte automaticamente sua Nano" + "title" : "Conectar via Bluetooth...", + "label" : "Detecta automaticamente a sua Nano" }, "deviceNotFoundPairNewDevice" : "Emparelhar via Bluetooth", "headerDescription" : "Certifique-se de que sua {{productName}} está desbloqueada e com Bluetooth habilitado", @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "Multiplique suas posições de ETH", "subTitle" : "Aplique seu ETH e multiplique suas posições ganhando recompensas diárias de staking diretamente no Ledger Live.", + "tagMinimum" : "Requires {{min}} ETH", "close" : "Fechar", "providers" : { + "kiln_pooling" : { + "title" : "Reserva de staking Kiln", + "description" : "Sem mínimo de staking Ganhe rendimentos compostos automaticamente, sem tempo de bloqueio.", + "supportLink" : "Saiba mais sobre a reserva da Kiln" + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "Sem mínimo de staking Ganhe rendimentos compostos automaticamente com acesso instantâneo a liquidez.", + "supportLink" : "Saiba mais sobre a Stader" + }, "lido" : { - "title" : "Ganhar com a Lido", - "description" : "Aplique seu Ethereum com o staking da Lido e ganhe recompensas diariamente. Sem mínimo de ETH. Sem período de bloqueio.", + "title" : "Lido", + "description" : "Faça staking de qualquer quantia de ETH para obter liquidez instantânea e recompensas diárias.", "supportLink" : "Saiba mais sobre a Lido" }, - "kiln" : { - "title" : "Staking Dedicado Kiln", + "figment" : { + "title" : "Figment", "tag" : "Requer 32 ETH", - "description" : "Aplique em staking com validadores dedicados. Requer múltiplos de 32 ETH. Recompensas são resgatadas manualmente. Saia a qualquer momento.", - "supportLink" : "Saiba mais sobre o validador Kiln" + "description" : "Faça staking de mais de 32 ETH em validadores dedicados e receba recompensas enviadas automaticamente para sua conta.", + "supportLink" : "Saiba mais sobre a Figment" }, - "kiln_pooling" : { - "title" : "Reserva de staking Kiln", - "description" : "Junte-se a uma reserva de staking. Não requer mínimo de ETH. Recompensas são compostas automaticamente Saia a qualquer momento.", - "supportLink" : "Saiba mais sobre a reserva da Kiln", - "tag" : "Sem mínimo" + "kiln" : { + "title" : "Staking Solo Kiln", + "tag" : "Requer 32 ETH", + "description" : "Faça staking de mais de 32 ETH em validadores dedicados e resgate recompensas facilmente.", + "supportLink" : "Saiba mais sobre a Kiln" } } }, diff --git a/apps/ledger-live-mobile/src/locales/ru/common.json b/apps/ledger-live-mobile/src/locales/ru/common.json index 298d93dc4c87..8399b697e206 100644 --- a/apps/ledger-live-mobile/src/locales/ru/common.json +++ b/apps/ledger-live-mobile/src/locales/ru/common.json @@ -492,7 +492,7 @@ "description" : "Попробуйте переустановить приложение через «Мой Ledger»." }, "NotEnoughGas" : { - "title" : "Для обмена нужно оплатить комиссию {{fees}} {{ticker}}, поскольку операция проводится в сети {{cryptoName}}. Купить {{ticker}}", + "title" : "Для операции нужно оплатить комиссию {{fees}} {{ticker}}, поскольку она проводится в сети {{cryptoName}}. Купить {{ticker}}", "description" : "Пополните свой счёт для оплаты транзакций в токенах." }, "NotEnoughGasSwap" : { @@ -1303,7 +1303,7 @@ "subtitle" : "Ваш Ledger — новый или сброшенный?" }, "accessWallet" : { - "title" : "Доступ к кошельку", + "title" : "Перейти к кошельку", "subtitle" : "Ваш Ledger уже настроен?" }, "buyNano" : { @@ -2843,10 +2843,6 @@ "title" : "Новости", "desc" : "Не пропускайте важные новости о приложении Ledger Live." }, - "recommendations" : { - "title" : "Рекомендации", - "desc" : "Получайте рекомендации и специальные предложения именно для вас. Они сделают криптопутешествие ещё ярче." - }, "largeMover" : { "title" : "Значительное изменение цены", "desc" : "Регулярные уведомления о значительных перепадах котировок BTC и ETH." @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "Приумножайте ETH", "subTitle" : "Стейкайте ETH и приумножайте их за счёт ежедневных вознаграждений прямо в Ledger Live.", + "tagMinimum" : "От {{min}} ETH", "close" : "Закрыть", "providers" : { + "kiln_pooling" : { + "title" : "Стейкинг-пул Kiln", + "description" : "Стейкайте любую сумму. Получайте вознаграждения с автоматической капитализацией без блокировки.", + "supportLink" : "Подробнее о пуле Kiln" + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "Стейкайте любую сумму. Получайте вознаграждения с автоматической капитализацией и мгновенным доступом к ликвидности.", + "supportLink" : "Подробнее о Stader" + }, "lido" : { - "title" : "Приумножайте с Lido", - "description" : "Стейкайте ETH в Lido и получайте вознаграждения. Без минимума. Без периода блокировки", + "title" : "Lido", + "description" : "Стейкайте любой объём ETH с мгновенной ликвидностью и ежедневными вознаграждениями.", "supportLink" : "Подробнее о Lido" }, - "kiln" : { - "title" : "Выделенный стейкинг в Kiln", + "figment" : { + "title" : "Figment", "tag" : "От 32 ETH", - "description" : "Стейкайте через выделенных валидаторов. От 32 ETH. Вознаграждения запрашиваются вручную. Вывести можно в любой момент.", - "supportLink" : "Подробнее о валидаторе Kiln" + "description" : "Стейкайте более 32 ETH с определёнными валидаторами и получайте выплаты вознаграждений на ваш счёт в автоматическом режиме.", + "supportLink" : "Подробнее о Figment" }, - "kiln_pooling" : { - "title" : "Стейкинг-пул Kiln", - "description" : "Присоединяйтесь к стейкинг-пулу. Без мин. суммы Вознаграждения капитализируются автоматически. Вывести можно в любой момент.", - "supportLink" : "Подробнее о пуле Kiln", - "tag" : "Без мин. суммы" + "kiln" : { + "title" : "Соло-стейкинг с Kiln", + "tag" : "От 32 ETH", + "description" : "Стейкайте более 32 ETH с определёнными валидаторами и получайте вознаграждения без каких-либо проблем.", + "supportLink" : "Подробнее о Kiln" } } }, diff --git a/apps/ledger-live-mobile/src/locales/tr/common.json b/apps/ledger-live-mobile/src/locales/tr/common.json index 3ded2392e413..80b66780caea 100644 --- a/apps/ledger-live-mobile/src/locales/tr/common.json +++ b/apps/ledger-live-mobile/src/locales/tr/common.json @@ -492,7 +492,7 @@ "description" : "Uygulamayı My Ledger'dan yeniden yüklemeyi deneyin" }, "NotEnoughGas" : { - "title" : "{{cryptoName}} ağında takas işlemi için {{fees}} {{ticker}} ağ ücreti ödemeniz gerekiyor. {{ticker}} Satın Al", + "title" : "{{cryptoName}} ağında olduğunuzdan, {{fees}} {{ticker}} ücret ödemeniz gerekiyor. {{ticker}} Satın Alın", "description" : "Token işlem ücretlerini ödemek için lütfen hesabınıza biraz coin gönderin." }, "NotEnoughGasSwap" : { @@ -2843,10 +2843,6 @@ "title" : "Duyurular", "desc" : "Önemli Ledger Live haberlerini alın" }, - "recommendations" : { - "title" : "Öneriler", - "desc" : "Kişiselleştirilmiş öneriler ve özel teklifler ile daha zengin bir deneyim yaşayın" - }, "largeMover" : { "title" : "Büyük Hareketler", "desc" : "BTC ve ETH için büyük fiyat hareketleri olduğunda bildirim alacaksınız" @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "ETH bakiyenizi artırın", "subTitle" : "ETH varlıklarınızı stake ederek ve doğrudan Ledger Live hesabınıza günlük ödüller kazanarak bakiyenizi artırın.", + "tagMinimum" : "{{min}} ETH gerektirir", "close" : "Kapat", "providers" : { + "kiln_pooling" : { + "title" : "Kiln staking havuzu", + "description" : "Alt limit olmadan stake edin. Kilitleme süresi olmadan, otomatik olarak bileştirilen ödüller kazanın.", + "supportLink" : "Kiln havuzu hakkında daha fazla bilgi edinin" + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "Alt limit olmadan stake edin. Anında likiditeye erişerek otomatik olarak bileştirilen ödüller kazanın.", + "supportLink" : "Stader hakkında daha fazla bilgi edinin" + }, "lido" : { - "title" : "Lido ile kazanın", - "description" : "Ethereum varlıklarınızı Lido ile stake edin ve her gün ödül kazanın. ETH alt limiti bulunmaz. Kilitleme süresi yok.", + "title" : "Lido", + "description" : "Anında likidite ve günlük ödüller için herhangi bir miktarda ETH stake edin.", "supportLink" : "Lido hakkında daha fazla bilgi alın" }, - "kiln" : { - "title" : "Kiln ile özel staking", + "figment" : { + "title" : "Figment", "tag" : "32 ETH gerektirir", - "description" : "Özel doğrulayıcılarla stake edin. 32 ETH ve katlarını gerektirir. Ödüller manuel olarak alınır. İstediğiniz zaman çıkın.", - "supportLink" : "Kiln doğrulayıcısı hakkında daha fazla bilgi edinin" + "description" : "Özel doğrulayıcılarda en az 32 ETH stake edin ve ödüller otomatik olarak hesabınıza gönderilsin.", + "supportLink" : "Figment hakkında daha fazla bilgi edinin" }, - "kiln_pooling" : { - "title" : "Kiln staking havuzu", - "description" : "Bir staking havuzuna katılın. ETH alt limiti bulunmaz. Ödüller otomatik olarak birleştirilir. İstediğiniz zaman çıkın.", - "supportLink" : "Kiln havuzu hakkında daha fazla bilgi edinin", - "tag" : "Alt limit yok" + "kiln" : { + "title" : "Kiln ile solo staking", + "tag" : "32 ETH gerektirir", + "description" : "Özel doğrulayıcılarda en az 32 ETH stake edin ve ödülleri kolayca alın.", + "supportLink" : "Kiln hakkında daha fazla bilgi edinin" } } }, diff --git a/apps/ledger-live-mobile/src/locales/zh/common.json b/apps/ledger-live-mobile/src/locales/zh/common.json index 76e348a4c28b..df5d5b16ed11 100644 --- a/apps/ledger-live-mobile/src/locales/zh/common.json +++ b/apps/ledger-live-mobile/src/locales/zh/common.json @@ -492,7 +492,7 @@ "description" : "尝试在 My Ledger(我的 Ledger)中重新安装应用程序" }, "NotEnoughGas" : { - "title" : "您需要 {{fees}} {{ticker}} 的网络费用才能在 {{cryptoName}} 网络上进行互换。买入 {{ticker}}", + "title" : "您需要 {{fees}} {{ticker}} 的费用才能在 {{cryptoName}} 网络上进行操作。买入 {{ticker}}", "description" : "请向您的账户发送一些币以支付代币交易费用。" }, "NotEnoughGasSwap" : { @@ -2843,10 +2843,6 @@ "title" : "公告", "desc" : "接收重要 Ledger Live 更新" }, - "recommendations" : { - "title" : "推荐", - "desc" : "使用个性化推荐和特别优惠,丰富您的体验" - }, "largeMover" : { "title" : "大幅波动工具", "desc" : "当比特币和以太币价格出现重要波动时,您会收到通知。" @@ -6534,24 +6530,35 @@ "ethereum" : { "title" : "增长您的以太币持有量", "subTitle" : "将每日收益直接存入您的 Ledger Live,质押您的以太币并增加您的持仓。", + "tagMinimum" : "Requires {{min}} ETH", "close" : "关闭", "providers" : { + "kiln_pooling" : { + "title" : "Kiln 质押池", + "description" : "权益质押没有最低限制。自动按复利赚取奖励,无锁定期。", + "supportLink" : "了解关于 Kiln 池的更多信息" + }, + "stader-eth" : { + "title" : "Stader Labs", + "description" : "权益质押没有最低限制。自动按复利赚取奖励,获得即时流动性。", + "supportLink" : "详细了解 Stader" + }, "lido" : { - "title" : "使用 Lido 赚取", - "description" : "使用 Lido 权益质押您的以太币,每天赚取奖励。无最低以太币数量要求。无锁定期。", + "title" : "Lido", + "description" : "权益质押任意数量的以太币,获得即时流动性和每日奖励。", "supportLink" : "了解关于 Lido 的更多信息" }, + "figment" : { + "title" : "Figment", + "tag" : "需要 32 ETH", + "description" : "通过专门的验证者权益质押至少 32 以太币,奖励将自动发送到您的账户。", + "supportLink" : "详细了解 Figment" + }, "kiln" : { - "title" : "Kiln 专属质押", + "title" : "Kiln 单独质押", "tag" : "需要 32 枚以太币", - "description" : "使用专门的验证者进行权益质押。需要是 32 以太币的倍数。奖励需要手动领取。随时退出。", - "supportLink" : "了解关于 Kiln 验证者的更多信息" - }, - "kiln_pooling" : { - "title" : "Kiln 质押池", - "description" : "加入权益质押池。不要求最低以太币金额。奖励自动按复利计算。随时退出。", - "supportLink" : "了解关于 Kiln 池的更多信息", - "tag" : "无最低限制" + "description" : "通过专门的验证者权益质押至少 32 以太币,即可轻松申领奖励。", + "supportLink" : "详细了解 Kiln" } } }, diff --git a/libs/ledger-live-common/src/exchange/swap/completeExchange.ts b/libs/ledger-live-common/src/exchange/swap/completeExchange.ts index feaf2375fc2e..7a644a2ee6e6 100644 --- a/libs/ledger-live-common/src/exchange/swap/completeExchange.ts +++ b/libs/ledger-live-common/src/exchange/swap/completeExchange.ts @@ -9,7 +9,12 @@ import { TransactionRefusedOnDevice } from "../../errors"; import perFamily from "../../generated/exchange"; import { withDevice } from "../../hw/deviceAccess"; import { delay } from "../../promise"; -import { ExchangeTypes, createExchange, getExchangeErrorMessage } from "@ledgerhq/hw-app-exchange"; +import { + ExchangeTypes, + createExchange, + getExchangeErrorMessage, + PayloadSignatureComputedFormat, +} from "@ledgerhq/hw-app-exchange"; import type { CompleteExchangeInputSwap, CompleteExchangeRequestEvent } from "../platform/types"; import { getProviderConfig } from "./"; @@ -54,7 +59,7 @@ const completeExchange = ( ): Observable => { let { transaction } = input; // TODO build a tx from the data - const { deviceId, exchange, provider, binaryPayload, signature, exchangeType, rateType } = input; + const { deviceId, exchange, provider, binaryPayload, signature, rateType, exchangeType } = input; const { fromAccount, fromParentAccount } = exchange; const { toAccount, toParentAccount } = exchange; @@ -107,10 +112,15 @@ const completeExchange = ( if (unsubscribed) return; currentStep = "PROCESS_TRANSACTION"; - await exchange.processTransaction(Buffer.from(binaryPayload, "hex"), estimatedFees); + + const { payload, format }: { payload: Buffer; format: PayloadSignatureComputedFormat } = + exchange.transactionType === ExchangeTypes.SwapNg + ? { payload: Buffer.from("." + binaryPayload), format: "jws" } + : { payload: Buffer.from(binaryPayload, "hex"), format: "raw" }; + await exchange.processTransaction(payload, estimatedFees, format); if (unsubscribed) return; - const goodSign = convertSignature(signature, exchangeType); + const goodSign = convertSignature(signature, exchange.transactionType); currentStep = "CHECK_TRANSACTION_SIGNATURE"; await exchange.checkTransactionSignature(goodSign); diff --git a/libs/ledgerjs/packages/hw-app-exchange/src/index.ts b/libs/ledgerjs/packages/hw-app-exchange/src/index.ts index 896adb9ee86a..668dc314a2a1 100644 --- a/libs/ledgerjs/packages/hw-app-exchange/src/index.ts +++ b/libs/ledgerjs/packages/hw-app-exchange/src/index.ts @@ -5,6 +5,7 @@ import Exchange, { RateTypes, PartnerKeyInfo, isExchangeTypeNg, + PayloadSignatureComputedFormat, } from "./Exchange"; export { @@ -14,6 +15,7 @@ export { RateTypes, PartnerKeyInfo, isExchangeTypeNg, + PayloadSignatureComputedFormat, }; export default Exchange;