Cw 497 wallet connect for desktop (#1134)

* feat: Implement WalletConnect for Desktop

* feat: WalletConnect for Desktop

* fix: Properly handle and dispose textEditingController for URI

* chore: Move BottomSheetListener to Sidebar for desktop app

* Remove unused variable and imports

* Update desktop_settings_page.dart

---------

Co-authored-by: Omar Hatem <omarh.ismail1@gmail.com>
This commit is contained in:
Adegoke David 2023-10-19 17:25:44 +01:00 committed by GitHub
parent 8ca9fa0a82
commit 374110db54
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
35 changed files with 344 additions and 129 deletions

View file

@ -220,6 +220,7 @@ import 'package:cw_core/crypto_currency.dart';
import 'package:cake_wallet/entities/qr_view_data.dart'; import 'package:cake_wallet/entities/qr_view_data.dart';
import 'core/totp_request_details.dart'; import 'core/totp_request_details.dart';
import 'src/screens/settings/desktop_settings/desktop_settings_page.dart';
final getIt = GetIt.instance; final getIt = GetIt.instance;
@ -488,6 +489,7 @@ Future<void> setup({
getIt.registerFactory<DesktopSidebarWrapper>(() { getIt.registerFactory<DesktopSidebarWrapper>(() {
final GlobalKey<NavigatorState> _navigatorKey = GlobalKey<NavigatorState>(); final GlobalKey<NavigatorState> _navigatorKey = GlobalKey<NavigatorState>();
return DesktopSidebarWrapper( return DesktopSidebarWrapper(
bottomSheetService: getIt.get<BottomSheetService>(),
dashboardViewModel: getIt.get<DashboardViewModel>(), dashboardViewModel: getIt.get<DashboardViewModel>(),
desktopSidebarViewModel: getIt.get<DesktopSidebarViewModel>(), desktopSidebarViewModel: getIt.get<DesktopSidebarViewModel>(),
child: getIt.get<DesktopDashboardPage>(param1: _navigatorKey), child: getIt.get<DesktopDashboardPage>(param1: _navigatorKey),
@ -496,7 +498,6 @@ Future<void> setup({
}); });
getIt.registerFactoryParam<DesktopDashboardPage, GlobalKey<NavigatorState>, void>( getIt.registerFactoryParam<DesktopDashboardPage, GlobalKey<NavigatorState>, void>(
(desktopKey, _) => DesktopDashboardPage( (desktopKey, _) => DesktopDashboardPage(
bottomSheetService: getIt.get<BottomSheetService>(),
balancePage: getIt.get<BalancePage>(), balancePage: getIt.get<BalancePage>(),
dashboardViewModel: getIt.get<DashboardViewModel>(), dashboardViewModel: getIt.get<DashboardViewModel>(),
addressListViewModel: getIt.get<WalletAddressListViewModel>(), addressListViewModel: getIt.get<WalletAddressListViewModel>(),
@ -515,6 +516,9 @@ Future<void> setup({
getIt.registerFactory<Modify2FAPage>( getIt.registerFactory<Modify2FAPage>(
() => Modify2FAPage(setup2FAViewModel: getIt.get<Setup2FAViewModel>())); () => Modify2FAPage(setup2FAViewModel: getIt.get<Setup2FAViewModel>()));
getIt.registerFactory<DesktopSettingsPage>(
() => DesktopSettingsPage());
getIt.registerFactoryParam<ReceiveOptionViewModel, ReceivePageOption?, void>( getIt.registerFactoryParam<ReceiveOptionViewModel, ReceivePageOption?, void>(
(pageOption, _) => ReceiveOptionViewModel(getIt.get<AppStore>().wallet!, pageOption)); (pageOption, _) => ReceiveOptionViewModel(getIt.get<AppStore>().wallet!, pageOption));

View file

@ -544,7 +544,7 @@ Route<dynamic> createRoute(RouteSettings settings) {
); );
case Routes.desktop_settings_page: case Routes.desktop_settings_page:
return CupertinoPageRoute<void>(builder: (_) => DesktopSettingsPage()); return CupertinoPageRoute<void>(builder: (_) => getIt.get<DesktopSettingsPage>());
case Routes.empty_no_route: case Routes.empty_no_route:
return MaterialPageRoute<void>(builder: (_) => SizedBox.shrink()); return MaterialPageRoute<void>(builder: (_) => SizedBox.shrink());

View file

@ -1,10 +1,8 @@
import 'dart:async'; import 'dart:async';
import 'package:cake_wallet/core/wallet_connect/wc_bottom_sheet_service.dart';
import 'package:cake_wallet/entities/preferences_key.dart'; import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/release_notes/release_notes_screen.dart'; import 'package:cake_wallet/src/screens/release_notes/release_notes_screen.dart';
import 'package:cake_wallet/src/screens/wallet_connect/widgets/modals/bottom_sheet_listener.dart';
import 'package:cake_wallet/src/screens/yat_emoji_id.dart'; import 'package:cake_wallet/src/screens/yat_emoji_id.dart';
import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
import 'package:cake_wallet/utils/show_pop_up.dart'; import 'package:cake_wallet/utils/show_pop_up.dart';
@ -21,14 +19,12 @@ import 'package:shared_preferences/shared_preferences.dart';
class DesktopDashboardPage extends StatelessWidget { class DesktopDashboardPage extends StatelessWidget {
DesktopDashboardPage({ DesktopDashboardPage({
required this.balancePage, required this.balancePage,
required this.bottomSheetService,
required this.dashboardViewModel, required this.dashboardViewModel,
required this.addressListViewModel, required this.addressListViewModel,
required this.desktopKey, required this.desktopKey,
}); });
final BalancePage balancePage; final BalancePage balancePage;
final BottomSheetService bottomSheetService;
final DashboardViewModel dashboardViewModel; final DashboardViewModel dashboardViewModel;
final WalletAddressListViewModel addressListViewModel; final WalletAddressListViewModel addressListViewModel;
final GlobalKey<NavigatorState> desktopKey; final GlobalKey<NavigatorState> desktopKey;
@ -40,34 +36,31 @@ class DesktopDashboardPage extends StatelessWidget {
Widget build(BuildContext context) { Widget build(BuildContext context) {
_setEffects(context); _setEffects(context);
return BottomSheetListener( return Container(
bottomSheetService: bottomSheetService, color: Theme.of(context).colorScheme.background,
child: Container( child: Row(
color: Theme.of(context).colorScheme.background, crossAxisAlignment: CrossAxisAlignment.start,
child: Row( children: [
crossAxisAlignment: CrossAxisAlignment.start, Container(
children: [ width: 400,
Container( child: balancePage,
width: 400, ),
child: balancePage, Flexible(
), child: ConstrainedBox(
Flexible( constraints: BoxConstraints(maxWidth: 500),
child: ConstrainedBox( child: Navigator(
constraints: BoxConstraints(maxWidth: 500), key: desktopKey,
child: Navigator( initialRoute: Routes.desktop_actions,
key: desktopKey, onGenerateRoute: (settings) => Router.createRoute(settings),
initialRoute: Routes.desktop_actions, onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) {
onGenerateRoute: (settings) => Router.createRoute(settings), return [
onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) { navigator.widget.onGenerateRoute!(RouteSettings(name: initialRouteName))!
return [ ];
navigator.widget.onGenerateRoute!(RouteSettings(name: initialRouteName))! },
];
},
),
), ),
), ),
], ),
), ],
), ),
); );
} }

View file

@ -1,3 +1,4 @@
import 'package:cake_wallet/core/wallet_connect/wc_bottom_sheet_service.dart';
import 'package:cake_wallet/di.dart'; import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/routes.dart'; import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/auth/auth_page.dart'; import 'package:cake_wallet/src/screens/auth/auth_page.dart';
@ -7,6 +8,7 @@ import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sideba
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu_item.dart'; import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar/side_menu_item.dart';
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart'; import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_wallet_selection_dropdown.dart';
import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator.dart'; import 'package:cake_wallet/src/screens/dashboard/widgets/sync_indicator.dart';
import 'package:cake_wallet/src/screens/wallet_connect/widgets/modals/bottom_sheet_listener.dart';
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart'; import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
import 'package:cake_wallet/view_model/dashboard/desktop_sidebar_view_model.dart'; import 'package:cake_wallet/view_model/dashboard/desktop_sidebar_view_model.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
@ -16,6 +18,7 @@ import 'package:cake_wallet/router.dart' as Router;
import 'package:mobx/mobx.dart'; import 'package:mobx/mobx.dart';
class DesktopSidebarWrapper extends BasePage { class DesktopSidebarWrapper extends BasePage {
final BottomSheetService bottomSheetService;
final Widget child; final Widget child;
final DesktopSidebarViewModel desktopSidebarViewModel; final DesktopSidebarViewModel desktopSidebarViewModel;
final DashboardViewModel dashboardViewModel; final DashboardViewModel dashboardViewModel;
@ -23,6 +26,7 @@ class DesktopSidebarWrapper extends BasePage {
DesktopSidebarWrapper({ DesktopSidebarWrapper({
required this.child, required this.child,
required this.bottomSheetService,
required this.desktopSidebarViewModel, required this.desktopSidebarViewModel,
required this.dashboardViewModel, required this.dashboardViewModel,
required this.desktopNavigatorKey, required this.desktopNavigatorKey,
@ -67,63 +71,75 @@ class DesktopSidebarWrapper extends BasePage {
Widget body(BuildContext context) { Widget body(BuildContext context) {
_setEffects(); _setEffects();
return Row( return BottomSheetListener(
crossAxisAlignment: CrossAxisAlignment.start, bottomSheetService: bottomSheetService,
children: [ child: Row(
Observer(builder: (_) { crossAxisAlignment: CrossAxisAlignment.start,
return SideMenu( children: [
width: sideMenuWidth, Observer(builder: (_) {
topItems: [ return SideMenu(
SideMenuItem( width: sideMenuWidth,
imagePath: 'assets/images/wallet_outline.png', topItems: [
isSelected: desktopSidebarViewModel.currentPage == SidebarItem.dashboard, SideMenuItem(
onTap: () { imagePath: 'assets/images/wallet_outline.png',
desktopSidebarViewModel.onPageChange(SidebarItem.dashboard); isSelected: desktopSidebarViewModel.currentPage == SidebarItem.dashboard,
desktopNavigatorKey.currentState onTap: () {
?.pushNamedAndRemoveUntil(Routes.desktop_actions, (route) => false); desktopSidebarViewModel.onPageChange(SidebarItem.dashboard);
},
),
SideMenuItem(
onTap: () {
if (desktopSidebarViewModel.currentPage == SidebarItem.transactions) {
desktopNavigatorKey.currentState desktopNavigatorKey.currentState
?.pushNamedAndRemoveUntil(Routes.desktop_actions, (route) => false); ?.pushNamedAndRemoveUntil(Routes.desktop_actions, (route) => false);
desktopSidebarViewModel.resetSidebar(); },
} else { ),
desktopSidebarViewModel.onPageChange(SidebarItem.transactions); SideMenuItem(
desktopNavigatorKey.currentState?.pushNamed(Routes.transactionsPage); onTap: () {
} if (desktopSidebarViewModel.currentPage == SidebarItem.transactions) {
}, desktopNavigatorKey.currentState
isSelected: desktopSidebarViewModel.currentPage == SidebarItem.transactions, ?.pushNamedAndRemoveUntil(Routes.desktop_actions, (route) => false);
imagePath: desktopSidebarViewModel.currentPage == SidebarItem.transactions desktopSidebarViewModel.resetSidebar();
? selectedIconPath } else {
: unselectedIconPath, desktopSidebarViewModel.onPageChange(SidebarItem.transactions);
), desktopNavigatorKey.currentState?.pushNamed(Routes.transactionsPage);
], }
bottomItems: [ },
SideMenuItem( isSelected: desktopSidebarViewModel.currentPage == SidebarItem.transactions,
imagePath: 'assets/images/support_icon.png', imagePath: desktopSidebarViewModel.currentPage == SidebarItem.transactions
isSelected: desktopSidebarViewModel.currentPage == SidebarItem.support, ? selectedIconPath
onTap: () => desktopSidebarViewModel.onPageChange(SidebarItem.support)), : unselectedIconPath,
SideMenuItem( ),
imagePath: 'assets/images/settings_outline.png', ],
isSelected: desktopSidebarViewModel.currentPage == SidebarItem.settings, bottomItems: [
onTap: () => desktopSidebarViewModel.onPageChange(SidebarItem.settings), SideMenuItem(
), imagePath: 'assets/images/support_icon.png',
], isSelected: desktopSidebarViewModel.currentPage == SidebarItem.support,
); onTap: () => desktopSidebarViewModel.onPageChange(SidebarItem.support)),
}), SideMenuItem(
Expanded( imagePath: 'assets/images/settings_outline.png',
child: PageView( isSelected: desktopSidebarViewModel.currentPage == SidebarItem.settings,
controller: pageController, onTap: () => desktopSidebarViewModel.onPageChange(SidebarItem.settings),
physics: NeverScrollableScrollPhysics(), ),
children: [ ],
child, );
Container( }),
color: Theme.of(context).colorScheme.background, Expanded(
padding: EdgeInsets.all(20), child: PageView(
child: Navigator( controller: pageController,
initialRoute: Routes.support, physics: NeverScrollableScrollPhysics(),
children: [
child,
Container(
color: Theme.of(context).colorScheme.background,
padding: EdgeInsets.all(20),
child: Navigator(
initialRoute: Routes.support,
onGenerateRoute: (settings) => Router.createRoute(settings),
onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) {
return [
navigator.widget.onGenerateRoute!(RouteSettings(name: initialRouteName))!
];
},
),
),
Navigator(
initialRoute: Routes.desktop_settings_page,
onGenerateRoute: (settings) => Router.createRoute(settings), onGenerateRoute: (settings) => Router.createRoute(settings),
onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) { onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) {
return [ return [
@ -131,20 +147,11 @@ class DesktopSidebarWrapper extends BasePage {
]; ];
}, },
), ),
), ],
Navigator( ),
initialRoute: Routes.desktop_settings_page,
onGenerateRoute: (settings) => Router.createRoute(settings),
onGenerateInitialRoutes: (NavigatorState navigator, String initialRouteName) {
return [
navigator.widget.onGenerateRoute!(RouteSettings(name: initialRouteName))!
];
},
),
],
), ),
), ],
], ),
); );
} }

View file

@ -85,7 +85,7 @@ class ConnectionSyncPage extends BasePage {
); );
}, },
), ),
if (dashboardViewModel.wallet.type == WalletType.ethereum && DeviceInfo.instance.isMobile) ...[ if (dashboardViewModel.wallet.type == WalletType.ethereum) ...[
WalletConnectTile( WalletConnectTile(
onTap: () async { onTap: () async {
Navigator.of(context).push( Navigator.of(context).push(

View file

@ -12,6 +12,7 @@ final _settingsNavigatorKey = GlobalKey<NavigatorState>();
class DesktopSettingsPage extends StatefulWidget { class DesktopSettingsPage extends StatefulWidget {
const DesktopSettingsPage({super.key}); const DesktopSettingsPage({super.key});
@override @override
State<DesktopSettingsPage> createState() => _DesktopSettingsPageState(); State<DesktopSettingsPage> createState() => _DesktopSettingsPageState();
} }

View file

@ -2,8 +2,10 @@ import 'dart:developer';
import 'package:cake_wallet/core/wallet_connect/web3wallet_service.dart'; import 'package:cake_wallet/core/wallet_connect/web3wallet_service.dart';
import 'package:cake_wallet/generated/i18n.dart'; import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/screens/base_page.dart'; import 'package:cake_wallet/src/screens/base_page.dart';
import 'package:cake_wallet/src/screens/wallet_connect/widgets/enter_wallet_connect_uri_widget.dart';
import 'package:cake_wallet/src/widgets/alert_with_one_action.dart'; import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart'; import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
import 'package:cake_wallet/utils/device_info.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart'; import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:walletconnect_flutter_v2/walletconnect_flutter_v2.dart'; import 'package:walletconnect_flutter_v2/walletconnect_flutter_v2.dart';
@ -36,7 +38,13 @@ class WCPairingsWidget extends BasePage {
String get title => S.current.walletConnect; String get title => S.current.walletConnect;
Future<void> _onScanQrCode(BuildContext context, Web3Wallet web3Wallet) async { Future<void> _onScanQrCode(BuildContext context, Web3Wallet web3Wallet) async {
final String? uri = await presentQRScanner(); final String? uri;
if (DeviceInfo.instance.isMobile) {
uri = await presentQRScanner();
} else {
uri = await _showEnterWalletConnectURIPopUp(context);
}
if (uri == null) return _invalidUriToast(context, S.current.nullURIError); if (uri == null) return _invalidUriToast(context, S.current.nullURIError);
@ -51,6 +59,16 @@ class WCPairingsWidget extends BasePage {
} }
} }
Future<String?> _showEnterWalletConnectURIPopUp(BuildContext context) async {
final walletConnectURI = await showPopUp<String>(
context: context,
builder: (BuildContext context) {
return EnterWalletConnectURIWrapperWidget();
},
);
return walletConnectURI;
}
Future<void> _invalidUriToast(BuildContext context, String message) async { Future<void> _invalidUriToast(BuildContext context, String message) async {
await showPopUp<void>( await showPopUp<void>(
context: context, context: context,

View file

@ -0,0 +1,140 @@
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/src/widgets/base_alert_dialog.dart';
import 'package:cake_wallet/themes/extensions/send_page_theme.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class EnterWalletConnectURIWrapperWidget extends StatefulWidget {
const EnterWalletConnectURIWrapperWidget({super.key});
@override
State<EnterWalletConnectURIWrapperWidget> createState() =>
_EnterWallectConnectURIWrapperWidgetState();
}
class _EnterWallectConnectURIWrapperWidgetState extends State<EnterWalletConnectURIWrapperWidget> {
late final TextEditingController controller;
@override
void initState() {
super.initState();
controller = TextEditingController();
}
@override
void dispose() {
controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return _EnterWalletConnectURIWidget(
controller: controller,
);
}
}
class _EnterWalletConnectURIWidget extends BaseAlertDialog {
_EnterWalletConnectURIWidget({
required this.controller,
});
final TextEditingController controller;
@override
String get titleText => S.current.enterWalletConnectURI;
Future<void> _pasteWalletConnectURI() async {
final clipboard = await Clipboard.getData('text/plain');
final totpURI = clipboard?.text ?? '';
if (totpURI.isNotEmpty) {
controller.text = totpURI;
}
}
@override
Widget content(BuildContext context) {
return Card(
margin: EdgeInsets.zero,
child: Column(
children: [
SizedBox(height: 8),
Text(
S.current.copyWalletConnectLink,
style: Theme.of(context).textTheme.bodySmall,
),
SizedBox(height: 16),
TextField(
controller: controller,
style: TextStyle(fontSize: 14, fontWeight: FontWeight.w500, color: Colors.white),
decoration: InputDecoration(
suffixIcon: Container(
width: 24,
height: 24,
padding: EdgeInsets.only(top: 0),
child: Semantics(
label: S.of(context).paste,
child: InkWell(
onTap: () => _pasteWalletConnectURI(),
child: Container(
padding: EdgeInsets.all(8),
decoration: BoxDecoration(
borderRadius: BorderRadius.all(Radius.circular(6)),
),
child: Image.asset(
'assets/images/paste_ios.png',
color:
Theme.of(context).extension<SendPageTheme>()!.textFieldButtonIconColor,
),
),
),
),
),
hintText: S.current.enterWalletConnectURI,
border: OutlineInputBorder(
borderSide: BorderSide(
color: Theme.of(context).extension<SendPageTheme>()!.textFieldBorderColor,
),
),
hintStyle: TextStyle(
color: Theme.of(context).extension<SendPageTheme>()!.textFieldHintColor,
fontWeight: FontWeight.w500,
fontSize: 14,
),
),
),
],
),
);
}
@override
Widget actionButtons(BuildContext context) {
return Container(
width: 300,
height: 52,
padding: EdgeInsets.only(left: 12, right: 12),
color: Theme.of(context).dialogBackgroundColor,
child: ButtonTheme(
minWidth: double.infinity,
child: TextButton(
onPressed: () {
Navigator.pop(context, controller.text);
},
child: Text(
S.current.confirm,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w600,
color: Theme.of(context).primaryColor,
decoration: TextDecoration.none,
),
),
),
),
);
}
}

View file

@ -103,7 +103,7 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS: SPEC CHECKSUMS:
connectivity_plus_macos: f6e86fd000e971d361e54b5afcadc8c8fa773308 connectivity_plus_macos: f6e86fd000e971d361e54b5afcadc8c8fa773308
cw_monero: ec03de55a19c4a2b174ea687e0f4202edc716fa4 cw_monero: f8b7f104508efba2591548e76b5c058d05cba3f0
device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f
devicelocale: 9f0f36ac651cabae2c33f32dcff4f32b61c38225 devicelocale: 9f0f36ac651cabae2c33f32dcff4f32b61c38225
flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea flutter_secure_storage_macos: d56e2d218c1130b262bef8b4a7d64f88d7f9c9ea

View file

@ -718,6 +718,8 @@
"do_not_have_enough_gas_asset": "ليس لديك ما يكفي من ${currency} لإجراء معاملة وفقًا لشروط شبكة blockchain الحالية. أنت بحاجة إلى المزيد من ${currency} لدفع رسوم شبكة blockchain، حتى لو كنت ترسل أصلًا مختلفًا.", "do_not_have_enough_gas_asset": "ليس لديك ما يكفي من ${currency} لإجراء معاملة وفقًا لشروط شبكة blockchain الحالية. أنت بحاجة إلى المزيد من ${currency} لدفع رسوم شبكة blockchain، حتى لو كنت ترسل أصلًا مختلفًا.",
"totp_auth_url": "TOTP ﺔﻗﺩﺎﺼﻤﻟ URL ﻥﺍﻮﻨﻋ", "totp_auth_url": "TOTP ﺔﻗﺩﺎﺼﻤﻟ URL ﻥﺍﻮﻨﻋ",
"awaitDAppProcessing": ".ﺔﺠﻟﺎﻌﻤﻟﺍ ﻦﻣ dApp ﻲﻬﺘﻨﻳ ﻰﺘﺣ ﺭﺎﻈﺘﻧﻻﺍ ﻰﺟﺮﻳ", "awaitDAppProcessing": ".ﺔﺠﻟﺎﻌﻤﻟﺍ ﻦﻣ dApp ﻲﻬﺘﻨﻳ ﻰﺘﺣ ﺭﺎﻈﺘﻧﻻﺍ ﻰﺟﺮﻳ",
"copyWalletConnectLink": "ﺎﻨﻫ ﻪﻘﺼﻟﺍﻭ dApp ﻦﻣ WalletConnect ﻂﺑﺍﺭ ﺦﺴﻧﺍ",
"enterWalletConnectURI": "WalletConnect ـﻟ URI ﻞﺧﺩﺃ",
"seed_key": "مفتاح البذور", "seed_key": "مفتاح البذور",
"enter_seed_phrase": "أدخل عبارة البذور الخاصة بك" "enter_seed_phrase": "أدخل عبارة البذور الخاصة بك"
} }

View file

@ -714,6 +714,8 @@
"do_not_have_enough_gas_asset": "Нямате достатъчно ${currency}, за да извършите транзакция с текущите условия на блокчейн мрежата. Имате нужда от повече ${currency}, за да платите таксите за блокчейн мрежа, дори ако изпращате различен актив.", "do_not_have_enough_gas_asset": "Нямате достатъчно ${currency}, за да извършите транзакция с текущите условия на блокчейн мрежата. Имате нужда от повече ${currency}, за да платите таксите за блокчейн мрежа, дори ако изпращате различен актив.",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "Моля, изчакайте dApp да завърши обработката.", "awaitDAppProcessing": "Моля, изчакайте dApp да завърши обработката.",
"copyWalletConnectLink": "Копирайте връзката WalletConnect от dApp и я поставете тук",
"enterWalletConnectURI": "Въведете URI на WalletConnect",
"seed_key": "Ключ за семена", "seed_key": "Ключ за семена",
"enter_seed_phrase": "Въведете вашата фраза за семена" "enter_seed_phrase": "Въведете вашата фраза за семена"
} }

View file

@ -714,6 +714,8 @@
"do_not_have_enough_gas_asset": "Nemáte dostatek ${currency} k provedení transakce s aktuálními podmínkami blockchainové sítě. K placení poplatků za blockchainovou síť potřebujete více ${currency}, i když posíláte jiné aktivum.", "do_not_have_enough_gas_asset": "Nemáte dostatek ${currency} k provedení transakce s aktuálními podmínkami blockchainové sítě. K placení poplatků za blockchainovou síť potřebujete více ${currency}, i když posíláte jiné aktivum.",
"totp_auth_url": "URL AUTH TOTP", "totp_auth_url": "URL AUTH TOTP",
"awaitDAppProcessing": "Počkejte, až dApp dokončí zpracování.", "awaitDAppProcessing": "Počkejte, až dApp dokončí zpracování.",
"copyWalletConnectLink": "Zkopírujte odkaz WalletConnect z dApp a vložte jej sem",
"enterWalletConnectURI": "Zadejte identifikátor URI WalletConnect",
"seed_key": "Klíč semen", "seed_key": "Klíč semen",
"enter_seed_phrase": "Zadejte svou frázi semen" "enter_seed_phrase": "Zadejte svou frázi semen"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "Sie verfügen nicht über genügend ${currency}, um eine Transaktion unter den aktuellen Bedingungen des Blockchain-Netzwerks durchzuführen. Sie benötigen mehr ${currency}, um die Gebühren für das Blockchain-Netzwerk zu bezahlen, auch wenn Sie einen anderen Vermögenswert senden.", "do_not_have_enough_gas_asset": "Sie verfügen nicht über genügend ${currency}, um eine Transaktion unter den aktuellen Bedingungen des Blockchain-Netzwerks durchzuführen. Sie benötigen mehr ${currency}, um die Gebühren für das Blockchain-Netzwerk zu bezahlen, auch wenn Sie einen anderen Vermögenswert senden.",
"totp_auth_url": "TOTP-Auth-URL", "totp_auth_url": "TOTP-Auth-URL",
"awaitDAppProcessing": "Bitte warten Sie, bis die dApp die Verarbeitung abgeschlossen hat.", "awaitDAppProcessing": "Bitte warten Sie, bis die dApp die Verarbeitung abgeschlossen hat.",
"copyWalletConnectLink": "Kopieren Sie den WalletConnect-Link von dApp und fügen Sie ihn hier ein",
"enterWalletConnectURI": "Geben Sie den WalletConnect-URI ein",
"seed_key": "Samenschlüssel", "seed_key": "Samenschlüssel",
"enter_seed_phrase": "Geben Sie Ihre Samenphrase ein" "enter_seed_phrase": "Geben Sie Ihre Samenphrase ein"
} }

View file

@ -723,6 +723,8 @@
"do_not_have_enough_gas_asset": "You do not have enough ${currency} to make a transaction with the current blockchain network conditions. You need more ${currency} to pay blockchain network fees, even if you are sending a different asset.", "do_not_have_enough_gas_asset": "You do not have enough ${currency} to make a transaction with the current blockchain network conditions. You need more ${currency} to pay blockchain network fees, even if you are sending a different asset.",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "Kindly wait for the dApp to finish processing.", "awaitDAppProcessing": "Kindly wait for the dApp to finish processing.",
"copyWalletConnectLink": "Copy the WalletConnect link from dApp and paste here",
"enterWalletConnectURI": "Enter WalletConnect URI",
"seed_key": "Seed key", "seed_key": "Seed key",
"enter_seed_phrase": "Enter your seed phrase" "enter_seed_phrase": "Enter your seed phrase"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "No tienes suficiente ${currency} para realizar una transacción con las condiciones actuales de la red blockchain. Necesita más ${currency} para pagar las tarifas de la red blockchain, incluso si envía un activo diferente.", "do_not_have_enough_gas_asset": "No tienes suficiente ${currency} para realizar una transacción con las condiciones actuales de la red blockchain. Necesita más ${currency} para pagar las tarifas de la red blockchain, incluso si envía un activo diferente.",
"totp_auth_url": "URL de autenticación TOTP", "totp_auth_url": "URL de autenticación TOTP",
"awaitDAppProcessing": "Espere a que la dApp termine de procesarse.", "awaitDAppProcessing": "Espere a que la dApp termine de procesarse.",
"copyWalletConnectLink": "Copie el enlace de WalletConnect de dApp y péguelo aquí",
"enterWalletConnectURI": "Ingrese el URI de WalletConnect",
"seed_key": "Llave de semilla", "seed_key": "Llave de semilla",
"enter_seed_phrase": "Ingrese su frase de semillas" "enter_seed_phrase": "Ingrese su frase de semillas"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "Vous n'avez pas assez de ${currency} pour effectuer une transaction avec les conditions actuelles du réseau blockchain. Vous avez besoin de plus de ${currency} pour payer les frais du réseau blockchain, même si vous envoyez un actif différent.", "do_not_have_enough_gas_asset": "Vous n'avez pas assez de ${currency} pour effectuer une transaction avec les conditions actuelles du réseau blockchain. Vous avez besoin de plus de ${currency} pour payer les frais du réseau blockchain, même si vous envoyez un actif différent.",
"totp_auth_url": "URL D'AUTORISATION TOTP", "totp_auth_url": "URL D'AUTORISATION TOTP",
"awaitDAppProcessing": "Veuillez attendre que le dApp termine le traitement.", "awaitDAppProcessing": "Veuillez attendre que le dApp termine le traitement.",
"copyWalletConnectLink": "Copiez le lien WalletConnect depuis dApp et collez-le ici",
"enterWalletConnectURI": "Saisissez l'URI de WalletConnect.",
"seed_key": "Clé de graines", "seed_key": "Clé de graines",
"enter_seed_phrase": "Entrez votre phrase de semence" "enter_seed_phrase": "Entrez votre phrase de semence"
} }

View file

@ -700,6 +700,8 @@
"do_not_have_enough_gas_asset": "Ba ku da isassun ${currency} don yin ma'amala tare da yanayin cibiyar sadarwar blockchain na yanzu. Kuna buƙatar ƙarin ${currency} don biyan kuɗaɗen cibiyar sadarwar blockchain, koda kuwa kuna aika wata kadara daban.", "do_not_have_enough_gas_asset": "Ba ku da isassun ${currency} don yin ma'amala tare da yanayin cibiyar sadarwar blockchain na yanzu. Kuna buƙatar ƙarin ${currency} don biyan kuɗaɗen cibiyar sadarwar blockchain, koda kuwa kuna aika wata kadara daban.",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "Da fatan za a jira dApp ya gama aiki.", "awaitDAppProcessing": "Da fatan za a jira dApp ya gama aiki.",
"copyWalletConnectLink": "Kwafi hanyar haɗin WalletConnect daga dApp kuma liƙa a nan",
"enterWalletConnectURI": "Shigar da WalletConnect URI",
"seed_key": "Maɓallin iri", "seed_key": "Maɓallin iri",
"enter_seed_phrase": "Shigar da Sert Sentarku" "enter_seed_phrase": "Shigar da Sert Sentarku"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "वर्तमान ब्लॉकचेन नेटवर्क स्थितियों में लेनदेन करने के लिए आपके पास पर्याप्त ${currency} नहीं है। ब्लॉकचेन नेटवर्क शुल्क का भुगतान करने के लिए आपको अधिक ${currency} की आवश्यकता है, भले ही आप एक अलग संपत्ति भेज रहे हों।", "do_not_have_enough_gas_asset": "वर्तमान ब्लॉकचेन नेटवर्क स्थितियों में लेनदेन करने के लिए आपके पास पर्याप्त ${currency} नहीं है। ब्लॉकचेन नेटवर्क शुल्क का भुगतान करने के लिए आपको अधिक ${currency} की आवश्यकता है, भले ही आप एक अलग संपत्ति भेज रहे हों।",
"totp_auth_url": "TOTP प्रामाणिक यूआरएल", "totp_auth_url": "TOTP प्रामाणिक यूआरएल",
"awaitDAppProcessing": "कृपया डीएपी की प्रोसेसिंग पूरी होने तक प्रतीक्षा करें।", "awaitDAppProcessing": "कृपया डीएपी की प्रोसेसिंग पूरी होने तक प्रतीक्षा करें।",
"copyWalletConnectLink": "dApp से वॉलेटकनेक्ट लिंक को कॉपी करें और यहां पेस्ट करें",
"enterWalletConnectURI": "वॉलेटकनेक्ट यूआरआई दर्ज करें",
"seed_key": "बीज कुंजी", "seed_key": "बीज कुंजी",
"enter_seed_phrase": "अपना बीज वाक्यांश दर्ज करें" "enter_seed_phrase": "अपना बीज वाक्यांश दर्ज करें"
} }

View file

@ -720,6 +720,8 @@
"do_not_have_enough_gas_asset": "Nemate dovoljno ${currency} da izvršite transakciju s trenutačnim uvjetima blockchain mreže. Trebate više ${currency} da platite naknade za blockchain mrežu, čak i ako šaljete drugu imovinu.", "do_not_have_enough_gas_asset": "Nemate dovoljno ${currency} da izvršite transakciju s trenutačnim uvjetima blockchain mreže. Trebate više ${currency} da platite naknade za blockchain mrežu, čak i ako šaljete drugu imovinu.",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "Molimo pričekajte da dApp završi obradu.", "awaitDAppProcessing": "Molimo pričekajte da dApp završi obradu.",
"copyWalletConnectLink": "Kopirajte vezu WalletConnect iz dApp-a i zalijepite je ovdje",
"enterWalletConnectURI": "Unesite WalletConnect URI",
"seed_key": "Sjemenski ključ", "seed_key": "Sjemenski ključ",
"enter_seed_phrase": "Unesite svoju sjemensku frazu" "enter_seed_phrase": "Unesite svoju sjemensku frazu"
} }

View file

@ -710,6 +710,8 @@
"do_not_have_enough_gas_asset": "Anda tidak memiliki cukup ${currency} untuk melakukan transaksi dengan kondisi jaringan blockchain saat ini. Anda memerlukan lebih banyak ${currency} untuk membayar biaya jaringan blockchain, meskipun Anda mengirimkan aset yang berbeda.", "do_not_have_enough_gas_asset": "Anda tidak memiliki cukup ${currency} untuk melakukan transaksi dengan kondisi jaringan blockchain saat ini. Anda memerlukan lebih banyak ${currency} untuk membayar biaya jaringan blockchain, meskipun Anda mengirimkan aset yang berbeda.",
"totp_auth_url": "URL Otentikasi TOTP", "totp_auth_url": "URL Otentikasi TOTP",
"awaitDAppProcessing": "Mohon tunggu hingga dApp menyelesaikan pemrosesan.", "awaitDAppProcessing": "Mohon tunggu hingga dApp menyelesaikan pemrosesan.",
"copyWalletConnectLink": "Salin tautan WalletConnect dari dApp dan tempel di sini",
"enterWalletConnectURI": "Masukkan URI WalletConnect",
"seed_key": "Kunci benih", "seed_key": "Kunci benih",
"enter_seed_phrase": "Masukkan frasa benih Anda" "enter_seed_phrase": "Masukkan frasa benih Anda"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "Non hai abbastanza ${currency} per effettuare una transazione con le attuali condizioni della rete blockchain. Hai bisogno di più ${currency} per pagare le commissioni della rete blockchain, anche se stai inviando una risorsa diversa.", "do_not_have_enough_gas_asset": "Non hai abbastanza ${currency} per effettuare una transazione con le attuali condizioni della rete blockchain. Hai bisogno di più ${currency} per pagare le commissioni della rete blockchain, anche se stai inviando una risorsa diversa.",
"totp_auth_url": "URL DI AUT. TOTP", "totp_auth_url": "URL DI AUT. TOTP",
"awaitDAppProcessing": "Attendi gentilmente che la dApp termini l'elaborazione.", "awaitDAppProcessing": "Attendi gentilmente che la dApp termini l'elaborazione.",
"copyWalletConnectLink": "Copia il collegamento WalletConnect dalla dApp e incollalo qui",
"enterWalletConnectURI": "Inserisci l'URI di WalletConnect",
"seed_key": "Chiave di semi", "seed_key": "Chiave di semi",
"enter_seed_phrase": "Inserisci la tua frase di semi" "enter_seed_phrase": "Inserisci la tua frase di semi"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "現在のブロックチェーン ネットワークの状況では、トランザクションを行うのに十分な ${currency} がありません。別のアセットを送信する場合でも、ブロックチェーン ネットワーク料金を支払うにはさらに ${currency} が必要です。", "do_not_have_enough_gas_asset": "現在のブロックチェーン ネットワークの状況では、トランザクションを行うのに十分な ${currency} がありません。別のアセットを送信する場合でも、ブロックチェーン ネットワーク料金を支払うにはさらに ${currency} が必要です。",
"totp_auth_url": "TOTP認証URL", "totp_auth_url": "TOTP認証URL",
"awaitDAppProcessing": "dAppの処理が完了するまでお待ちください。", "awaitDAppProcessing": "dAppの処理が完了するまでお待ちください。",
"copyWalletConnectLink": "dApp から WalletConnect リンクをコピーし、ここに貼り付けます",
"enterWalletConnectURI": "WalletConnect URI を入力してください",
"seed_key": "シードキー", "seed_key": "シードキー",
"enter_seed_phrase": "シードフレーズを入力してください" "enter_seed_phrase": "シードフレーズを入力してください"
} }

View file

@ -720,6 +720,8 @@
"do_not_have_enough_gas_asset": "현재 블록체인 네트워크 조건으로 거래를 하기에는 ${currency}이(가) 충분하지 않습니다. 다른 자산을 보내더라도 블록체인 네트워크 수수료를 지불하려면 ${currency}가 더 필요합니다.", "do_not_have_enough_gas_asset": "현재 블록체인 네트워크 조건으로 거래를 하기에는 ${currency}이(가) 충분하지 않습니다. 다른 자산을 보내더라도 블록체인 네트워크 수수료를 지불하려면 ${currency}가 더 필요합니다.",
"totp_auth_url": "TOTP 인증 URL", "totp_auth_url": "TOTP 인증 URL",
"awaitDAppProcessing": "dApp이 처리를 마칠 때까지 기다려주세요.", "awaitDAppProcessing": "dApp이 처리를 마칠 때까지 기다려주세요.",
"copyWalletConnectLink": "dApp에서 WalletConnect 링크를 복사하여 여기에 붙여넣으세요.",
"enterWalletConnectURI": "WalletConnect URI를 입력하세요.",
"seed_key": "시드 키", "seed_key": "시드 키",
"enter_seed_phrase": "시드 문구를 입력하십시오" "enter_seed_phrase": "시드 문구를 입력하십시오"
} }

View file

@ -720,6 +720,8 @@
"do_not_have_enough_gas_asset": "လက်ရှိ blockchain ကွန်ရက်အခြေအနေများနှင့် အရောင်းအဝယ်ပြုလုပ်ရန် သင့်တွင် ${currency} လုံလောက်မှုမရှိပါ။ သင်သည် မတူညီသော ပိုင်ဆိုင်မှုတစ်ခုကို ပေးပို့နေသော်လည်း blockchain ကွန်ရက်အခကြေးငွေကို ပေးဆောင်ရန် သင်သည် နောက်ထပ် ${currency} လိုအပ်ပါသည်။", "do_not_have_enough_gas_asset": "လက်ရှိ blockchain ကွန်ရက်အခြေအနေများနှင့် အရောင်းအဝယ်ပြုလုပ်ရန် သင့်တွင် ${currency} လုံလောက်မှုမရှိပါ။ သင်သည် မတူညီသော ပိုင်ဆိုင်မှုတစ်ခုကို ပေးပို့နေသော်လည်း blockchain ကွန်ရက်အခကြေးငွေကို ပေးဆောင်ရန် သင်သည် နောက်ထပ် ${currency} လိုအပ်ပါသည်။",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "ကျေးဇူးပြု၍ dApp ကို စီမံလုပ်ဆောင်ခြင်း အပြီးသတ်ရန် စောင့်ပါ။", "awaitDAppProcessing": "ကျေးဇူးပြု၍ dApp ကို စီမံလုပ်ဆောင်ခြင်း အပြီးသတ်ရန် စောင့်ပါ။",
"copyWalletConnectLink": "dApp မှ WalletConnect လင့်ခ်ကို ကူးယူပြီး ဤနေရာတွင် ကူးထည့်ပါ။",
"enterWalletConnectURI": "WalletConnect URI ကိုရိုက်ထည့်ပါ။",
"seed_key": "မျိုးစေ့သော့", "seed_key": "မျိုးစေ့သော့",
"enter_seed_phrase": "သင့်ရဲ့မျိုးစေ့စကားစုကိုရိုက်ထည့်ပါ" "enter_seed_phrase": "သင့်ရဲ့မျိုးစေ့စကားစုကိုရိုက်ထည့်ပါ"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "U heeft niet genoeg ${currency} om een transactie uit te voeren met de huidige blockchain-netwerkomstandigheden. U heeft meer ${currency} nodig om blockchain-netwerkkosten te betalen, zelfs als u een ander item verzendt.", "do_not_have_enough_gas_asset": "U heeft niet genoeg ${currency} om een transactie uit te voeren met de huidige blockchain-netwerkomstandigheden. U heeft meer ${currency} nodig om blockchain-netwerkkosten te betalen, zelfs als u een ander item verzendt.",
"totp_auth_url": "TOTP AUTH-URL", "totp_auth_url": "TOTP AUTH-URL",
"awaitDAppProcessing": "Wacht tot de dApp klaar is met verwerken.", "awaitDAppProcessing": "Wacht tot de dApp klaar is met verwerken.",
"copyWalletConnectLink": "Kopieer de WalletConnect-link van dApp en plak deze hier",
"enterWalletConnectURI": "Voer WalletConnect-URI in",
"seed_key": "Zaadsleutel", "seed_key": "Zaadsleutel",
"enter_seed_phrase": "Voer uw zaadzin in" "enter_seed_phrase": "Voer uw zaadzin in"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "Nie masz wystarczającej ilości ${currency}, aby dokonać transakcji przy bieżących warunkach sieci blockchain. Potrzebujesz więcej ${currency}, aby uiścić opłaty za sieć blockchain, nawet jeśli wysyłasz inny zasób.", "do_not_have_enough_gas_asset": "Nie masz wystarczającej ilości ${currency}, aby dokonać transakcji przy bieżących warunkach sieci blockchain. Potrzebujesz więcej ${currency}, aby uiścić opłaty za sieć blockchain, nawet jeśli wysyłasz inny zasób.",
"totp_auth_url": "Adres URL TOTP AUTH", "totp_auth_url": "Adres URL TOTP AUTH",
"awaitDAppProcessing": "Poczekaj, aż dApp zakończy przetwarzanie.", "awaitDAppProcessing": "Poczekaj, aż dApp zakończy przetwarzanie.",
"copyWalletConnectLink": "Skopiuj link do WalletConnect z dApp i wklej tutaj",
"enterWalletConnectURI": "Wprowadź identyfikator URI WalletConnect",
"seed_key": "Klucz nasion", "seed_key": "Klucz nasion",
"enter_seed_phrase": "Wprowadź swoją frazę nasienną" "enter_seed_phrase": "Wprowadź swoją frazę nasienną"
} }

View file

@ -721,6 +721,8 @@
"do_not_have_enough_gas_asset": "Você não tem ${currency} suficiente para fazer uma transação com as condições atuais da rede blockchain. Você precisa de mais ${currency} para pagar as taxas da rede blockchain, mesmo se estiver enviando um ativo diferente.", "do_not_have_enough_gas_asset": "Você não tem ${currency} suficiente para fazer uma transação com as condições atuais da rede blockchain. Você precisa de mais ${currency} para pagar as taxas da rede blockchain, mesmo se estiver enviando um ativo diferente.",
"totp_auth_url": "URL de autenticação TOTP", "totp_auth_url": "URL de autenticação TOTP",
"awaitDAppProcessing": "Aguarde até que o dApp termine o processamento.", "awaitDAppProcessing": "Aguarde até que o dApp termine o processamento.",
"copyWalletConnectLink": "Copie o link WalletConnect do dApp e cole aqui",
"enterWalletConnectURI": "Insira o URI do WalletConnect",
"seed_key": "Chave de semente", "seed_key": "Chave de semente",
"enter_seed_phrase": "Digite sua frase de semente" "enter_seed_phrase": "Digite sua frase de semente"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "У вас недостаточно ${currency} для совершения транзакции при текущих условиях сети блокчейн. Вам нужно больше ${currency} для оплаты комиссий за сеть блокчейна, даже если вы отправляете другой актив.", "do_not_have_enough_gas_asset": "У вас недостаточно ${currency} для совершения транзакции при текущих условиях сети блокчейн. Вам нужно больше ${currency} для оплаты комиссий за сеть блокчейна, даже если вы отправляете другой актив.",
"totp_auth_url": "URL-адрес TOTP-АВТОРИЗАЦИИ", "totp_auth_url": "URL-адрес TOTP-АВТОРИЗАЦИИ",
"awaitDAppProcessing": "Пожалуйста, подождите, пока dApp завершит обработку.", "awaitDAppProcessing": "Пожалуйста, подождите, пока dApp завершит обработку.",
"copyWalletConnectLink": "Скопируйте ссылку WalletConnect из dApp и вставьте сюда.",
"enterWalletConnectURI": "Введите URI WalletConnect",
"seed_key": "Ключ семян", "seed_key": "Ключ семян",
"enter_seed_phrase": "Введите свою семенную фразу" "enter_seed_phrase": "Введите свою семенную фразу"
} }

View file

@ -720,6 +720,8 @@
"do_not_have_enough_gas_asset": "คุณมี ${currency} ไม่เพียงพอที่จะทำธุรกรรมกับเงื่อนไขเครือข่ายบล็อคเชนในปัจจุบัน คุณต้องมี ${currency} เพิ่มขึ้นเพื่อชำระค่าธรรมเนียมเครือข่ายบล็อคเชน แม้ว่าคุณจะส่งสินทรัพย์อื่นก็ตาม", "do_not_have_enough_gas_asset": "คุณมี ${currency} ไม่เพียงพอที่จะทำธุรกรรมกับเงื่อนไขเครือข่ายบล็อคเชนในปัจจุบัน คุณต้องมี ${currency} เพิ่มขึ้นเพื่อชำระค่าธรรมเนียมเครือข่ายบล็อคเชน แม้ว่าคุณจะส่งสินทรัพย์อื่นก็ตาม",
"totp_auth_url": "URL การตรวจสอบสิทธิ์ TOTP", "totp_auth_url": "URL การตรวจสอบสิทธิ์ TOTP",
"awaitDAppProcessing": "โปรดรอให้ dApp ประมวลผลเสร็จสิ้น", "awaitDAppProcessing": "โปรดรอให้ dApp ประมวลผลเสร็จสิ้น",
"copyWalletConnectLink": "คัดลอกลิงก์ WalletConnect จาก dApp แล้ววางที่นี่",
"enterWalletConnectURI": "เข้าสู่ WalletConnect URI",
"seed_key": "คีย์เมล็ดพันธุ์", "seed_key": "คีย์เมล็ดพันธุ์",
"enter_seed_phrase": "ป้อนวลีเมล็ดพันธุ์ของคุณ" "enter_seed_phrase": "ป้อนวลีเมล็ดพันธุ์ของคุณ"
} }

View file

@ -717,6 +717,8 @@
"do_not_have_enough_gas_asset": "Wala kang sapat na ${currency} para gumawa ng transaksyon sa kasalukuyang kundisyon ng network ng blockchain. Kailangan mo ng higit pang ${currency} upang magbayad ng mga bayarin sa network ng blockchain, kahit na nagpapadala ka ng ibang asset.", "do_not_have_enough_gas_asset": "Wala kang sapat na ${currency} para gumawa ng transaksyon sa kasalukuyang kundisyon ng network ng blockchain. Kailangan mo ng higit pang ${currency} upang magbayad ng mga bayarin sa network ng blockchain, kahit na nagpapadala ka ng ibang asset.",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "Pakihintay na matapos ang pagproseso ng dApp.", "awaitDAppProcessing": "Pakihintay na matapos ang pagproseso ng dApp.",
"copyWalletConnectLink": "Kopyahin ang link ng WalletConnect mula sa dApp at i-paste dito",
"enterWalletConnectURI": "Ilagay ang WalletConnect URI",
"seed_key": "Seed Key", "seed_key": "Seed Key",
"enter_seed_phrase": "Ipasok ang iyong pariralang binhi" "enter_seed_phrase": "Ipasok ang iyong pariralang binhi"
} }

