electrum fixes + tor only warnings

This commit is contained in:
fosse 2024-01-24 12:39:13 -05:00
parent beeaa193bd
commit 507b5541f6
36 changed files with 174 additions and 66 deletions

View file

@ -178,4 +178,10 @@ class CWBitcoin extends Bitcoin {
@override
TransactionPriority getLitecoinTransactionPrioritySlow()
=> LitecoinTransactionPriority.slow;
@override
void setTorOnly(Object wallet, bool torOnly) {
final electrumWallet = wallet as ElectrumWallet;
electrumWallet.setTorOnly(torOnly);
}
}

View file

@ -1,8 +1,9 @@
import 'package:cake_wallet/bitcoin/bitcoin.dart';
import 'package:cake_wallet/core/generate_wallet_password.dart';
import 'package:cake_wallet/core/key_service.dart';
import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cake_wallet/store/settings_store.dart';
import 'package:cake_wallet/view_model/settings/tor_connection.dart';
import 'package:cake_wallet/view_model/settings/tor_view_model.dart';
import 'package:cw_core/wallet_base.dart';
import 'package:cw_core/wallet_service.dart';
@ -52,6 +53,14 @@ class WalletLoadingService {
await updateMoneroWalletPassword(wallet);
}
TorConnectionMode mode = TorConnectionMode.deserialize(
raw: sharedPreferences.getInt(PreferencesKey.currentTorConnectionModeKey) ?? 0,
);
if ([WalletType.bitcoin, WalletType.litecoin].contains(type)) {
bitcoin!.setTorOnly(wallet, mode == TorConnectionMode.torOnly);
}
final status = torViewModel.torConnectionStatus;
if (status == TorConnectionStatus.connected || status == TorConnectionStatus.connecting) {
// connect the node to the tor proxy:

View file

@ -1201,7 +1201,8 @@ Future<void> setup({
getIt.registerFactory(
() => WalletConnectConnectionsView(web3walletService: getIt.get<Web3WalletService>()));
getIt.registerFactory(() => NFTViewModel(appStore, getIt.get<BottomSheetService>()));
getIt.registerFactory(
() => NFTViewModel(appStore, getIt.get<BottomSheetService>(), getIt.get<ProxyWrapper>()));
_isSetupFinished = true;
}

View file

@ -11,8 +11,7 @@ class MainActions {
final bool Function(DashboardViewModel viewModel)? isEnabled;
final bool Function(DashboardViewModel viewModel)? canShow;
final Future<void> Function(
BuildContext context, DashboardViewModel viewModel) onTap;
final Future<void> Function(BuildContext context, DashboardViewModel viewModel) onTap;
MainActions._({
required this.name,
@ -40,6 +39,11 @@ class MainActions {
return;
}
if (viewModel.isTorOnly) {
_showErrorDialog(context, S.of(context).error, S.of(context).tor_feature_disabled);
return;
}
final defaultBuyProvider = viewModel.defaultBuyProvider;
try {
defaultBuyProvider != null
@ -89,6 +93,11 @@ class MainActions {
return;
}
if (viewModel.isTorOnly) {
_showErrorDialog(context, S.of(context).error, S.of(context).tor_feature_disabled);
return;
}
final defaultSellProvider = viewModel.defaultSellProvider;
try {
defaultSellProvider != null
@ -114,4 +123,4 @@ class MainActions {
},
);
}
}
}

View file

@ -163,7 +163,7 @@ Future<void> initializeAppConfigs() async {
transactionDescriptions: transactionDescriptions,
secureStorage: secureStorage,
anonpayInvoiceInfo: anonpayInvoiceInfo,
initialMigrationVersion: 26);
initialMigrationVersion: 27);
}
Future<void> initialSetup(

View file

@ -4,6 +4,7 @@ import 'package:cake_wallet/src/screens/settings/widgets/settings_picker_cell.da
import 'package:cake_wallet/src/screens/settings/widgets/settings_switcher_cell.dart';
import 'package:cake_wallet/src/screens/settings/widgets/settings_tor_status.dart';
import 'package:cake_wallet/src/screens/settings/widgets/wallet_connect_button.dart';
import 'package:cake_wallet/src/widgets/alert_with_one_action.dart';
import 'package:cake_wallet/themes/extensions/sync_indicator_theme.dart';
import 'package:cake_wallet/utils/device_info.dart';
import 'package:cake_wallet/utils/feature_flag.dart';
@ -102,7 +103,22 @@ class ConnectionSyncPage extends BasePage {
items: TorConnectionMode.all,
displayItem: (TorConnectionMode mode) => mode.title,
selectedItem: dashboardViewModel.torViewModel.torConnectionMode,
onItemSelected: dashboardViewModel.torViewModel.setTorConnectionMode,
onItemSelected: (TorConnectionMode mode) async {
if (mode == TorConnectionMode.torOnly) {
await showPopUp<void>(
context: context,
builder: (BuildContext context) {
return AlertWithOneAction(
alertTitle: S.of(context).warning,
alertContent: S.of(context).tor_only_warning,
buttonText: S.of(context).ok,
buttonAction: () => Navigator.of(context).pop(),
);
},
);
}
dashboardViewModel.torViewModel.setTorConnectionMode(mode);
},
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(25), topRight: Radius.circular(25)),

View file

@ -346,6 +346,9 @@ abstract class DashboardViewModelBase with Store {
@observable
bool hasBuyAction;
@computed
bool get isTorOnly => settingsStore.torConnectionMode == TorConnectionMode.torOnly;
@computed
bool get isEnabledSellAction => !settingsStore.disableSell && availableSellProviders.isNotEmpty;

View file

@ -4,6 +4,7 @@ import 'dart:developer';
import 'package:cake_wallet/core/wallet_connect/wc_bottom_sheet_service.dart';
import 'package:cake_wallet/reactions/wallet_connect.dart';
import 'package:cake_wallet/src/screens/wallet_connect/widgets/message_display_widget.dart';
import 'package:cake_wallet/utils/proxy_wrapper.dart';
import 'package:cake_wallet/view_model/settings/tor_connection.dart';
import 'package:http/http.dart' as http;
import 'package:mobx/mobx.dart';
@ -17,7 +18,7 @@ part 'nft_view_model.g.dart';
class NFTViewModel = NFTViewModelBase with _$NFTViewModel;
abstract class NFTViewModelBase with Store {
NFTViewModelBase(this.appStore, this.bottomSheetService)
NFTViewModelBase(this.appStore, this.bottomSheetService, this.proxyWrapper)
: isLoading = false,
isImportNFTLoading = false,
nftAssetByWalletModels = ObservableList() {
@ -28,6 +29,7 @@ abstract class NFTViewModelBase with Store {
final AppStore appStore;
final BottomSheetService bottomSheetService;
final ProxyWrapper proxyWrapper;
@observable
bool isLoading;
@ -63,23 +65,25 @@ abstract class NFTViewModelBase with Store {
},
);
if (appStore.settingsStore.torConnectionMode != TorConnectionMode.disabled) {
print("Can't load nfts with tor enabled (cloudflare blocks tor)");
if (appStore.settingsStore.torConnectionMode == TorConnectionMode.torOnly) {
print("Can't load nfts with only tor enabled (cloudflare blocks tor)");
return;
}
try {
isLoading = true;
final response = await http.get(
uri,
final response = await proxyWrapper.get(
clearnetUri: uri,
headers: {
"Accept": "application/json",
"X-API-Key": secrets.moralisApiKey,
},
);
final decodedResponse = jsonDecode(response.body) as Map<String, dynamic>;
final responseBody = await utf8.decodeStream(response);
final decodedResponse = jsonDecode(responseBody) as Map<String, dynamic>;
final result = WalletNFTsResponseModel.fromJson(decodedResponse).result ?? [];

View file

@ -1,9 +1,11 @@
import 'dart:io';
import 'package:cake_wallet/bitcoin/bitcoin.dart';
import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/store/app_store.dart';
import 'package:cake_wallet/store/settings_store.dart';
import 'package:cake_wallet/view_model/settings/tor_connection.dart';
import 'package:cw_core/wallet_type.dart';
import 'package:mobx/mobx.dart';
import 'package:socks5_proxy/socks_client.dart';
import 'package:tor/tor.dart';
@ -50,7 +52,12 @@ abstract class TorViewModelBase with Store {
} else if (!connect) {
node.socksProxyAddress = null;
}
node.connectOverTorOnly = _settingsStore.torConnectionMode == TorConnectionMode.torOnly;
bool torOnly = _settingsStore.torConnectionMode == TorConnectionMode.torOnly;
if ([WalletType.bitcoin, WalletType.litecoin].contains(appStore.wallet!.type)) {
bitcoin!.setTorOnly(appStore.wallet!, torOnly);
}
await appStore.wallet!.connectToNode(node: node);
}
}

View file

@ -769,5 +769,7 @@
"receivable_balance": "التوازن القادم",
"confirmed_tx": "مؤكد",
"transaction_details_source_address": "عنوان المصدر",
"pause_wallet_creation": ".ﺎﻴًﻟﺎﺣ ﺎﺘًﻗﺆﻣ ﺔﻔﻗﻮﺘﻣ Haven Wallet ءﺎﺸﻧﺇ ﻰﻠﻋ ﺓﺭﺪﻘﻟﺍ"
}
"pause_wallet_creation": ".ﺎﻴًﻟﺎﺣ ﺎﺘًﻗﺆﻣ ﺔﻔﻗﻮﺘﻣ Haven Wallet ءﺎﺸﻧﺇ ﻰﻠﻋ ﺓﺭﺪﻘﻟﺍ",
"tor_feature_disabled": "يتم تعطيل هذه الميزة بينما يتم تمكين وضع TOR فقط لحماية خصوصيتك لأن هذه الميزة لا تتصل عبر Tor",
"tor_only_warning": "قد يتم تعطيل بعض الميزات لحماية خصوصيتك عند استخدام وضع TOR فقط"
}

View file

@ -765,5 +765,7 @@
"receivable_balance": "Баланс за вземания",
"confirmed_tx": "Потвърдено",
"transaction_details_source_address": "Адрес на източника",
"pause_wallet_creation": "Възможността за създаване на Haven Wallet в момента е на пауза."
}
"pause_wallet_creation": "Възможността за създаване на Haven Wallet в момента е на пауза.",
"tor_feature_disabled": "Тази функция е деактивирана, докато само режимът на TOR е активиран да защити вашата поверителност, тъй като тази функция не се свързва над TOR",
"tor_only_warning": "Някои функции могат да бъдат деактивирани, за да защитят вашата поверителност, когато използвате само TOR режим"
}

View file

@ -765,5 +765,7 @@
"receivable_balance": "Zůstatek pohledávek",
"confirmed_tx": "Potvrzeno",
"transaction_details_source_address": "Zdrojová adresa",
"pause_wallet_creation": "Možnost vytvářet Haven Wallet je momentálně pozastavena."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "Forderungsbilanz",
"confirmed_tx": "Bestätigt",
"transaction_details_source_address": "Quelladresse",
"pause_wallet_creation": "Die Möglichkeit, Haven Wallet zu erstellen, ist derzeit pausiert."
}
"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"
}

