fix: extra ID for Trocador swap (#2307)

Serhii committed Jun 16, 2025 at 17:52 UTC 4fb2fc47ad26f08d2eaeffebd486f9cf4e3ffd41
30 files changed +40 -14
lib/exchange/provider/trocador_exchange_provider.dart
+2
@@ -230,6 +230,7 @@ class TrocadorExchangeProvider extends ExchangeProvider {
230 final providerName = responseJSON['provider'] as String;
231 final amount = responseJSON['amount_from']?.toString();
232 final receiveAmount = responseJSON['amount_to']?.toString();
233 + final addressProviderMemo = responseJSON['address_provider_memo'] as String?;
234
235 return Trade(
236 id: id,
@@ -247,6 +248,7 @@ class TrocadorExchangeProvider extends ExchangeProvider {
248 receiveAmount: receiveAmount ?? request.toAmount,
249 payoutAddress: payoutAddress,
250 isSendAll: isSendAll,
251 + extraId: addressProviderMemo,
252 );
253 }
254
lib/view_model/exchange/exchange_trade_view_model.dart
+10 -14
@@ -96,11 +96,12 @@ abstract class ExchangeTradeViewModelBase with Store {
96 bool isSendable;
97
98 @computed
99 - String get extraInfo => trade.from == CryptoCurrency.xlm
100 - ? '\n\n' + S.current.xlm_extra_info
101 - : trade.from == CryptoCurrency.xrp
102 - ? '\n\n' + S.current.xrp_extra_info
103 - : '';
99 + String get extraInfo => switch (trade.from) {
100 + CryptoCurrency.xlm => '\n\n' + S.current.xlm_extra_info,
101 + CryptoCurrency.xrp => '\n\n' + S.current.xrp_extra_info,
102 + CryptoCurrency.ton => '\n\n' + S.current.ton_extra_info,
103 + _ => ''
104 + };
105
106 @computed
107 String get pendingTransactionFiatAmountValueFormatted => sendViewModel.isFiatDisabled
@@ -203,12 +204,12 @@ abstract class ExchangeTradeViewModelBase with Store {
204 ]);
205
206 if (trade.extraId != null) {
206 - final shouldAddExtraId = trade.from == CryptoCurrency.xrp || trade.from == CryptoCurrency.xlm;
207 + final shouldAddExtraId = trade.from == CryptoCurrency.xrp || trade.from == CryptoCurrency.xlm || trade.from == CryptoCurrency.ton;
208
209 if (shouldAddExtraId) {
210 final title = trade.from == CryptoCurrency.xrp
211 ? S.current.destination_tag
211 - : trade.from == CryptoCurrency.xlm
212 + : trade.from == CryptoCurrency.xlm || trade.from == CryptoCurrency.ton
213 ? S.current.memo
214 : S.current.extra_id;
215
@@ -217,13 +218,8 @@ abstract class ExchangeTradeViewModelBase with Store {
218 title: title,
219 data: '${trade.extraId}',
220 isCopied: true,
220 - isReceiveDetail: (trade.from == CryptoCurrency.xrp || trade.from == CryptoCurrency.xlm)
221 - ? false
222 - : true,
223 - isExternalSendDetail:
224 - (trade.from == CryptoCurrency.xrp || trade.from == CryptoCurrency.xlm)
225 - ? true
226 - : false,
221 + isReceiveDetail: !shouldAddExtraId,
222 + isExternalSendDetail: shouldAddExtraId
223 ),
224 );
225 }
res/values/strings_ar.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "اسم الرمز ، على سبيل المثال: Tether",
905 "token_symbol": "رمز العملة ، على سبيل المثال: USDT",
906 "tokenID": "ﻒﻳﺮﻌﺗ ﺔﻗﺎﻄﺑ",
907 + "ton_extra_info": "يرجى عدم نسيان تحديد معرف المذكرة أثناء إرسال معاملة TON للتبادل",
908 "tor_connection": "ﺭﻮﺗ ﻝﺎﺼﺗﺍ",
909 "tor_only": "Tor فقط",
910 "total": "المجموع",
res/values/strings_bg.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "Име на токена, напр.: Tether",
905 "token_symbol": "Символ на токена, напр.: USDT",
906 "tokenID": "документ за самоличност",
907 + "ton_extra_info": "Моля, не забравяйте да посочите идентификационния номер на бележката, докато изпращате транзакцията TON за борсата",
908 "tor_connection": "Tor връзка",
909 "tor_only": "Само чрез Tor",
910 "total": "Обща сума",
res/values/strings_cs.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "Název tokenu např.: Tether",
905 "token_symbol": "Symbol tokenu, např.: USDT",
906 "tokenID": "ID",
907 + "ton_extra_info": "Při odeslání TON transakce pro výměnu nezapomeňte zadat ID Memo ID",
908 "tor_connection": "Připojení Tor",
909 "tor_only": "Pouze Tor",
910 "total": "Celkový",
res/values/strings_de.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "Token-Name, z. B.: Tether",
906 "token_symbol": "Token-Symbol, z. B.: USDT",
907 "tokenID": "AUSWEIS",
908 + "ton_extra_info": "Bitte vergessen Sie nicht, die Memo -ID anzugeben, während Sie die TON -Transaktion für den Austausch senden",
909 "tor_connection": "Tor-Verbindung",
910 "tor_only": "Nur Tor",
911 "total": "Gesamt",
res/values/strings_en.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "Token name eg: Tether",
906 "token_symbol": "Token symbol eg: USDT",
907 "tokenID": "ID",
908 + "ton_extra_info": "Please don’t forget to specify the Memo ID while sending the TON transaction for the exchange",
909 "tor_connection": "Tor connection",
910 "tor_only": "Tor only",
911 "total": "Total",
res/values/strings_es.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "Nombre del token, por ejemplo: Tether",
906 "token_symbol": "Símbolo de token, por ejemplo: USDT",
907 "tokenID": "IDENTIFICACIÓN",
908 + "ton_extra_info": "No olvide especificar el ID de memo mientras envía la transacción TON para el intercambio",
909 "tor_connection": "conexión tor",
910 "tor_only": "solo Tor",
911 "total": "Total",
res/values/strings_fr.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "Nom du token, par exemple : Tether",
905 "token_symbol": "Symbole de token, par exemple : USDT",
906 "tokenID": "IDENTIFIANT",
907 + "ton_extra_info": "N'oubliez pas de spécifier l'identification de la note lors de l'envoi de la transaction TON pour l'échange",
908 "tor_connection": "Connexion Tor",
909 "tor_only": "Tor uniquement",
910 "total": "Total",
res/values/strings_ha.arb
+1
@@ -906,6 +906,7 @@
906 "token_name": "Alamar sunan misali: Tether",
907 "token_symbol": "Alamar alama misali: USDT",
908 "tokenID": "ID",
909 + "ton_extra_info": "Don Allah kar a manta su saka ID na Memo yayin aikawa da ma'amala don musayar",
910 "tor_connection": "Tor haɗin gwiwa",
911 "tor_only": "Tor kawai",
912 "total": "Duka",
res/values/strings_hi.arb
+1
@@ -906,6 +906,7 @@
906 "token_name": "टोकन नाम जैसे: टीथर",
907 "token_symbol": "टोकन प्रतीक जैसे: यूएसडीटी",
908 "tokenID": "पहचान",
909 + "ton_extra_info": "कृपया एक्सचेंज के लिए टन लेनदेन भेजते समय मेमो आईडी निर्दिष्ट करना न भूलें",
910 "tor_connection": "टोर कनेक्शन",
911 "tor_only": "Tor केवल",
912 "total": "कुल",
res/values/strings_hr.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "Naziv tokena npr.: Tether",
905 "token_symbol": "Simbol tokena npr.: USDT",
906 "tokenID": "iskaznica",
907 + "ton_extra_info": "Ne zaboravite navesti ID memorandu",
908 "tor_connection": "Tor veza",
909 "tor_only": "Samo Tor",
910 "total": "Ukupno",
res/values/strings_hy.arb
+1
@@ -902,6 +902,7 @@
902 "token_name": "Token-ի անուն, օրինակ՝ Tether",
903 "token_symbol": "Token-ի նշան, օրինակ՝ USDT",
904 "tokenID": "ID",
905 + "ton_extra_info": "Խնդրում ենք մի մոռացեք նշել MEMO ID- ն, երբ փոխանակման համար տոննա գործարքը ուղարկեք",
906 "tor_connection": "Tor կապ",
907 "tor_only": "Միայն Tor",
908 "total": "Ընդհանուր",
res/values/strings_id.arb
+1
@@ -907,6 +907,7 @@
907 "token_name": "Nama token misalnya: Tether",
908 "token_symbol": "Simbol token misalnya: USDT",
909 "tokenID": "PENGENAL",
910 + "ton_extra_info": "Harap jangan lupa untuk menentukan ID memo saat mengirim transaksi ton untuk pertukaran",
911 "tor_connection": "koneksi Tor",
912 "tor_only": "Hanya Tor",
913 "total": "Total",
res/values/strings_it.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "Nome del token, ad esempio: Tether",
906 "token_symbol": "Simbolo del token, ad esempio: USDT",
907 "tokenID": "ID",
908 + "ton_extra_info": "Non dimenticare di specificare l'ID memo durante l'invio della transazione Ton per lo scambio",
909 "tor_connection": "Connessione Tor",
910 "tor_only": "Solo Tor",
911 "total": "Totale",
res/values/strings_ja.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "トークン名 例: Tether",
906 "token_symbol": "トークンシンボル 例: USDT",
907 "tokenID": "ID",
908 + "ton_extra_info": "Exchangeのトントランザクションを送信しながら、メモIDを指定することを忘れないでください",
909 "tor_connection": "Tor接続",
910 "tor_only": "Torのみ",
911 "total": "合計",
res/values/strings_ko.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "토큰 이름 (예: Tether)",
906 "token_symbol": "토큰 심볼 (예: USDT)",
907 "tokenID": "ID",
908 + "ton_extra_info": "교환을 위해 TON 트랜잭션을 보내는 동안 메모 ID를 지정하는 것을 잊지 마십시오.",
909 "tor_connection": "Tor 연결",
910 "tor_only": "Tor 전용",
911 "total": "합계",
res/values/strings_my.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "တိုကင်အမည် ဥပမာ- Tether",
905 "token_symbol": "တိုကင်သင်္ကေတ ဥပမာ- USDT",
906 "tokenID": "အမှတ်သညာ",
907 + "ton_extra_info": "ငွေလဲလှယ်မှုအတွက်တန်ပြန်ငွေပေးငွေယူကိုပို့နေစဉ် Memo ID ကိုသတ်မှတ်ရန်မမေ့ပါနှင့်",
908 "tor_connection": "Tor ချိတ်ဆက်မှု",
909 "tor_only": "Tor သာ",
910 "total": "လုံးဝသော",
res/values/strings_nl.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "Tokennaam bijv.: Tether",
905 "token_symbol": "Tokensymbool bijv.: USDT",
906 "tokenID": "ID kaart",
907 + "ton_extra_info": "Vergeet niet om de memo -ID op te geven tijdens het verzenden van de ton -transactie voor de uitwisseling",
908 "tor_connection": "Tor-verbinding",
909 "tor_only": "Alleen Tor",
910 "total": "Totaal",
res/values/strings_pl.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "Nazwa tokena, np.: Tether",
905 "token_symbol": "Symbol tokena np.: USDT",
906 "tokenID": "ID",
907 + "ton_extra_info": "Nie zapomnij określić identyfikatora notatki podczas wysyłania transakcji TON dla wymiany",
908 "tor_connection": "Połączenie przez Tor",
909 "tor_only": "Tylko sieć Tor",
910 "total": "Całkowity",
res/values/strings_pt.arb
+1
@@ -906,6 +906,7 @@
906 "token_name": "Nome do token, por exemplo: Tether",
907 "token_symbol": "Símbolo de token, por exemplo: USDT",
908 "tokenID": "EU IA",
909 + "ton_extra_info": "Não se esqueça de especificar o ID do memorando ao enviar a transação TON para a troca",
910 "tor_connection": "Conexão Tor",
911 "tor_only": "Tor apenas",
912 "total": "Total",
res/values/strings_ru.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "Имя токена, например: Tether",
906 "token_symbol": "Символ токена, например: USDT",
907 "tokenID": "ИДЕНТИФИКАТОР",
908 + "ton_extra_info": "Пожалуйста, не забудьте указать идентификатор записки при отправке TON транзакции для обмена",
909 "tor_connection": "Тор соединение",
910 "tor_only": "Только Tor",
911 "total": "Общий",
res/values/strings_th.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "ชื่อโทเค็น เช่น Tether",
905 "token_symbol": "สัญลักษณ์โทเค็น เช่น USDT",
906 "tokenID": "บัตรประจำตัวประชาชน",
907 + "ton_extra_info": "โปรดอย่าลืมระบุรหัสบันทึกในขณะที่ส่งธุรกรรม TON สำหรับการแลกเปลี่ยน",
908 "tor_connection": "การเชื่อมต่อทอร์",
909 "tor_only": "Tor เท่านั้น",
910 "total": "ทั้งหมด",
res/values/strings_tl.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "Pangalan ng token, halimbawa: Tether",
905 "token_symbol": "Simbolo ng token, halimbawa: USDT",
906 "tokenID": "ID",
907 + "ton_extra_info": "Mangyaring huwag kalimutan na tukuyin ang memo ID habang nagpapadala ng toneladang transaksyon para sa palitan",
908 "tor_connection": "Koneksyon ng Tor",
909 "tor_only": "Tor lamang",
910 "total": "Kabuuan",
res/values/strings_tr.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "Belirteç adı, örneğin: Tether",
905 "token_symbol": "Jeton sembolü, örneğin: USDT",
906 "tokenID": "İD",
907 + "ton_extra_info": "Lütfen değişim için ton işlemini gönderirken not kimliğini belirtmeyi unutmayın",
908 "tor_connection": "Tor bağlantısı",
909 "tor_only": "Yalnızca Tor",
910 "total": "Toplam",
res/values/strings_uk.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "Назва токена, наприклад: Tether",
906 "token_symbol": "Символ маркера, наприклад: USDT",
907 "tokenID": "ID",
908 + "ton_extra_info": "Не забудьте вказати ідентифікатор пам’яті під час надсилання транзакції TON для обміну",
909 "tor_connection": "Підключення Tor",
910 "tor_only": "Тільки Tor",
911 "total": "Загальний",
res/values/strings_ur.arb
+1
@@ -906,6 +906,7 @@
906 "token_name": "ٹوکن کا نام جیسے: Tether",
907 "token_symbol": "ٹوکن کی علامت جیسے: USDT",
908 "tokenID": "ID",
909 + "ton_extra_info": "ایکسچینج کے لئے ٹن ٹرانزیکشن بھیجتے وقت براہ کرم میمو آئی ڈی کی وضاحت کرنا نہ بھولیں",
910 "tor_connection": "ﻦﺸﮑﻨﮐ ﺭﻮﭨ",
911 "tor_only": "صرف Tor",
912 "total": "کل",
res/values/strings_vi.arb
+1
@@ -901,6 +901,7 @@
901 "token_name": "Tên token ví dụ: Tether",
902 "token_symbol": "Ký hiệu token ví dụ: USDT",
903 "tokenID": "ID",
904 + "ton_extra_info": "Xin đừng quên chỉ định ID ghi nhớ trong khi gửi giao dịch tấn cho trao đổi",
905 "tor_connection": "Kết nối Tor",
906 "tor_only": "Chỉ Tor",
907 "total": "Tổng cộng",
res/values/strings_yo.arb
+1
@@ -905,6 +905,7 @@
905 "token_name": "Orukọ àmi fun apẹẹrẹ: Tether",
906 "token_symbol": "Aami aami fun apẹẹrẹ: USDT",
907 "tokenID": "ID",
908 + "ton_extra_info": "Jọwọ maṣe gbagbe lati tokasi ID akọsilẹ lakoko fifiranṣẹ idunadura pupọ fun paṣipaarọ naa",
909 "tor_connection": "Tor asopọ",
910 "tor_only": "Tor nìkan",
911 "total": "Apapọ",
res/values/strings_zh.arb
+1
@@ -904,6 +904,7 @@
904 "token_name": "代币名称例如:Tether",
905 "token_symbol": "代币符号例如:USDT",
906 "tokenID": "ID",
907 + "ton_extra_info": "请不要忘记在发送TON交易时指定备忘录",
908 "tor_connection": "Tor连接",
909 "tor_only": "仅限 Tor",
910 "total": "全部的",