diff --git a/assets/images/cards.svg b/assets/images/cards.svg
new file mode 100644
index 000000000..699f9d311
--- /dev/null
+++ b/assets/images/cards.svg
@@ -0,0 +1,65 @@
+
+
+
+
diff --git a/lib/bitcoin/cw_bitcoin.dart b/lib/bitcoin/cw_bitcoin.dart
index 49fdcedab..db1ebcf4a 100644
--- a/lib/bitcoin/cw_bitcoin.dart
+++ b/lib/bitcoin/cw_bitcoin.dart
@@ -326,8 +326,15 @@ class CWBitcoin extends Bitcoin {
return bitcoinWallet.silentPaymentsScanningActive;
}
- void setScanningActive(Object wallet, bool active) {
+ Future setScanningActive(Object wallet, SettingsStore settingsStore, bool active) async {
final bitcoinWallet = wallet as ElectrumWallet;
+ // TODO: always when setting to scanning active, will force switch nodes. Remove when not needed anymore
+ if (!getNodeIsCakeElectrs(wallet)) {
+ final node = Node(useSSL: false, uri: '198.58.111.154:50002');
+ node.type = WalletType.bitcoin;
+ settingsStore.nodes[WalletType.bitcoin] = node;
+ await bitcoinWallet.connectToNode(node: node);
+ }
bitcoinWallet.setSilentPaymentsScanning(active);
}
@@ -339,8 +346,23 @@ class CWBitcoin extends Bitcoin {
@override
int getHeightByDate({required DateTime date}) => getBitcoinHeightByDate(date: date);
- void rescan(Object wallet, {required int height, bool? doSingleScan}) {
+ Future rescan(Object wallet, SettingsStore settingsStore,
+ {required int height, bool? doSingleScan}) async {
final bitcoinWallet = wallet as ElectrumWallet;
+ // TODO: always when setting to scanning active, will force switch nodes. Remove when not needed anymore
+ if (!getNodeIsCakeElectrs(wallet)) {
+ final node = Node(useSSL: false, uri: '198.58.111.154:50002');
+ node.type = WalletType.bitcoin;
+ settingsStore.nodes[WalletType.bitcoin] = node;
+ await bitcoinWallet.connectToNode(node: node);
+ }
bitcoinWallet.rescan(height: height, doSingleScan: doSingleScan);
}
+
+ bool getNodeIsCakeElectrs(Object wallet) {
+ final bitcoinWallet = wallet as ElectrumWallet;
+ final node = bitcoinWallet.node;
+
+ return node?.uri.host == '198.58.111.154' && node?.uri.port == 50002;
+ }
}
diff --git a/lib/di.dart b/lib/di.dart
index 59a94d1eb..cf5b3f8dc 100644
--- a/lib/di.dart
+++ b/lib/di.dart
@@ -69,7 +69,7 @@ import 'package:cake_wallet/view_model/dashboard/desktop_sidebar_view_model.dart
import 'package:cake_wallet/view_model/anon_invoice_page_view_model.dart';
import 'package:cake_wallet/view_model/anonpay_details_view_model.dart';
import 'package:cake_wallet/view_model/dashboard/home_settings_view_model.dart';
-import 'package:cake_wallet/view_model/dashboard/market_place_view_model.dart';
+import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart';
import 'package:cake_wallet/view_model/dashboard/nft_view_model.dart';
import 'package:cake_wallet/view_model/dashboard/receive_option_view_model.dart';
import 'package:cake_wallet/view_model/ionia/ionia_auth_view_model.dart';
@@ -890,7 +890,8 @@ Future setup({
(onSuccessfulPinSetup, _) => SetupPinCodePage(getIt.get(),
onSuccessfulPinSetup: onSuccessfulPinSetup));
- getIt.registerFactory(() => RescanViewModel(getIt.get().wallet!));
+ getIt.registerFactory(
+ () => RescanViewModel(getIt.get().wallet!, getIt.get()));
getIt.registerFactory(() => RescanPage(getIt.get()));
@@ -1048,7 +1049,7 @@ Future setup({
getIt.registerFactory(() => IoniaGiftCardsListViewModel(ioniaService: getIt.get()));
- getIt.registerFactory(() => MarketPlaceViewModel(getIt.get()));
+ getIt.registerFactory(() => CakeFeaturesViewModel(getIt.get()));
getIt.registerFactory(() => IoniaAuthViewModel(ioniaService: getIt.get()));
@@ -1145,9 +1146,9 @@ Future setup({
getIt.registerFactory(() => IoniaAccountCardsPage(getIt.get()));
getIt.registerFactoryParam(
- (TransactionInfo transactionInfo, _) => RBFDetailsPage(
+ (TransactionInfo transactionInfo, _) => RBFDetailsPage(
transactionDetailsViewModel:
- getIt.get(param1: transactionInfo)));
+ getIt.get(param1: transactionInfo)));
getIt.registerFactory(() => AnonPayApi(
useTorOnly: getIt.get().exchangeStatus == ExchangeApiMode.torOnly,
diff --git a/lib/src/screens/dashboard/dashboard_page.dart b/lib/src/screens/dashboard/dashboard_page.dart
index ed06f4704..2c72995a9 100644
--- a/lib/src/screens/dashboard/dashboard_page.dart
+++ b/lib/src/screens/dashboard/dashboard_page.dart
@@ -4,7 +4,7 @@ import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/entities/main_actions.dart';
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_sidebar_wrapper.dart';
-import 'package:cake_wallet/src/screens/dashboard/pages/market_place_page.dart';
+import 'package:cake_wallet/src/screens/dashboard/pages/cake_features_page.dart';
import 'package:cake_wallet/src/screens/wallet_connect/widgets/modals/bottom_sheet_listener.dart';
import 'package:cake_wallet/src/widgets/gradient_background.dart';
import 'package:cake_wallet/src/widgets/services_updates_widget.dart';
@@ -12,7 +12,7 @@ import 'package:cake_wallet/src/widgets/vulnerable_seeds_popup.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/utils/device_info.dart';
import 'package:cake_wallet/utils/version_comparator.dart';
-import 'package:cake_wallet/view_model/dashboard/market_place_view_model.dart';
+import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart';
import 'package:cake_wallet/generated/i18n.dart';
import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/src/screens/yat_emoji_id.dart';
@@ -291,10 +291,10 @@ class _DashboardPageView extends BasePage {
if (dashboardViewModel.shouldShowMarketPlaceInDashboard) {
pages.add(
Semantics(
- label: S.of(context).market_place,
- child: MarketPlacePage(
+ label: 'Cake ${S.of(context).features}',
+ child: CakeFeaturesPage(
dashboardViewModel: dashboardViewModel,
- marketPlaceViewModel: getIt.get(),
+ cakeFeaturesViewModel: getIt.get(),
),
),
);
diff --git a/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart b/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart
index 20ddea361..d36c06013 100644
--- a/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart
+++ b/lib/src/screens/dashboard/desktop_widgets/desktop_dashboard_actions.dart
@@ -1,9 +1,9 @@
import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/entities/main_actions.dart';
import 'package:cake_wallet/src/screens/dashboard/desktop_widgets/desktop_action_button.dart';
-import 'package:cake_wallet/src/screens/dashboard/pages/market_place_page.dart';
+import 'package:cake_wallet/src/screens/dashboard/pages/cake_features_page.dart';
import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
-import 'package:cake_wallet/view_model/dashboard/market_place_view_model.dart';
+import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
@@ -74,9 +74,9 @@ class DesktopDashboardActions extends StatelessWidget {
],
),
Expanded(
- child: MarketPlacePage(
+ child: CakeFeaturesPage(
dashboardViewModel: dashboardViewModel,
- marketPlaceViewModel: getIt.get(),
+ cakeFeaturesViewModel: getIt.get(),
),
),
],
diff --git a/lib/src/screens/dashboard/pages/balance_page.dart b/lib/src/screens/dashboard/pages/balance_page.dart
index 2c77ffcea..312cf3240 100644
--- a/lib/src/screens/dashboard/pages/balance_page.dart
+++ b/lib/src/screens/dashboard/pages/balance_page.dart
@@ -209,13 +209,6 @@ class CryptoBalanceWidget extends StatelessWidget {
currency: balance.asset,
hasAdditionalBalance:
dashboardViewModel.balanceViewModel.hasAdditionalBalance,
- hasSilentPayments: dashboardViewModel.balanceViewModel.hasSilentPayments,
- silentPaymentsScanningActive:
- dashboardViewModel.silentPaymentsScanningActive,
- setSilentPaymentsScanning: () =>
- dashboardViewModel.setSilentPaymentsScanning(
- !dashboardViewModel.silentPaymentsScanningActive,
- ),
isTestnet: dashboardViewModel.isTestnet,
);
});
@@ -242,9 +235,6 @@ class BalanceRowWidget extends StatelessWidget {
required this.frozenFiatBalance,
required this.currency,
required this.hasAdditionalBalance,
- required this.hasSilentPayments,
- required this.silentPaymentsScanningActive,
- required this.setSilentPaymentsScanning,
required this.isTestnet,
super.key,
});
@@ -259,10 +249,7 @@ class BalanceRowWidget extends StatelessWidget {
final String frozenFiatBalance;
final CryptoCurrency currency;
final bool hasAdditionalBalance;
- final bool hasSilentPayments;
- final bool silentPaymentsScanningActive;
final bool isTestnet;
- final void Function() setSilentPaymentsScanning;
// void _showBalanceDescription(BuildContext context) {
// showPopUp(
@@ -505,37 +492,6 @@ class BalanceRowWidget extends StatelessWidget {
),
],
),
- if (hasSilentPayments) ...[
- Padding(
- padding: const EdgeInsets.only(right: 8, top: 8),
- child: Divider(
- color: Theme.of(context).extension()!.labelTextColor,
- thickness: 1,
- ),
- ),
- Row(
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- AutoSizeText(
- S.of(context).silent_payments_scanning,
- style: TextStyle(
- fontSize: 14,
- fontFamily: 'Lato',
- fontWeight: FontWeight.w400,
- color: Theme.of(context).extension()!.assetTitleColor,
- height: 1,
- ),
- maxLines: 1,
- textAlign: TextAlign.center,
- ),
- Padding(
- padding: const EdgeInsets.only(right: 8),
- child: StandardSwitch(
- value: silentPaymentsScanningActive, onTaped: setSilentPaymentsScanning),
- )
- ],
- ),
- ]
],
),
),
diff --git a/lib/src/screens/dashboard/pages/cake_features_page.dart b/lib/src/screens/dashboard/pages/cake_features_page.dart
new file mode 100644
index 000000000..aa587a5f4
--- /dev/null
+++ b/lib/src/screens/dashboard/pages/cake_features_page.dart
@@ -0,0 +1,204 @@
+import 'package:cake_wallet/bitcoin/bitcoin.dart';
+import 'package:cake_wallet/routes.dart';
+import 'package:flutter_mobx/flutter_mobx.dart';
+import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
+import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
+import 'package:cake_wallet/src/widgets/dashboard_card_widget.dart';
+import 'package:cake_wallet/src/widgets/standard_switch.dart';
+import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
+import 'package:cake_wallet/utils/show_pop_up.dart';
+import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
+import 'package:cake_wallet/view_model/dashboard/cake_features_view_model.dart';
+import 'package:cw_core/wallet_type.dart';
+import 'package:flutter/material.dart';
+import 'package:cake_wallet/generated/i18n.dart';
+import 'package:url_launcher/url_launcher.dart';
+import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
+import 'package:flutter_svg/flutter_svg.dart';
+
+class CakeFeaturesPage extends StatelessWidget {
+ CakeFeaturesPage({
+ required this.dashboardViewModel,
+ required this.cakeFeaturesViewModel,
+ });
+
+ final DashboardViewModel dashboardViewModel;
+ final CakeFeaturesViewModel cakeFeaturesViewModel;
+ final _scrollController = ScrollController();
+
+ @override
+ Widget build(BuildContext context) {
+ return Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 10.0),
+ child: RawScrollbar(
+ thumbColor: Colors.white.withOpacity(0.15),
+ radius: Radius.circular(20),
+ thumbVisibility: true,
+ thickness: 2,
+ controller: _scrollController,
+ child: Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 10.0),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ SizedBox(height: 50),
+ Text(
+ 'Cake ${S.of(context).features}',
+ style: TextStyle(
+ fontSize: 24,
+ fontWeight: FontWeight.w500,
+ color: Theme.of(context).extension()!.pageTitleTextColor,
+ ),
+ ),
+ Expanded(
+ child: ListView(
+ controller: _scrollController,
+ children: [
+ // SizedBox(height: 20),
+ // DashBoardRoundedCardWidget(
+ // onTap: () => launchUrl(
+ // Uri.parse("https://cakelabs.com/news/cake-pay-mobile-to-shut-down/"),
+ // mode: LaunchMode.externalApplication,
+ // ),
+ // title: S.of(context).cake_pay_title,
+ // subTitle: S.of(context).cake_pay_subtitle,
+ // ),
+ SizedBox(height: 20),
+ DashBoardRoundedCardWidget(
+ onTap: () => launchUrl(
+ Uri.https("buy.cakepay.com"),
+ mode: LaunchMode.externalApplication,
+ ),
+ title: S.of(context).cake_pay_web_cards_title,
+ subTitle: S.of(context).cake_pay_web_cards_subtitle,
+ svgPicture: SvgPicture.asset(
+ 'assets/images/cards.svg',
+ height: 125,
+ width: 125,
+ fit: BoxFit.cover,
+ ),
+ ),
+ if (dashboardViewModel.hasSilentPayments) ...[
+ SizedBox(height: 10),
+ DashBoardRoundedCardWidget(
+ title: S.of(context).silent_payments,
+ subTitle: S.of(context).enable_silent_payments_scanning,
+ hint: Column(
+ children: [
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ GestureDetector(
+ behavior: HitTestBehavior.opaque,
+ onTap: () => launchUrl(
+ // TODO: Update URL
+ Uri.https("guides.cakewallet.com"),
+ mode: LaunchMode.externalApplication,
+ ),
+ child: Row(
+ children: [
+ Text(
+ S.of(context).what_is_silent_payments,
+ style: TextStyle(
+ fontSize: 12,
+ fontFamily: 'Lato',
+ fontWeight: FontWeight.w400,
+ color: Theme.of(context)
+ .extension()!
+ .labelTextColor,
+ height: 1,
+ ),
+ softWrap: true,
+ ),
+ Padding(
+ padding: const EdgeInsets.symmetric(horizontal: 4),
+ child: Icon(Icons.help_outline,
+ size: 16,
+ color: Theme.of(context)
+ .extension()!
+ .labelTextColor),
+ )
+ ],
+ ),
+ ),
+ Observer(
+ builder: (_) => StandardSwitch(
+ value: dashboardViewModel.silentPaymentsScanningActive,
+ onTaped: () => _toggleSilentPaymentsScanning(context),
+ ),
+ )
+ ],
+ ),
+ ],
+ ),
+ onTap: () => _toggleSilentPaymentsScanning(context),
+ icon: Icon(
+ Icons.lock,
+ color:
+ Theme.of(context).extension()!.pageTitleTextColor,
+ size: 50,
+ ),
+ ),
+ ]
+ ],
+ ),
+ ),
+ ],
+ ),
+ ),
+ ),
+ );
+ }
+
+ // TODO: Remove ionia flow/files if we will discard it
+ void _navigatorToGiftCardsPage(BuildContext context) {
+ final walletType = dashboardViewModel.type;
+
+ switch (walletType) {
+ case WalletType.haven:
+ showPopUp(
+ context: context,
+ builder: (BuildContext context) {
+ return AlertWithOneAction(
+ alertTitle: S.of(context).error,
+ alertContent: S.of(context).gift_cards_unavailable,
+ buttonText: S.of(context).ok,
+ buttonAction: () => Navigator.of(context).pop());
+ });
+ break;
+ default:
+ cakeFeaturesViewModel.isIoniaUserAuthenticated().then((value) {
+ if (value) {
+ Navigator.pushNamed(context, Routes.ioniaManageCardsPage);
+ return;
+ }
+ Navigator.of(context).pushNamed(Routes.ioniaWelcomePage);
+ });
+ }
+ }
+
+ Future _toggleSilentPaymentsScanning(BuildContext context) async {
+ final isSilentPaymentsScanningActive = dashboardViewModel.silentPaymentsScanningActive;
+ final newValue = !isSilentPaymentsScanningActive;
+
+ final needsToSwitch = bitcoin!.getNodeIsCakeElectrs(dashboardViewModel.wallet) == false;
+
+ if (needsToSwitch) {
+ return showPopUp(
+ context: context,
+ builder: (BuildContext context) => AlertWithTwoActions(
+ alertTitle: S.of(context).change_current_node_title,
+ alertContent: S.of(context).confirm_silent_payments_switch_node,
+ rightButtonText: S.of(context).ok,
+ leftButtonText: S.of(context).cancel,
+ actionRightButton: () {
+ dashboardViewModel.setSilentPaymentsScanning(newValue);
+ Navigator.of(context).pop();
+ },
+ actionLeftButton: () => Navigator.of(context).pop(),
+ ));
+ }
+
+ return dashboardViewModel.setSilentPaymentsScanning(newValue);
+ }
+}
diff --git a/lib/src/screens/dashboard/pages/market_place_page.dart b/lib/src/screens/dashboard/pages/market_place_page.dart
deleted file mode 100644
index 1bdcb61b4..000000000
--- a/lib/src/screens/dashboard/pages/market_place_page.dart
+++ /dev/null
@@ -1,105 +0,0 @@
-import 'package:cake_wallet/routes.dart';
-import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
-import 'package:cake_wallet/src/widgets/dashboard_card_widget.dart';
-import 'package:cake_wallet/utils/show_pop_up.dart';
-import 'package:cake_wallet/view_model/dashboard/dashboard_view_model.dart';
-import 'package:cake_wallet/view_model/dashboard/market_place_view_model.dart';
-import 'package:cw_core/wallet_type.dart';
-import 'package:flutter/material.dart';
-import 'package:cake_wallet/generated/i18n.dart';
-import 'package:url_launcher/url_launcher.dart';
-import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
-
-class MarketPlacePage extends StatelessWidget {
- MarketPlacePage({
- required this.dashboardViewModel,
- required this.marketPlaceViewModel,
- });
-
- final DashboardViewModel dashboardViewModel;
- final MarketPlaceViewModel marketPlaceViewModel;
- final _scrollController = ScrollController();
-
- @override
- Widget build(BuildContext context) {
- return Padding(
- padding: const EdgeInsets.symmetric(horizontal: 10.0),
- child: RawScrollbar(
- thumbColor: Colors.white.withOpacity(0.15),
- radius: Radius.circular(20),
- thumbVisibility: true,
- thickness: 2,
- controller: _scrollController,
- child: Padding(
- padding: const EdgeInsets.symmetric(horizontal: 10.0),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- SizedBox(height: 50),
- Text(
- S.of(context).market_place,
- style: TextStyle(
- fontSize: 24,
- fontWeight: FontWeight.w500,
- color: Theme.of(context).extension()!.pageTitleTextColor,
- ),
- ),
- Expanded(
- child: ListView(
- controller: _scrollController,
- children: [
- // SizedBox(height: 20),
- // DashBoardRoundedCardWidget(
- // onTap: () => launchUrl(
- // Uri.parse("https://cakelabs.com/news/cake-pay-mobile-to-shut-down/"),
- // mode: LaunchMode.externalApplication,
- // ),
- // title: S.of(context).cake_pay_title,
- // subTitle: S.of(context).cake_pay_subtitle,
- // ),
- SizedBox(height: 20),
- DashBoardRoundedCardWidget(
- onTap: () => launchUrl(
- Uri.https("buy.cakepay.com"),
- mode: LaunchMode.externalApplication,
- ),
- title: S.of(context).cake_pay_web_cards_title,
- subTitle: S.of(context).cake_pay_web_cards_subtitle,
- ),
- ],
- ),
- ),
- ],
- ),
- ),
- ),
- );
- }
-
- // TODO: Remove ionia flow/files if we will discard it
- void _navigatorToGiftCardsPage(BuildContext context) {
- final walletType = dashboardViewModel.type;
-
- switch (walletType) {
- case WalletType.haven:
- showPopUp(
- context: context,
- builder: (BuildContext context) {
- return AlertWithOneAction(
- alertTitle: S.of(context).error,
- alertContent: S.of(context).gift_cards_unavailable,
- buttonText: S.of(context).ok,
- buttonAction: () => Navigator.of(context).pop());
- });
- break;
- default:
- marketPlaceViewModel.isIoniaUserAuthenticated().then((value) {
- if (value) {
- Navigator.pushNamed(context, Routes.ioniaManageCardsPage);
- return;
- }
- Navigator.of(context).pushNamed(Routes.ioniaWelcomePage);
- });
- }
- }
-}
diff --git a/lib/src/screens/rescan/rescan_page.dart b/lib/src/screens/rescan/rescan_page.dart
index da0f35137..b633a127e 100644
--- a/lib/src/screens/rescan/rescan_page.dart
+++ b/lib/src/screens/rescan/rescan_page.dart
@@ -1,3 +1,6 @@
+import 'package:cake_wallet/bitcoin/bitcoin.dart';
+import 'package:cake_wallet/src/widgets/alert_with_two_actions.dart';
+import 'package:cake_wallet/utils/show_pop_up.dart';
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:cake_wallet/view_model/rescan_view_model.dart';
@@ -35,6 +38,10 @@ class RescanPage extends BasePage {
isLoading: _rescanViewModel.state == RescanWalletState.rescaning,
text: S.of(context).rescan,
onPressed: () async {
+ if (_rescanViewModel.isSilentPaymentsScan) {
+ return _toggleSilentPaymentsScanning(context);
+ }
+
await _rescanViewModel.rescanCurrentWallet(
restoreHeight: _blockchainHeightWidgetKey.currentState!.height);
Navigator.of(context).pop();
@@ -46,4 +53,29 @@ class RescanPage extends BasePage {
]),
);
}
+
+ Future _toggleSilentPaymentsScanning(BuildContext context) async {
+ final needsToSwitch = bitcoin!.getNodeIsCakeElectrs(_rescanViewModel.wallet) == false;
+
+ if (needsToSwitch) {
+ return showPopUp(
+ context: context,
+ builder: (BuildContext context) => AlertWithTwoActions(
+ alertTitle: S.of(context).change_current_node_title,
+ alertContent: S.of(context).confirm_silent_payments_switch_node,
+ rightButtonText: S.of(context).ok,
+ leftButtonText: S.of(context).cancel,
+ actionRightButton: () async {
+ _rescanViewModel.rescanCurrentWallet(
+ restoreHeight: _blockchainHeightWidgetKey.currentState!.height);
+ Navigator.of(context).pop();
+ },
+ actionLeftButton: () => Navigator.of(context).pop(),
+ ));
+ }
+
+ await _rescanViewModel.rescanCurrentWallet(
+ restoreHeight: _blockchainHeightWidgetKey.currentState!.height);
+ Navigator.of(context).pop();
+ }
}
diff --git a/lib/src/widgets/dashboard_card_widget.dart b/lib/src/widgets/dashboard_card_widget.dart
index b3f92123a..eb865b63b 100644
--- a/lib/src/widgets/dashboard_card_widget.dart
+++ b/lib/src/widgets/dashboard_card_widget.dart
@@ -2,19 +2,24 @@ import 'package:cake_wallet/themes/extensions/balance_page_theme.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:flutter/material.dart';
import 'package:cake_wallet/themes/extensions/dashboard_page_theme.dart';
+import 'package:flutter_svg/flutter_svg.dart';
class DashBoardRoundedCardWidget extends StatelessWidget {
-
-
DashBoardRoundedCardWidget({
required this.onTap,
required this.title,
required this.subTitle,
+ this.hint,
+ this.svgPicture,
+ this.icon,
});
final VoidCallback onTap;
final String title;
final String subTitle;
+ final Widget? hint;
+ final SvgPicture? svgPicture;
+ final Icon? icon;
@override
Widget build(BuildContext context) {
@@ -35,32 +40,52 @@ class DashBoardRoundedCardWidget extends StatelessWidget {
color: Theme.of(context).extension()!.cardBorderColor,
),
),
- child:
- Column(
+ child: Column(
+ children: [
+ Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- Text(
- title,
- style: TextStyle(
- color: Theme.of(context).extension()!.cardTextColor,
- fontSize: 24,
- fontWeight: FontWeight.w900,
+ Expanded(
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Text(
+ title,
+ style: TextStyle(
+ color:
+ Theme.of(context).extension()!.cardTextColor,
+ fontSize: 24,
+ fontWeight: FontWeight.w900,
+ ),
+ softWrap: true,
+ ),
+ SizedBox(height: 5),
+ Text(
+ subTitle,
+ style: TextStyle(
+ color: Theme.of(context)
+ .extension()!
+ .cardTextColor,
+ fontWeight: FontWeight.w500,
+ fontFamily: 'Lato'),
+ softWrap: true,
+ ),
+ ],
),
),
- SizedBox(height: 5),
- Text(
- subTitle,
- style: TextStyle(
- color: Theme.of(context).extension()!.cardTextColor,
- fontWeight: FontWeight.w500,
- fontFamily: 'Lato'),
- )
+ if (svgPicture != null) svgPicture!,
+ if (icon != null) icon!
],
),
+ if (hint != null) ...[
+ SizedBox(height: 10),
+ hint!,
+ ]
+ ],
+ ),
),
],
),
);
}
}
-
diff --git a/lib/view_model/dashboard/cake_features_view_model.dart b/lib/view_model/dashboard/cake_features_view_model.dart
new file mode 100644
index 000000000..0a8fbc640
--- /dev/null
+++ b/lib/view_model/dashboard/cake_features_view_model.dart
@@ -0,0 +1,16 @@
+import 'package:cake_wallet/ionia/ionia_service.dart';
+import 'package:mobx/mobx.dart';
+
+part 'cake_features_view_model.g.dart';
+
+class CakeFeaturesViewModel = CakeFeaturesViewModelBase with _$CakeFeaturesViewModel;
+
+abstract class CakeFeaturesViewModelBase with Store {
+ final IoniaService _ioniaService;
+
+ CakeFeaturesViewModelBase(this._ioniaService);
+
+ Future isIoniaUserAuthenticated() async {
+ return await _ioniaService.isLogined();
+ }
+}
diff --git a/lib/view_model/dashboard/dashboard_view_model.dart b/lib/view_model/dashboard/dashboard_view_model.dart
index b4cd026fe..c90e51cd1 100644
--- a/lib/view_model/dashboard/dashboard_view_model.dart
+++ b/lib/view_model/dashboard/dashboard_view_model.dart
@@ -318,7 +318,7 @@ abstract class DashboardViewModelBase with Store {
silentPaymentsScanningActive = active;
if (hasSilentPayments) {
- bitcoin!.setScanningActive(wallet, active);
+ bitcoin!.setScanningActive(wallet, settingsStore, active);
}
}
diff --git a/lib/view_model/dashboard/market_place_view_model.dart b/lib/view_model/dashboard/market_place_view_model.dart
deleted file mode 100644
index 470041127..000000000
--- a/lib/view_model/dashboard/market_place_view_model.dart
+++ /dev/null
@@ -1,17 +0,0 @@
-import 'package:cake_wallet/ionia/ionia_service.dart';
-import 'package:mobx/mobx.dart';
-
-part 'market_place_view_model.g.dart';
-
-class MarketPlaceViewModel = MarketPlaceViewModelBase with _$MarketPlaceViewModel;
-
-abstract class MarketPlaceViewModelBase with Store {
- final IoniaService _ioniaService;
-
- MarketPlaceViewModelBase(this._ioniaService);
-
-
- Future isIoniaUserAuthenticated() async {
- return await _ioniaService.isLogined();
- }
-}
\ No newline at end of file
diff --git a/lib/view_model/rescan_view_model.dart b/lib/view_model/rescan_view_model.dart
index ae7baf008..4008ee9f1 100644
--- a/lib/view_model/rescan_view_model.dart
+++ b/lib/view_model/rescan_view_model.dart
@@ -1,4 +1,5 @@
import 'package:cake_wallet/bitcoin/bitcoin.dart';
+import 'package:cake_wallet/store/settings_store.dart';
import 'package:cw_core/wallet_base.dart';
import 'package:cw_core/wallet_type.dart';
import 'package:mobx/mobx.dart';
@@ -10,12 +11,14 @@ class RescanViewModel = RescanViewModelBase with _$RescanViewModel;
enum RescanWalletState { rescaning, none }
abstract class RescanViewModelBase with Store {
- RescanViewModelBase(this._wallet)
+ RescanViewModelBase(this.wallet, this.settingsStore)
: state = RescanWalletState.none,
isButtonEnabled = false,
doSingleScan = false;
- final WalletBase _wallet;
+ final WalletBase wallet;
+
+ final SettingsStore settingsStore;
@observable
RescanWalletState state;
@@ -27,16 +30,16 @@ abstract class RescanViewModelBase with Store {
bool doSingleScan;
@computed
- bool get isSilentPaymentsScan => _wallet.type == WalletType.bitcoin;
+ bool get isSilentPaymentsScan => wallet.type == WalletType.bitcoin;
@action
Future rescanCurrentWallet({required int restoreHeight}) async {
state = RescanWalletState.rescaning;
- if (_wallet.type != WalletType.bitcoin) {
- _wallet.rescan(height: restoreHeight);
- _wallet.transactionHistory.clear();
+ if (wallet.type != WalletType.bitcoin) {
+ wallet.rescan(height: restoreHeight);
+ wallet.transactionHistory.clear();
} else {
- bitcoin!.rescan(_wallet, height: restoreHeight, doSingleScan: doSingleScan);
+ bitcoin!.rescan(wallet, settingsStore, height: restoreHeight, doSingleScan: doSingleScan);
}
state = RescanWalletState.none;
}
diff --git a/res/values/strings_ar.arb b/res/values/strings_ar.arb
index 44df63a3a..03f91bf1c 100644
--- a/res/values/strings_ar.arb
+++ b/res/values/strings_ar.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "تأكيد خصم الرسوم",
"confirm_fee_deduction_content": "هل توافق على خصم الرسوم من الإخراج؟",
"confirm_sending": "تأكيد الإرسال",
+ "confirm_silent_payments_switch_node": "حاليا مطلوب لتبديل العقد لمسح المدفوعات الصامتة",
"confirmations": "التأكيدات",
"confirmed": "رصيد مؤكد",
"confirmed_tx": "مؤكد",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "نقوم بإنشاء عناوين جديدة في كل مرة تستخدم فيها عنوانًا ، لكن العناوين السابقة تستمر في العمل",
"email_address": "عنوان البريد الالكترونى",
"enable_replace_by_fee": "تمكين الاستبدال",
+ "enable_silent_payments_scanning": "تمكين المسح الضوئي للمدفوعات الصامتة",
"enabled": "ممكنة",
"enter_amount": "أدخل المبلغ",
"enter_backup_password": "أدخل كلمة المرور الاحتياطية هنا",
@@ -275,6 +277,7 @@
"extracted_address_content": "سوف ترسل الأموال إلى\n${recipient_name}",
"failed_authentication": "${state_error} فشل المصادقة.",
"faq": "الأسئلة الشائعة",
+ "features": "سمات",
"fetching": "جار الجلب",
"fiat_api": "Fiat API",
"fiat_balance": "الرصيد فيات",
@@ -793,6 +796,7 @@
"warning": "تحذير",
"welcome": "مرحبا بك في",
"welcome_to_cakepay": "مرحبا بكم في Cake Pay!",
+ "what_is_silent_payments": "ما هي المدفوعات الصامتة؟",
"widgets_address": "عنوان",
"widgets_or": "أو",
"widgets_restore_from_blockheight": "استعادة من ارتفاع البلوك",
diff --git a/res/values/strings_bg.arb b/res/values/strings_bg.arb
index 185e22e0b..412596995 100644
--- a/res/values/strings_bg.arb
+++ b/res/values/strings_bg.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Потвърдете приспадането на таксите",
"confirm_fee_deduction_content": "Съгласни ли сте да приспадате таксата от продукцията?",
"confirm_sending": "Потвърждаване на изпращането",
+ "confirm_silent_payments_switch_node": "Понастоящем се изисква да превключвате възлите за сканиране на мълчаливи плащания",
"confirmations": "потвърждения",
"confirmed": "Потвърден баланс",
"confirmed_tx": "Потвърдено",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Нови адреси се генерират всеки път, когато използвате този, но и предишните продължават да работят",
"email_address": "Имейл адрес",
"enable_replace_by_fee": "Активиране на замяна по забрана",
+ "enable_silent_payments_scanning": "Активирайте безшумните плащания за сканиране",
"enabled": "Активирано",
"enter_amount": "Въведете сума",
"enter_backup_password": "Въведете парола за възстановяване",
@@ -275,6 +277,7 @@
"extracted_address_content": "Ще изпратите средства на \n${recipient_name}",
"failed_authentication": "Неуспешно удостоверяване. ${state_error}",
"faq": "FAQ",
+ "features": "Характеристика",
"fetching": "Обработване",
"fiat_api": "Fiat API",
"fiat_balance": "Фиат Баланс",
@@ -793,6 +796,7 @@
"warning": "Внимание",
"welcome": "Добре дошли в",
"welcome_to_cakepay": "Добре дошли в Cake Pay!",
+ "what_is_silent_payments": "Какво са мълчаливи плащания?",
"widgets_address": "Адрес",
"widgets_or": "или",
"widgets_restore_from_blockheight": "Възстановяване от blockheight",
diff --git a/res/values/strings_cs.arb b/res/values/strings_cs.arb
index 2146ae725..c063691f1 100644
--- a/res/values/strings_cs.arb
+++ b/res/values/strings_cs.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Potvrďte odpočet poplatků",
"confirm_fee_deduction_content": "Souhlasíte s odečtením poplatku z výstupu?",
"confirm_sending": "Potvrdit odeslání",
+ "confirm_silent_payments_switch_node": "V současné době je nutné přepínat uzly pro skenování tichých plateb",
"confirmations": "Potvrzení",
"confirmed": "Potvrzený zůstatek",
"confirmed_tx": "Potvrzeno",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Po každém použití je generována nová adresa, ale předchozí adresy také stále fungují",
"email_address": "E-mailová adresa",
"enable_replace_by_fee": "Povolit výměnu podle poplatku",
+ "enable_silent_payments_scanning": "Povolte skenování tichých plateb",
"enabled": "Povoleno",
"enter_amount": "Zadejte částku",
"enter_backup_password": "Zde zadejte své heslo pro zálohy",
@@ -275,6 +277,7 @@
"extracted_address_content": "Prostředky budete posílat na\n${recipient_name}",
"failed_authentication": "Ověřování selhalo. ${state_error}",
"faq": "FAQ",
+ "features": "Funkce",
"fetching": "Načítá se",
"fiat_api": "Fiat API",
"fiat_balance": "Fiat Balance",
@@ -793,6 +796,7 @@
"warning": "Varování",
"welcome": "Vítejte v",
"welcome_to_cakepay": "Vítejte v Cake Pay!",
+ "what_is_silent_payments": "Co jsou tiché platby?",
"widgets_address": "Adresa",
"widgets_or": "nebo",
"widgets_restore_from_blockheight": "Obnovit z výšky bloku",
diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb
index f4b6cd0df..4f29258d1 100644
--- a/res/values/strings_de.arb
+++ b/res/values/strings_de.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Gebührenabzug bestätigen",
"confirm_fee_deduction_content": "Stimmen Sie zu, die Gebühr von der Ausgabe abzuziehen?",
"confirm_sending": "Senden bestätigen",
+ "confirm_silent_payments_switch_node": "Derzeit ist es erforderlich, Knoten zu wechseln, um stille Zahlungen zu scannen",
"confirmations": "Bestätigungen",
"confirmed": "Bestätigter Saldo",
"confirmed_tx": "Bestätigt",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Wir generieren jedes Mal neue Adressen, wenn Sie eine verwenden, aber vorherige Adressen funktionieren weiterhin",
"email_address": "E-Mail-Adresse",
"enable_replace_by_fee": "Aktivieren Sie Ersatz für Fee",
+ "enable_silent_payments_scanning": "Aktivieren Sie stille Zahlungen Scannen",
"enabled": "Ermöglicht",
"enter_amount": "Betrag eingeben",
"enter_backup_password": "Sicherungskennwort hier eingeben",
@@ -275,6 +277,7 @@
"extracted_address_content": "Sie senden Geld an\n${recipient_name}",
"failed_authentication": "Authentifizierung fehlgeschlagen. ${state_error}",
"faq": "Häufig gestellte Fragen",
+ "features": "Merkmale",
"fetching": "Frage ab",
"fiat_api": "Fiat API",
"fiat_balance": "Fiat Balance",
@@ -796,6 +799,7 @@
"warning": "Warnung",
"welcome": "Willkommen bei",
"welcome_to_cakepay": "Willkommen bei Cake Pay!",
+ "what_is_silent_payments": "Was sind stille Zahlungen?",
"widgets_address": "Adresse",
"widgets_or": "oder",
"widgets_restore_from_blockheight": "Ab Blockhöhe wiederherstellen",
diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb
index 73b2bde1c..677e3e50f 100644
--- a/res/values/strings_en.arb
+++ b/res/values/strings_en.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Confirm Fee Deduction",
"confirm_fee_deduction_content": "Do you agree to deduct the fee from the output?",
"confirm_sending": "Confirm sending",
+ "confirm_silent_payments_switch_node": "Currently it is required to switch nodes to scan silent payments",
"confirmations": "Confirmations",
"confirmed": "Confirmed Balance",
"confirmed_tx": "Confirmed",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "We generate new addresses each time you use one, but previous addresses continue to work",
"email_address": "Email Address",
"enable_replace_by_fee": "Enable Replace-By-Fee",
+ "enable_silent_payments_scanning": "Enable silent payments scanning",
"enabled": "Enabled",
"enter_amount": "Enter Amount",
"enter_backup_password": "Enter backup password here",
@@ -275,6 +277,7 @@
"extracted_address_content": "You will be sending funds to\n${recipient_name}",
"failed_authentication": "Failed authentication. ${state_error}",
"faq": "FAQ",
+ "features": "Features",
"fetching": "Fetching",
"fiat_api": "Fiat API",
"fiat_balance": "Fiat Balance",
@@ -793,6 +796,7 @@
"warning": "Warning",
"welcome": "Welcome to",
"welcome_to_cakepay": "Welcome to Cake Pay!",
+ "what_is_silent_payments": "What is silent payments?",
"widgets_address": "Address",
"widgets_or": "or",
"widgets_restore_from_blockheight": "Restore from blockheight",
diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb
index 03c477568..3c47d2c40 100644
--- a/res/values/strings_es.arb
+++ b/res/values/strings_es.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Confirmar la deducción de la tarifa",
"confirm_fee_deduction_content": "¿Acepta deducir la tarifa de la producción?",
"confirm_sending": "Confirmar envío",
+ "confirm_silent_payments_switch_node": "Actualmente se requiere cambiar los nodos para escanear pagos silenciosos",
"confirmations": "Confirmaciones",
"confirmed": "Saldo confirmado",
"confirmed_tx": "Confirmado",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Generamos nuevas direcciones cada vez que usa una, pero las direcciones anteriores siguen funcionando",
"email_address": "Dirección de correo electrónico",
"enable_replace_by_fee": "Habilitar reemplazar por tarea",
+ "enable_silent_payments_scanning": "Habilitar escaneo de pagos silenciosos",
"enabled": "Activado",
"enter_amount": "Ingrese la cantidad",
"enter_backup_password": "Ingrese la contraseña de respaldo aquí",
@@ -275,6 +277,7 @@
"extracted_address_content": "Enviará fondos a\n${recipient_name}",
"failed_authentication": "Autenticación fallida. ${state_error}",
"faq": "FAQ",
+ "features": "Características",
"fetching": "Cargando",
"fiat_api": "Fiat API",
"fiat_balance": "Equilibrio Fiat",
@@ -794,6 +797,7 @@
"warning": "Advertencia",
"welcome": "Bienvenido",
"welcome_to_cakepay": "¡Bienvenido a Cake Pay!",
+ "what_is_silent_payments": "¿Qué son los pagos silenciosos?",
"widgets_address": "Dirección",
"widgets_or": "o",
"widgets_restore_from_blockheight": "Restaurar desde blockheight",
diff --git a/res/values/strings_fr.arb b/res/values/strings_fr.arb
index 583fdd489..594ca09ab 100644
--- a/res/values/strings_fr.arb
+++ b/res/values/strings_fr.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Confirmer la déduction des frais",
"confirm_fee_deduction_content": "Acceptez-vous de déduire les frais de la production?",
"confirm_sending": "Confirmer l'envoi",
+ "confirm_silent_payments_switch_node": "Actuellement, il est nécessaire de changer de nœuds pour scanner les paiements silencieux",
"confirmations": "Confirmations",
"confirmed": "Solde confirmé",
"confirmed_tx": "Confirmé",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Nous générons de nouvelles adresses à chaque fois que vous en utilisez une, mais les adresses précédentes continuent à fonctionner",
"email_address": "Adresse e-mail",
"enable_replace_by_fee": "Activer Remplace-by-Fee",
+ "enable_silent_payments_scanning": "Activer la numérisation des paiements silencieux",
"enabled": "Activé",
"enter_amount": "Entrez le montant",
"enter_backup_password": "Entrez le mot de passe de sauvegarde ici",
@@ -275,6 +277,7 @@
"extracted_address_content": "Vous allez envoyer des fonds à\n${recipient_name}",
"failed_authentication": "Échec d'authentification. ${state_error}",
"faq": "FAQ",
+ "features": "Caractéristiques",
"fetching": "Récupération",
"fiat_api": "Fiat API",
"fiat_balance": "Solde fiat",
@@ -793,6 +796,7 @@
"warning": "Avertissement",
"welcome": "Bienvenue sur",
"welcome_to_cakepay": "Bienvenue sur Cake Pay !",
+ "what_is_silent_payments": "Qu'est-ce que les paiements silencieux?",
"widgets_address": "Adresse",
"widgets_or": "ou",
"widgets_restore_from_blockheight": "Restaurer depuis une hauteur de bloc",
diff --git a/res/values/strings_ha.arb b/res/values/strings_ha.arb
index 4c153ee02..3ada6e528 100644
--- a/res/values/strings_ha.arb
+++ b/res/values/strings_ha.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Tabbatar da cire kudade",
"confirm_fee_deduction_content": "Shin kun yarda ku cire kuɗin daga fitarwa?",
"confirm_sending": "Tabbatar da aikawa",
+ "confirm_silent_payments_switch_node": "A halin yanzu ana buƙatar sauya nodes don bincika biyan siliki",
"confirmations": "Tabbatar",
"confirmed": "An tabbatar",
"confirmed_tx": "Tabbatar",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Muna samar da sababbin adireshi duk lokacin da kuka yi amfani da ɗaya, amma adiresoshin da suka gabata suna ci gaba da aiki",
"email_address": "Adireshin i-mel",
"enable_replace_by_fee": "Ba da damar maye gurbin-by-kudin",
+ "enable_silent_payments_scanning": "Kunna biya biya",
"enabled": "An kunna",
"enter_amount": "Shigar da Adadi",
"enter_backup_password": "Shigar da kalmar wucewa ta madadin nan",
@@ -275,6 +277,7 @@
"extracted_address_content": "Za ku aika da kudade zuwa\n${recipient_name}",
"failed_authentication": "Binne wajen shiga. ${state_error}",
"faq": "FAQ",
+ "features": "Fasas",
"fetching": "Daukewa",
"fiat_api": "API ɗin Fiat",
"fiat_balance": "Fiat Balance",
@@ -795,6 +798,7 @@
"warning": "Gargadi",
"welcome": "Barka da zuwa",
"welcome_to_cakepay": "Barka da zuwa Cake Pay!",
+ "what_is_silent_payments": "Menene biyan shiru?",
"widgets_address": "Adireshin",
"widgets_or": "ko",
"widgets_restore_from_blockheight": "Sake dawo da daga blockheight",
diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb
index bbf974915..979aaeb25 100644
--- a/res/values/strings_hi.arb
+++ b/res/values/strings_hi.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "शुल्क कटौती की पुष्टि करें",
"confirm_fee_deduction_content": "क्या आप आउटपुट से शुल्क में कटौती करने के लिए सहमत हैं?",
"confirm_sending": "भेजने की पुष्टि करें",
+ "confirm_silent_payments_switch_node": "वर्तमान में मूक भुगतान को स्कैन करने के लिए नोड्स को स्विच करना आवश्यक है",
"confirmations": "पुष्टिकरण",
"confirmed": "पुष्टि की गई शेष राशिी",
"confirmed_tx": "की पुष्टि",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "हर बार जब आप एक का उपयोग करते हैं तो हम नए पते उत्पन्न करते हैं, लेकिन पिछले पते काम करना जारी रखते हैं",
"email_address": "ईमेल पता",
"enable_replace_by_fee": "प्रतिस्थापित-दर-शुल्क सक्षम करें",
+ "enable_silent_payments_scanning": "मूक भुगतान स्कैनिंग सक्षम करें",
"enabled": "सक्रिय",
"enter_amount": "राशि दर्ज करें",
"enter_backup_password": "यहां बैकअप पासवर्ड डालें",
@@ -275,6 +277,7 @@
"extracted_address_content": "आपको धनराशि भेजी जाएगी\n${recipient_name}",
"failed_authentication": "प्रमाणीकरण विफल. ${state_error}",
"faq": "FAQ",
+ "features": "विशेषताएँ",
"fetching": "ला रहा है",
"fiat_api": "फिएट पैसे API",
"fiat_balance": "फिएट बैलेंस",
@@ -795,6 +798,7 @@
"warning": "चेतावनी",
"welcome": "स्वागत हे सेवा मेरे",
"welcome_to_cakepay": "केकपे में आपका स्वागत है!",
+ "what_is_silent_payments": "मूक भुगतान क्या है?",
"widgets_address": "पता",
"widgets_or": "या",
"widgets_restore_from_blockheight": "ब्लॉकचेन से पुनर्स्थापित करें",
diff --git a/res/values/strings_hr.arb b/res/values/strings_hr.arb
index 04ac5acd4..5eca97a90 100644
--- a/res/values/strings_hr.arb
+++ b/res/values/strings_hr.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Potvrdite odbitak naknade",
"confirm_fee_deduction_content": "Slažete li se da ćete odbiti naknadu od izlaza?",
"confirm_sending": "Potvrdi slanje",
+ "confirm_silent_payments_switch_node": "Trenutno je potrebno prebaciti čvorove na skeniranje tihih plaćanja",
"confirmations": "Potvrde",
"confirmed": "Potvrđeno stanje",
"confirmed_tx": "Potvrđen",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Minden egyes alkalommal új címeket generálunk, de a korábbi címek továbbra is működnek",
"email_address": "Adresa e-pošte",
"enable_replace_by_fee": "Omogući zamjenu",
+ "enable_silent_payments_scanning": "Omogući skeniranje tihih plaćanja",
"enabled": "Omogućeno",
"enter_amount": "Unesite iznos",
"enter_backup_password": "Unesite svoju lozinku za sigurnosnu kopiju ovdje",
@@ -275,6 +277,7 @@
"extracted_address_content": "Poslat ćete sredstva primatelju\n${recipient_name}",
"failed_authentication": "Autentifikacija neuspješna. ${state_error}",
"faq": "FAQ",
+ "features": "Značajke",
"fetching": "Dohvaćanje",
"fiat_api": "Fiat API",
"fiat_balance": "Fiat Bilans",
@@ -793,6 +796,7 @@
"warning": "Upozorenje",
"welcome": "Dobrodošli na",
"welcome_to_cakepay": "Dobro došli u Cake Pay!",
+ "what_is_silent_payments": "Što je tiha plaćanja?",
"widgets_address": "Adresa",
"widgets_or": "ili",
"widgets_restore_from_blockheight": "Oporavi pomoću visine bloka",
diff --git a/res/values/strings_id.arb b/res/values/strings_id.arb
index f45a66b5b..ca823c3d5 100644
--- a/res/values/strings_id.arb
+++ b/res/values/strings_id.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Konfirmasi pengurangan biaya",
"confirm_fee_deduction_content": "Apakah Anda setuju untuk mengurangi biaya dari output?",
"confirm_sending": "Konfirmasi pengiriman",
+ "confirm_silent_payments_switch_node": "Saat ini diminta untuk mengganti node untuk memindai pembayaran diam",
"confirmations": "Konfirmasi",
"confirmed": "Saldo Terkonfirmasi",
"confirmed_tx": "Dikonfirmasi",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Kami menghasilkan alamat baru setiap kali Anda menggunakan satu, tetapi alamat sebelumnya tetap berfungsi",
"email_address": "Alamat Email",
"enable_replace_by_fee": "Aktifkan ganti-by-fee",
+ "enable_silent_payments_scanning": "Aktifkan pemindaian pembayaran diam",
"enabled": "Diaktifkan",
"enter_amount": "Masukkan Jumlah",
"enter_backup_password": "Masukkan kata sandi cadangan di sini",
@@ -275,6 +277,7 @@
"extracted_address_content": "Anda akan mengirim dana ke\n${recipient_name}",
"failed_authentication": "Otentikasi gagal. ${state_error}",
"faq": "Pertanyaan yang Sering Diajukan",
+ "features": "Fitur",
"fetching": "Mengambil",
"fiat_api": "API fiat",
"fiat_balance": "Saldo Fiat",
@@ -796,6 +799,7 @@
"warning": "Peringatan",
"welcome": "Selamat datang di",
"welcome_to_cakepay": "Selamat Datang di Cake Pay!",
+ "what_is_silent_payments": "Apa itu pembayaran diam?",
"widgets_address": "Alamat",
"widgets_or": "atau",
"widgets_restore_from_blockheight": "Pulihkan dari tinggi blok",
diff --git a/res/values/strings_it.arb b/res/values/strings_it.arb
index 133ef62d5..3b306b5ee 100644
--- a/res/values/strings_it.arb
+++ b/res/values/strings_it.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Conferma la detrazione delle commissioni",
"confirm_fee_deduction_content": "Accetti di detrarre la commissione dall'output?",
"confirm_sending": "Conferma l'invio",
+ "confirm_silent_payments_switch_node": "Attualmente è necessario cambiare nodi per scansionare i pagamenti silenziosi",
"confirmations": "Conferme",
"confirmed": "Saldo confermato",
"confirmed_tx": "Confermato",
@@ -219,6 +220,7 @@
"electrum_address_disclaimer": "Generiamo nuovi indirizzi ogni volta che ne utilizzi uno, ma gli indirizzi precedenti continuano a funzionare",
"email_address": "Indirizzo e-mail",
"enable_replace_by_fee": "Abilita sostituzione per fee",
+ "enable_silent_payments_scanning": "Abilita la scansione dei pagamenti silenziosi",
"enabled": "Abilitato",
"enter_amount": "Inserisci importo",
"enter_backup_password": "Inserisci la password di backup qui",
@@ -276,6 +278,7 @@
"extracted_address_content": "Invierai i tuoi fondi a\n${recipient_name}",
"failed_authentication": "Autenticazione fallita. ${state_error}",
"faq": "Domande Frequenti",
+ "features": "Caratteristiche",
"fetching": "Recupero",
"fiat_api": "Fiat API",
"fiat_balance": "Equilibrio fiat",
@@ -796,6 +799,7 @@
"warning": "Avvertimento",
"welcome": "Benvenuto",
"welcome_to_cakepay": "Benvenuto in Cake Pay!",
+ "what_is_silent_payments": "Che cos'è i pagamenti silenziosi?",
"widgets_address": "Indirizzo",
"widgets_or": "o",
"widgets_restore_from_blockheight": "Recupera da altezza blocco",
diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb
index a6191460b..d1e70cb5a 100644
--- a/res/values/strings_ja.arb
+++ b/res/values/strings_ja.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "料金控除を確認します",
"confirm_fee_deduction_content": "出力から料金を差し引くことに同意しますか?",
"confirm_sending": "送信を確認",
+ "confirm_silent_payments_switch_node": "現在、ノードを切り替えてサイレント決済をスキャンする必要があります",
"confirmations": "確認",
"confirmed": "確認済み残高",
"confirmed_tx": "確認済み",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "使用するたびに新しいアドレスが生成されますが、以前のアドレスは引き続き機能します",
"email_address": "メールアドレス",
"enable_replace_by_fee": "交換ごとに有効にします",
+ "enable_silent_payments_scanning": "サイレントペイメントスキャンを有効にします",
"enabled": "有効",
"enter_amount": "金額を入力",
"enter_backup_password": "ここにバックアップパスワードを入力してください",
@@ -275,6 +277,7 @@
"extracted_address_content": "に送金します\n${recipient_name}",
"failed_authentication": "認証失敗. ${state_error}",
"faq": "FAQ",
+ "features": "特徴",
"fetching": "フェッチング",
"fiat_api": "不換紙幣 API",
"fiat_balance": "フィアットバランス",
@@ -794,6 +797,7 @@
"warning": "警告",
"welcome": "ようこそ に",
"welcome_to_cakepay": "Cake Payへようこそ!",
+ "what_is_silent_payments": "サイレント支払いとは何ですか?",
"widgets_address": "住所",
"widgets_or": "または",
"widgets_restore_from_blockheight": "ブロックの高さから復元",
diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb
index 9cd30a13f..ccc164aa0 100644
--- a/res/values/strings_ko.arb
+++ b/res/values/strings_ko.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "수수료 공제를 확인하십시오",
"confirm_fee_deduction_content": "출력에서 수수료를 공제하는 데 동의하십니까?",
"confirm_sending": "전송 확인",
+ "confirm_silent_payments_switch_node": "현재 사일런트 결제를 스캔하려면 노드를 전환해야합니다.",
"confirmations": "확인",
"confirmed": "확인된 잔액",
"confirmed_tx": "확인",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "사용할 때마다 새 주소가 생성되지만 이전 주소는 계속 작동합니다.",
"email_address": "이메일 주소",
"enable_replace_by_fee": "대체별로 활성화하십시오",
+ "enable_silent_payments_scanning": "무음 지불 스캔을 활성화합니다",
"enabled": "사용",
"enter_amount": "금액 입력",
"enter_backup_password": "여기에 백업 비밀번호를 입력하세요.",
@@ -275,6 +277,7 @@
"extracted_address_content": "당신은에 자금을 보낼 것입니다\n${recipient_name}",
"failed_authentication": "인증 실패. ${state_error}",
"faq": "FAQ",
+ "features": "특징",
"fetching": "가져 오는 중",
"fiat_api": "명목 화폐 API",
"fiat_balance": "피아트 잔액",
@@ -794,6 +797,7 @@
"warning": "경고",
"welcome": "환영 에",
"welcome_to_cakepay": "Cake Pay에 오신 것을 환영합니다!",
+ "what_is_silent_payments": "조용한 지불이란 무엇입니까?",
"widgets_address": "주소",
"widgets_or": "또는",
"widgets_restore_from_blockheight": "블록 높이에서 복원",
diff --git a/res/values/strings_my.arb b/res/values/strings_my.arb
index ee1fc90c7..8ffeb01d0 100644
--- a/res/values/strings_my.arb
+++ b/res/values/strings_my.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "အခကြေးငွေကိုနှုတ်ယူခြင်း",
"confirm_fee_deduction_content": "output မှအခကြေးငွေကိုယူရန်သဘောတူပါသလား။",
"confirm_sending": "ပေးပို့အတည်ပြုပါ။",
+ "confirm_silent_payments_switch_node": "လောလောဆယ်အသံတိတ်ငွေပေးချေမှုကိုစကင်ဖတ်စစ်ဆေးရန် node များကိုပြောင်းရန်လိုအပ်သည်",
"confirmations": "အတည်ပြုချက်များ",
"confirmed": "အတည်ပြုထားသော လက်ကျန်ငွေ",
"confirmed_tx": "အတည်ပြုသည်",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "သင်အသုံးပြုသည့်အချိန်တိုင်းတွင် ကျွန်ုပ်တို့သည် လိပ်စာအသစ်များကို ထုတ်ပေးသော်လည်း ယခင်လိပ်စာများသည် ဆက်လက်အလုပ်လုပ်နေပါသည်။",
"email_address": "အီးမေးလ်လိပ်စာ",
"enable_replace_by_fee": "အစားထိုး - by- အခကြေးငွေ enable",
+ "enable_silent_payments_scanning": "အသံတိတ်ငွေပေးချေမှုကို scanable လုပ်ပါ",
"enabled": "ဖွင့်ထားသည်။",
"enter_amount": "ပမာဏကို ထည့်ပါ။",
"enter_backup_password": "အရန်စကားဝှက်ကို ဤနေရာတွင် ထည့်ပါ။",
@@ -275,6 +277,7 @@
"extracted_address_content": "သင်သည် \n${recipient_name} သို့ ရန်ပုံငွေများ ပေးပို့ပါမည်",
"failed_authentication": "အထောက်အထားစိစစ်ခြင်း မအောင်မြင်ပါ။. ${state_error}",
"faq": "အမြဲမေးလေ့ရှိသောမေးခွန်းများ",
+ "features": "အင်္ဂါရပ်များ",
"fetching": "ခေါ်ယူခြင်း။",
"fiat_api": "Fiat API",
"fiat_balance": "Fiat Balance",
@@ -793,6 +796,7 @@
"warning": "သတိပေးချက်",
"welcome": "မှကြိုဆိုပါတယ်။",
"welcome_to_cakepay": "Cake Pay မှကြိုဆိုပါသည်။",
+ "what_is_silent_payments": "အသံတိတ်ငွေပေးချေမှုဆိုတာဘာလဲ",
"widgets_address": "လိပ်စာ",
"widgets_or": "သို့မဟုတ်",
"widgets_restore_from_blockheight": "အမြင့်မှ ပြန်လည်ရယူပါ။",
diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb
index ae7a32dbb..79ad955c2 100644
--- a/res/values/strings_nl.arb
+++ b/res/values/strings_nl.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Bevestig de aftrek van de kosten",
"confirm_fee_deduction_content": "Stemt u ermee in om de vergoeding af te trekken van de output?",
"confirm_sending": "Bevestig verzending",
+ "confirm_silent_payments_switch_node": "Momenteel is het vereist om knooppunten te schakelen om stille betalingen te scannen",
"confirmations": "Bevestigingen",
"confirmed": "Bevestigd saldo",
"confirmed_tx": "Bevestigd",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "We genereren nieuwe adressen elke keer dat u er een gebruikt, maar eerdere adressen blijven werken",
"email_address": "E-mailadres",
"enable_replace_by_fee": "Schakel vervangen door een fee",
+ "enable_silent_payments_scanning": "Schakel stille betalingen in scannen in",
"enabled": "Ingeschakeld",
"enter_amount": "Voer Bedrag in",
"enter_backup_password": "Voer hier een back-upwachtwoord in",
@@ -275,6 +277,7 @@
"extracted_address_content": "U stuurt geld naar\n${recipient_name}",
"failed_authentication": "Mislukte authenticatie. ${state_error}",
"faq": "FAQ",
+ "features": "Functies",
"fetching": "Ophalen",
"fiat_api": "Fiat API",
"fiat_balance": "Fiat Balans",
@@ -794,6 +797,7 @@
"warning": "Waarschuwing",
"welcome": "Welkom bij",
"welcome_to_cakepay": "Welkom bij Cake Pay!",
+ "what_is_silent_payments": "Wat zijn stille betalingen?",
"widgets_address": "Adres",
"widgets_or": "of",
"widgets_restore_from_blockheight": "Herstel vanaf blockheight",
diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb
index 7e7cdfb75..0e21faf6d 100644
--- a/res/values/strings_pl.arb
+++ b/res/values/strings_pl.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Potwierdź odliczenie opłaty",
"confirm_fee_deduction_content": "Czy zgadzasz się odliczyć opłatę od wyników?",
"confirm_sending": "Potwierdź wysłanie",
+ "confirm_silent_payments_switch_node": "Obecnie wymagane jest zmiana węzłów w celu skanowania cichych płatności",
"confirmations": "Potwierdzenia",
"confirmed": "Potwierdzone saldo",
"confirmed_tx": "Potwierdzony",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Za każdym razem, gdy wykorzystasz adres, dla wiekszej prywatności generujemy nowy, ale poprzednie adresy nadal działają, i moga odbierać środki",
"email_address": "Adres e-mail",
"enable_replace_by_fee": "Włącz wymianę po lewej",
+ "enable_silent_payments_scanning": "Włącz skanowanie cichych płatności",
"enabled": "Włączone",
"enter_amount": "Wprowadź kwotę",
"enter_backup_password": "Wprowadź tutaj hasło kopii zapasowej",
@@ -275,6 +277,7 @@
"extracted_address_content": "Wysyłasz środki na\n${recipient_name}",
"failed_authentication": "Nieudane uwierzytelnienie. ${state_error}",
"faq": "FAQ",
+ "features": "Cechy",
"fetching": "Pobieranie",
"fiat_api": "API Walut FIAT",
"fiat_balance": "Bilans Fiata",
@@ -793,6 +796,7 @@
"warning": "Ostrzeżenie",
"welcome": "Witamy w",
"welcome_to_cakepay": "Witamy w Cake Pay!",
+ "what_is_silent_payments": "Co to są ciche płatności?",
"widgets_address": "Adres",
"widgets_or": "lub",
"widgets_restore_from_blockheight": "Przywróć z wysokości bloku",
diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb
index 1526b6aad..bef5bbf83 100644
--- a/res/values/strings_pt.arb
+++ b/res/values/strings_pt.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Confirme dedução da taxa",
"confirm_fee_deduction_content": "Você concorda em deduzir a taxa da saída?",
"confirm_sending": "Confirmar o envio",
+ "confirm_silent_payments_switch_node": "Atualmente, é necessário trocar de nós para digitalizar pagamentos silenciosos",
"confirmations": "Confirmações",
"confirmed": "Saldo Confirmado",
"confirmed_tx": "Confirmado",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Geramos novos endereços cada vez que você usa um, mas os endereços anteriores continuam funcionando",
"email_address": "Endereço de e-mail",
"enable_replace_by_fee": "Habilite substituir por taxa",
+ "enable_silent_payments_scanning": "Ativar escaneamento de pagamentos silenciosos",
"enabled": "Habilitado",
"enter_amount": "Digite o valor",
"enter_backup_password": "Digite a senha de backup aqui",
@@ -275,6 +277,7 @@
"extracted_address_content": "Você enviará fundos para\n${recipient_name}",
"failed_authentication": "Falha na autenticação. ${state_error}",
"faq": "FAQ",
+ "features": "Funcionalidades",
"fetching": "Buscando",
"fiat_api": "API da Fiat",
"fiat_balance": "Equilíbrio Fiat",
@@ -796,6 +799,7 @@
"warning": "Aviso",
"welcome": "Bem-vindo ao",
"welcome_to_cakepay": "Bem-vindo ao Cake Pay!",
+ "what_is_silent_payments": "O que são pagamentos silenciosos?",
"widgets_address": "Endereço",
"widgets_or": "ou",
"widgets_restore_from_blockheight": "Restaurar a partir de altura do bloco",
diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb
index 0534f52d7..d4c049f59 100644
--- a/res/values/strings_ru.arb
+++ b/res/values/strings_ru.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Подтвердите вычет платы",
"confirm_fee_deduction_content": "Согласны ли вы вычесть плату из вывода?",
"confirm_sending": "Подтвердить отправку",
+ "confirm_silent_payments_switch_node": "В настоящее время требуется переключение узлов для сканирования молчаливых платежей",
"confirmations": "Подтверждения",
"confirmed": "Подтвержденный баланс",
"confirmed_tx": "Подтвержденный",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Мы генерируем новые адреса каждый раз, когда вы их используете, но предыдущие адреса продолжают работать.",
"email_address": "Адрес электронной почты",
"enable_replace_by_fee": "Включить замену за пикой",
+ "enable_silent_payments_scanning": "Включить сканирование безмолвных платежей",
"enabled": "Включено",
"enter_amount": "Введите сумму",
"enter_backup_password": "Введите пароль резервной копии",
@@ -275,6 +277,7 @@
"extracted_address_content": "Вы будете отправлять средства\n${recipient_name}",
"failed_authentication": "Ошибка аутентификации. ${state_error}",
"faq": "FAQ",
+ "features": "Функции",
"fetching": "Загрузка",
"fiat_api": "Фиат API",
"fiat_balance": "Фиатный баланс",
@@ -794,6 +797,7 @@
"warning": "Предупреждение",
"welcome": "Приветствуем в",
"welcome_to_cakepay": "Добро пожаловать в Cake Pay!",
+ "what_is_silent_payments": "Что такое молчаливые платежи?",
"widgets_address": "Адрес",
"widgets_or": "или",
"widgets_restore_from_blockheight": "Восстановить на высоте блока",
diff --git a/res/values/strings_th.arb b/res/values/strings_th.arb
index 434940a31..a74c3c9e5 100644
--- a/res/values/strings_th.arb
+++ b/res/values/strings_th.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "ยืนยันการหักค่าธรรมเนียม",
"confirm_fee_deduction_content": "คุณตกลงที่จะหักค่าธรรมเนียมจากผลลัพธ์หรือไม่?",
"confirm_sending": "ยืนยันการส่ง",
+ "confirm_silent_payments_switch_node": "ขณะนี้จำเป็นต้องเปลี่ยนโหนดเพื่อสแกนการชำระเงินแบบเงียบ",
"confirmations": "การยืนยัน",
"confirmed": "ยอดคงเหลือที่ยืนยันแล้ว",
"confirmed_tx": "ซึ่งยืนยันแล้ว",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "เราสร้างที่อยู่ใหม่ทุกครั้งที่คุณใช้หนึ่งอย่าง แต่ที่อยู่เก่ายังสามารถใช้ได้ต่อไป",
"email_address": "ที่อยู่อีเมล",
"enable_replace_by_fee": "เปิดใช้งานการเปลี่ยนโดยค่าธรรมเนียม",
+ "enable_silent_payments_scanning": "เปิดใช้งานการสแกนการชำระเงินแบบเงียบ",
"enabled": "เปิดใช้งาน",
"enter_amount": "กรอกจำนวน",
"enter_backup_password": "ป้อนรหัสผ่านสำรองที่นี่",
@@ -275,6 +277,7 @@
"extracted_address_content": "คุณกำลังจะส่งเงินไปยัง\n${recipient_name}",
"failed_authentication": "การยืนยันสิทธิ์ล้มเหลว ${state_error}",
"faq": "คำถามที่พบบ่อย",
+ "features": "คุณสมบัติ",
"fetching": "กำลังโหลด",
"fiat_api": "API สกุลเงินตรา",
"fiat_balance": "เฟียต บาลานซ์",
@@ -793,6 +796,7 @@
"warning": "คำเตือน",
"welcome": "ยินดีต้อนรับสู่",
"welcome_to_cakepay": "ยินดีต้อนรับสู่ Cake Pay!",
+ "what_is_silent_payments": "การชำระเงินเงียบคืออะไร?",
"widgets_address": "ที่อยู่",
"widgets_or": "หรือ",
"widgets_restore_from_blockheight": "กู้คืนจากระดับบล็อก",
diff --git a/res/values/strings_tl.arb b/res/values/strings_tl.arb
index 08be1b727..23c1758cf 100644
--- a/res/values/strings_tl.arb
+++ b/res/values/strings_tl.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Kumpirmahin ang pagbabawas ng bayad",
"confirm_fee_deduction_content": "Sumasang -ayon ka bang bawasan ang bayad mula sa output?",
"confirm_sending": "Kumpirmahin ang pagpapadala",
+ "confirm_silent_payments_switch_node": "Sa kasalukuyan kinakailangan itong lumipat ng mga node upang i -scan ang mga tahimik na pagbabayad",
"confirmations": "Mga kumpirmasyon",
"confirmed": "Nakumpirma na balanse",
"confirmed_tx": "Nakumpirma",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Bumubuo kami ng mga bagong address sa tuwing gumagamit ka ng isa, ngunit ang mga nakaraang address ay patuloy na gumagana",
"email_address": "Email address",
"enable_replace_by_fee": "Paganahin ang palitan-by-fee",
+ "enable_silent_payments_scanning": "Paganahin ang pag -scan ng tahimik na pagbabayad",
"enabled": "Pinagana",
"enter_amount": "Ipasok ang halaga",
"enter_backup_password": "Ipasok ang backup password dito",
@@ -275,6 +277,7 @@
"extracted_address_content": "Magpapadala ka ng pondo sa\n${recipient_name}",
"failed_authentication": "Nabigong pagpapatunay. ${state_error}",
"faq": "FAQ",
+ "features": "Mga tampok",
"fetching": "Pagkuha",
"fiat_api": "Fiat API",
"fiat_balance": "Balanse ng fiat",
@@ -793,6 +796,7 @@
"warning": "Babala",
"welcome": "Maligayang pagdating sa",
"welcome_to_cakepay": "Maligayang pagdating sa cake pay!",
+ "what_is_silent_payments": "Ano ang tahimik na pagbabayad?",
"widgets_address": "Address",
"widgets_or": "o",
"widgets_restore_from_blockheight": "Ibalik mula sa blockheight",
diff --git a/res/values/strings_tr.arb b/res/values/strings_tr.arb
index 24f79222e..c349c1e53 100644
--- a/res/values/strings_tr.arb
+++ b/res/values/strings_tr.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Ücret kesintisini onaylayın",
"confirm_fee_deduction_content": "Ücreti çıktıdan düşürmeyi kabul ediyor musunuz?",
"confirm_sending": "Göndermeyi onayla",
+ "confirm_silent_payments_switch_node": "Şu anda sessiz ödemeleri taramak için düğümleri değiştirmek gerekiyor",
"confirmations": "Onay",
"confirmed": "Onaylanmış Bakiye",
"confirmed_tx": "Onaylanmış",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Adresini her kullandığında yeni adres oluşturuyoruz, ancak önceki adresler de çalışmaya devam eder",
"email_address": "E-posta Adresi",
"enable_replace_by_fee": "Farklı Değiştir'i Etkinleştir",
+ "enable_silent_payments_scanning": "Sessiz ödeme taramasını etkinleştirin",
"enabled": "Etkin",
"enter_amount": "Miktar Girin",
"enter_backup_password": "Yedekleme parolasını buraya gir",
@@ -275,6 +277,7 @@
"extracted_address_content": "Parayı buraya gönderceksin:\n${recipient_name}",
"failed_authentication": "Doğrulama başarısız oldu. ${state_error}",
"faq": "SSS",
+ "features": "Özellikler",
"fetching": "Getiriliyor",
"fiat_api": "İtibari Para API",
"fiat_balance": "Fiat Bakiyesi",
@@ -793,6 +796,7 @@
"warning": "Uyarı",
"welcome": "Hoş Geldiniz",
"welcome_to_cakepay": "Cake Pay'e Hoş Geldiniz!",
+ "what_is_silent_payments": "Sessiz ödemeler nedir?",
"widgets_address": "Adres",
"widgets_or": "veya",
"widgets_restore_from_blockheight": "Blok yüksekliğinden geri yükle",
diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb
index f3643a64b..4bc71e0e7 100644
--- a/res/values/strings_uk.arb
+++ b/res/values/strings_uk.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Підтвердьте відрахування комісії",
"confirm_fee_deduction_content": "Чи погоджуєтесь ви вирахувати комісію з сумми одержувача?",
"confirm_sending": "Підтвердити відправлення",
+ "confirm_silent_payments_switch_node": "В даний час потрібно перемикати вузли на сканування мовчазних платежів",
"confirmations": "Підтвердження",
"confirmed": "Підтверджений баланс",
"confirmed_tx": "Підтверджений",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "Ми створюємо нові адреси щоразу, коли ви використовуєте їх, але попередні адреси продовжують працювати",
"email_address": "Адреса електронної пошти",
"enable_replace_by_fee": "Увімкнути заміну з комісією",
+ "enable_silent_payments_scanning": "Увімкнути мовчазні платежі сканування",
"enabled": "Увімкнено",
"enter_amount": "Введіть суму",
"enter_backup_password": "Введіть пароль резервної копії",
@@ -275,6 +277,7 @@
"extracted_address_content": "Ви будете відправляти кошти\n${recipient_name}",
"failed_authentication": "Помилка аутентифікації. ${state_error}",
"faq": "FAQ",
+ "features": "Особливості",
"fetching": "Завантаження",
"fiat_api": "Фіат API",
"fiat_balance": "Фіат Баланс",
@@ -794,6 +797,7 @@
"warning": "УВАГА",
"welcome": "Вітаємо в",
"welcome_to_cakepay": "Ласкаво просимо до Cake Pay!",
+ "what_is_silent_payments": "Що таке мовчазні платежі?",
"widgets_address": "Адреса",
"widgets_or": "або",
"widgets_restore_from_blockheight": "Відновити на висоті блоку",
diff --git a/res/values/strings_ur.arb b/res/values/strings_ur.arb
index b39e211ef..89ebb2a63 100644
--- a/res/values/strings_ur.arb
+++ b/res/values/strings_ur.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "فیس میں کٹوتی کی تصدیق کریں",
"confirm_fee_deduction_content": "کیا آپ آؤٹ پٹ سے فیس کم کرنے پر راضی ہیں؟",
"confirm_sending": "بھیجنے کی تصدیق کریں۔",
+ "confirm_silent_payments_switch_node": "فی الحال خاموش ادائیگیوں کو اسکین کرنے کے لئے نوڈس کو تبدیل کرنے کی ضرورت ہے",
"confirmations": "تصدیقات",
"confirmed": "تصدیق شدہ بیلنس",
"confirmed_tx": "تصدیق",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "جب بھی آپ ایک کا استعمال کرتے ہیں تو ہم نئے پتے تیار کرتے ہیں، لیکن پچھلے پتے کام کرتے رہتے ہیں۔",
"email_address": "ای میل اڈریس",
"enable_replace_by_fee": "فی فیس کو تبدیل کریں",
+ "enable_silent_payments_scanning": "خاموش ادائیگیوں کو اسکیننگ کے قابل بنائیں",
"enabled": "فعال",
"enter_amount": "رقم درج کریں۔",
"enter_backup_password": "یہاں بیک اپ پاس ورڈ درج کریں۔",
@@ -275,6 +277,7 @@
"extracted_address_content": "آپ فنڈز بھیج رہے ہوں گے\n${recipient_name}",
"failed_authentication": "ناکام تصدیق۔ ${state_error}",
"faq": "عمومی سوالات",
+ "features": "خصوصیات",
"fetching": "لا رہا ہے۔",
"fiat_api": "Fiat API",
"fiat_balance": "فیاٹ بیلنس",
@@ -795,6 +798,7 @@
"warning": "وارننگ",
"welcome": "میں خوش آمدید",
"welcome_to_cakepay": "Cake پے میں خوش آمدید!",
+ "what_is_silent_payments": "خاموش ادائیگی کیا ہے؟",
"widgets_address": "پتہ",
"widgets_or": "یا",
"widgets_restore_from_blockheight": "بلاک ہائیٹ سے بحال کریں۔",
diff --git a/res/values/strings_yo.arb b/res/values/strings_yo.arb
index ea9caf637..352cb40aa 100644
--- a/res/values/strings_yo.arb
+++ b/res/values/strings_yo.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "Jẹrisi iyọkuro owo",
"confirm_fee_deduction_content": "Ṣe o gba lati yọkuro idiyele naa kuro ni iṣejade?",
"confirm_sending": "Jẹ́rìí sí ránṣẹ́",
+ "confirm_silent_payments_switch_node": "Lọwọlọwọ o nilo lati yi awọn apa pada si awọn sisanwo ipalọlọ",
"confirmations": "Àwọn ẹ̀rí",
"confirmed": "A ti jẹ́rìí ẹ̀",
"confirmed_tx": "Jẹrisi",
@@ -219,6 +220,7 @@
"electrum_address_disclaimer": "A dá àwọn àdírẹ́sì títun ní gbogbo àwọn ìgbà t'ẹ́ lo ó kan ṣùgbọ́n ẹ lè tẹ̀síwájú lo àwọn àdírẹ́sì tẹ́lẹ̀tẹ́lẹ̀.",
"email_address": "Àdírẹ́sì ímeèlì",
"enable_replace_by_fee": "Mu ki o rọpo",
+ "enable_silent_payments_scanning": "Mu ki awọn sisanwo ipalọlọ",
"enabled": "Wọ́n tíwọn ti tan",
"enter_amount": "Tẹ̀ iye",
"enter_backup_password": "Tẹ̀ ọ̀rọ̀ aṣínà ti ẹ̀dà ḿbí",
@@ -276,6 +278,7 @@
"extracted_address_content": "Ẹ máa máa fi owó ránṣẹ́ sí\n${recipient_name}",
"failed_authentication": "Ìfẹ̀rílàdí pipòfo. ${state_error}",
"faq": "Àwọn ìbéèrè l'a máa ń bèèrè",
+ "features": "Awọn ẹya",
"fetching": "ń wá",
"fiat_api": "Ojú ètò áàpù owó tí ìjọba pàṣẹ wa lò",
"fiat_balance": "Fiat Iwontunws.funfun",
@@ -794,6 +797,7 @@
"warning": "Ikilo",
"welcome": "Ẹ káàbọ sí",
"welcome_to_cakepay": "Ẹ káàbọ̀ sí Cake Pay!",
+ "what_is_silent_payments": "Kini awọn sisanwo ipalọlọ?",
"widgets_address": "Àdírẹ́sì",
"widgets_or": "tàbí",
"widgets_restore_from_blockheight": "Dá padà sípò láti gíga àkójọpọ̀",
diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb
index 822dc0b16..794128bf0 100644
--- a/res/values/strings_zh.arb
+++ b/res/values/strings_zh.arb
@@ -139,6 +139,7 @@
"confirm_fee_deduction": "确认费用扣除",
"confirm_fee_deduction_content": "您是否同意从产出中扣除费用?",
"confirm_sending": "确认发送",
+ "confirm_silent_payments_switch_node": "目前需要切换节点来扫描无声付款",
"confirmations": "确认",
"confirmed": "确认余额",
"confirmed_tx": "确认的",
@@ -218,6 +219,7 @@
"electrum_address_disclaimer": "每次您使用一个地址时,我们都会生成新地址,但之前的地址仍然有效",
"email_address": "电子邮件地址",
"enable_replace_by_fee": "启用by-Fee替换",
+ "enable_silent_payments_scanning": "启用无声付款扫描",
"enabled": "启用",
"enter_amount": "输入金额",
"enter_backup_password": "在此处输入備用密码",
@@ -275,6 +277,7 @@
"extracted_address_content": "您将汇款至\n${recipient_name}",
"failed_authentication": "身份验证失败. ${state_error}",
"faq": "FAQ",
+ "features": "特征",
"fetching": "正在获取",
"fiat_api": "法币API",
"fiat_balance": "法币余额",
@@ -793,6 +796,7 @@
"warning": "警告",
"welcome": "欢迎使用",
"welcome_to_cakepay": "欢迎来到 Cake Pay!",
+ "what_is_silent_payments": "什么是无声付款?",
"widgets_address": "地址",
"widgets_or": "或者",
"widgets_restore_from_blockheight": "从块高还原",
diff --git a/tool/configure.dart b/tool/configure.dart
index 9c5f4b590..6eb8f0e6c 100644
--- a/tool/configure.dart
+++ b/tool/configure.dart
@@ -72,6 +72,7 @@ import 'package:cw_core/unspent_coins_info.dart';
import 'package:cw_core/wallet_service.dart';
import 'package:cw_core/wallet_type.dart';
import 'package:cake_wallet/view_model/send/output.dart';
+import 'package:cake_wallet/store/settings_store.dart';
import 'package:hive/hive.dart';
import 'package:bitcoin_base/bitcoin_base.dart';""";
const bitcoinCWHeaders = """