View file

@ -720,6 +720,8 @@
"do_not_have_enough_gas_asset": "Mevcut blockchain ağ koşullarıyla işlem yapmak için yeterli ${currency} paranız yok. Farklı bir varlık gönderiyor olsanız bile blockchain ağ ücretlerini ödemek için daha fazla ${currency} miktarına ihtiyacınız var.", "do_not_have_enough_gas_asset": "Mevcut blockchain ağ koşullarıyla işlem yapmak için yeterli ${currency} paranız yok. Farklı bir varlık gönderiyor olsanız bile blockchain ağ ücretlerini ödemek için daha fazla ${currency} miktarına ihtiyacınız var.",
"totp_auth_url": "TOTP YETKİ URL'si", "totp_auth_url": "TOTP YETKİ URL'si",
"awaitDAppProcessing": "Lütfen dApp'in işlemeyi bitirmesini bekleyin.", "awaitDAppProcessing": "Lütfen dApp'in işlemeyi bitirmesini bekleyin.",
"copyWalletConnectLink": "WalletConnect bağlantısını dApp'ten kopyalayıp buraya yapıştırın",
"enterWalletConnectURI": "WalletConnect URI'sini girin",
"seed_key": "Tohum", "seed_key": "Tohum",
"enter_seed_phrase": "Tohum ifadenizi girin" "enter_seed_phrase": "Tohum ifadenizi girin"
} }

