mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-01-10 21:04:53 +00:00
Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-519-tor
This commit is contained in:
commit
d3dde83d57
38 changed files with 167 additions and 115 deletions
|
@ -1,6 +1,6 @@
|
|||
Privacy Policy
|
||||
|
||||
Last modified: August 9, 2023
|
||||
Last modified: January 24, 2024
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
@ -112,12 +112,12 @@ Data Security
|
|||
|
||||
In any situation, Cake Labs takes no responsibility for interception of personal data by any outside individual, group, corporation, or institution. You should understand this and take any and all appropriate actions to secure your own data.
|
||||
|
||||
Links to Other Websites
|
||||
-----------------------
|
||||
Other Websites and Third-Party Services
|
||||
---------------------------------------
|
||||
|
||||
The App may contain links to other websites that are not operated by us. If you click on a Third-Party Service link, you will be directed to that third party's site. We strongly advise you to review the Privacy Policy of every site you visit. We have no control over and assume no responsibility for the content, privacy policies or practices of any third-party sites or services.
|
||||
|
||||
The App includes several optional Third-Party Services, which may not be available to all users. If you use Third-Party Services, you must agree to their respective Privacy Policies.
|
||||
The App includes several optional Third-Party Services, which may not be available to all users. If you use Third-Party Services, you must agree to their respective Privacy Policies. When using certain optional features in the app such as buying and selling, you may be asked to provide information to a Third-Party Service. You will need to read and accept the privacy policy for that third party. This Third-Party Service may ask for your name, your photo ID, your social security number or other similar number, mailing address, cryptocurrency address, or other information. They may ask you to take a selfie image. Information shared with a Third-Party Service is subject to their respective Privacy Policies.
|
||||
|
||||
Changes to Our Privacy Policy
|
||||
-----------------------------
|
||||
|
|
|
@ -190,11 +190,15 @@ I/flutter ( 4474): Gas Used: 53000
|
|||
Future<ERC20Balance> fetchERC20Balances(
|
||||
EthereumAddress userAddress, String contractAddress) async {
|
||||
final erc20 = ERC20(address: EthereumAddress.fromHex(contractAddress), client: _client!);
|
||||
final balance = await erc20.balanceOf(userAddress);
|
||||
try {
|
||||
final balance = await erc20.balanceOf(userAddress);
|
||||
|
||||
int exponent = (await erc20.decimals()).toInt();
|
||||
int exponent = (await erc20.decimals()).toInt();
|
||||
|
||||
return ERC20Balance(balance, exponent: exponent);
|
||||
return ERC20Balance(balance, exponent: exponent);
|
||||
} catch (_) {
|
||||
return ERC20Balance(BigInt.zero);
|
||||
}
|
||||
}
|
||||
|
||||
Future<Erc20Token?> getErc20Token(String contractAddress) async {
|
||||
|
|
|
@ -617,7 +617,6 @@ Future<void> setup({
|
|||
_walletInfoSource,
|
||||
getIt.get<AppStore>(),
|
||||
getIt.get<WalletLoadingService>(),
|
||||
getIt.get<AuthService>(),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
|
@ -628,7 +627,6 @@ Future<void> setup({
|
|||
_walletInfoSource,
|
||||
getIt.get<AppStore>(),
|
||||
getIt.get<WalletLoadingService>(),
|
||||
getIt.get<AuthService>(),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
@ -737,7 +735,7 @@ Future<void> setup({
|
|||
});
|
||||
|
||||
getIt.registerFactory(() {
|
||||
return SecuritySettingsViewModel(getIt.get<SettingsStore>(), getIt.get<AuthService>());
|
||||
return SecuritySettingsViewModel(getIt.get<SettingsStore>());
|
||||
});
|
||||
|
||||
getIt.registerFactory(() => WalletSeedViewModel(getIt.get<AppStore>().wallet!));
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
import 'package:cake_wallet/generated/i18n.dart';
|
||||
import 'package:cake_wallet/src/screens/base_page.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_inappwebview/flutter_inappwebview.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
|
@ -14,13 +17,14 @@ class WebViewPage extends BasePage {
|
|||
|
||||
@override
|
||||
Widget body(BuildContext context) {
|
||||
return WebViewPageBody(_url);
|
||||
return WebViewPageBody(_title, _url);
|
||||
}
|
||||
}
|
||||
|
||||
class WebViewPageBody extends StatefulWidget {
|
||||
WebViewPageBody(this.uri);
|
||||
WebViewPageBody(this.title, this.uri);
|
||||
|
||||
final String title;
|
||||
final Uri uri;
|
||||
|
||||
@override
|
||||
|
@ -40,6 +44,27 @@ class WebViewPageBodyState extends State<WebViewPageBody> {
|
|||
onPermissionRequest: (controller, request) async {
|
||||
bool permissionGranted = await Permission.camera.status == PermissionStatus.granted;
|
||||
if (!permissionGranted) {
|
||||
final bool userConsent = await showPopUp<bool>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
return AlertWithTwoActions(
|
||||
alertTitle: S.of(context).privacy,
|
||||
alertContent: S.of(context).camera_consent(widget.title),
|
||||
rightButtonText: S.of(context).agree,
|
||||
leftButtonText: S.of(context).cancel,
|
||||
actionRightButton: () => Navigator.of(context).pop(true),
|
||||
actionLeftButton: () => Navigator.of(context).pop(false));
|
||||
}) ??
|
||||
false;
|
||||
|
||||
/// if user did NOT give the consent then return permission denied
|
||||
if (!userConsent) {
|
||||
return PermissionResponse(
|
||||
resources: request.resources,
|
||||
action: PermissionResponseAction.DENY,
|
||||
);
|
||||
}
|
||||
|
||||
permissionGranted = await Permission.camera.request().isGranted;
|
||||
}
|
||||
|
||||
|
|
|
@ -166,12 +166,16 @@ class _DesktopWalletSelectionDropDownState extends State<DesktopWalletSelectionD
|
|||
}
|
||||
|
||||
try {
|
||||
changeProcessText(S.of(context).wallet_list_loading_wallet(wallet.name));
|
||||
if (context.mounted) {
|
||||
changeProcessText(S.of(context).wallet_list_loading_wallet(wallet.name));
|
||||
}
|
||||
await widget.walletListViewModel.loadWallet(wallet);
|
||||
hideProgressText();
|
||||
setState(() {});
|
||||
} catch (e) {
|
||||
changeProcessText(S.of(context).wallet_list_failed_to_load(wallet.name, e.toString()));
|
||||
if (context.mounted) {
|
||||
changeProcessText(S.of(context).wallet_list_failed_to_load(wallet.name, e.toString()));
|
||||
}
|
||||
}
|
||||
},
|
||||
conditionToDetermineIfToUse2FA:
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import 'package:cake_wallet/routes.dart';
|
||||
import 'package:cake_wallet/themes/extensions/cake_text_theme.dart';
|
||||
import 'dart:ui';
|
||||
import 'package:cake_wallet/themes/extensions/exchange_page_theme.dart';
|
||||
|
@ -343,7 +344,11 @@ class ExchangeTradeState extends State<ExchangeTradeForm> {
|
|||
bottom: 24,
|
||||
child: PrimaryButton(
|
||||
onPressed: () {
|
||||
Navigator.of(popupContext).pop();
|
||||
Navigator.pushNamedAndRemoveUntil(
|
||||
popupContext,
|
||||
Routes.dashboard,
|
||||
(route) => false,
|
||||
);
|
||||
RequestReviewHandler.requestReview();
|
||||
},
|
||||
text: S.of(popupContext).got_it,
|
||||
|
|
|
@ -28,15 +28,18 @@ class NewWalletTypePage extends BasePage {
|
|||
|
||||
@override
|
||||
Widget body(BuildContext context) => WalletTypeForm(
|
||||
onTypeSelected: onTypeSelected,
|
||||
walletImage: currentTheme.type == ThemeType.dark ? walletTypeImage : walletTypeLightImage);
|
||||
onTypeSelected: onTypeSelected,
|
||||
walletImage: currentTheme.type == ThemeType.dark ? walletTypeImage : walletTypeLightImage,
|
||||
isCreate: isCreate,
|
||||
);
|
||||
}
|
||||
|
||||
class WalletTypeForm extends StatefulWidget {
|
||||
WalletTypeForm({required this.onTypeSelected, required this.walletImage});
|
||||
WalletTypeForm({required this.onTypeSelected, required this.walletImage, required this.isCreate});
|
||||
|
||||
final void Function(BuildContext, WalletType) onTypeSelected;
|
||||
final Image walletImage;
|
||||
final bool isCreate;
|
||||
|
||||
@override
|
||||
WalletTypeFormState createState() => WalletTypeFormState();
|
||||
|
@ -131,7 +134,7 @@ class WalletTypeFormState extends State<WalletTypeForm> {
|
|||
throw Exception('Wallet Type is not selected yet.');
|
||||
}
|
||||
|
||||
if (selected == WalletType.haven) {
|
||||
if (selected == WalletType.haven && widget.isCreate) {
|
||||
return await showPopUp<void>(
|
||||
context: context,
|
||||
builder: (BuildContext context) {
|
||||
|
|
|
@ -478,7 +478,7 @@ class SendCardState extends State<SendCard> with AutomaticKeepAliveClientMixin<S
|
|||
Text(
|
||||
output.estimatedFee.toString() +
|
||||
' ' +
|
||||
sendViewModel.selectedCryptoCurrency.toString(),
|
||||
sendViewModel.currency.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 12,
|
||||
fontWeight: FontWeight.w600,
|
||||
|
|
|
@ -2,7 +2,6 @@ import 'dart:io';
|
|||
|
||||
import 'package:cake_wallet/bitcoin/bitcoin.dart';
|
||||
import 'package:cake_wallet/bitcoin_cash/bitcoin_cash.dart';
|
||||
import 'package:cake_wallet/buy/buy_provider.dart';
|
||||
import 'package:cake_wallet/entities/auto_generate_subaddress_status.dart';
|
||||
import 'package:cake_wallet/entities/provider_types.dart';
|
||||
import 'package:cake_wallet/entities/cake_2fa_preset_options.dart';
|
||||
|
@ -42,7 +41,7 @@ import 'package:cake_wallet/monero/monero.dart';
|
|||
import 'package:cake_wallet/entities/action_list_display_mode.dart';
|
||||
import 'package:cake_wallet/entities/fiat_api_mode.dart';
|
||||
import 'package:cw_core/set_app_secure_native.dart';
|
||||
import 'package:tor/tor.dart';
|
||||
|
||||
part 'settings_store.g.dart';
|
||||
|
||||
class SettingsStore = SettingsStoreBase with _$SettingsStore;
|
||||
|
@ -1107,34 +1106,37 @@ abstract class SettingsStoreBase with Store {
|
|||
priority[WalletType.monero] = monero?.deserializeMoneroTransactionPriority(
|
||||
raw: sharedPreferences.getInt(PreferencesKey.moneroTransactionPriority)!) ??
|
||||
priority[WalletType.monero]!;
|
||||
priority[WalletType.bitcoin] = bitcoin?.deserializeBitcoinTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.moneroTransactionPriority)!) ??
|
||||
priority[WalletType.bitcoin]!;
|
||||
|
||||
if (sharedPreferences.getInt(PreferencesKey.havenTransactionPriority) != null) {
|
||||
priority[WalletType.haven] = monero?.deserializeMoneroTransactionPriority(
|
||||
raw: sharedPreferences.getInt(PreferencesKey.havenTransactionPriority)!) ??
|
||||
priority[WalletType.haven]!;
|
||||
if (bitcoin != null &&
|
||||
sharedPreferences.getInt(PreferencesKey.bitcoinTransactionPriority) != null) {
|
||||
priority[WalletType.bitcoin] = bitcoin!.deserializeBitcoinTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.bitcoinTransactionPriority)!);
|
||||
}
|
||||
if (sharedPreferences.getInt(PreferencesKey.litecoinTransactionPriority) != null) {
|
||||
priority[WalletType.litecoin] = bitcoin?.deserializeLitecoinTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.litecoinTransactionPriority)!) ??
|
||||
priority[WalletType.litecoin]!;
|
||||
|
||||
if (monero != null &&
|
||||
sharedPreferences.getInt(PreferencesKey.havenTransactionPriority) != null) {
|
||||
priority[WalletType.haven] = monero!.deserializeMoneroTransactionPriority(
|
||||
raw: sharedPreferences.getInt(PreferencesKey.havenTransactionPriority)!);
|
||||
}
|
||||
if (sharedPreferences.getInt(PreferencesKey.ethereumTransactionPriority) != null) {
|
||||
priority[WalletType.ethereum] = ethereum?.deserializeEthereumTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.ethereumTransactionPriority)!) ??
|
||||
priority[WalletType.ethereum]!;
|
||||
if (bitcoin != null &&
|
||||
sharedPreferences.getInt(PreferencesKey.litecoinTransactionPriority) != null) {
|
||||
priority[WalletType.litecoin] = bitcoin!.deserializeLitecoinTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.litecoinTransactionPriority)!);
|
||||
}
|
||||
if (sharedPreferences.getInt(PreferencesKey.polygonTransactionPriority) != null) {
|
||||
priority[WalletType.polygon] = polygon?.deserializePolygonTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.polygonTransactionPriority)!) ??
|
||||
priority[WalletType.polygon]!;
|
||||
if (ethereum != null &&
|
||||
sharedPreferences.getInt(PreferencesKey.ethereumTransactionPriority) != null) {
|
||||
priority[WalletType.ethereum] = ethereum!.deserializeEthereumTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.ethereumTransactionPriority)!);
|
||||
}
|
||||
if (sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority) != null) {
|
||||
priority[WalletType.bitcoinCash] = bitcoinCash?.deserializeBitcoinCashTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority)!) ??
|
||||
priority[WalletType.bitcoinCash]!;
|
||||
if (polygon != null &&
|
||||
sharedPreferences.getInt(PreferencesKey.polygonTransactionPriority) != null) {
|
||||
priority[WalletType.polygon] = polygon!.deserializePolygonTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.polygonTransactionPriority)!);
|
||||
}
|
||||
if (bitcoinCash != null &&
|
||||
sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority) != null) {
|
||||
priority[WalletType.bitcoinCash] = bitcoinCash!.deserializeBitcoinCashTransactionPriority(
|
||||
sharedPreferences.getInt(PreferencesKey.bitcoinCashTransactionPriority)!);
|
||||
}
|
||||
|
||||
final generateSubaddresses =
|
||||
|
@ -1214,7 +1216,6 @@ abstract class SettingsStoreBase with Store {
|
|||
final ethereumNodeId = sharedPreferences.getInt(PreferencesKey.currentEthereumNodeIdKey);
|
||||
final polygonNodeId = sharedPreferences.getInt(PreferencesKey.currentPolygonNodeIdKey);
|
||||
final nanoNodeId = sharedPreferences.getInt(PreferencesKey.currentNanoNodeIdKey);
|
||||
final nanoPowNodeId = sharedPreferences.getInt(PreferencesKey.currentNanoNodeIdKey);
|
||||
final moneroNode = nodeSource.get(nodeId);
|
||||
final bitcoinElectrumServer = nodeSource.get(bitcoinElectrumServerId);
|
||||
final litecoinElectrumServer = nodeSource.get(litecoinElectrumServerId);
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import 'package:cake_wallet/core/auth_service.dart';
|
||||
import 'package:cake_wallet/entities/biometric_auth.dart';
|
||||
import 'package:cake_wallet/entities/pin_code_required_duration.dart';
|
||||
import 'package:cake_wallet/store/settings_store.dart';
|
||||
|
@ -9,14 +8,10 @@ part 'security_settings_view_model.g.dart';
|
|||
class SecuritySettingsViewModel = SecuritySettingsViewModelBase with _$SecuritySettingsViewModel;
|
||||
|
||||
abstract class SecuritySettingsViewModelBase with Store {
|
||||
SecuritySettingsViewModelBase(
|
||||
this._settingsStore,
|
||||
this._authService,
|
||||
) : _biometricAuth = BiometricAuth();
|
||||
SecuritySettingsViewModelBase(this._settingsStore) : _biometricAuth = BiometricAuth();
|
||||
|
||||
final BiometricAuth _biometricAuth;
|
||||
final SettingsStore _settingsStore;
|
||||
final AuthService _authService;
|
||||
|
||||
@computed
|
||||
bool get allowBiometricalAuthentication => _settingsStore.allowBiometricalAuthentication;
|
||||
|
@ -41,8 +36,6 @@ abstract class SecuritySettingsViewModelBase with Store {
|
|||
_settingsStore.allowBiometricalAuthentication = value;
|
||||
|
||||
@action
|
||||
setPinCodeRequiredDuration(PinCodeRequiredDuration duration) =>
|
||||
void setPinCodeRequiredDuration(PinCodeRequiredDuration duration) =>
|
||||
_settingsStore.pinTimeOutDuration = duration;
|
||||
|
||||
Future<bool> checkPinCodeRiquired() => _authService.requireAuth();
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import 'package:cake_wallet/core/auth_service.dart';
|
||||
import 'package:cake_wallet/core/wallet_loading_service.dart';
|
||||
import 'package:cake_wallet/entities/wallet_list_order_types.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
|
@ -18,7 +17,6 @@ abstract class WalletListViewModelBase with Store {
|
|||
this._walletInfoSource,
|
||||
this._appStore,
|
||||
this._walletLoadingService,
|
||||
this._authService,
|
||||
) : wallets = ObservableList<WalletListItem>() {
|
||||
setOrderType(_appStore.settingsStore.walletListOrder);
|
||||
reaction((_) => _appStore.wallet, (_) => updateList());
|
||||
|
@ -39,7 +37,6 @@ abstract class WalletListViewModelBase with Store {
|
|||
final AppStore _appStore;
|
||||
final Box<WalletInfo> _walletInfoSource;
|
||||
final WalletLoadingService _walletLoadingService;
|
||||
final AuthService _authService;
|
||||
|
||||
WalletType get currentWalletType => _appStore.wallet!.type;
|
||||
|
||||
|
@ -160,8 +157,4 @@ abstract class WalletListViewModelBase with Store {
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Future<bool> checkIfAuthRequired() async {
|
||||
return _authService.requireAuth();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@ EXTERNAL SOURCES:
|
|||
|
||||
SPEC CHECKSUMS:
|
||||
connectivity_plus_macos: f6e86fd000e971d361e54b5afcadc8c8fa773308
|
||||
cw_monero: ec03de55a19c4a2b174ea687e0f4202edc716fa4
|
||||
cw_monero: f8b7f104508efba2591548e76b5c058d05cba3f0
|
||||
device_info_plus: 5401765fde0b8d062a2f8eb65510fb17e77cf07f
|
||||
devicelocale: 9f0f36ac651cabae2c33f32dcff4f32b61c38225
|
||||
flutter_inappwebview_macos: 9600c9df9fdb346aaa8933812009f8d94304203d
|
||||
|
|
|
@ -771,5 +771,6 @@
|
|||
"transaction_details_source_address": "عنوان المصدر",
|
||||
"pause_wallet_creation": ".ﺎﻴًﻟﺎﺣ ﺎﺘًﻗﺆﻣ ﺔﻔﻗﻮﺘﻣ Haven Wallet ءﺎﺸﻧﺇ ﻰﻠﻋ ﺓﺭﺪﻘﻟﺍ",
|
||||
"tor_feature_disabled": "يتم تعطيل هذه الميزة بينما يتم تمكين وضع TOR فقط لحماية خصوصيتك لأن هذه الميزة لا تتصل عبر Tor",
|
||||
"tor_only_warning": "قد يتم تعطيل بعض الميزات لحماية خصوصيتك عند استخدام وضع TOR فقط"
|
||||
}
|
||||
"tor_only_warning": "قد يتم تعطيل بعض الميزات لحماية خصوصيتك عند استخدام وضع TOR فقط",
|
||||
"camera_consent": ".ﻞﻴﺻﺎﻔﺘﻟﺍ ﻰﻠﻋ ﻝﻮﺼﺤﻠﻟ ﻢﻬﺑ ﺔﺻﺎﺨﻟﺍ ﺔﻴﺻﻮﺼﺨﻟﺍ ﺔﺳﺎﻴﺳ ﻦﻣ ﻖﻘﺤﺘﻟﺍ ﻰﺟﺮﻳ .${provider} ﻝﻮﻠ"
|
||||
}
|
||||
|
|
|
@ -767,5 +767,6 @@
|
|||
"transaction_details_source_address": "Адрес на източника",
|
||||
"pause_wallet_creation": "Възможността за създаване на Haven Wallet в момента е на пауза.",
|
||||
"tor_feature_disabled": "Тази функция е деактивирана, докато само режимът на TOR е активиран да защити вашата поверителност, тъй като тази функция не се свързва над TOR",
|
||||
"tor_only_warning": "Някои функции могат да бъдат деактивирани, за да защитят вашата поверителност, когато използвате само TOR режим"
|
||||
}
|
||||
"tor_only_warning": "Някои функции могат да бъдат деактивирани, за да защитят вашата поверителност, когато използвате само TOR режим",
|
||||
"camera_consent": "Вашият фотоапарат ще бъде използван за заснемане на изображение с цел идентификация от ${provider}. Моля, проверете тяхната политика за поверителност за подробности."
|
||||
}
|
||||
|
|
|
@ -767,5 +767,6 @@
|
|||
"transaction_details_source_address": "Zdrojová adresa",
|
||||
"pause_wallet_creation": "Možnost vytvářet Haven Wallet je momentálně pozastavena.",
|
||||
"tor_feature_disabled": "Tato funkce je zakázána, zatímco režim pouze TOR je povolen k ochraně vašeho soukromí, protože tato funkce se nepřipojuje přes tor",
|
||||
"tor_only_warning": "Některé funkce mohou být deaktivovány k ochraně vašeho soukromí při používání režimu pouze TOR"
|
||||
}
|
||||
"tor_only_warning": "Některé funkce mohou být deaktivovány k ochraně vašeho soukromí při používání režimu pouze TOR",
|
||||
"camera_consent": "Váš fotoaparát použije k pořízení snímku pro účely identifikace ${provider}. Podrobnosti najdete v jejich Zásadách ochrany osobních údajů."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "Quelladresse",
|
||||
"pause_wallet_creation": "Die Möglichkeit, Haven Wallet zu erstellen, ist derzeit pausiert.",
|
||||
"tor_feature_disabled": "Diese Funktion ist deaktiviert, während der TOR -Modus für den Schutz Ihrer Privatsphäre aktiviert ist, da diese Funktion nicht über TOR hergestellt wird",
|
||||
"tor_only_warning": "Einige Funktionen können deaktiviert sein, um Ihre Privatsphäre zu schützen, wenn Sie nur den TOR -Modus verwenden"
|
||||
}
|
||||
"tor_only_warning": "Einige Funktionen können deaktiviert sein, um Ihre Privatsphäre zu schützen, wenn Sie nur den TOR -Modus verwenden",
|
||||
"camera_consent": "Mit Ihrer Kamera wird bis zum ${provider} ein Bild zur Identifizierung aufgenommen. Weitere Informationen finden Sie in deren Datenschutzbestimmungen."
|
||||
}
|
||||
|
|
|
@ -776,5 +776,6 @@
|
|||
"transaction_details_source_address": "Source address",
|
||||
"pause_wallet_creation": "Ability to create Haven Wallet is currently paused.",
|
||||
"tor_feature_disabled": "This feature is disabled while Tor Only mode is enabled to protect your privacy as this feature doesn't connect over Tor",
|
||||
"tor_only_warning": "Some features may be disabled to protect your privacy when using Tor only mode"
|
||||
}
|
||||
"tor_only_warning": "Some features may be disabled to protect your privacy when using Tor only mode",
|
||||
"camera_consent": "Your camera will be used to capture an image for identification purposes by ${provider}. Please check their Privacy Policy for details."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "Dirección de la fuente",
|
||||
"pause_wallet_creation": "La capacidad para crear Haven Wallet está actualmente pausada.",
|
||||
"tor_feature_disabled": "Esta característica está deshabilitada, mientras que el modo de solo tor está habilitado para proteger su privacidad, ya que esta función no se conecta a través de Tor",
|
||||
"tor_only_warning": "Algunas características pueden desactivarse para proteger su privacidad cuando se usa solo el modo Tor"
|
||||
}
|
||||
"tor_only_warning": "Algunas características pueden desactivarse para proteger su privacidad cuando se usa solo el modo Tor",
|
||||
"camera_consent": "Su cámara será utilizada para capturar una imagen con fines de identificación por ${provider}. Consulte su Política de privacidad para obtener más detalles."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "Adresse source",
|
||||
"pause_wallet_creation": "La possibilité de créer Haven Wallet est actuellement suspendue.",
|
||||
"tor_feature_disabled": "Cette fonction est désactivée tandis que le mode Tor unique",
|
||||
"tor_only_warning": "Certaines fonctionnalités peuvent être désactivées pour protéger votre vie privée lorsque vous utilisez le mode Tor uniquement"
|
||||
}
|
||||
"tor_only_warning": "Certaines fonctionnalités peuvent être désactivées pour protéger votre vie privée lorsque vous utilisez le mode Tor uniquement",
|
||||
"camera_consent": "Votre appareil photo sera utilisé pour capturer une image à des fins d'identification par ${provider}. Veuillez consulter leur politique de confidentialité pour plus de détails."
|
||||
}
|
||||
|
|
|
@ -757,5 +757,6 @@
|
|||
"transaction_details_source_address": "Adireshin Incord",
|
||||
"pause_wallet_creation": "A halin yanzu an dakatar da ikon ƙirƙirar Haven Wallet.",
|
||||
"tor_feature_disabled": "An kunna wannan fasalin kawai yayin da kawai ana kunna yanayin don kare sirrinka saboda wannan fasalin bashi da alaƙa da tor",
|
||||
"tor_only_warning": "Ana iya kashe wasu fasaloli don kare sirrinka lokacin da kake amfani da tor kawai"
|
||||
}
|
||||
"tor_only_warning": "Ana iya kashe wasu fasaloli don kare sirrinka lokacin da kake amfani da tor kawai",
|
||||
"camera_consent": "Za a yi amfani da kyamarar ku don ɗaukar hoto don dalilai na tantancewa ta ${provider}. Da fatan za a duba Manufar Sirri don cikakkun bayanai."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "स्रोत पता",
|
||||
"pause_wallet_creation": "हेवन वॉलेट बनाने की क्षमता फिलहाल रुकी हुई है।",
|
||||
"tor_feature_disabled": "यह सुविधा अक्षम है, जबकि टॉर केवल मोड आपकी गोपनीयता की सुरक्षा के लिए सक्षम है क्योंकि यह सुविधा टीओआर से कनेक्ट नहीं होती है",
|
||||
"tor_only_warning": "TOR केवल मोड का उपयोग करते समय आपकी गोपनीयता की सुरक्षा के लिए कुछ सुविधाएँ अक्षम हो सकती हैं"
|
||||
}
|
||||
"tor_only_warning": "TOR केवल मोड का उपयोग करते समय आपकी गोपनीयता की सुरक्षा के लिए कुछ सुविधाएँ अक्षम हो सकती हैं",
|
||||
"camera_consent": "आपके कैमरे का उपयोग ${provider} द्वारा पहचान उद्देश्यों के लिए एक छवि कैप्चर करने के लिए किया जाएगा। विवरण के लिए कृपया उनकी गोपनीयता नीति जांचें।"
|
||||
}
|
||||
|
|
|
@ -773,5 +773,6 @@
|
|||
"transaction_details_source_address": "Adresa izvora",
|
||||
"pause_wallet_creation": "Mogućnost stvaranja novčanika Haven trenutno je pauzirana.",
|
||||
"tor_feature_disabled": "Ova je značajka onemogućena dok je način samo TOR omogućen kako bi zaštitio vašu privatnost jer se ova značajka ne povezuje preko Tor -a",
|
||||
"tor_only_warning": "Neke značajke mogu biti onemogućene za zaštitu vaše privatnosti kada koristite TOR način"
|
||||
}
|
||||
"tor_only_warning": "Neke značajke mogu biti onemogućene za zaštitu vaše privatnosti kada koristite TOR način",
|
||||
"camera_consent": "Vaš će fotoaparat koristiti za snimanje slike u svrhu identifikacije od strane ${provider}. Pojedinosti potražite u njihovoj politici privatnosti."
|
||||
}
|
||||
|
|
|
@ -763,5 +763,6 @@
|
|||
"transaction_details_source_address": "Alamat sumber",
|
||||
"pause_wallet_creation": "Kemampuan untuk membuat Haven Wallet saat ini dijeda.",
|
||||
"tor_feature_disabled": "Fitur ini dinonaktifkan sementara mode Tor Only diaktifkan untuk melindungi privasi Anda karena fitur ini tidak terhubung melalui Tor",
|
||||
"tor_only_warning": "Beberapa fitur mungkin dinonaktifkan untuk melindungi privasi Anda saat menggunakan mode tor saja"
|
||||
}
|
||||
"tor_only_warning": "Beberapa fitur mungkin dinonaktifkan untuk melindungi privasi Anda saat menggunakan mode tor saja",
|
||||
"camera_consent": "Kamera Anda akan digunakan untuk mengambil gambar untuk tujuan identifikasi oleh ${provider}. Silakan periksa Kebijakan Privasi mereka untuk detailnya."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "Indirizzo di partenza",
|
||||
"pause_wallet_creation": "La possibilità di creare Haven Wallet è attualmente sospesa.",
|
||||
"tor_feature_disabled": "Questa funzione è disabilitata mentre la modalità solo TOR è abilitata per proteggere la tua privacy in quanto questa funzione non si collega a Tor",
|
||||
"tor_only_warning": "Alcune funzionalità possono essere disabilitate per proteggere la tua privacy quando si utilizzano solo la modalità Tor"
|
||||
}
|
||||
"tor_only_warning": "Alcune funzionalità possono essere disabilitate per proteggere la tua privacy quando si utilizzano solo la modalità Tor",
|
||||
"camera_consent": "La tua fotocamera verrà utilizzata per acquisire un'immagine a scopo identificativo da ${provider}. Si prega di controllare la loro Informativa sulla privacy per i dettagli."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "ソースアドレス",
|
||||
"pause_wallet_creation": "Haven Wallet を作成する機能は現在一時停止されています。",
|
||||
"tor_feature_disabled": "この機能はプライバシーを保護するためにTORのみモードが有効になっている間、この機能は無効になります。この機能はTORに接続していないため",
|
||||
"tor_only_warning": "TORのみのモードを使用する場合、プライバシーを保護するためにいくつかの機能が無効になる場合があります"
|
||||
}
|
||||
"tor_only_warning": "TORのみのモードを使用する場合、プライバシーを保護するためにいくつかの機能が無効になる場合があります",
|
||||
"camera_consent": "あなたのカメラは、${provider}_ までに識別目的で画像を撮影するために使用されます。詳細については、プライバシー ポリシーをご確認ください。"
|
||||
}
|
||||
|
|
|
@ -773,5 +773,6 @@
|
|||
"transaction_details_source_address": "소스 주소",
|
||||
"pause_wallet_creation": "Haven Wallet 생성 기능이 현재 일시 중지되었습니다.",
|
||||
"tor_feature_disabled": "이 기능은 TOR 전용 모드가 사용되지 않으므로이 기능은 TOR에 연결되지 않으므로 개인 정보를 보호 할 수 있습니다.",
|
||||
"tor_only_warning": "Tor 전용 모드를 사용할 때 개인 정보를 보호하기 위해 일부 기능이 비활성화 될 수 있습니다."
|
||||
}
|
||||
"tor_only_warning": "Tor 전용 모드를 사용할 때 개인 정보를 보호하기 위해 일부 기능이 비활성화 될 수 있습니다.",
|
||||
"camera_consent": "귀하의 카메라는 ${provider}의 식별 목적으로 이미지를 캡처하는 데 사용됩니다. 자세한 내용은 해당 개인정보 보호정책을 확인하세요."
|
||||
}
|
||||
|
|
|
@ -773,5 +773,6 @@
|
|||
"transaction_details_source_address": "အရင်းအမြစ်လိပ်စာ",
|
||||
"pause_wallet_creation": "Haven Wallet ဖန်တီးနိုင်မှုကို လောလောဆယ် ခေတ္တရပ်ထားသည်။",
|
||||
"tor_feature_disabled": "ဤအင်္ဂါရပ်ကိုမသန်မစွမ်းဖြစ်သော်လည်း Tor တစ်ခုတည်းသော mode ကိုသင်၏ privacy ကိုကာကွယ်ရန်အတွက်ဤအင်္ဂါရပ်သည် Tor ကိုမချိတ်ဆက်ပါကကာကွယ်နိုင်သည်",
|
||||
"tor_only_warning": "Tor တစ်ခုတည်းသော mode ကိုသုံးသောအခါသင်၏ privacy ကိုကာကွယ်ရန်အချို့သောအင်္ဂါရပ်များကိုပိတ်ထားနိုင်သည်"
|
||||
}
|
||||
"tor_only_warning": "Tor တစ်ခုတည်းသော mode ကိုသုံးသောအခါသင်၏ privacy ကိုကာကွယ်ရန်အချို့သောအင်္ဂါရပ်များကိုပိတ်ထားနိုင်သည်",
|
||||
"camera_consent": "မှတ်ပုံတင်ခြင်းရည်ရွယ်ချက်များအတွက် ${provider} တွင် သင့်ကင်မရာကို အသုံးပြုပါမည်။ အသေးစိတ်အတွက် ၎င်းတို့၏ ကိုယ်ရေးကိုယ်တာမူဝါဒကို စစ်ဆေးပါ။"
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "Bron adres",
|
||||
"pause_wallet_creation": "De mogelijkheid om Haven Wallet te maken is momenteel onderbroken.",
|
||||
"tor_feature_disabled": "Deze functie is uitgeschakeld, terwijl alleen TOR -modus is ingeschakeld om uw privacy te beschermen, omdat deze functie geen verbinding maakt via Tor",
|
||||
"tor_only_warning": "Sommige functies kunnen worden uitgeschakeld om uw privacy te beschermen wanneer u alleen de Tor -modus gebruikt"
|
||||
}
|
||||
"tor_only_warning": "Sommige functies kunnen worden uitgeschakeld om uw privacy te beschermen wanneer u alleen de Tor -modus gebruikt",
|
||||
"camera_consent": "Uw camera wordt gebruikt om vóór ${provider} een beeld vast te leggen voor identificatiedoeleinden. Raadpleeg hun privacybeleid voor meer informatie."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "Adres źródłowy",
|
||||
"pause_wallet_creation": "Możliwość utworzenia Portfela Haven jest obecnie wstrzymana.",
|
||||
"tor_feature_disabled": "Ta funkcja jest wyłączona, podczas gdy tryb TOR jest włączony do ochrony prywatności, ponieważ ta funkcja nie łączy się z Tor",
|
||||
"tor_only_warning": "Niektóre funkcje mogą być wyłączone w celu ochrony prywatności podczas korzystania z trybu TOR"
|
||||
}
|
||||
"tor_only_warning": "Niektóre funkcje mogą być wyłączone w celu ochrony prywatności podczas korzystania z trybu TOR",
|
||||
"camera_consent": "Twój aparat zostanie użyty do przechwycenia obrazu w celach identyfikacyjnych przez ${provider}. Aby uzyskać szczegółowe informacje, sprawdź ich Politykę prywatności."
|
||||
}
|
||||
|
|
|
@ -774,5 +774,6 @@
|
|||
"transaction_details_source_address": "Endereço de Origem",
|
||||
"pause_wallet_creation": "A capacidade de criar a Haven Wallet está atualmente pausada.",
|
||||
"tor_feature_disabled": "Esse recurso está desativado, enquanto o modo apenas Tor está habilitado para proteger sua privacidade, pois esse recurso não se conecta",
|
||||
"tor_only_warning": "Alguns recursos podem ser desativados para proteger sua privacidade ao usar apenas o modo Tor"
|
||||
}
|
||||
"tor_only_warning": "Alguns recursos podem ser desativados para proteger sua privacidade ao usar apenas o modo Tor",
|
||||
"camera_consent": "Sua câmera será usada para capturar uma imagem para fins de identificação por ${provider}. Por favor, verifique a Política de Privacidade para obter detalhes."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "Адрес источника",
|
||||
"pause_wallet_creation": "Возможность создания Haven Wallet в настоящее время приостановлена.",
|
||||
"tor_feature_disabled": "Эта функция отключена, в то время как режим только Tor включен для защиты вашей конфиденциальности, поскольку эта функция не подключается к Tor",
|
||||
"tor_only_warning": "Некоторые функции могут быть отключены для защиты вашей конфиденциальности при использовании только режима Tor"
|
||||
}
|
||||
"tor_only_warning": "Некоторые функции могут быть отключены для защиты вашей конфиденциальности при использовании только режима Tor",
|
||||
"camera_consent": "Ваша камера будет использоваться для захвата изображения в целях идентификации ${provider}. Пожалуйста, ознакомьтесь с их Политикой конфиденциальности для получения подробной информации."
|
||||
}
|
||||
|
|
|
@ -773,5 +773,6 @@
|
|||
"transaction_details_source_address": "ที่อยู่แหล่งกำเนิด",
|
||||
"pause_wallet_creation": "ขณะนี้ความสามารถในการสร้าง Haven Wallet ถูกหยุดชั่วคราว",
|
||||
"tor_feature_disabled": "คุณสมบัตินี้ถูกปิดใช้งานในขณะที่โหมด Tor Only เปิดใช้งานเพื่อป้องกันความเป็นส่วนตัวของคุณเนื่องจากคุณสมบัตินี้ไม่เชื่อมต่อกับ Tor",
|
||||
"tor_only_warning": "คุณสมบัติบางอย่างอาจถูกปิดใช้งานเพื่อปกป้องความเป็นส่วนตัวของคุณเมื่อใช้โหมด TOR เท่านั้น"
|
||||
}
|
||||
"tor_only_warning": "คุณสมบัติบางอย่างอาจถูกปิดใช้งานเพื่อปกป้องความเป็นส่วนตัวของคุณเมื่อใช้โหมด TOR เท่านั้น",
|
||||
"camera_consent": "กล้องของคุณจะถูกนำมาใช้เพื่อจับภาพเพื่อวัตถุประสงค์ในการระบุตัวตนภายใน ${provider} โปรดตรวจสอบนโยบายความเป็นส่วนตัวเพื่อดูรายละเอียด"
|
||||
}
|
||||
|
|
|
@ -769,5 +769,6 @@
|
|||
"transaction_details_source_address": "SOURCE ADDRESS",
|
||||
"pause_wallet_creation": "Kasalukuyang naka-pause ang kakayahang gumawa ng Haven Wallet.",
|
||||
"tor_feature_disabled": "Ang tampok na ito ay hindi pinagana habang ang mode lamang ay pinagana upang maprotektahan ang iyong privacy dahil ang tampok na ito ay hindi kumonekta sa tor",
|
||||
"tor_only_warning": "Ang ilang mga tampok ay maaaring hindi pinagana upang maprotektahan ang iyong privacy kapag gumagamit lamang ng mode ng tor"
|
||||
}
|
||||
"tor_only_warning": "Ang ilang mga tampok ay maaaring hindi pinagana upang maprotektahan ang iyong privacy kapag gumagamit lamang ng mode ng tor",
|
||||
"camera_consent": "Gagamitin ang iyong camera upang kumuha ng larawan para sa mga layunin ng pagkakakilanlan sa pamamagitan ng ${provider}. Pakisuri ang kanilang Patakaran sa Privacy para sa mga detalye."
|
||||
}
|
||||
|
|
|
@ -773,5 +773,6 @@
|
|||
"transaction_details_source_address": "Kaynak adresi",
|
||||
"pause_wallet_creation": "Haven Cüzdanı oluşturma yeteneği şu anda duraklatıldı.",
|
||||
"tor_feature_disabled": "Bu özellik, gizliliğinizi korumak için yalnızca TOR modu etkinleştirilirken bu özellik devre dışı bırakılır, çünkü bu özellik TOR üzerinden bağlanmaz",
|
||||
"tor_only_warning": "Yalnızca TOR modu kullanırken gizliliğinizi korumak için bazı özellikler devre dışı bırakılabilir"
|
||||
}
|
||||
"tor_only_warning": "Yalnızca TOR modu kullanırken gizliliğinizi korumak için bazı özellikler devre dışı bırakılabilir",
|
||||
"camera_consent": "Kameranız ${provider} tarihine kadar tanımlama amacıyla bir görüntü yakalamak için kullanılacaktır. Ayrıntılar için lütfen Gizlilik Politikalarını kontrol edin."
|
||||
}
|
||||
|
|
|
@ -775,5 +775,6 @@
|
|||
"transaction_details_source_address": "Адреса джерела",
|
||||
"pause_wallet_creation": "Можливість створення гаманця Haven зараз призупинено.",
|
||||
"tor_feature_disabled": "Ця функція вимкнена, тоді як режим лише TOR увімкнено для захисту вашої конфіденційності, оскільки ця функція не з'єднується через TOR",
|
||||
"tor_only_warning": "Деякі функції можуть бути відключені для захисту вашої конфіденційності при використанні лише режиму TOR"
|
||||
}
|
||||
"tor_only_warning": "Деякі функції можуть бути відключені для захисту вашої конфіденційності при використанні лише режиму TOR",
|
||||
"camera_consent": "Ваша камера використовуватиметься для зйомки зображення з метою ідентифікації ${provider}. Будь ласка, ознайомтеся з їхньою політикою конфіденційності, щоб дізнатися більше."
|
||||
}
|
||||
|
|
|
@ -767,5 +767,6 @@
|
|||
"transaction_details_source_address": "ماخذ ایڈریس",
|
||||
"pause_wallet_creation": "Haven Wallet ۔ﮯﮨ ﻑﻮﻗﻮﻣ ﻝﺎﺤﻟﺍ ﯽﻓ ﺖﯿﻠﮨﺍ ﯽﮐ ﮯﻧﺎﻨﺑ",
|
||||
"tor_feature_disabled": "یہ خصوصیت غیر فعال ہے جبکہ ٹور صرف موڈ آپ کی رازداری کے تحفظ کے لئے اہل ہے کیونکہ یہ خصوصیت ٹور سے زیادہ متصل نہیں ہے",
|
||||
"tor_only_warning": "جب صرف ٹور صرف ٹور استعمال کرتے ہو تو آپ کی رازداری کے تحفظ کے لئے کچھ خصوصیات کو غیر فعال کیا جاسکتا ہے"
|
||||
}
|
||||
"tor_only_warning": "جب صرف ٹور صرف ٹور استعمال کرتے ہو تو آپ کی رازداری کے تحفظ کے لئے کچھ خصوصیات کو غیر فعال کیا جاسکتا ہے",
|
||||
"camera_consent": "۔ﮟﯿﮭﮑﯾﺩ ﯽﺴﯿﻟﺎﭘ ﯽﺴﯾﻮﯿﺋﺍﺮﭘ ﯽﮐ ﻥﺍ ﻡﺮﮐ ﮦﺍﺮﺑ ﮯﯿﻟ ﮯﮐ ﺕﻼ${provider}ﯿﺼﻔﺗ ۔ﺎﮔ ﮯﺋﺎﺟ ﺎﯿﮐ ﻝﺎﻤﻌﺘﺳﺍ ﮯﯿﻟ"
|
||||
}
|
||||
|
|
|
@ -769,5 +769,6 @@
|
|||
"transaction_details_source_address": "Adirẹsi orisun",
|
||||
"pause_wallet_creation": "Agbara lati ṣẹda Haven Wallet ti wa ni idaduro lọwọlọwọ.",
|
||||
"tor_feature_disabled": "Ẹya yii jẹ alaabo lakoko ti o ba jẹ pe o ṣiṣẹ nikan lati daabobo aṣiri rẹ bi ẹya yii ko sopọ mọra",
|
||||
"tor_only_warning": "Diẹ ninu awọn ẹya le jẹ alaabo lati daabobo aṣiri rẹ nigbati o ba ni ọna to"
|
||||
}
|
||||
"tor_only_warning": "Diẹ ninu awọn ẹya le jẹ alaabo lati daabobo aṣiri rẹ nigbati o ba ni ọna to",
|
||||
"camera_consent": "Kamẹra rẹ yoo ṣee lo lati ya aworan kan fun awọn idi idanimọ nipasẹ ${provider}. Jọwọ ṣayẹwo Ilana Aṣiri wọn fun awọn alaye."
|
||||
}
|
||||
|
|
|
@ -774,5 +774,6 @@
|
|||
"transaction_details_source_address": "源地址",
|
||||
"pause_wallet_creation": "创建 Haven 钱包的功能当前已暂停。",
|
||||
"tor_feature_disabled": "此功能在启用仅TOR模式的同时被禁用,以保护您的隐私,因为此功能无法通过TOR连接",
|
||||
"tor_only_warning": "某些功能可能会被禁用以保护您的隐私时仅使用TOR模式"
|
||||
}
|
||||
"tor_only_warning": "某些功能可能会被禁用以保护您的隐私时仅使用TOR模式",
|
||||
"camera_consent": "${provider} 将使用您的相机拍摄图像以供识别之用。请查看他们的隐私政策了解详情。"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue