feat: new cake features page replace market page, move sp scan toggle, auto switch node pop up alert

This commit is contained in:
Rafael Saes 2024-04-09 16:37:00 -03:00
parent 8ea2e6ee40
commit ddbb63ae46
41 changed files with 516 additions and 209 deletions

65
assets/images/cards.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 158 KiB

View file

@ -326,8 +326,15 @@ class CWBitcoin extends Bitcoin {
return bitcoinWallet.silentPaymentsScanningActive;
}
void setScanningActive(Object wallet, bool active) {
Future<void> 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<void> 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;
}
}

View file

@ -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<void> setup({
(onSuccessfulPinSetup, _) => SetupPinCodePage(getIt.get<SetupPinCodeViewModel>(),
onSuccessfulPinSetup: onSuccessfulPinSetup));
getIt.registerFactory(() => RescanViewModel(getIt.get<AppStore>().wallet!));
getIt.registerFactory(
() => RescanViewModel(getIt.get<AppStore>().wallet!, getIt.get<SettingsStore>()));
getIt.registerFactory(() => RescanPage(getIt.get<RescanViewModel>()));
@ -1048,7 +1049,7 @@ Future<void> setup({
getIt.registerFactory(() => IoniaGiftCardsListViewModel(ioniaService: getIt.get<IoniaService>()));
getIt.registerFactory(() => MarketPlaceViewModel(getIt.get<IoniaService>()));
getIt.registerFactory(() => CakeFeaturesViewModel(getIt.get<IoniaService>()));
getIt.registerFactory(() => IoniaAuthViewModel(ioniaService: getIt.get<IoniaService>()));
@ -1145,9 +1146,9 @@ Future<void> setup({
getIt.registerFactory(() => IoniaAccountCardsPage(getIt.get<IoniaAccountViewModel>()));
getIt.registerFactoryParam<RBFDetailsPage, TransactionInfo, void>(
(TransactionInfo transactionInfo, _) => RBFDetailsPage(
(TransactionInfo transactionInfo, _) => RBFDetailsPage(
transactionDetailsViewModel:
getIt.get<TransactionDetailsViewModel>(param1: transactionInfo)));
getIt.get<TransactionDetailsViewModel>(param1: transactionInfo)));
getIt.registerFactory(() => AnonPayApi(
useTorOnly: getIt.get<SettingsStore>().exchangeStatus == ExchangeApiMode.torOnly,

View file

@ -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<MarketPlaceViewModel>(),
cakeFeaturesViewModel: getIt.get<CakeFeaturesViewModel>(),
),
),
);

View file

@ -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<MarketPlaceViewModel>(),
cakeFeaturesViewModel: getIt.get<CakeFeaturesViewModel>(),
),
),
],

View file

@ -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<void>(
@ -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<BalancePageTheme>()!.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<BalancePageTheme>()!.assetTitleColor,
height: 1,
),
maxLines: 1,
textAlign: TextAlign.center,
),
Padding(
padding: const EdgeInsets.only(right: 8),
child: StandardSwitch(
value: silentPaymentsScanningActive, onTaped: setSilentPaymentsScanning),
)
],
),
]
],
),
),

View file

@ -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<DashboardPageTheme>()!.pageTitleTextColor,
),
),
Expanded(
child: ListView(
controller: _scrollController,
children: <Widget>[
// 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<BalancePageTheme>()!
.labelTextColor,
height: 1,
),
softWrap: true,
),
Padding(
padding: const EdgeInsets.symmetric(horizontal: 4),
child: Icon(Icons.help_outline,
size: 16,
color: Theme.of(context)
.extension<BalancePageTheme>()!
.labelTextColor),
)
],
),
),
Observer(
builder: (_) => StandardSwitch(
value: dashboardViewModel.silentPaymentsScanningActive,
onTaped: () => _toggleSilentPaymentsScanning(context),
),
)
],
),
],
),
onTap: () => _toggleSilentPaymentsScanning(context),
icon: Icon(
Icons.lock,
color:
Theme.of(context).extension<DashboardPageTheme>()!.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<void>(
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<void> _toggleSilentPaymentsScanning(BuildContext context) async {
final isSilentPaymentsScanningActive = dashboardViewModel.silentPaymentsScanningActive;
final newValue = !isSilentPaymentsScanningActive;
final needsToSwitch = bitcoin!.getNodeIsCakeElectrs(dashboardViewModel.wallet) == false;
if (needsToSwitch) {
return showPopUp<void>(
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);
}
}

View file

@ -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<DashboardPageTheme>()!.pageTitleTextColor,
),
),
Expanded(
child: ListView(
controller: _scrollController,
children: <Widget>[
// 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<void>(
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);
});
}
}
}

View file

@ -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<void> _toggleSilentPaymentsScanning(BuildContext context) async {
final needsToSwitch = bitcoin!.getNodeIsCakeElectrs(_rescanViewModel.wallet) == false;
if (needsToSwitch) {
return showPopUp<void>(
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();
}
}

View file

@ -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<BalancePageTheme>()!.cardBorderColor,
),
),
child:
Column(
child: Column(
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
title,
style: TextStyle(
color: Theme.of(context).extension<DashboardPageTheme>()!.cardTextColor,
fontSize: 24,
fontWeight: FontWeight.w900,
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
title,
style: TextStyle(
color:
Theme.of(context).extension<DashboardPageTheme>()!.cardTextColor,
fontSize: 24,
fontWeight: FontWeight.w900,
),
softWrap: true,
),
SizedBox(height: 5),
Text(
subTitle,
style: TextStyle(
color: Theme.of(context)
.extension<DashboardPageTheme>()!
.cardTextColor,
fontWeight: FontWeight.w500,
fontFamily: 'Lato'),
softWrap: true,
),
],
),
),
SizedBox(height: 5),
Text(
subTitle,
style: TextStyle(
color: Theme.of(context).extension<DashboardPageTheme>()!.cardTextColor,
fontWeight: FontWeight.w500,
fontFamily: 'Lato'),
)
if (svgPicture != null) svgPicture!,
if (icon != null) icon!
],
),
if (hint != null) ...[
SizedBox(height: 10),
hint!,
]
],
),
),
],
),
);
}
}

View file

@ -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<bool> isIoniaUserAuthenticated() async {
return await _ioniaService.isLogined();
}
}

View file

@ -318,7 +318,7 @@ abstract class DashboardViewModelBase with Store {
silentPaymentsScanningActive = active;
if (hasSilentPayments) {
bitcoin!.setScanningActive(wallet, active);
bitcoin!.setScanningActive(wallet, settingsStore, active);
}
}

View file

@ -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<bool> isIoniaUserAuthenticated() async {
return await _ioniaService.isLogined();
}
}

View file

@ -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<void> 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;
}

View file

@ -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": "استعادة من ارتفاع البلوك",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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": "ब्लॉकचेन से पुनर्स्थापित करें",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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": "ブロックの高さから復元",

View file

@ -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": "블록 높이에서 복원",

View file

@ -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": "အမြင့်မှ ပြန်လည်ရယူပါ။",

View file

@ -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",

View file

@ -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",

View file

@ -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",

View file

@ -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": "Восстановить на высоте блока",

View file

@ -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": "กู้คืนจากระดับบล็อก",

View file

@ -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",

View file

@ -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",

View file

@ -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": "Відновити на висоті блоку",

View file

@ -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": "بلاک ہائیٹ سے بحال کریں۔",

View file

@ -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ọ̀",

View file

@ -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": "从块高还原",

View file

@ -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 = """