Merge branch 'main' of https://github.com/cake-tech/cake_wallet into CW-519-tor

This commit is contained in:
fosse 2024-01-26 21:09:46 -05:00
commit d3dde83d57
38 changed files with 167 additions and 115 deletions

View file

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

View file

@ -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 {

View file

@ -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!));

View file

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

View file

@ -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:

View file

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

View file

@ -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) {

View file

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

View file

@ -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);

View file

@ -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();
}

View file

@ -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();
}
}

View file

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

View file

@ -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} ﻝﻮﻠ"
}

View file

@ -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}. Моля, проверете тяхната политика за поверителност за подробности."
}

View file

@ -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ů."
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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} द्वारा पहचान उद्देश्यों के लिए एक छवि कैप्चर करने के लिए किया जाएगा। विवरण के लिए कृपया उनकी गोपनीयता नीति जांचें।"
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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}_ までに識別目的で画像を撮影するために使用されます。詳細については、プライバシー ポリシーをご確認ください。"
}

View file

@ -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}의 식별 목적으로 이미지를 캡처하는 데 사용됩니다. 자세한 내용은 해당 개인정보 보호정책을 확인하세요."
}

View file

@ -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} တွင် သင့်ကင်မရာကို အသုံးပြုပါမည်။ အသေးစိတ်အတွက် ၎င်းတို့၏ ကိုယ်ရေးကိုယ်တာမူဝါဒကို စစ်ဆေးပါ။"
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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}. Пожалуйста, ознакомьтесь с их Политикой конфиденциальности для получения подробной информации."
}

View file

@ -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} โปรดตรวจสอบนโยบายความเป็นส่วนตัวเพื่อดูรายละเอียด"
}

View file

@ -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."
}

View file

@ -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."
}

View file

@ -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}. Будь ласка, ознайомтеся з їхньою політикою конфіденційності, щоб дізнатися більше."
}

View file

@ -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}ﯿﺼﻔﺗ ۔ﺎﮔ ﮯﺋﺎﺟ ﺎﯿﮐ ﻝﺎﻤﻌﺘﺳﺍ ﮯﯿﻟ"
}

View file

@ -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."
}

View file

@ -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} 将使用您的相机拍摄图像以供识别之用。请查看他们的隐私政策了解详情。"
}