View file

@ -774,5 +774,7 @@
"receivable_balance": "Receivable Balance",
"confirmed_tx": "Confirmed",
"transaction_details_source_address": "Source address",
"pause_wallet_creation": "Ability to create Haven Wallet is currently paused."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "Saldo de cuentas por cobrar",
"confirmed_tx": "Confirmado",
"transaction_details_source_address": "Dirección de la fuente",
"pause_wallet_creation": "La capacidad para crear Haven Wallet está actualmente pausada."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "Solde de créances",
"confirmed_tx": "Confirmé",
"transaction_details_source_address": "Adresse source",
"pause_wallet_creation": "La possibilité de créer Haven Wallet est actuellement suspendue."
}
"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"
}

View file

@ -755,5 +755,7 @@
"receivable_balance": "Daidaituwa da daidaituwa",
"confirmed_tx": "Tabbatar",
"transaction_details_source_address": "Adireshin Incord",
"pause_wallet_creation": "A halin yanzu an dakatar da ikon ƙirƙirar Haven Wallet."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "प्राप्य शेष",
"confirmed_tx": "की पुष्टि",
"transaction_details_source_address": "स्रोत पता",
"pause_wallet_creation": "हेवन वॉलेट बनाने की क्षमता फिलहाल रुकी हुई है।"
}
"pause_wallet_creation": "हेवन वॉलेट बनाने की क्षमता फिलहाल रुकी हुई है।",
"tor_feature_disabled": "यह सुविधा अक्षम है, जबकि टॉर केवल मोड आपकी गोपनीयता की सुरक्षा के लिए सक्षम है क्योंकि यह सुविधा टीओआर से कनेक्ट नहीं होती है",
"tor_only_warning": "TOR केवल मोड का उपयोग करते समय आपकी गोपनीयता की सुरक्षा के लिए कुछ सुविधाएँ अक्षम हो सकती हैं"
}