View file

@ -722,6 +722,8 @@
"do_not_have_enough_gas_asset": "У вас недостатньо ${currency}, щоб здійснити трансакцію з поточними умовами мережі блокчейн. Вам потрібно більше ${currency}, щоб сплатити комісію мережі блокчейн, навіть якщо ви надсилаєте інший актив.", "do_not_have_enough_gas_asset": "У вас недостатньо ${currency}, щоб здійснити трансакцію з поточними умовами мережі блокчейн. Вам потрібно більше ${currency}, щоб сплатити комісію мережі блокчейн, навіть якщо ви надсилаєте інший актив.",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "Зачекайте, доки dApp завершить обробку.", "awaitDAppProcessing": "Зачекайте, доки dApp завершить обробку.",
"copyWalletConnectLink": "Скопіюйте посилання WalletConnect із dApp і вставте сюди",
"enterWalletConnectURI": "Введіть URI WalletConnect",
"seed_key": "Насіннєвий ключ", "seed_key": "Насіннєвий ключ",
"enter_seed_phrase": "Введіть свою насіннєву фразу" "enter_seed_phrase": "Введіть свою насіннєву фразу"
} }

View file

@ -714,6 +714,8 @@
"do_not_have_enough_gas_asset": "آپ کے پاس موجودہ بلاکچین نیٹ ورک کی شرائط کے ساتھ لین دین کرنے کے لیے کافی ${currency} نہیں ہے۔ آپ کو بلاکچین نیٹ ورک کی فیس ادا کرنے کے لیے مزید ${currency} کی ضرورت ہے، چاہے آپ کوئی مختلف اثاثہ بھیج رہے ہوں۔", "do_not_have_enough_gas_asset": "آپ کے پاس موجودہ بلاکچین نیٹ ورک کی شرائط کے ساتھ لین دین کرنے کے لیے کافی ${currency} نہیں ہے۔ آپ کو بلاکچین نیٹ ورک کی فیس ادا کرنے کے لیے مزید ${currency} کی ضرورت ہے، چاہے آپ کوئی مختلف اثاثہ بھیج رہے ہوں۔",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "۔ﮟﯾﺮﮐ ﺭﺎﻈﺘﻧﺍ ﺎﮐ ﮯﻧﻮﮨ ﻞﻤﮑﻣ ﮓﻨﺴﯿﺳﻭﺮﭘ ﮯﮐ dApp ﻡﺮﮐ ﮦﺍﺮﺑ", "awaitDAppProcessing": "۔ﮟﯾﺮﮐ ﺭﺎﻈﺘﻧﺍ ﺎﮐ ﮯﻧﻮﮨ ﻞﻤﮑﻣ ﮓﻨﺴﯿﺳﻭﺮﭘ ﮯﮐ dApp ﻡﺮﮐ ﮦﺍﺮﺑ",
"copyWalletConnectLink": "dApp ﮯﺳ WalletConnect ۔ﮟﯾﺮﮐ ﭧﺴﯿﭘ ﮞﺎﮩﯾ ﺭﻭﺍ ﮟﯾﺮﮐ ﯽﭘﺎﮐ ﻮﮐ ﮏﻨﻟ",
"enterWalletConnectURI": "WalletConnect URI ۔ﮟﯾﺮﮐ ﺝﺭﺩ",
"seed_key": "بیج کی کلید", "seed_key": "بیج کی کلید",
"enter_seed_phrase": "اپنے بیج کا جملہ درج کریں" "enter_seed_phrase": "اپنے بیج کا جملہ درج کریں"
} }

