mweb node setting [wip] [skip ci]

This commit is contained in:
fossephate 2024-10-28 13:10:33 -07:00
parent 6dd6f06d3f
commit 3132db7b39
38 changed files with 136 additions and 35 deletions

View file

@ -569,29 +569,6 @@ abstract class ElectrumWalletBase
return node!.supportsSilentPayments!;
}
Future<bool> getNodeSupportsMweb() async {
final version = await electrumClient.version();
if (node == null) {
return false;
}
if (version.isNotEmpty) {
final server = version[0];
print("server: $server");
return false;
// if (server.toLowerCase().contains('electrs')) {
// node!.isElectrs = true;
// node!.save();
// return node!.isElectrs!;
// }
}
return node!.supportsMweb!;
}
@action
@override
Future<void> connectToNode({required Node node}) async {

View file

@ -288,13 +288,16 @@ abstract class LitecoinWalletBase extends ElectrumWallet with Store {
await (walletAddresses as LitecoinWalletAddresses).ensureMwebAddressUpToIndexExists(1020);
}
// String getMwebNodeUriFromPrefs() {
// // from preferences_key.dart "defaultNanoRep" key:
// return prefs.getString("mweb_node_uri") ?? "ltc-electrum.cakewallet.com:9333";
// }
@action
@override
Future<void> connectToNode({required Node node}) async {
await super.connectToNode(node: node);
if (await getNodeSupportsMweb()) {
await CwMweb.setNodeUriOverride(node.uri.toString());
}
// await CwMweb.setNodeUriOverride(settingsStore.mwebNodeUri);
}
@action
@ -978,7 +981,7 @@ abstract class LitecoinWalletBase extends ElectrumWallet with Store {
// add the difference to the fee (abs value):
fee += diff.abs();
}
print("fee is now: $fee");
final txb =

View file

@ -36,6 +36,7 @@ import 'package:cake_wallet/entities/wallet_edit_page_arguments.dart';
import 'package:cake_wallet/entities/wallet_manager.dart';
import 'package:cake_wallet/src/screens/receive/address_list_page.dart';
import 'package:cake_wallet/src/screens/settings/mweb_logs_page.dart';
import 'package:cake_wallet/src/screens/settings/mweb_node_page.dart';
import 'package:cake_wallet/view_model/link_view_model.dart';
import 'package:cake_wallet/tron/tron.dart';
import 'package:cake_wallet/src/screens/transaction_details/rbf_details_page.dart';
@ -948,6 +949,8 @@ Future<void> setup({
getIt.registerFactory(() => MwebLogsPage(getIt.get<MwebSettingsViewModel>()));
getIt.registerFactory(() => MwebNodePage(getIt.get<MwebSettingsViewModel>()));
getIt.registerFactory(() => OtherSettingsPage(getIt.get<OtherSettingsViewModel>()));
getIt.registerFactory(() => NanoChangeRepPage(

View file

@ -52,6 +52,7 @@ class PreferencesKey {
static const mwebEnabled = 'mwebEnabled';
static const hasEnabledMwebBefore = 'hasEnabledMwebBefore';
static const mwebAlwaysScan = 'mwebAlwaysScan';
static const mwebNodeUri = 'mwebNodeUri';
static const shouldShowReceiveWarning = 'should_show_receive_warning';
static const shouldShowYatPopup = 'should_show_yat_popup';
static const shouldShowRepWarning = 'should_show_rep_warning';

View file

@ -73,6 +73,7 @@ import 'package:cake_wallet/src/screens/settings/display_settings_page.dart';
import 'package:cake_wallet/src/screens/settings/domain_lookups_page.dart';
import 'package:cake_wallet/src/screens/settings/manage_nodes_page.dart';
import 'package:cake_wallet/src/screens/settings/mweb_logs_page.dart';
import 'package:cake_wallet/src/screens/settings/mweb_node_page.dart';
import 'package:cake_wallet/src/screens/settings/mweb_settings.dart';
import 'package:cake_wallet/src/screens/settings/other_settings_page.dart';
import 'package:cake_wallet/src/screens/settings/privacy_page.dart';
@ -466,6 +467,10 @@ Route<dynamic> createRoute(RouteSettings settings) {
return CupertinoPageRoute<void>(
fullscreenDialog: true, builder: (_) => getIt.get<MwebLogsPage>());
case Routes.mwebNode:
return CupertinoPageRoute<void>(
fullscreenDialog: true, builder: (_) => getIt.get<MwebNodePage>());
case Routes.connectionSync:
return CupertinoPageRoute<void>(
fullscreenDialog: true, builder: (_) => getIt.get<ConnectionSyncPage>());

View file

@ -75,6 +75,7 @@ class Routes {
static const silentPaymentsSettings = '/silent_payments_settings';
static const mwebSettings = '/mweb_settings';
static const mwebLogs = '/mweb_logs';
static const mwebNode = '/mweb_node';
static const connectionSync = '/connection_sync_page';
static const securityBackupPage = '/security_and_backup_page';
static const privacyPage = '/privacy_page';

View file

@ -0,0 +1,56 @@
import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
import 'package:cake_wallet/src/widgets/primary_button.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/view_model/settings/mweb_settings_view_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
class MwebNodePage extends BasePage {
MwebNodePage(this.mwebSettingsViewModelBase)
: _nodeUriController = TextEditingController(text: mwebSettingsViewModelBase.mwebNodeUri),
super();
final MwebSettingsViewModelBase mwebSettingsViewModelBase;
final TextEditingController _nodeUriController;
@override
String get title => S.current.litecoin_mweb_node;
@override
Widget body(BuildContext context) {
return Stack(
fit: StackFit.expand,
children: [
Container(
padding: EdgeInsets.symmetric(horizontal: 24),
child: Row(
children: <Widget>[
Expanded(
child: BaseTextFormField(controller: _nodeUriController),
)
],
),
),
Positioned(
child: Observer(
builder: (_) => LoadingPrimaryButton(
onPressed: save,
text: S.of(context).save,
color: Theme.of(context).primaryColor,
textColor: Colors.white,
),
),
bottom: 24,
left: 24,
right: 24,
)
],
);
}
void save() {
mwebSettingsViewModelBase.setMwebNodeUri(_nodeUriController.text);
}
}

View file

@ -41,10 +41,14 @@ class MwebSettingsPage extends BasePage {
title: S.current.litecoin_mweb_scanning,
handler: (BuildContext context) => Navigator.of(context).pushNamed(Routes.rescan),
),
SettingsCellWithArrow(
SettingsCellWithArrow(
title: S.current.litecoin_mweb_logs,
handler: (BuildContext context) => Navigator.of(context).pushNamed(Routes.mwebLogs),
),
SettingsCellWithArrow(
title: S.current.litecoin_mweb_node,
handler: (BuildContext context) => Navigator.of(context).pushNamed(Routes.mwebNode),
),
],
),
);

View file

@ -118,6 +118,7 @@ abstract class SettingsStoreBase with Store {
required this.mwebCardDisplay,
required this.mwebEnabled,
required this.hasEnabledMwebBefore,
required this.mwebNodeUri,
TransactionPriority? initialBitcoinTransactionPriority,
TransactionPriority? initialMoneroTransactionPriority,
TransactionPriority? initialWowneroTransactionPriority,
@ -344,8 +345,8 @@ abstract class SettingsStoreBase with Store {
reaction(
(_) => bitcoinSeedType,
(BitcoinSeedType bitcoinSeedType) => sharedPreferences.setInt(
PreferencesKey.bitcoinSeedType, bitcoinSeedType.raw));
(BitcoinSeedType bitcoinSeedType) =>
sharedPreferences.setInt(PreferencesKey.bitcoinSeedType, bitcoinSeedType.raw));
reaction(
(_) => nanoSeedType,
@ -428,8 +429,10 @@ abstract class SettingsStoreBase with Store {
reaction((_) => useTronGrid,
(bool useTronGrid) => _sharedPreferences.setBool(PreferencesKey.useTronGrid, useTronGrid));
reaction((_) => useMempoolFeeAPI,
(bool useMempoolFeeAPI) => _sharedPreferences.setBool(PreferencesKey.useMempoolFeeAPI, useMempoolFeeAPI));
reaction(
(_) => useMempoolFeeAPI,
(bool useMempoolFeeAPI) =>
_sharedPreferences.setBool(PreferencesKey.useMempoolFeeAPI, useMempoolFeeAPI));
reaction((_) => defaultNanoRep,
(String nanoRep) => _sharedPreferences.setString(PreferencesKey.defaultNanoRep, nanoRep));
@ -577,6 +580,11 @@ abstract class SettingsStoreBase with Store {
(bool hasEnabledMwebBefore) =>
_sharedPreferences.setBool(PreferencesKey.hasEnabledMwebBefore, hasEnabledMwebBefore));
reaction(
(_) => mwebNodeUri,
(String mwebNodeUri) =>
_sharedPreferences.setString(PreferencesKey.mwebNodeUri, mwebNodeUri));
this.nodes.observe((change) {
if (change.newValue != null && change.key != null) {
_saveCurrentNode(change.newValue!, change.key!);
@ -802,6 +810,9 @@ abstract class SettingsStoreBase with Store {
@observable
bool hasEnabledMwebBefore;
@observable
String mwebNodeUri;
final SecureStorage _secureStorage;
final SharedPreferences _sharedPreferences;
final BackgroundTasks _backgroundTasks;
@ -964,6 +975,8 @@ abstract class SettingsStoreBase with Store {
final mwebEnabled = sharedPreferences.getBool(PreferencesKey.mwebEnabled) ?? false;
final hasEnabledMwebBefore =
sharedPreferences.getBool(PreferencesKey.hasEnabledMwebBefore) ?? false;
final mwebNodeUri = sharedPreferences.getString(PreferencesKey.mwebNodeUri) ??
"ltc-electrum.cakewallet.com:9333";
// If no value
if (pinLength == null || pinLength == 0) {
@ -1233,6 +1246,7 @@ abstract class SettingsStoreBase with Store {
mwebAlwaysScan: mwebAlwaysScan,
mwebCardDisplay: mwebCardDisplay,
mwebEnabled: mwebEnabled,
mwebNodeUri: mwebNodeUri,
hasEnabledMwebBefore: hasEnabledMwebBefore,
initialMoneroTransactionPriority: moneroTransactionPriority,
initialWowneroTransactionPriority: wowneroTransactionPriority,
@ -1658,7 +1672,8 @@ abstract class SettingsStoreBase with Store {
deviceName = windowsInfo.productName;
} catch (e) {
print(e);
print('likely digitalProductId is null wait till https://github.com/fluttercommunity/plus_plugins/pull/3188 is merged');
print(
'likely digitalProductId is null wait till https://github.com/fluttercommunity/plus_plugins/pull/3188 is merged');
deviceName = "Windows Device";
}
}

View file

@ -25,11 +25,19 @@ abstract class MwebSettingsViewModelBase with Store {
@observable
late bool mwebEnabled;
@computed
String get mwebNodeUri => _settingsStore.mwebNodeUri;
@action
void setMwebCardDisplay(bool value) {
_settingsStore.mwebCardDisplay = value;
}
@action
void setMwebNodeUri(String value) {
_settingsStore.mwebNodeUri = value;
}
@action
void setMwebEnabled(bool value) {
mwebEnabled = value;

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "عرض بطاقة mweb",
"litecoin_mweb_enable_later": "يمكنك اختيار تمكين MWEB مرة أخرى ضمن إعدادات العرض.",
"litecoin_mweb_logs": "سجلات MWEB",
"litecoin_mweb_node": "عقدة MWEB",
"litecoin_mweb_pegin": "ربط في",
"litecoin_mweb_pegout": "ربط",
"litecoin_mweb_scanning": "MWEB المسح الضوئي",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Показване на MWEB карта",
"litecoin_mweb_enable_later": "Можете да изберете да активирате MWEB отново под настройките на дисплея.",
"litecoin_mweb_logs": "MWeb logs",
"litecoin_mweb_node": "MWEB възел",
"litecoin_mweb_pegin": "PEG в",
"litecoin_mweb_pegout": "PEG OUT",
"litecoin_mweb_scanning": "Сканиране на MWEB",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Zobrazit kartu MWeb",
"litecoin_mweb_enable_later": "V nastavení zobrazení můžete vybrat znovu povolit MWeb.",
"litecoin_mweb_logs": "Protokoly mWeb",
"litecoin_mweb_node": "Uzel mWeb",
"litecoin_mweb_pegin": "Peg in",
"litecoin_mweb_pegout": "Zkrachovat",
"litecoin_mweb_scanning": "Skenování mWeb",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "MWEB-Karte anzeigen",
"litecoin_mweb_enable_later": "Sie können MWEB unter Anzeigeeinstellungen erneut aktivieren.",
"litecoin_mweb_logs": "MWEB -Protokolle",
"litecoin_mweb_node": "MWEB -Knoten",
"litecoin_mweb_pegin": "Peg in",
"litecoin_mweb_pegout": "Abstecken",
"litecoin_mweb_scanning": "MWEB Scanning",
@ -942,4 +943,4 @@
"you_will_get": "Konvertieren zu",
"you_will_send": "Konvertieren von",
"yy": "YY"
}
}

View file

@ -375,6 +375,7 @@
"litecoin_mweb_display_card": "Show MWEB card",
"litecoin_mweb_enable_later": "You can choose to enable MWEB again under Display Settings.",
"litecoin_mweb_logs": "MWEB Logs",
"litecoin_mweb_node": "MWEB Node",
"litecoin_mweb_pegin": "Peg In",
"litecoin_mweb_pegout": "Peg Out",
"litecoin_mweb_scanning": "MWEB Scanning",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Mostrar tarjeta MWEB",
"litecoin_mweb_enable_later": "Puede elegir habilitar MWEB nuevamente en la configuración de visualización.",
"litecoin_mweb_logs": "Registros de mweb",
"litecoin_mweb_node": "Nodo mweb",
"litecoin_mweb_pegin": "Convertir",
"litecoin_mweb_pegout": "Recuperar",
"litecoin_mweb_scanning": "Escaneo mweb",
@ -940,4 +941,4 @@
"you_will_get": "Convertir a",
"you_will_send": "Convertir de",
"yy": "YY"
}
}

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Afficher la carte MWeb",
"litecoin_mweb_enable_later": "Vous pouvez choisir d'activer à nouveau MWEB sous Paramètres d'affichage.",
"litecoin_mweb_logs": "Journaux MWEB",
"litecoin_mweb_node": "Node MWEB",
"litecoin_mweb_pegin": "Entraver",
"litecoin_mweb_pegout": "Crever",
"litecoin_mweb_scanning": "Scann mweb",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Nuna katin Mweb",
"litecoin_mweb_enable_later": "Kuna iya zaɓar kunna Mweb kuma a ƙarƙashin saitunan nuni.",
"litecoin_mweb_logs": "Jagoran Mweb",
"litecoin_mweb_node": "Mweb Node",
"litecoin_mweb_pegin": "Peg in",
"litecoin_mweb_pegout": "Peg fita",
"litecoin_mweb_scanning": "Mweb scanning",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "MWEB कार्ड दिखाएं",
"litecoin_mweb_enable_later": "आप प्रदर्शन सेटिंग्स के तहत फिर से MWEB को सक्षम करने के लिए चुन सकते हैं।",
"litecoin_mweb_logs": "MWEB लॉग",
"litecoin_mweb_node": "MWEB नोड",
"litecoin_mweb_pegin": "खूंटी",
"litecoin_mweb_pegout": "मरना",
"litecoin_mweb_scanning": "MWEB स्कैनिंग",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Prikaži MWeb karticu",
"litecoin_mweb_enable_later": "Možete odabrati da MWEB ponovo omogućite pod postavkama zaslona.",
"litecoin_mweb_logs": "MWEB trupci",
"litecoin_mweb_node": "MWEB čvor",
"litecoin_mweb_pegin": "Uvući se",
"litecoin_mweb_pegout": "Odapeti",
"litecoin_mweb_scanning": "MWEB skeniranje",

View file

@ -369,6 +369,7 @@
"litecoin_mweb_dismiss": "Հեռացնել",
"litecoin_mweb_enable_later": "Կարող եք ընտրել Mweb- ը կրկին միացնել ցուցադրման պարամետրերը:",
"litecoin_mweb_logs": "Mweb տեղեկամատյաններ",
"litecoin_mweb_node": "Mweb հանգույց",
"litecoin_mweb_pegin": "Peg in",
"litecoin_mweb_pegout": "Հափշտակել",
"live_fee_rates": "Ապակի վարձավճարներ API- ի միջոցով",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Tunjukkan kartu mWeb",
"litecoin_mweb_enable_later": "Anda dapat memilih untuk mengaktifkan MWEB lagi di bawah pengaturan tampilan.",
"litecoin_mweb_logs": "Log MWeb",
"litecoin_mweb_node": "Node MWEB",
"litecoin_mweb_pegin": "Pasak masuk",
"litecoin_mweb_pegout": "Mati",
"litecoin_mweb_scanning": "Pemindaian MWEB",

View file

@ -374,6 +374,7 @@
"litecoin_mweb_display_card": "Mostra la scheda MWeb",
"litecoin_mweb_enable_later": "È possibile scegliere di abilitare nuovamente MWeb nelle impostazioni di visualizzazione.",
"litecoin_mweb_logs": "Registri mWeb",
"litecoin_mweb_node": "Nodo MWeb",
"litecoin_mweb_pegin": "Piolo in",
"litecoin_mweb_pegout": "PEG OUT",
"litecoin_mweb_scanning": "Scansione MWeb",

View file

@ -374,6 +374,7 @@
"litecoin_mweb_display_card": "MWEBカードを表示します",
"litecoin_mweb_enable_later": "表示設定の下で、MWEBを再度有効にすることを選択できます。",
"litecoin_mweb_logs": "MWEBログ",
"litecoin_mweb_node": "MWEBード",
"litecoin_mweb_pegin": "ペグイン",
"litecoin_mweb_pegout": "ペグアウト",
"litecoin_mweb_scanning": "MWEBスキャン",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "mweb 카드를 보여주십시오",
"litecoin_mweb_enable_later": "디스플레이 설정에서 MWEB를 다시 활성화하도록 선택할 수 있습니다.",
"litecoin_mweb_logs": "mweb 로그",
"litecoin_mweb_node": "mweb 노드",
"litecoin_mweb_pegin": "페그를 입력하십시오",
"litecoin_mweb_pegout": "죽다",
"litecoin_mweb_scanning": "mweb 스캔",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "MweB ကဒ်ကိုပြပါ",
"litecoin_mweb_enable_later": "သင် MweB ကို display settings အောက်ရှိ ထပ်မံ. ခွင့်ပြုရန်ရွေးချယ်နိုင်သည်။",
"litecoin_mweb_logs": "Mweb မှတ်တမ်းများ",
"litecoin_mweb_node": "mweb node ကို",
"litecoin_mweb_pegin": "တံစို့",
"litecoin_mweb_pegout": "တံစို့",
"litecoin_mweb_scanning": "mweb scanning",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Toon MWEB -kaart",
"litecoin_mweb_enable_later": "U kunt ervoor kiezen om MWeb opnieuw in te schakelen onder weergave -instellingen.",
"litecoin_mweb_logs": "MWEB -logboeken",
"litecoin_mweb_node": "MWEB -knooppunt",
"litecoin_mweb_pegin": "Vastmaken",
"litecoin_mweb_pegout": "Uithakken",
"litecoin_mweb_scanning": "MWEB -scanning",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Pokaż kartę MWEB",
"litecoin_mweb_enable_later": "Możesz ponownie włączyć MWEB w ustawieniach wyświetlania.",
"litecoin_mweb_logs": "Dzienniki MWEB",
"litecoin_mweb_node": "Węzeł MWEB",
"litecoin_mweb_pegin": "Kołek",
"litecoin_mweb_pegout": "Palikować",
"litecoin_mweb_scanning": "Skanowanie MWEB",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Mostre o cartão MWEB",
"litecoin_mweb_enable_later": "Você pode optar por ativar o MWEB novamente em Configurações de exibição.",
"litecoin_mweb_logs": "Logs MWeb",
"litecoin_mweb_node": "Nó MWeb",
"litecoin_mweb_pegin": "Peg in",
"litecoin_mweb_pegout": "Peg fora",
"litecoin_mweb_scanning": "MWEB Scanning",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Показать карту MWEB",
"litecoin_mweb_enable_later": "Вы можете снова включить MWEB в настройках отображения.",
"litecoin_mweb_logs": "MWEB журналы",
"litecoin_mweb_node": "Узел MWEB",
"litecoin_mweb_pegin": "Внедрять",
"litecoin_mweb_pegout": "Выкрикивать",
"litecoin_mweb_scanning": "MWEB сканирование",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "แสดงการ์ด mweb",
"litecoin_mweb_enable_later": "คุณสามารถเลือกเปิดใช้งาน MWEB อีกครั้งภายใต้การตั้งค่าการแสดงผล",
"litecoin_mweb_logs": "บันทึก MWEB",
"litecoin_mweb_node": "โหนด MWEB",
"litecoin_mweb_pegin": "หมุด",
"litecoin_mweb_pegout": "ตรึง",
"litecoin_mweb_scanning": "การสแกน MWEB",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Ipakita ang MWEB Card",
"litecoin_mweb_enable_later": "Maaari kang pumili upang paganahin muli ang MWeb sa ilalim ng mga setting ng pagpapakita.",
"litecoin_mweb_logs": "MWEB log",
"litecoin_mweb_node": "Mweb node",
"litecoin_mweb_pegin": "Peg in",
"litecoin_mweb_pegout": "Peg out",
"litecoin_mweb_scanning": "Pag -scan ng Mweb",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "MWEB kartını göster",
"litecoin_mweb_enable_later": "Ekran ayarlarının altında MWEB'yi tekrar etkinleştirmeyi seçebilirsiniz.",
"litecoin_mweb_logs": "MWEB günlükleri",
"litecoin_mweb_node": "MWEB düğümü",
"litecoin_mweb_pegin": "Takılmak",
"litecoin_mweb_pegout": "Çiğnemek",
"litecoin_mweb_scanning": "MWEB taraması",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "Показати карту MWeb",
"litecoin_mweb_enable_later": "Ви можете знову ввімкнути MWEB в налаштуваннях дисплея.",
"litecoin_mweb_logs": "Журнали MWeb",
"litecoin_mweb_node": "Вузол MWeb",
"litecoin_mweb_pegin": "Подякувати",
"litecoin_mweb_pegout": "Подякувати",
"litecoin_mweb_scanning": "Сканування Mweb",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "MWEB کارڈ دکھائیں",
"litecoin_mweb_enable_later": "آپ ڈسپلے کی ترتیبات کے تحت MWEB کو دوبارہ فعال کرنے کا انتخاب کرسکتے ہیں۔",
"litecoin_mweb_logs": "MWEB لاگز",
"litecoin_mweb_node": "MWEB نوڈ",
"litecoin_mweb_pegin": "پیگ میں",
"litecoin_mweb_pegout": "پیگ آؤٹ",
"litecoin_mweb_scanning": "MWEB اسکیننگ",

View file

@ -370,6 +370,7 @@
"litecoin_mweb_dismiss": "Miễn nhiệm",
"litecoin_mweb_enable_later": "Bạn có thể chọn bật lại MWEB trong cài đặt hiển thị.",
"litecoin_mweb_logs": "Nhật ký MWEB",
"litecoin_mweb_node": "Nút MWEB",
"litecoin_mweb_pegin": "Chốt vào",
"litecoin_mweb_pegout": "Chốt ra",
"live_fee_rates": "Tỷ lệ phí hiện tại qua API",

View file

@ -374,6 +374,7 @@
"litecoin_mweb_display_card": "Fihan kaadi Mweb",
"litecoin_mweb_enable_later": "O le yan lati ṣiṣẹ Mweb lẹẹkansi labẹ awọn eto ifihan.",
"litecoin_mweb_logs": "MTweb logs",
"litecoin_mweb_node": "Alweb joko",
"litecoin_mweb_pegin": "Peg in",
"litecoin_mweb_pegout": "Peg jade",
"litecoin_mweb_scanning": "Mweb scanning",

View file

@ -373,6 +373,7 @@
"litecoin_mweb_display_card": "显示MWEB卡",
"litecoin_mweb_enable_later": "您可以选择在显示设置下再次启用MWEB。",
"litecoin_mweb_logs": "MWEB日志",
"litecoin_mweb_node": "MWEB节点",
"litecoin_mweb_pegin": "钉进",
"litecoin_mweb_pegout": "昏倒",
"litecoin_mweb_scanning": "MWEB扫描",