View file

@ -771,5 +771,7 @@
"receivable_balance": "Stanje potraživanja",
"confirmed_tx": "Potvrđen",
"transaction_details_source_address": "Adresa izvora",
"pause_wallet_creation": "Mogućnost stvaranja novčanika Haven trenutno je pauzirana."
}
"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"
}

View file

@ -761,5 +761,7 @@
"receivable_balance": "Saldo piutang",
"confirmed_tx": "Dikonfirmasi",
"transaction_details_source_address": "Alamat sumber",
"pause_wallet_creation": "Kemampuan untuk membuat Haven Wallet saat ini dijeda."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "Bilanciamento creditizio",
"confirmed_tx": "Confermato",
"transaction_details_source_address": "Indirizzo di partenza",
"pause_wallet_creation": "La possibilità di creare Haven Wallet è attualmente sospesa."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "売掛金残高",
"confirmed_tx": "確認済み",
"transaction_details_source_address": "ソースアドレス",
"pause_wallet_creation": "Haven Wallet を作成する機能は現在一時停止されています。"
}
"pause_wallet_creation": "Haven Wallet を作成する機能は現在一時停止されています。",
"tor_feature_disabled": "この機能はプライバシーを保護するためにTORのみモードが有効になっている間、この機能は無効になります。この機能はTORに接続していないため",
"tor_only_warning": "TORのみのモードを使用する場合、プライバシーを保護するためにいくつかの機能が無効になる場合があります"
}