View file

@ -716,6 +716,8 @@
"do_not_have_enough_gas_asset": "O ko ni to ${currency} lati ṣe idunadura kan pẹlu awọn ipo nẹtiwọki blockchain lọwọlọwọ. O nilo diẹ sii ${currency} lati san awọn owo nẹtiwọọki blockchain, paapaa ti o ba nfi dukia miiran ranṣẹ.", "do_not_have_enough_gas_asset": "O ko ni to ${currency} lati ṣe idunadura kan pẹlu awọn ipo nẹtiwọki blockchain lọwọlọwọ. O nilo diẹ sii ${currency} lati san awọn owo nẹtiwọọki blockchain, paapaa ti o ba nfi dukia miiran ranṣẹ.",
"totp_auth_url": "TOTP AUTH URL", "totp_auth_url": "TOTP AUTH URL",
"awaitDAppProcessing": "Fi inurere duro fun dApp lati pari sisẹ.", "awaitDAppProcessing": "Fi inurere duro fun dApp lati pari sisẹ.",
"copyWalletConnectLink": "Daakọ ọna asopọ WalletConnect lati dApp ki o si lẹẹmọ nibi",
"enterWalletConnectURI": "Tẹ WalletConnect URI sii",
"seed_key": "Bọtini Ose", "seed_key": "Bọtini Ose",
"enter_seed_phrase": "Tẹ ọrọ-iru irugbin rẹ" "enter_seed_phrase": "Tẹ ọrọ-iru irugbin rẹ"
} }

View file

@ -721,6 +721,8 @@
"do_not_have_enough_gas_asset": "您没有足够的 ${currency} 来在当前的区块链网络条件下进行交易。即使您发送的是不同的资产,您也需要更多的 ${currency} 来支付区块链网络费用。", "do_not_have_enough_gas_asset": "您没有足够的 ${currency} 来在当前的区块链网络条件下进行交易。即使您发送的是不同的资产,您也需要更多的 ${currency} 来支付区块链网络费用。",
"totp_auth_url": "TOTP 授权 URL", "totp_auth_url": "TOTP 授权 URL",
"awaitDAppProcessing": "请等待 dApp 处理完成。", "awaitDAppProcessing": "请等待 dApp 处理完成。",
"copyWalletConnectLink": "从 dApp 复制 WalletConnect 链接并粘贴到此处",
"enterWalletConnectURI": "输入 WalletConnect URI",
"seed_key": "种子钥匙", "seed_key": "种子钥匙",
"enter_seed_phrase": "输入您的种子短语" "enter_seed_phrase": "输入您的种子短语"
} }