diff --git a/lib/entities/cake_2fa_preset_options.dart b/lib/entities/cake_2fa_preset_options.dart index 417af2b98..feb593fbe 100644 --- a/lib/entities/cake_2fa_preset_options.dart +++ b/lib/entities/cake_2fa_preset_options.dart @@ -33,6 +33,7 @@ enum VerboseControlSettings { sendsToNonContacts, sendsToInternalWallets, exchangesToInternalWallets, + exchangesToExternalWallets, securityAndBackupSettings, creatingNewWallets, } diff --git a/lib/entities/preferences_key.dart b/lib/entities/preferences_key.dart index cbd12d777..fe9182e97 100644 --- a/lib/entities/preferences_key.dart +++ b/lib/entities/preferences_key.dart @@ -71,6 +71,8 @@ class PreferencesKey { 'should_require_totp_2fa_for_sends_to_internal_wallets'; static const shouldRequireTOTP2FAForExchangesToInternalWallets = 'should_require_totp_2fa_for_exchanges_to_internal_wallets'; + static const shouldRequireTOTP2FAForExchangesToExternalWallets = + 'should_require_totp_2fa_for_exchanges_to_external_wallets'; static const shouldRequireTOTP2FAForAddingContacts = 'should_require_totp_2fa_for_adding_contacts'; static const shouldRequireTOTP2FAForCreatingNewWallets = diff --git a/lib/src/screens/setup_2fa/modify_2fa_page.dart b/lib/src/screens/setup_2fa/modify_2fa_page.dart index 148e3076e..601d084e7 100644 --- a/lib/src/screens/setup_2fa/modify_2fa_page.dart +++ b/lib/src/screens/setup_2fa/modify_2fa_page.dart @@ -133,6 +133,17 @@ class _2FAControlsWidget extends StatelessWidget { }, ), StandardListSeparator(padding: EdgeInsets.symmetric(horizontal: 24)), + Observer( + builder: (context) { + return SettingsSwitcherCell( + title: S.current.require_for_exchanges_to_external_wallets, + value: setup2FAViewModel.shouldRequireTOTP2FAForExchangesToExternalWallets, + onValueChange: (context, value) async => + setup2FAViewModel.switchShouldRequireTOTP2FAForExchangesToExternalWallets(value), + ); + }, + ), + StandardListSeparator(padding: EdgeInsets.symmetric(horizontal: 24)), Observer( builder: (context) { return SettingsSwitcherCell( diff --git a/lib/store/settings_store.dart b/lib/store/settings_store.dart index a2e2570e0..ad4b8fd1e 100644 --- a/lib/store/settings_store.dart +++ b/lib/store/settings_store.dart @@ -76,6 +76,7 @@ abstract class SettingsStoreBase with Store { required bool initialShouldRequireTOTP2FAForSendsToNonContact, required bool initialShouldRequireTOTP2FAForSendsToInternalWallets, required bool initialShouldRequireTOTP2FAForExchangesToInternalWallets, + required bool initialShouldRequireTOTP2FAForExchangesToExternalWallets, required bool initialShouldRequireTOTP2FAForAddingContacts, required bool initialShouldRequireTOTP2FAForCreatingNewWallets, required bool initialShouldRequireTOTP2FAForAllSecurityAndBackupSettings, @@ -118,6 +119,8 @@ abstract class SettingsStoreBase with Store { initialShouldRequireTOTP2FAForSendsToInternalWallets, shouldRequireTOTP2FAForExchangesToInternalWallets = initialShouldRequireTOTP2FAForExchangesToInternalWallets, + shouldRequireTOTP2FAForExchangesToExternalWallets = + initialShouldRequireTOTP2FAForExchangesToExternalWallets, shouldRequireTOTP2FAForAddingContacts = initialShouldRequireTOTP2FAForAddingContacts, shouldRequireTOTP2FAForCreatingNewWallets = initialShouldRequireTOTP2FAForCreatingNewWallets, @@ -271,6 +274,12 @@ abstract class SettingsStoreBase with Store { PreferencesKey.shouldRequireTOTP2FAForExchangesToInternalWallets, requireTOTP2FAForExchangesToInternalWallets)); + reaction( + (_) => shouldRequireTOTP2FAForExchangesToExternalWallets, + (bool requireTOTP2FAForExchangesToExternalWallets) => sharedPreferences.setBool( + PreferencesKey.shouldRequireTOTP2FAForExchangesToExternalWallets, + requireTOTP2FAForExchangesToExternalWallets)); + reaction( (_) => shouldRequireTOTP2FAForAddingContacts, (bool requireTOTP2FAForAddingContacts) => sharedPreferences.setBool( @@ -425,6 +434,9 @@ abstract class SettingsStoreBase with Store { @observable bool shouldRequireTOTP2FAForExchangesToInternalWallets; + @observable + bool shouldRequireTOTP2FAForExchangesToExternalWallets; + @observable Cake2FAPresetsOptions selectedCake2FAPreset; @@ -597,6 +609,9 @@ abstract class SettingsStoreBase with Store { final shouldRequireTOTP2FAForExchangesToInternalWallets = sharedPreferences .getBool(PreferencesKey.shouldRequireTOTP2FAForExchangesToInternalWallets) ?? false; + final shouldRequireTOTP2FAForExchangesToExternalWallets = sharedPreferences + .getBool(PreferencesKey.shouldRequireTOTP2FAForExchangesToExternalWallets) ?? + false; final shouldRequireTOTP2FAForAddingContacts = sharedPreferences.getBool(PreferencesKey.shouldRequireTOTP2FAForAddingContacts) ?? false; final shouldRequireTOTP2FAForCreatingNewWallets = @@ -751,6 +766,8 @@ abstract class SettingsStoreBase with Store { shouldRequireTOTP2FAForSendsToInternalWallets, initialShouldRequireTOTP2FAForExchangesToInternalWallets: shouldRequireTOTP2FAForExchangesToInternalWallets, + initialShouldRequireTOTP2FAForExchangesToExternalWallets: + shouldRequireTOTP2FAForExchangesToExternalWallets, initialShouldRequireTOTP2FAForAddingContacts: shouldRequireTOTP2FAForAddingContacts, initialShouldRequireTOTP2FAForCreatingNewWallets: shouldRequireTOTP2FAForCreatingNewWallets, initialShouldRequireTOTP2FAForAllSecurityAndBackupSettings: @@ -835,6 +852,9 @@ abstract class SettingsStoreBase with Store { shouldRequireTOTP2FAForExchangesToInternalWallets = sharedPreferences .getBool(PreferencesKey.shouldRequireTOTP2FAForExchangesToInternalWallets) ?? false; + shouldRequireTOTP2FAForExchangesToExternalWallets = sharedPreferences + .getBool(PreferencesKey.shouldRequireTOTP2FAForExchangesToExternalWallets) ?? + false; shouldRequireTOTP2FAForAddingContacts = sharedPreferences.getBool(PreferencesKey.shouldRequireTOTP2FAForAddingContacts) ?? false; shouldRequireTOTP2FAForCreatingNewWallets = diff --git a/lib/view_model/exchange/exchange_view_model.dart b/lib/view_model/exchange/exchange_view_model.dart index 704e5c029..1a6b118f8 100644 --- a/lib/view_model/exchange/exchange_view_model.dart +++ b/lib/view_model/exchange/exchange_view_model.dart @@ -237,15 +237,21 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with bool get shouldDisplayTOTP2FAForExchangesToInternalWallet => _settingsStore.shouldRequireTOTP2FAForExchangesToInternalWallets; + @computed + bool get shouldDisplayTOTP2FAForExchangesToExternalWallet => + _settingsStore.shouldRequireTOTP2FAForExchangesToExternalWallets; + //* Still open to further optimize these checks //* It works but can be made better @action bool shouldDisplayTOTP() { final isInternalWallet = checkIfWalletIsAnInternalWallet(receiveAddress); + if (isInternalWallet) { return shouldDisplayTOTP2FAForExchangesToInternalWallet; + } else { + return shouldDisplayTOTP2FAForExchangesToExternalWallet; } - return false; } @computed @@ -263,7 +269,7 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with (wallet.type == WalletType.bitcoin || wallet.type == WalletType.litecoin || wallet.type == WalletType.bitcoinCash) && - depositCurrency == wallet.currency; + depositCurrency == wallet.currency; bool get isMoneroWallet => wallet.type == WalletType.monero; @@ -275,14 +281,11 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with case WalletType.bitcoin: return transactionPriority == bitcoin!.getBitcoinTransactionPrioritySlow(); case WalletType.litecoin: - return transactionPriority == - bitcoin!.getLitecoinTransactionPrioritySlow(); + return transactionPriority == bitcoin!.getLitecoinTransactionPrioritySlow(); case WalletType.ethereum: - return transactionPriority == - ethereum!.getEthereumTransactionPrioritySlow(); + return transactionPriority == ethereum!.getEthereumTransactionPrioritySlow(); case WalletType.bitcoinCash: - return transactionPriority == - bitcoinCash!.getBitcoinCashTransactionPrioritySlow(); + return transactionPriority == bitcoinCash!.getBitcoinCashTransactionPrioritySlow(); default: return false; } @@ -535,7 +538,9 @@ abstract class ExchangeViewModelBase extends WalletChangeListenerViewModel with @action void calculateDepositAllAmount() { - if (wallet.type == WalletType.bitcoin || wallet.type == WalletType.litecoin || wallet.type == WalletType.bitcoinCash) { + if (wallet.type == WalletType.bitcoin || + wallet.type == WalletType.litecoin || + wallet.type == WalletType.bitcoinCash) { final availableBalance = wallet.balance[wallet.currency]!.available; final priority = _settingsStore.priority[wallet.type]!; final fee = wallet.calculateEstimatedFee(priority, null); diff --git a/lib/view_model/set_up_2fa_viewmodel.dart b/lib/view_model/set_up_2fa_viewmodel.dart index b8fc40f23..9587e3075 100644 --- a/lib/view_model/set_up_2fa_viewmodel.dart +++ b/lib/view_model/set_up_2fa_viewmodel.dart @@ -74,6 +74,10 @@ abstract class Setup2FAViewModelBase with Store { bool get shouldRequireTOTP2FAForExchangesToInternalWallets => _settingsStore.shouldRequireTOTP2FAForExchangesToInternalWallets; + @computed + bool get shouldRequireTOTP2FAForExchangesToExternalWallets => + _settingsStore.shouldRequireTOTP2FAForExchangesToExternalWallets; + @computed bool get shouldRequireTOTP2FAForAddingContacts => _settingsStore.shouldRequireTOTP2FAForAddingContacts; @@ -277,6 +281,7 @@ abstract class Setup2FAViewModelBase with Store { switchShouldRequireTOTP2FAForAddingContacts(false); switchShouldRequireTOTP2FAForCreatingNewWallet(false); switchShouldRequireTOTP2FAForExchangesToInternalWallets(false); + switchShouldRequireTOTP2FAForExchangesToExternalWallets(false); switchShouldRequireTOTP2FAForSendsToInternalWallets(false); switchShouldRequireTOTP2FAForAllSecurityAndBackupSettings(false); selected2FASettings.clear(); @@ -306,6 +311,7 @@ abstract class Setup2FAViewModelBase with Store { @action void selectCakePreset(Cake2FAPresetsOptions preset) { + setAllControlsToFalse(); presetsMap[preset]?.forEach(toggleControl); _settingsStore.selectedCake2FAPreset = preset; } @@ -324,6 +330,8 @@ abstract class Setup2FAViewModelBase with Store { switchShouldRequireTOTP2FAForAllSecurityAndBackupSettings, VerboseControlSettings.exchangesToInternalWallets: switchShouldRequireTOTP2FAForExchangesToInternalWallets, + VerboseControlSettings.exchangesToExternalWallets: + switchShouldRequireTOTP2FAForExchangesToExternalWallets, }; methodsMap[control]?.call(value); @@ -359,6 +367,12 @@ abstract class Setup2FAViewModelBase with Store { updateSelectedSettings(VerboseControlSettings.exchangesToInternalWallets, value); } + @action + void switchShouldRequireTOTP2FAForExchangesToExternalWallets(bool value) { + _settingsStore.shouldRequireTOTP2FAForExchangesToExternalWallets = value; + updateSelectedSettings(VerboseControlSettings.exchangesToExternalWallets, value); + } + @action void switchShouldRequireTOTP2FAForAddingContacts(bool value) { _settingsStore.shouldRequireTOTP2FAForAddingContacts = value; diff --git a/res/values/strings_ar.arb b/res/values/strings_ar.arb index fa5eb4960..a803ef687 100644 --- a/res/values/strings_ar.arb +++ b/res/values/strings_ar.arb @@ -723,6 +723,7 @@ "enter_seed_phrase": "أدخل عبارة البذور الخاصة بك", "add_contact": "ﻝﺎﺼﺗﺍ ﺔﻬﺟ ﺔﻓﺎﺿﺇ", "exchange_provider_unsupported": "${providerName} لم يعد مدعومًا!", + "require_for_exchanges_to_external_wallets": "ﺔﻴﺟﺭﺎﺧ ﻆﻓﺎﺤﻣ ﻰﻟﺇ ﺕﻻﺩﺎﺒﺘﻟﺍ ﺐﻠﻄﺘﺗ", "camera_permission_is_required": ".ﺍﺮﻴﻣﺎﻜﻟﺍ ﻥﺫﺇ ﺏﻮﻠﻄﻣ", "switchToETHWallet": "ﻯﺮﺧﺃ ﺓﺮﻣ ﺔﻟﻭﺎﺤﻤﻟﺍﻭ Ethereum ﺔﻈﻔﺤﻣ ﻰﻟﺇ ﻞﻳﺪﺒﺘﻟﺍ ﻰﺟﺮﻳ" } diff --git a/res/values/strings_bg.arb b/res/values/strings_bg.arb index 49ae4076f..85d19d8c4 100644 --- a/res/values/strings_bg.arb +++ b/res/values/strings_bg.arb @@ -719,6 +719,7 @@ "enter_seed_phrase": "Въведете вашата фраза за семена", "add_contact": "Добави контакт", "exchange_provider_unsupported": "${providerName} вече не се поддържа!", + "require_for_exchanges_to_external_wallets": "Изискване за обмен към външни портфейли", "camera_permission_is_required": "Изисква се разрешение за камерата.\nМоля, активирайте го от настройките на приложението.", "switchToETHWallet": "Моля, преминете към портфейл Ethereum и опитайте отново" } diff --git a/res/values/strings_cs.arb b/res/values/strings_cs.arb index 38c49492e..b6a59979d 100644 --- a/res/values/strings_cs.arb +++ b/res/values/strings_cs.arb @@ -719,6 +719,7 @@ "enter_seed_phrase": "Zadejte svou frázi semen", "add_contact": "Přidat kontakt", "exchange_provider_unsupported": "${providerName} již není podporováno!", + "require_for_exchanges_to_external_wallets": "Vyžadovat pro výměny do externích peněženek", "camera_permission_is_required": "Vyžaduje se povolení fotoaparátu.\nPovolte jej v nastavení aplikace.", "switchToETHWallet": "Přejděte na peněženku Ethereum a zkuste to znovu" } diff --git a/res/values/strings_de.arb b/res/values/strings_de.arb index 306272aa4..9b7e0f6ef 100644 --- a/res/values/strings_de.arb +++ b/res/values/strings_de.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "Geben Sie Ihre Seed-Phrase ein", "add_contact": "Kontakt hinzufügen", "exchange_provider_unsupported": "${providerName} wird nicht mehr unterstützt!", + "require_for_exchanges_to_external_wallets": "Erforderlich für den Umtausch in externe Wallets", "camera_permission_is_required": "Eine Kameraerlaubnis ist erforderlich.\nBitte aktivieren Sie es in den App-Einstellungen.", "switchToETHWallet": "Bitte wechseln Sie zu einem Ethereum-Wallet und versuchen Sie es erneut" } diff --git a/res/values/strings_en.arb b/res/values/strings_en.arb index 4589f9d3e..e7ca7a850 100644 --- a/res/values/strings_en.arb +++ b/res/values/strings_en.arb @@ -728,6 +728,7 @@ "enter_seed_phrase": "Enter your seed phrase", "add_contact": "Add contact", "exchange_provider_unsupported": "${providerName} is no longer supported!", + "require_for_exchanges_to_external_wallets": "Require for exchanges to external wallets", "camera_permission_is_required": "Camera permission is required. \nPlease enable it from app settings.", "switchToETHWallet": "Please switch to an Ethereum wallet and try again" } diff --git a/res/values/strings_es.arb b/res/values/strings_es.arb index 221e1a293..a05ebd09b 100644 --- a/res/values/strings_es.arb +++ b/res/values/strings_es.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "Ingrese su frase de semillas", "add_contact": "Agregar contacto", "exchange_provider_unsupported": "¡${providerName} ya no es compatible!", + "require_for_exchanges_to_external_wallets": "Requerido para intercambios a billeteras externas", "camera_permission_is_required": "Se requiere permiso de la cámara.\nHabilítelo desde la configuración de la aplicación.", "switchToETHWallet": "Cambie a una billetera Ethereum e inténtelo nuevamente." } diff --git a/res/values/strings_fr.arb b/res/values/strings_fr.arb index f2549c3e6..4997ca37d 100644 --- a/res/values/strings_fr.arb +++ b/res/values/strings_fr.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "Entrez votre phrase de semence", "add_contact": "Ajouter le contact", "exchange_provider_unsupported": "${providerName} n'est plus pris en charge!", + "require_for_exchanges_to_external_wallets": "Exiger des échanges vers des portefeuilles externes", "camera_permission_is_required": "L'autorisation de la caméra est requise.\nVeuillez l'activer à partir des paramètres de l'application.", "switchToETHWallet": "Veuillez passer à un portefeuille Ethereum et réessayer" } diff --git a/res/values/strings_ha.arb b/res/values/strings_ha.arb index d181c15b5..c07f5c86b 100644 --- a/res/values/strings_ha.arb +++ b/res/values/strings_ha.arb @@ -705,6 +705,7 @@ "enter_seed_phrase": "Shigar da Sert Sentarku", "add_contact": "Ƙara lamba", "exchange_provider_unsupported": "${providerName}", + "require_for_exchanges_to_external_wallets": "Bukatar musanya zuwa wallet na waje", "camera_permission_is_required": "Ana buƙatar izinin kyamara.\nDa fatan za a kunna shi daga saitunan app.", "switchToETHWallet": "Da fatan za a canza zuwa walat ɗin Ethereum kuma a sake gwadawa" } diff --git a/res/values/strings_hi.arb b/res/values/strings_hi.arb index c47622a19..c949c9938 100644 --- a/res/values/strings_hi.arb +++ b/res/values/strings_hi.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "अपना बीज वाक्यांश दर्ज करें", "add_contact": "संपर्क जोड़ें", "exchange_provider_unsupported": "${providerName} अब समर्थित नहीं है!", + "require_for_exchanges_to_external_wallets": "बाहरी वॉलेट में एक्सचेंज की आवश्यकता है", "camera_permission_is_required": "कैमरे की अनुमति आवश्यक है.\nकृपया इसे ऐप सेटिंग से सक्षम करें।", "switchToETHWallet": "कृपया एथेरियम वॉलेट पर स्विच करें और पुनः प्रयास करें" } diff --git a/res/values/strings_hr.arb b/res/values/strings_hr.arb index 6c3a4df3d..923547f49 100644 --- a/res/values/strings_hr.arb +++ b/res/values/strings_hr.arb @@ -725,6 +725,7 @@ "enter_seed_phrase": "Unesite svoju sjemensku frazu", "add_contact": "Dodaj kontakt", "exchange_provider_unsupported": "${providerName} više nije podržan!", + "require_for_exchanges_to_external_wallets": "Zahtijeva razmjene na vanjske novčanike", "camera_permission_is_required": "Potrebno je dopuštenje kamere.\nOmogućite ga u postavkama aplikacije.", "switchToETHWallet": "Prijeđite na Ethereum novčanik i pokušajte ponovno" } diff --git a/res/values/strings_id.arb b/res/values/strings_id.arb index 4c7f8c167..c6537f1b1 100644 --- a/res/values/strings_id.arb +++ b/res/values/strings_id.arb @@ -715,6 +715,7 @@ "enter_seed_phrase": "Masukkan frasa benih Anda", "add_contact": "Tambah kontak", "exchange_provider_unsupported": "${providerName} tidak lagi didukung!", + "require_for_exchanges_to_external_wallets": "Memerlukan pertukaran ke dompet eksternal", "camera_permission_is_required": "Izin kamera diperlukan.\nSilakan aktifkan dari pengaturan aplikasi.", "switchToETHWallet": "Silakan beralih ke dompet Ethereum dan coba lagi" } diff --git a/res/values/strings_it.arb b/res/values/strings_it.arb index 5b2d46ac1..82955798f 100644 --- a/res/values/strings_it.arb +++ b/res/values/strings_it.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "Inserisci la tua frase di semi", "add_contact": "Aggiungi contatto", "exchange_provider_unsupported": "${providerName} non è più supportato!", + "require_for_exchanges_to_external_wallets": "Richiede scambi con portafogli esterni", "camera_permission_is_required": "È richiesta l'autorizzazione della fotocamera.\nAbilitalo dalle impostazioni dell'app.", "switchToETHWallet": "Passa a un portafoglio Ethereum e riprova" } diff --git a/res/values/strings_ja.arb b/res/values/strings_ja.arb index 36e8fe90f..e69b55cc6 100644 --- a/res/values/strings_ja.arb +++ b/res/values/strings_ja.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "シードフレーズを入力してください", "add_contact": "連絡先を追加", "exchange_provider_unsupported": "${providerName}はサポートされなくなりました!", + "require_for_exchanges_to_external_wallets": "外部ウォレットへの交換に必要", "camera_permission_is_required": "カメラの許可が必要です。\nアプリの設定から有効にしてください。", "switchToETHWallet": "イーサリアムウォレットに切り替えてもう一度お試しください" } diff --git a/res/values/strings_ko.arb b/res/values/strings_ko.arb index d03de7731..ce65b820f 100644 --- a/res/values/strings_ko.arb +++ b/res/values/strings_ko.arb @@ -725,6 +725,7 @@ "enter_seed_phrase": "시드 문구를 입력하십시오", "add_contact": "주소록에 추가", "exchange_provider_unsupported": "${providerName}은 더 이상 지원되지 않습니다!", + "require_for_exchanges_to_external_wallets": "외부 지갑으로의 교환을 위해 필요", "camera_permission_is_required": "카메라 권한이 필요합니다.\n앱 설정에서 활성화해 주세요.", "switchToETHWallet": "이더리움 지갑으로 전환한 후 다시 시도해 주세요." } diff --git a/res/values/strings_my.arb b/res/values/strings_my.arb index a844ba99f..5d015475f 100644 --- a/res/values/strings_my.arb +++ b/res/values/strings_my.arb @@ -725,6 +725,7 @@ "enter_seed_phrase": "သင့်ရဲ့မျိုးစေ့စကားစုကိုရိုက်ထည့်ပါ", "add_contact": "အဆက်အသွယ်ထည့်ပါ။", "exchange_provider_unsupported": "${providerName} မရှိတော့ပါ!", + "require_for_exchanges_to_external_wallets": "ပြင်ပပိုက်ဆံအိတ်များသို့ လဲလှယ်ရန် လိုအပ်သည်။", "camera_permission_is_required": "ကင်မရာခွင့်ပြုချက် လိုအပ်ပါသည်။\nအက်ပ်ဆက်တင်များမှ ၎င်းကိုဖွင့်ပါ။", "switchToETHWallet": "ကျေးဇူးပြု၍ Ethereum ပိုက်ဆံအိတ်သို့ ပြောင်းပြီး ထပ်စမ်းကြည့်ပါ။" } diff --git a/res/values/strings_nl.arb b/res/values/strings_nl.arb index 6f3f24bb4..c05dab90a 100644 --- a/res/values/strings_nl.arb +++ b/res/values/strings_nl.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "Voer uw zaadzin in", "add_contact": "Contactpersoon toevoegen", "exchange_provider_unsupported": "${providerName} wordt niet langer ondersteund!", + "require_for_exchanges_to_external_wallets": "Vereist voor uitwisselingen naar externe portemonnees", "camera_permission_is_required": "Cameratoestemming is vereist.\nSchakel dit in via de app-instellingen.", "switchToETHWallet": "Schakel over naar een Ethereum-portemonnee en probeer het opnieuw" } diff --git a/res/values/strings_pl.arb b/res/values/strings_pl.arb index 2520d57a1..16bf88418 100644 --- a/res/values/strings_pl.arb +++ b/res/values/strings_pl.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "Wprowadź swoją frazę nasienną", "add_contact": "Dodaj kontakt", "exchange_provider_unsupported": "${providerName} nie jest już obsługiwany!", + "require_for_exchanges_to_external_wallets": "Wymagaj wymiany na portfele zewnętrzne", "camera_permission_is_required": "Wymagane jest pozwolenie na korzystanie z aparatu.\nWłącz tę funkcję w ustawieniach aplikacji.", "switchToETHWallet": "Przejdź na portfel Ethereum i spróbuj ponownie" } diff --git a/res/values/strings_pt.arb b/res/values/strings_pt.arb index 49fda1bee..18337cfdb 100644 --- a/res/values/strings_pt.arb +++ b/res/values/strings_pt.arb @@ -726,6 +726,7 @@ "enter_seed_phrase": "Digite sua frase de semente", "add_contact": "Adicionar contato", "exchange_provider_unsupported": "${providerName} não é mais suportado!", + "require_for_exchanges_to_external_wallets": "Exigir trocas para carteiras externas", "camera_permission_is_required": "É necessária permissão da câmera.\nAtive-o nas configurações do aplicativo.", "switchToETHWallet": "Mude para uma carteira Ethereum e tente novamente" } diff --git a/res/values/strings_ru.arb b/res/values/strings_ru.arb index b4c4681b9..40deb5fb9 100644 --- a/res/values/strings_ru.arb +++ b/res/values/strings_ru.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "Введите свою семенную фразу", "add_contact": "Добавить контакт", "exchange_provider_unsupported": "${providerName} больше не поддерживается!", + "require_for_exchanges_to_external_wallets": "Требовать обмена на внешние кошельки", "camera_permission_is_required": "Требуется разрешение камеры.\nПожалуйста, включите его в настройках приложения.", "switchToETHWallet": "Пожалуйста, переключитесь на кошелек Ethereum и повторите попытку." } diff --git a/res/values/strings_th.arb b/res/values/strings_th.arb index 91c05c968..2da16ffcd 100644 --- a/res/values/strings_th.arb +++ b/res/values/strings_th.arb @@ -725,6 +725,7 @@ "enter_seed_phrase": "ป้อนวลีเมล็ดพันธุ์ของคุณ", "add_contact": "เพิ่มผู้ติดต่อ", "exchange_provider_unsupported": "${providerName} ไม่ได้รับการสนับสนุนอีกต่อไป!", + "require_for_exchanges_to_external_wallets": "จำเป็นต้องแลกเปลี่ยนกับกระเป๋าเงินภายนอก", "camera_permission_is_required": "ต้องได้รับอนุญาตจากกล้อง\nโปรดเปิดใช้งานจากการตั้งค่าแอป", "switchToETHWallet": "โปรดเปลี่ยนไปใช้กระเป๋าเงิน Ethereum แล้วลองอีกครั้ง" } diff --git a/res/values/strings_tl.arb b/res/values/strings_tl.arb index 546b1515c..231dd2db3 100644 --- a/res/values/strings_tl.arb +++ b/res/values/strings_tl.arb @@ -722,6 +722,7 @@ "enter_seed_phrase": "Ipasok ang iyong pariralang binhi", "add_contact": "Magdagdag ng contact", "exchange_provider_unsupported": "Ang ${providerName} ay hindi na suportado!", + "require_for_exchanges_to_external_wallets": "Kinakailangan para sa mga palitan sa mga panlabas na wallet", "camera_permission_is_required": "Kinakailangan ang pahintulot sa camera.\nMangyaring paganahin ito mula sa mga setting ng app.", "switchToETHWallet": "Mangyaring lumipat sa isang Ethereum wallet at subukang muli" } diff --git a/res/values/strings_tr.arb b/res/values/strings_tr.arb index 60e276513..54062b723 100644 --- a/res/values/strings_tr.arb +++ b/res/values/strings_tr.arb @@ -725,6 +725,7 @@ "enter_seed_phrase": "Tohum ifadenizi girin", "add_contact": "Kişi ekle", "exchange_provider_unsupported": "${providerName} artık desteklenmiyor!", + "require_for_exchanges_to_external_wallets": "Harici cüzdanlara geçiş yapılmasını zorunlu kılın", "camera_permission_is_required": "Kamera izni gereklidir.\nLütfen uygulama ayarlarından etkinleştirin.", "switchToETHWallet": "Lütfen bir Ethereum cüzdanına geçin ve tekrar deneyin" } diff --git a/res/values/strings_uk.arb b/res/values/strings_uk.arb index 034260c13..0c5aaee59 100644 --- a/res/values/strings_uk.arb +++ b/res/values/strings_uk.arb @@ -727,6 +727,7 @@ "enter_seed_phrase": "Введіть свою насіннєву фразу", "add_contact": "Додати контакт", "exchange_provider_unsupported": "${providerName} більше не підтримується!", + "require_for_exchanges_to_external_wallets": "Потрібен для обміну на зовнішні гаманці", "camera_permission_is_required": "Потрібен дозвіл камери.\nУвімкніть його в налаштуваннях програми.", "switchToETHWallet": "Перейдіть на гаманець Ethereum і повторіть спробу" } diff --git a/res/values/strings_ur.arb b/res/values/strings_ur.arb index 237fa24dd..ec4ccb5b8 100644 --- a/res/values/strings_ur.arb +++ b/res/values/strings_ur.arb @@ -719,6 +719,7 @@ "enter_seed_phrase": "اپنے بیج کا جملہ درج کریں", "add_contact": "۔ﮟﯾﺮﮐ ﻞﻣﺎﺷ ﮧﻄﺑﺍﺭ", "exchange_provider_unsupported": "${providerName} اب تعاون نہیں کیا جاتا ہے!", + "require_for_exchanges_to_external_wallets": "۔ﮯﮨ ﺕﺭﻭﺮﺿ ﯽﮐ ﮯﻟﺩﺎﺒﺗ ﮟﯿﻣ ﮮﻮﭩﺑ ﯽﻧﻭﺮﯿﺑ", "camera_permission_is_required": "۔ﮯﮨ ﺭﺎﮐﺭﺩ ﺕﺯﺎﺟﺍ ﯽﮐ ﮮﺮﻤﯿﮐ", "switchToETHWallet": "۔ﮟﯾﺮﮐ ﺶﺷﻮﮐ ﮦﺭﺎﺑﻭﺩ ﺭﻭﺍ ﮟﯾﺮﮐ ﭻﺋﻮﺳ ﺮﭘ ﭧﯿﻟﺍﻭ Ethereum ﻡﺮﮐ ﮦﺍﺮﺑ" } diff --git a/res/values/strings_yo.arb b/res/values/strings_yo.arb index df06da974..d30d36cb7 100644 --- a/res/values/strings_yo.arb +++ b/res/values/strings_yo.arb @@ -721,6 +721,7 @@ "enter_seed_phrase": "Tẹ ọrọ-iru irugbin rẹ", "add_contact": "Fi olubasọrọ kun", "exchange_provider_unsupported": "${providerName} ko ni atilẹyin mọ!", + "require_for_exchanges_to_external_wallets": "Beere fun awọn paṣipaarọ si awọn apamọwọ ita", "camera_permission_is_required": "A nilo igbanilaaye kamẹra.\nJọwọ jeki o lati app eto.", "switchToETHWallet": "Jọwọ yipada si apamọwọ Ethereum ki o tun gbiyanju lẹẹkansi" } diff --git a/res/values/strings_zh.arb b/res/values/strings_zh.arb index 4a464b50f..b68ffcc0e 100644 --- a/res/values/strings_zh.arb +++ b/res/values/strings_zh.arb @@ -726,6 +726,7 @@ "enter_seed_phrase": "输入您的种子短语", "add_contact": "增加联系人", "exchange_provider_unsupported": "${providerName}不再支持!", + "require_for_exchanges_to_external_wallets": "需要兑换到外部钱包", "camera_permission_is_required": "需要相机许可。\n请从应用程序设置中启用它。", "switchToETHWallet": "请切换到以太坊钱包并重试" }