View file

@ -771,5 +771,7 @@
"receivable_balance": "채권 잔액",
"confirmed_tx": "확인",
"transaction_details_source_address": "소스 주소",
"pause_wallet_creation": "Haven Wallet 생성 기능이 현재 일시 중지되었습니다."
}
"pause_wallet_creation": "Haven Wallet 생성 기능이 현재 일시 중지되었습니다.",
"tor_feature_disabled": "이 기능은 TOR 전용 모드가 사용되지 않으므로이 기능은 TOR에 연결되지 않으므로 개인 정보를 보호 할 수 있습니다.",
"tor_only_warning": "Tor 전용 모드를 사용할 때 개인 정보를 보호하기 위해 일부 기능이 비활성화 될 수 있습니다."
}

View file

@ -771,5 +771,7 @@
"receivable_balance": "လက်ကျန်ငွေ",
"confirmed_tx": "အတည်ပြုသည်",
"transaction_details_source_address": "အရင်းအမြစ်လိပ်စာ",
"pause_wallet_creation": "Haven Wallet ဖန်တီးနိုင်မှုကို လောလောဆယ် ခေတ္တရပ်ထားသည်။"
}
"pause_wallet_creation": "Haven Wallet ဖန်တီးနိုင်မှုကို လောလောဆယ် ခေတ္တရပ်ထားသည်။",
"tor_feature_disabled": "ဤအင်္ဂါရပ်ကိုမသန်မစွမ်းဖြစ်သော်လည်း Tor တစ်ခုတည်းသော mode ကိုသင်၏ privacy ကိုကာကွယ်ရန်အတွက်ဤအင်္ဂါရပ်သည် Tor ကိုမချိတ်ဆက်ပါကကာကွယ်နိုင်သည်",
"tor_only_warning": "Tor တစ်ခုတည်းသော mode ကိုသုံးသောအခါသင်၏ privacy ကိုကာကွယ်ရန်အချို့သောအင်္ဂါရပ်များကိုပိတ်ထားနိုင်သည်"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "Het saldo",
"confirmed_tx": "Bevestigd",
"transaction_details_source_address": "Bron adres",
"pause_wallet_creation": "De mogelijkheid om Haven Wallet te maken is momenteel onderbroken."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "Saldo należności",
"confirmed_tx": "Potwierdzony",
"transaction_details_source_address": "Adres źródłowy",
"pause_wallet_creation": "Możliwość utworzenia Portfela Haven jest obecnie wstrzymana."
}
"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"
}

View file

@ -772,5 +772,7 @@
"receivable_balance": "Saldo a receber",
"confirmed_tx": "Confirmado",
"transaction_details_source_address": "Endereço de Origem",
"pause_wallet_creation": "A capacidade de criar a Haven Wallet está atualmente pausada."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "Баланс дебиторской задолженности",
"confirmed_tx": "Подтвержденный",
"transaction_details_source_address": "Адрес источника",
"pause_wallet_creation": "Возможность создания Haven Wallet в настоящее время приостановлена."
}
"pause_wallet_creation": "Возможность создания Haven Wallet в настоящее время приостановлена.",
"tor_feature_disabled": "Эта функция отключена, в то время как режим только Tor включен для защиты вашей конфиденциальности, поскольку эта функция не подключается к Tor",
"tor_only_warning": "Некоторые функции могут быть отключены для защиты вашей конфиденциальности при использовании только режима Tor"
}

View file

@ -771,5 +771,7 @@
"receivable_balance": "ยอดลูกหนี้",
"confirmed_tx": "ซึ่งยืนยันแล้ว",
"transaction_details_source_address": "ที่อยู่แหล่งกำเนิด",
"pause_wallet_creation": "ขณะนี้ความสามารถในการสร้าง Haven Wallet ถูกหยุดชั่วคราว"
}
"pause_wallet_creation": "ขณะนี้ความสามารถในการสร้าง Haven Wallet ถูกหยุดชั่วคราว",
"tor_feature_disabled": "คุณสมบัตินี้ถูกปิดใช้งานในขณะที่โหมด Tor Only เปิดใช้งานเพื่อป้องกันความเป็นส่วนตัวของคุณเนื่องจากคุณสมบัตินี้ไม่เชื่อมต่อกับ Tor",
"tor_only_warning": "คุณสมบัติบางอย่างอาจถูกปิดใช้งานเพื่อปกป้องความเป็นส่วนตัวของคุณเมื่อใช้โหมด TOR เท่านั้น"
}

View file

@ -767,5 +767,7 @@
"receivable_balance": "Natatanggap na balanse",
"confirmed_tx": "Nakumpirma",
"transaction_details_source_address": "SOURCE ADDRESS",
"pause_wallet_creation": "Kasalukuyang naka-pause ang kakayahang gumawa ng Haven Wallet."
}
"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"
}

View file

@ -771,5 +771,7 @@
"receivable_balance": "Alacak bakiyesi",
"confirmed_tx": "Onaylanmış",
"transaction_details_source_address": "Kaynak adresi",
"pause_wallet_creation": "Haven Cüzdanı oluşturma yeteneği şu anda duraklatıldı."
}
"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"
}

View file

@ -773,5 +773,7 @@
"receivable_balance": "Баланс дебіторської заборгованості",
"confirmed_tx": "Підтверджений",
"transaction_details_source_address": "Адреса джерела",
"pause_wallet_creation": "Можливість створення гаманця Haven зараз призупинено."
}
"pause_wallet_creation": "Можливість створення гаманця Haven зараз призупинено.",
"tor_feature_disabled": "Ця функція вимкнена, тоді як режим лише TOR увімкнено для захисту вашої конфіденційності, оскільки ця функція не з'єднується через TOR",
"tor_only_warning": "Деякі функції можуть бути відключені для захисту вашої конфіденційності при використанні лише режиму TOR"
}

View file

@ -765,5 +765,7 @@
"receivable_balance": "قابل وصول توازن",
"confirmed_tx": "تصدیق",
"transaction_details_source_address": "ماخذ ایڈریس",
"pause_wallet_creation": "Haven Wallet ۔ﮯﮨ ﻑﻮﻗﻮﻣ ﻝﺎﺤﻟﺍ ﯽﻓ ﺖﯿﻠﮨﺍ ﯽﮐ ﮯﻧﺎﻨﺑ"
}
"pause_wallet_creation": "Haven Wallet ۔ﮯﮨ ﻑﻮﻗﻮﻣ ﻝﺎﺤﻟﺍ ﯽﻓ ﺖﯿﻠﮨﺍ ﯽﮐ ﮯﻧﺎﻨﺑ",
"tor_feature_disabled": "یہ خصوصیت غیر فعال ہے جبکہ ٹور صرف موڈ آپ کی رازداری کے تحفظ کے لئے اہل ہے کیونکہ یہ خصوصیت ٹور سے زیادہ متصل نہیں ہے",
"tor_only_warning": "جب صرف ٹور صرف ٹور استعمال کرتے ہو تو آپ کی رازداری کے تحفظ کے لئے کچھ خصوصیات کو غیر فعال کیا جاسکتا ہے"
}

View file

@ -767,5 +767,7 @@
"receivable_balance": "Iwontunws.funfun ti o gba",
"confirmed_tx": "Jẹrisi",
"transaction_details_source_address": "Adirẹsi orisun",
"pause_wallet_creation": "Agbara lati ṣẹda Haven Wallet ti wa ni idaduro lọwọlọwọ."
}
"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"
}

View file

@ -772,5 +772,7 @@
"receivable_balance": "应收余额",
"confirmed_tx": "确认的",
"transaction_details_source_address": "源地址",
"pause_wallet_creation": "创建 Haven 钱包的功能当前已暂停。"
}
"pause_wallet_creation": "创建 Haven 钱包的功能当前已暂停。",
"tor_feature_disabled": "此功能在启用仅TOR模式的同时被禁用以保护您的隐私因为此功能无法通过TOR连接",
"tor_only_warning": "某些功能可能会被禁用以保护您的隐私时仅使用TOR模式"
}

View file

@ -134,6 +134,7 @@ abstract class Bitcoin {
TransactionPriority getLitecoinTransactionPriorityMedium();
TransactionPriority getBitcoinTransactionPrioritySlow();
TransactionPriority getLitecoinTransactionPrioritySlow();
void setTorOnly(Object wallet, bool torOnly);
}
""";