diff --git a/.circleci/config.yml b/.circleci/config.yml index c33ead23b..90cedea04 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -3,7 +3,7 @@ jobs: lint: docker: - - image: cimg/node:16.17.1 + - image: cimg/node:16.19.0 working_directory: ~/repo @@ -26,7 +26,7 @@ jobs: unit: docker: - - image: cimg/node:16.17.1 + - image: cimg/node:16.19.0 working_directory: ~/repo @@ -50,7 +50,7 @@ jobs: integration: docker: - - image: cimg/node:16.17.1 + - image: cimg/node:16.19.0 working_directory: ~/repo diff --git a/.tx/config b/.tx/config index 4828d3a37..5ace997d0 100644 --- a/.tx/config +++ b/.tx/config @@ -1,42 +1,43 @@ [main] host = https://www.transifex.com -[bluewallet.loc-en-json--master] -file_filter = loc/.json +[o:bluewallet:p:bluewallet-fastlane:r:ios-fastlane-metadata-en-us-description-txt--master] +file_filter = ios/fastlane/metadata//description.txt +source_file = ios/fastlane/metadata/en-US/description.txt +source_lang = en_US +type = TXT +minimum_perc = 10 +lang_map = fr_FR: fr-FR, nl_NL: nl-NL, pt_BR: pt-BR, zh_CN: zh-Hans, zh_HK: zh-Hant, ar_SA: ar-SA, es_MX: es-MX, fr_CA: fr-CA, pt_PT: pt-PT, de_DE: de-DE, es_ES: es-ES + +[o:bluewallet:p:bluewallet-fastlane:r:ios-fastlane-metadata-en-us-keywords-txt--master] +file_filter = ios/fastlane/metadata//keywords.txt +source_file = ios/fastlane/metadata/en-US/keywords.txt +source_lang = en_US +type = TXT +minimum_perc = 10 +lang_map = es_ES: es-ES, es_MX: es-MX, fr_CA: fr-CA, fr_FR: fr-FR, nl_NL: nl-NL, pt_BR: pt-BR, zh_CN: zh-Hans, ar_SA: ar-SA, de_DE: de-DE, pt_PT: pt-PT, zh_HK: zh-Hant + +[o:bluewallet:p:bluewallet-fastlane:r:ios-fastlane-metadata-en-us-name-txt--master] +file_filter = ios/fastlane/metadata//name.txt +source_file = ios/fastlane/metadata/en-US/name.txt +source_lang = en_US +type = TXT +minimum_perc = 10 +lang_map = zh_HK: zh-Hant, ar_SA: ar-SA, es_MX: es-MX, fr_FR: fr-FR, nl_NL: nl-NL, pt_BR: pt-BR, pt_PT: pt-PT, zh_CN: zh-Hans, de_DE: de-DE, es_ES: es-ES, fr_CA: fr-CA + +[o:bluewallet:p:bluewallet-fastlane:r:ios-fastlane-metadata-en-us-promotional-text-txt--master] +file_filter = ios/fastlane/metadata//promotional_text.txt +source_file = ios/fastlane/metadata/en-US/promotional_text.txt +source_lang = en_US +type = TXT +minimum_perc = 10 +lang_map = zh_CN: zh-Hans, zh_HK: zh-Hant, ar_SA: ar-SA, es_MX: es-MX, fr_CA: fr-CA, fr_FR: fr-FR, pt_PT: pt-PT, de_DE: de-DE, es_ES: es-ES, nl_NL: nl-NL, pt_BR: pt-BR + +[o:bluewallet:p:bluewallet:r:loc-en-json--master] +file_filter = loc/.json +source_file = loc/en.json +source_lang = en +type = KEYVALUEJSON minimum_perc = 30 -source_file = loc/en.json -source_lang = en -type = KEYVALUEJSON -lang_map = af_ZA: zar_afr, bg_BG: bg_bg, ca: ca, cs_CZ: cs_cz, cy: cy, da_DK: da_dk, de_DE: de_de, el: el, es_ES: es, fa_IR: fa, fi_FI: fi_fi, fr_FR: fr_fr, hr_HR: hr_hr, hu_HU: hu_hu, id_ID: id_id, ja_JP: jp_jp, nb_NO: nb_no, nl_NL: nl_nl, pt_BR: pt_br, pt_PT: pt_pt, ro: ro, sk_SK: sk_sk, sv_SE: sv_se, th_TH: th_th, tr_TR: tr_tr, uk_UA: ua, vi_VN: vi_vn, xh: zar_xho, zh_CN: zh_cn, zh_TW: zh_tw +lang_map = vi_VN: vi_vn, zh_TW: zh_tw, af_ZA: zar_afr, id_ID: id_id, sk_SK: sk_sk, ja_JP: jp_jp, uk_UA: ua, zh_CN: zh_cn, hr_HR: hr_hr, tr_TR: tr_tr, sv_SE: sv_se, th_TH: th_th, pt_BR: pt_br, es_ES: es, fr_FR: fr_fr, hu_HU: hu_hu, nl_NL: nl_nl, ro: ro, ca: ca, cy: cy, de_DE: de_de, nb_NO: nb_no, pt_PT: pt_pt, xh: zar_xho, bg_BG: bg_bg, cs_CZ: cs_cz, da_DK: da_dk, el: el, fa_IR: fa, fi_FI: fi_fi -[bluewallet-fastlane.ios-fastlane-metadata-en-us-description-txt--master] -file_filter = ios/fastlane/metadata//description.txt -minimum_perc = 10 -source_file = ios/fastlane/metadata/en-US/description.txt -source_lang = en_US -type = TXT -lang_map = ar_SA: ar-SA, de_DE: de-DE, es_ES: es-ES, es_MX: es-MX, fr_CA: fr-CA, fr_FR: fr-FR, nl_NL: nl-NL, pt_BR: pt-BR, pt_PT: pt-PT, zh_CN: zh-Hans, zh_HK: zh-Hant - -[bluewallet-fastlane.ios-fastlane-metadata-en-us-keywords-txt--master] -file_filter = ios/fastlane/metadata//keywords.txt -minimum_perc = 10 -source_file = ios/fastlane/metadata/en-US/keywords.txt -source_lang = en_US -type = TXT -lang_map = ar_SA: ar-SA, de_DE: de-DE, es_ES: es-ES, es_MX: es-MX, fr_CA: fr-CA, fr_FR: fr-FR, nl_NL: nl-NL, pt_BR: pt-BR, pt_PT: pt-PT, zh_CN: zh-Hans, zh_HK: zh-Hant - -[bluewallet-fastlane.ios-fastlane-metadata-en-us-name-txt--master] -file_filter = ios/fastlane/metadata//name.txt -minimum_perc = 10 -source_file = ios/fastlane/metadata/en-US/name.txt -source_lang = en_US -type = TXT -lang_map = ar_SA: ar-SA, de_DE: de-DE, es_ES: es-ES, es_MX: es-MX, fr_CA: fr-CA, fr_FR: fr-FR, nl_NL: nl-NL, pt_BR: pt-BR, pt_PT: pt-PT, zh_CN: zh-Hans, zh_HK: zh-Hant - -[bluewallet-fastlane.ios-fastlane-metadata-en-us-promotional-text-txt--master] -file_filter = ios/fastlane/metadata//promotional_text.txt -minimum_perc = 10 -source_file = ios/fastlane/metadata/en-US/promotional_text.txt -source_lang = en_US -type = TXT -lang_map = ar_SA: ar-SA, de_DE: de-DE, es_ES: es-ES, es_MX: es-MX, fr_CA: fr-CA, fr_FR: fr-FR, nl_NL: nl-NL, pt_BR: pt-BR, pt_PT: pt-PT, zh_CN: zh-Hans, zh_HK: zh-Hant diff --git a/android/app/build.gradle b/android/app/build.gradle index 94c3f4c79..028263842 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,6 +1,5 @@ apply plugin: "com.android.application" apply plugin: "kotlin-android" -apply plugin: "kotlin-android-extensions" import com.android.build.OutputFile diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 8a588bdac..f0ff7125b 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -14,6 +14,7 @@ android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" android:allowBackup="false" + android:largeHeap="true" android:extractNativeLibs="true" android:requestLegacyExternalStorage="true" android:usesCleartextTraffic="true" diff --git a/android/app/src/main/java/io/bluewallet/bluewallet/MainApplication.java b/android/app/src/main/java/io/bluewallet/bluewallet/MainApplication.java index a23fec2ea..11c16adfc 100644 --- a/android/app/src/main/java/io/bluewallet/bluewallet/MainApplication.java +++ b/android/app/src/main/java/io/bluewallet/bluewallet/MainApplication.java @@ -12,8 +12,6 @@ import java.lang.reflect.InvocationTargetException; import com.facebook.react.modules.i18nmanager.I18nUtil; import java.util.List; import com.bugsnag.android.Bugsnag; -import com.facebook.react.bridge.JSIModulePackage; -import com.swmansion.reanimated.ReanimatedJSIModulePackage; public class MainApplication extends Application implements ReactApplication { @@ -37,11 +35,6 @@ public class MainApplication extends Application implements ReactApplication { protected String getJSMainModuleName() { return "index"; } - - @Override - protected JSIModulePackage getJSIModulePackage() { - return new ReanimatedJSIModulePackage(); - } }; @Override diff --git a/android/build.gradle b/android/build.gradle index 55b6f96ae..2eea8d81b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -12,7 +12,7 @@ buildscript { firebaseVersion = "17.3.4" firebaseMessagingVersion = "21.1.0" ndkVersion = "23.0.7599858" - kotlin_version = '1.7.20' + kotlin_version = '1.8.0' } repositories { google() diff --git a/android/gradle.properties b/android/gradle.properties index 2afd749d8..2fe7c997d 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -31,4 +31,5 @@ org.gradle.configureondemand=true org.gradle.jvmargs=-Xmx4g -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 # Version of flipper SDK to use with React Native -FLIPPER_VERSION=0.127.0 \ No newline at end of file +FLIPPER_VERSION=0.127.0 +org.gradle.jvmargs=-XX\:MaxHeapSize\=2999m -Xmx4608m diff --git a/blue_modules/BlueElectrum.js b/blue_modules/BlueElectrum.js index 3ee0947f0..b029a436d 100644 --- a/blue_modules/BlueElectrum.js +++ b/blue_modules/BlueElectrum.js @@ -832,7 +832,7 @@ module.exports.estimateFees = async function () { const _slow = await module.exports.estimateFee(144); // calculating fast fees from mempool: - const fast = module.exports.calcEstimateFeeFromFeeHistorgam(1, histogram); + const fast = Math.max(2, module.exports.calcEstimateFeeFromFeeHistorgam(1, histogram)); // recalculating medium and slow fees using bitcoincore estimations only like relative weights: // (minimum 1 sat, just for any case) const medium = Math.max(1, Math.round((fast * _medium) / _fast)); diff --git a/blue_modules/currency.js b/blue_modules/currency.js index 30c58cf67..6653c67a6 100644 --- a/blue_modules/currency.js +++ b/blue_modules/currency.js @@ -53,6 +53,9 @@ async function _restoreSavedPreferredFiatCurrencyFromStorage() { if (preferredFiatCurrency === null) { throw Error('No Preferred Fiat selected'); } + + preferredFiatCurrency = FiatUnit[preferredFiatCurrency.endPointKey] || preferredFiatCurrency; + // ^^^ in case configuration in json file changed (and is different from what we stored) we reload it } catch (_) { const deviceCurrencies = RNLocalize.getCurrencies(); if (Object.keys(FiatUnit).some(unit => unit === deviceCurrencies[0])) { diff --git a/class/app-storage.js b/class/app-storage.js index 01fc5f8de..c6a64e198 100644 --- a/class/app-storage.js +++ b/class/app-storage.js @@ -67,7 +67,7 @@ export class AppStorage { */ setItem = (key, value) => { if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') { - return RNSecureKeyStore.set(key, value, { accessible: ACCESSIBLE.WHEN_UNLOCKED }); + return RNSecureKeyStore.set(key, value, { accessible: ACCESSIBLE.WHEN_UNLOCKED_THIS_DEVICE_ONLY }); } else { return AsyncStorage.setItem(key, value); } diff --git a/class/deeplink-schema-match.js b/class/deeplink-schema-match.js index abc8fded1..6055f09eb 100644 --- a/class/deeplink-schema-match.js +++ b/class/deeplink-schema-match.js @@ -390,7 +390,8 @@ class DeeplinkSchemaMatch { break; } } else if (value.startsWith('lightning')) { - lndInvoice = `lightning:${txInfo[index + 1]}`; + const lnpart = txInfo[index + 1].split('&').find(el => el.toLowerCase().startsWith('ln')); + lndInvoice = `lightning:${lnpart}`; if (!this.isLightningInvoice(lndInvoice)) { lndInvoice = false; break; diff --git a/class/wallets/multisig-hd-wallet.js b/class/wallets/multisig-hd-wallet.js index 47859b16d..acbfa0a8a 100644 --- a/class/wallets/multisig-hd-wallet.js +++ b/class/wallets/multisig-hd-wallet.js @@ -567,11 +567,11 @@ export class MultisigHDWallet extends AbstractHDElectrumWallet { } if (secret.indexOf('sortedmulti(') !== -1 && json.descriptor) { if (json.label) this.setLabel(json.label); - if (json.descriptor.startsWith('wsh(')) { - this.setNativeSegwit(); - } else if (json.descriptor.startsWith('sh(wsh(')) { + if (json.descriptor.includes('sh(wsh(')) { this.setWrappedSegwit(); - } else if (json.descriptor.startsWith('sh(')) { + } else if (json.descriptor.includes('wsh(')) { + this.setNativeSegwit(); + } else if (json.descriptor.includes('sh(')) { this.setLegacy(); } diff --git a/ios/Podfile.lock b/ios/Podfile.lock index a26b3b485..121f1d41c 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,19 +1,19 @@ PODS: - boost (1.76.0) - - BugsnagReactNative (7.18.0): + - BugsnagReactNative (7.18.2): - React-Core - BVLinearGradient (2.6.2): - React-Core - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.67.4) - - FBReactNativeSpec (0.67.4): + - FBLazyVector (0.67.5) + - FBReactNativeSpec (0.67.5): - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.67.4) - - RCTTypeSafety (= 0.67.4) - - React-Core (= 0.67.4) - - React-jsi (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) + - RCTRequired (= 0.67.5) + - RCTTypeSafety (= 0.67.5) + - React-Core (= 0.67.5) + - React-jsi (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) - Flipper (0.99.0): - Flipper-Folly (~> 2.6) - Flipper-RSocket (~> 1.4) @@ -77,7 +77,7 @@ PODS: - fmt (6.2.1) - glog (0.3.5) - libevent (2.1.12) - - lottie-ios (3.4.3) + - lottie-ios (3.4.4) - lottie-react-native (5.1.4): - lottie-ios (~> 3.4.0) - React-Core @@ -95,203 +95,195 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCTRequired (0.67.4) - - RCTTypeSafety (0.67.4): - - FBLazyVector (= 0.67.4) + - RCTRequired (0.67.5) + - RCTTypeSafety (0.67.5): + - FBLazyVector (= 0.67.5) - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.67.4) - - React-Core (= 0.67.4) - - React (0.67.4): - - React-Core (= 0.67.4) - - React-Core/DevSupport (= 0.67.4) - - React-Core/RCTWebSocket (= 0.67.4) - - React-RCTActionSheet (= 0.67.4) - - React-RCTAnimation (= 0.67.4) - - React-RCTBlob (= 0.67.4) - - React-RCTImage (= 0.67.4) - - React-RCTLinking (= 0.67.4) - - React-RCTNetwork (= 0.67.4) - - React-RCTSettings (= 0.67.4) - - React-RCTText (= 0.67.4) - - React-RCTVibration (= 0.67.4) - - React-callinvoker (0.67.4) - - React-Core (0.67.4): + - RCTRequired (= 0.67.5) + - React-Core (= 0.67.5) + - React (0.67.5): + - React-Core (= 0.67.5) + - React-Core/DevSupport (= 0.67.5) + - React-Core/RCTWebSocket (= 0.67.5) + - React-RCTActionSheet (= 0.67.5) + - React-RCTAnimation (= 0.67.5) + - React-RCTBlob (= 0.67.5) + - React-RCTImage (= 0.67.5) + - React-RCTLinking (= 0.67.5) + - React-RCTNetwork (= 0.67.5) + - React-RCTSettings (= 0.67.5) + - React-RCTText (= 0.67.5) + - React-RCTVibration (= 0.67.5) + - React-callinvoker (0.67.5) + - React-Core (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.67.4) - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-Core/Default (= 0.67.5) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/CoreModulesHeaders (0.67.4): + - React-Core/CoreModulesHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/Default (0.67.4): + - React-Core/Default (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/DevSupport (0.67.4): + - React-Core/DevSupport (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.67.4) - - React-Core/RCTWebSocket (= 0.67.4) - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-jsinspector (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-Core/Default (= 0.67.5) + - React-Core/RCTWebSocket (= 0.67.5) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-jsinspector (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTActionSheetHeaders (0.67.4): + - React-Core/RCTActionSheetHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTAnimationHeaders (0.67.4): + - React-Core/RCTAnimationHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTBlobHeaders (0.67.4): + - React-Core/RCTBlobHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTImageHeaders (0.67.4): + - React-Core/RCTImageHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTLinkingHeaders (0.67.4): + - React-Core/RCTLinkingHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTNetworkHeaders (0.67.4): + - React-Core/RCTNetworkHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTSettingsHeaders (0.67.4): + - React-Core/RCTSettingsHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTTextHeaders (0.67.4): + - React-Core/RCTTextHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTVibrationHeaders (0.67.4): + - React-Core/RCTVibrationHeaders (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-Core/RCTWebSocket (0.67.4): + - React-Core/RCTWebSocket (0.67.5): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.67.4) - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsiexecutor (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-Core/Default (= 0.67.5) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsiexecutor (= 0.67.5) + - React-perflogger (= 0.67.5) - Yoga - - React-CoreModules (0.67.4): - - FBReactNativeSpec (= 0.67.4) + - React-CoreModules (0.67.5): + - FBReactNativeSpec (= 0.67.5) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.4) - - React-Core/CoreModulesHeaders (= 0.67.4) - - React-jsi (= 0.67.4) - - React-RCTImage (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) - - React-cxxreact (0.67.4): + - RCTTypeSafety (= 0.67.5) + - React-Core/CoreModulesHeaders (= 0.67.5) + - React-jsi (= 0.67.5) + - React-RCTImage (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) + - React-cxxreact (0.67.5): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.67.4) - - React-jsi (= 0.67.4) - - React-jsinspector (= 0.67.4) - - React-logger (= 0.67.4) - - React-perflogger (= 0.67.4) - - React-runtimeexecutor (= 0.67.4) - - React-jsi (0.67.4): + - React-callinvoker (= 0.67.5) + - React-jsi (= 0.67.5) + - React-jsinspector (= 0.67.5) + - React-logger (= 0.67.5) + - React-perflogger (= 0.67.5) + - React-runtimeexecutor (= 0.67.5) + - React-jsi (0.67.5): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 0.67.4) - - React-jsi/Default (0.67.4): + - React-jsi/Default (= 0.67.5) + - React-jsi/Default (0.67.5): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (0.67.4): + - React-jsiexecutor (0.67.5): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-perflogger (= 0.67.4) - - React-jsinspector (0.67.4) - - React-logger (0.67.4): + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-perflogger (= 0.67.5) + - React-jsinspector (0.67.5) + - React-logger (0.67.5): - glog - react-native-blue-crypto (1.0.0): - React - - react-native-camera (4.2.1): - - React-Core - - react-native-camera/RCT (= 4.2.1) - - react-native-camera/RN (= 4.2.1) - - react-native-camera/RCT (4.2.1): - - React-Core - - react-native-camera/RN (4.2.1): - - React-Core - react-native-document-picker (7.1.3): - React-Core - react-native-fingerprint-scanner (6.0.0): @@ -311,75 +303,77 @@ PODS: - React-Core - react-native-tor (0.1.8): - React - - react-native-webview (11.23.1): + - react-native-webview (11.26.1): - React-Core - react-native-widget-center (0.0.8): - React - - React-perflogger (0.67.4) - - React-RCTActionSheet (0.67.4): - - React-Core/RCTActionSheetHeaders (= 0.67.4) - - React-RCTAnimation (0.67.4): - - FBReactNativeSpec (= 0.67.4) + - React-perflogger (0.67.5) + - React-RCTActionSheet (0.67.5): + - React-Core/RCTActionSheetHeaders (= 0.67.5) + - React-RCTAnimation (0.67.5): + - FBReactNativeSpec (= 0.67.5) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.4) - - React-Core/RCTAnimationHeaders (= 0.67.4) - - React-jsi (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) - - React-RCTBlob (0.67.4): - - FBReactNativeSpec (= 0.67.4) + - RCTTypeSafety (= 0.67.5) + - React-Core/RCTAnimationHeaders (= 0.67.5) + - React-jsi (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) + - React-RCTBlob (0.67.5): + - FBReactNativeSpec (= 0.67.5) - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTBlobHeaders (= 0.67.4) - - React-Core/RCTWebSocket (= 0.67.4) - - React-jsi (= 0.67.4) - - React-RCTNetwork (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) - - React-RCTImage (0.67.4): - - FBReactNativeSpec (= 0.67.4) + - React-Core/RCTBlobHeaders (= 0.67.5) + - React-Core/RCTWebSocket (= 0.67.5) + - React-jsi (= 0.67.5) + - React-RCTNetwork (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) + - React-RCTImage (0.67.5): + - FBReactNativeSpec (= 0.67.5) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.4) - - React-Core/RCTImageHeaders (= 0.67.4) - - React-jsi (= 0.67.4) - - React-RCTNetwork (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) - - React-RCTLinking (0.67.4): - - FBReactNativeSpec (= 0.67.4) - - React-Core/RCTLinkingHeaders (= 0.67.4) - - React-jsi (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) - - React-RCTNetwork (0.67.4): - - FBReactNativeSpec (= 0.67.4) + - RCTTypeSafety (= 0.67.5) + - React-Core/RCTImageHeaders (= 0.67.5) + - React-jsi (= 0.67.5) + - React-RCTNetwork (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) + - React-RCTLinking (0.67.5): + - FBReactNativeSpec (= 0.67.5) + - React-Core/RCTLinkingHeaders (= 0.67.5) + - React-jsi (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) + - React-RCTNetwork (0.67.5): + - FBReactNativeSpec (= 0.67.5) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.4) - - React-Core/RCTNetworkHeaders (= 0.67.4) - - React-jsi (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) - - React-RCTSettings (0.67.4): - - FBReactNativeSpec (= 0.67.4) + - RCTTypeSafety (= 0.67.5) + - React-Core/RCTNetworkHeaders (= 0.67.5) + - React-jsi (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) + - React-RCTSettings (0.67.5): + - FBReactNativeSpec (= 0.67.5) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.67.4) - - React-Core/RCTSettingsHeaders (= 0.67.4) - - React-jsi (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) - - React-RCTText (0.67.4): - - React-Core/RCTTextHeaders (= 0.67.4) - - React-RCTVibration (0.67.4): - - FBReactNativeSpec (= 0.67.4) + - RCTTypeSafety (= 0.67.5) + - React-Core/RCTSettingsHeaders (= 0.67.5) + - React-jsi (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) + - React-RCTText (0.67.5): + - React-Core/RCTTextHeaders (= 0.67.5) + - React-RCTVibration (0.67.5): + - FBReactNativeSpec (= 0.67.5) - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTVibrationHeaders (= 0.67.4) - - React-jsi (= 0.67.4) - - ReactCommon/turbomodule/core (= 0.67.4) - - React-runtimeexecutor (0.67.4): - - React-jsi (= 0.67.4) - - ReactCommon/turbomodule/core (0.67.4): + - React-Core/RCTVibrationHeaders (= 0.67.5) + - React-jsi (= 0.67.5) + - ReactCommon/turbomodule/core (= 0.67.5) + - React-runtimeexecutor (0.67.5): + - React-jsi (= 0.67.5) + - ReactCommon/turbomodule/core (0.67.5): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.67.4) - - React-Core (= 0.67.4) - - React-cxxreact (= 0.67.4) - - React-jsi (= 0.67.4) - - React-logger (= 0.67.4) - - React-perflogger (= 0.67.4) + - React-callinvoker (= 0.67.5) + - React-Core (= 0.67.5) + - React-cxxreact (= 0.67.5) + - React-jsi (= 0.67.5) + - React-logger (= 0.67.5) + - React-perflogger (= 0.67.5) + - ReactNativeCameraKit (13.0.0): + - React-Core - RealmJS (10.20.0-beta.5): - React - RemobileReactNativeQrcodeLocalImage (1.0.4): @@ -398,7 +392,7 @@ PODS: - React-Core - RNFS (2.19.0): - React-Core - - RNGestureHandler (2.6.2): + - RNGestureHandler (2.8.0): - React-Core - RNHandoff (0.0.3): - React @@ -410,11 +404,11 @@ PODS: - React - RNQuickAction (0.3.13): - React - - RNRate (1.2.9): + - RNRate (1.2.12): - React-Core - RNReactNativeHapticFeedback (1.14.0): - React-Core - - RNReanimated (2.9.1): + - RNReanimated (2.13.0): - DoubleConversion - FBLazyVector - FBReactNativeSpec @@ -441,12 +435,12 @@ PODS: - React-RCTText - ReactCommon/turbomodule/core - Yoga - - RNScreens (3.17.0): + - RNScreens (3.19.0): - React-Core - React-RCTImage - RNSecureKeyStore (1.0.0): - React - - RNShare (7.9.0): + - RNShare (7.9.1): - React-Core - RNSVG (12.4.4): - React-Core @@ -508,7 +502,6 @@ DEPENDENCIES: - React-jsinspector (from `../node_modules/react-native/ReactCommon/jsinspector`) - React-logger (from `../node_modules/react-native/ReactCommon/logger`) - react-native-blue-crypto (from `../node_modules/react-native-blue-crypto`) - - react-native-camera (from `../node_modules/react-native-camera`) - react-native-document-picker (from `../node_modules/react-native-document-picker`) - react-native-fingerprint-scanner (from `../node_modules/react-native-fingerprint-scanner`) - react-native-idle-timer (from `../node_modules/react-native-idle-timer`) @@ -532,6 +525,7 @@ DEPENDENCIES: - React-RCTVibration (from `../node_modules/react-native/Libraries/Vibration`) - React-runtimeexecutor (from `../node_modules/react-native/ReactCommon/runtimeexecutor`) - ReactCommon/turbomodule/core (from `../node_modules/react-native/ReactCommon`) + - ReactNativeCameraKit (from `../node_modules/react-native-camera-kit`) - RealmJS (from `../node_modules/realm`) - "RemobileReactNativeQrcodeLocalImage (from `../node_modules/@remobile/react-native-qrcode-local-image`)" - rn-ldk (from `../node_modules/rn-ldk`) @@ -623,8 +617,6 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/logger" react-native-blue-crypto: :path: "../node_modules/react-native-blue-crypto" - react-native-camera: - :path: "../node_modules/react-native-camera" react-native-document-picker: :path: "../node_modules/react-native-document-picker" react-native-fingerprint-scanner: @@ -671,6 +663,8 @@ EXTERNAL SOURCES: :path: "../node_modules/react-native/ReactCommon/runtimeexecutor" ReactCommon: :path: "../node_modules/react-native/ReactCommon" + ReactNativeCameraKit: + :path: "../node_modules/react-native-camera-kit" RealmJS: :path: "../node_modules/realm" RemobileReactNativeQrcodeLocalImage: @@ -732,12 +726,12 @@ CHECKOUT OPTIONS: SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 - BugsnagReactNative: 90db2ee1ae4e7b04c56ce0bd00c098c818fc1ee7 + BugsnagReactNative: e3debe54be51169ae09c653b059f1c1b0e594e39 BVLinearGradient: 34a999fda29036898a09c6a6b728b0b4189e1a44 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 - FBLazyVector: f7b0632c6437e312acf6349288d9aa4cb6d59030 - FBReactNativeSpec: 0f4e1f4cfeace095694436e7c7fcc5bf4b03a0ff + FBLazyVector: d2db9d00883282819d03bbd401b2ad4360d47580 + FBReactNativeSpec: 94da4d84ba3b1acf459103320882daa481a2b62d Flipper: 30e8eeeed6abdc98edaf32af0cda2f198be4b733 Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c Flipper-DoubleConversion: 38631e41ef4f9b12861c67d17cb5518d06badc41 @@ -750,24 +744,23 @@ SPEC CHECKSUMS: fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 glog: 85ecdd10ee8d8ec362ef519a6a45ff9aa27b2e85 libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - lottie-ios: 9ae750cdc7820fecbd3c2f0cfc493038208fcdc4 + lottie-ios: 8f97d3271e155c2d688875c29cd3c74908aef5f8 lottie-react-native: b702fab740cdb952a8e2354713d3beda63ff97b0 OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b PasscodeAuth: 3e88093ff46c31a952d8b36c488240de980517be RCT-Folly: 803a9cfd78114b2ec0f140cfa6fa2a6bafb2d685 - RCTRequired: 0aa6c1c27e1d65920df35ceea5341a5fe76bdb79 - RCTTypeSafety: d76a59d00632891e11ed7522dba3fd1a995e573a - React: ab8c09da2e7704f4b3ebad4baa6cfdfcc852dcb5 - React-callinvoker: 216fb96b482da516b8aba4142b145938f6ea92f0 - React-Core: af99b93aff83599485e0e0879879aafa35ceae32 - React-CoreModules: 137a054ce8c547e81dc3502933b1bc0fd08df05d - React-cxxreact: ec5ee6b08664f5b8ac71d8ad912f54d540c4f817 - React-jsi: 3e084c80fd364cee64668d5df46d40c39f7973e1 - React-jsiexecutor: cbdf37cebdc4f5d8b3d0bf5ccaa6147fd9de9f3d - React-jsinspector: f4775ea9118cbe1f72b834f0f842baa7a99508d8 - React-logger: a1f028f6d8639a3f364ef80419e5e862e1115250 + RCTRequired: 412e994c1e570cf35378a32c18fd46e50634938b + RCTTypeSafety: ef27340c728e6d673af345ed69e479a010c8a2d8 + React: 36b9f5116572e5b80f01e562bb1f1451e8848e47 + React-callinvoker: 91e62870884d3db3a0db33bbb1ba4e53fa5210ca + React-Core: 765ccc3861be1b93c7d5ca37f6b06e2efd6e7999 + React-CoreModules: da2ddff50a92576b6d58fbfc80a62ba3f81d8a4e + React-cxxreact: b54cffd4feb550c3213cd38db4a2a4bdd896f715 + React-jsi: 103674913e4159a07df20ef214c6b563e90e7b2e + React-jsiexecutor: e9895ccae253323ca70f693945fecbba091f0abd + React-jsinspector: ec4fe4f65ccf9d67c8429dda955d3412db8a25ef + React-logger: 85f4ef06b9723714b2dfa5b0e5502b673b271b58 react-native-blue-crypto: 23f1558ad3d38d7a2edb7e2f6ed1bc520ed93e56 - react-native-camera: 3eae183c1d111103963f3dd913b65d01aef8110f react-native-document-picker: ec07866a30707f23660c0f3ae591d669d3e89096 react-native-fingerprint-scanner: ac6656f18c8e45a7459302b84da41a44ad96dbbe react-native-idle-timer: f7f651542b39dce9b9473e4578cb64a255075f17 @@ -777,20 +770,21 @@ SPEC CHECKSUMS: react-native-safe-area-context: 9e40fb181dac02619414ba1294d6c2a807056ab9 react-native-tcp-socket: c1b7297619616b4c9caae6889bcb0aba78086989 react-native-tor: 3b14e9160b2eb7fa3f310921b2dee71a5171e5b7 - react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581 + react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1 react-native-widget-center: 6bf4d5aa5ab10a9dbbf7ddf9192f06cc1d66ccd5 - React-perflogger: 0afaf2f01a47fd0fc368a93bfbb5bd3b26db6e7f - React-RCTActionSheet: 59f35c4029e0b532fc42114241a06e170b7431a2 - React-RCTAnimation: aae4f4bed122e78bdab72f7118d291d70a932ce2 - React-RCTBlob: f6fb23394b4f28cd86fa7e9f5f6ae45c23669fda - React-RCTImage: 638815cf96124386dd296067246d91441932ae3f - React-RCTLinking: 254dd06283dd6fdb784285f95e7cec8053c3270f - React-RCTNetwork: 8a4c2d4f357268e520b060572d02bc69a9b991fb - React-RCTSettings: 35d44cbb9972ab933bd0a59ea3e6646dcb030ba3 - React-RCTText: cc5315df8458cfa7b537e621271ef43273955a97 - React-RCTVibration: 3b52a7dced19cdb025b4f88ab26ceb2d85f30ba2 - React-runtimeexecutor: a9d3c82ddf7ffdad9fbe6a81c6d6f8c06385464d - ReactCommon: 07d0c460b9ba9af3eaf1b8f5abe7daaad28c9c4e + React-perflogger: d32ee13196f4ae2e4098fb7f8e7ed4f864c6fb0f + React-RCTActionSheet: 81779c09e34a6a3d6b15783407ba9016a774f535 + React-RCTAnimation: b778eaaa42a884abcc5719035a7a0b2f54672658 + React-RCTBlob: 8edfc04c117decb0e7d4e6ab32bec91707e63ecb + React-RCTImage: 2022097f1291bfebd0003e477318c72b07853578 + React-RCTLinking: bd8d889c65695181342541ce4420e9419845084c + React-RCTNetwork: eae64b805d967bf3ece2cec3ad09218eeb32cb74 + React-RCTSettings: 0645af8aec5f40726e98d434a07ff58e75a81aa9 + React-RCTText: e55de507cda263ff58404c3e7d75bf76c2b80813 + React-RCTVibration: c3b8a3245267a3849b0c7cb91a37606bf5f3aa65 + React-runtimeexecutor: 434efc9e5b6d0f14f49867f130b39376c971c1aa + ReactCommon: a30c2448e5a88bae6fcb0e3da124c14ae493dac1 + ReactNativeCameraKit: 9d46a5d7dd544ca64aa9c03c150d2348faf437eb RealmJS: 772520fb85c19b65c2ea0c8f9aa6e790a905a377 RemobileReactNativeQrcodeLocalImage: 57aadc12896b148fb5e04bc7c6805f3565f5c3fa rn-ldk: fe694aaca0c661e7eb32cd9989dade5fe7e9c4e9 @@ -800,23 +794,23 @@ SPEC CHECKSUMS: RNDefaultPreference: 08bdb06cfa9188d5da97d4642dac745218d7fb31 RNDeviceInfo: aad3c663b25752a52bf8fce93f2354001dd185aa RNFS: fc610f78fdf8bfc89a9e5cc2f898519f4dba1002 - RNGestureHandler: 4defbd70b2faf3d6761b82fa7880285241762cb0 + RNGestureHandler: 62232ba8f562f7dea5ba1b3383494eb5bf97a4d3 RNHandoff: d3b0754cca3a6bcd9b25f544f733f7f033ccf5fa RNKeychain: 4f63aada75ebafd26f4bc2c670199461eab85d94 RNLocalize: 0df7970cfc60389f00eb62fd7c097dc75af3fb4f RNPrivacySnapshot: 71919dde3c6a29dd332115409c2aec564afee8f4 RNQuickAction: 6d404a869dc872cde841ad3147416a670d13fa93 - RNRate: 94f57c773e155ca0d0aeeba9c10a32bce9030daf + RNRate: ef3bcff84f39bb1d1e41c5593d3eea4aab2bd73a RNReactNativeHapticFeedback: 1e3efeca9628ff9876ee7cdd9edec1b336913f8c - RNReanimated: b5b17149593e7c05e4ec5c0efea1f21e05829510 - RNScreens: 0df01424e9e0ed7827200d6ed1087ddd06c493f9 + RNReanimated: 42b5b57609de75e270722e27d2b94ade03c49931 + RNScreens: ea4cd3a853063cda19a4e3c28d2e52180c80f4eb RNSecureKeyStore: f1ad870e53806453039f650720d2845c678d89c8 - RNShare: be91a5c149585affb02c25b351bd07ba927c7006 + RNShare: a5dc3b9c53ddc73e155b8cd9a94c70c91913c43c RNSVG: ecd661f380a07ba690c9c5929c475a44f432d674 RNVectorIcons: fcc2f6cb32f5735b586e66d14103a74ce6ad61f8 RNWatch: fd30ca40a5b5ef58dcbc195638e68219bc455236 SwiftSocket: c8d482e867ae4d3eb4c769e9382e123c1f1f833b - Yoga: d6b6a80659aa3e91aaba01d0012e7edcbedcbecd + Yoga: 099a946cbf84c9b32ffdc4278d72db26710ecf92 YogaKit: f782866e155069a2cca2517aafea43200b01fd5a PODFILE CHECKSUM: 53c058f42bf11a3d01891a40676ea8f9c6a9ecf9 diff --git a/loc/ar.json b/loc/ar.json index daefcc298..81c8ff01f 100644 --- a/loc/ar.json +++ b/loc/ar.json @@ -9,14 +9,14 @@ "disabled": "معطّل", "of": "{number} من {total}", "ok": "موافق", - "storage_is_encrypted": "وحدة التخزين الخاصة بك مشفرة. أنت بحاجة إلى كلمة المرور لفك تشفيرها", + "storage_is_encrypted": "وحدة التخزين مشفرة. أنت بحاجة إلى كلمة المرور لفك تشفيرها", "yes": "نعم", "no": "لا", "save": "حفظ", "seed": "عبارة الاسترداد", "success": "نجاح", "wallet_key": "مفتاح المحفظة", - "invalid_animated_qr_code_fragment": "قطعة من رمز الـ QRcode المتحرك غير صحيحة، حاول مرة اخرى.", + "invalid_animated_qr_code_fragment" : "قطعة من رمز الـ QRcode المتحرك غير صحيحة، حاول مرة اخرى.", "file_saved": "تم حفظ الملف {filePath} في {destination}.", "downloads_folder": "مجلد التنزيلات" }, @@ -25,7 +25,7 @@ }, "azteco": { "codeIs": "رمز القسيمة الخاص بك هو", - "errorBeforeRefeem": "يجب عليك إضافة محفظة Bitcoin أولًا قبل الاسترداد.", + "errorBeforeRefeem": "يجب عليك إضافة محفظة بتكوين أولًا قبل الاسترداد.", "errorSomething": "حدث خطأ. هل ما زالت هذه القسيمة صالحة؟", "redeem": "الاسترداد إلى المحفظة", "redeemButton": "الاسترداد", @@ -43,32 +43,32 @@ "network": "خطأ في الشبكة" }, "lnd": { - "active": "نشط", - "inactive": "غير نشط", + "active":"نشط", + "inactive":"غير نشط", "channels": "القنوات", "no_channels": "لا يوجد قنوات", "claim_balance": "المطالبة برصيد {balance}", "close_channel": "اغلق القناة", - "new_channel": "قناة جديدة", + "new_channel" : "قناة جديدة", "errorInvoiceExpired": "انتهت صلاحية الفاتورة", "force_close_channel": "هل تود فرض اغلاق القناة؟", "expired": "منتهية الصلاحية", "node_alias": "الاسم المستعار للعقدة", "expiresIn": "تنتهي بعد {time} دقيقة", "payButton": "دفع", - "placeholder": "فاتورة", + "placeholder": "برقية", "open_channel": "فتح قناة", "funding_amount_placeholder": "مبلغ التمويل، على سبيل المثال 0.001", - "opening_channnel_for_from": "جارِ فتح قناة للمحفظة {forWalletLabel} بتمويل من {fromWalletLabel}", + "opening_channnel_for_from":"جارِ فتح قناة للمحفظة {forWalletLabel} بتمويل من {fromWalletLabel}", "are_you_sure_open_channel": "هل أنت متأكد أنك تريد فتح هذه القناة؟", "potentialFee": "الرسوم المحتملة: {fee}", "remote_host": "المضيف البعيد", "refill": "إعادة التعبئة", "reconnect_peer": "إعادة الاتصال بالأقران", - "refill_create": "للمتابعة، يُرجى إنشاء محفظة Bitcoin لإعادة التعبئة باستخدامها.", + "refill_create": "للمتابعة، يُرجى إنشاء محفظة بتكوين لإعادة التعبئة باستخدامها.", "refill_external": "إعادة التعبئة باستخدام محفظة خارجية", "refill_lnd_balance": "إعادة تعبئة رصيد محفظة البرق (Lightning)", - "sameWalletAsInvoiceError": "لا يمكنك دفع فاتورة بنفس المحفظة المستخدمة لإنشائها.", + "sameWalletAsInvoiceError": "لا يمكنك دفع البرقية بنفس المحفظة المستخدمة لإنشائها.", "title": "إدارة الأموال", "can_send": "يمكن أن ترسل", "can_receive": "يمكن ان تستقبل", @@ -78,12 +78,12 @@ "additional_info": "معلومة إضافية", "for": "إلى:", "lightning_invoice": "فاتورة برق (Lightning)", - "open_direct_channel": "فتح قناة مباشرة مع هذه العقدة:", + "open_direct_channel": "فتح قناة مباشرة مع هذه النود:", "please_pay_between_and": "يرجى دفع ما بين {min} و{max}", "please_pay": "يُرجى الدفع", "preimage": "الصورة الأصلية", "sats": "بالساتوشي", - "wasnt_paid_and_expired": "لم يتم دفع هذه الفاتورة وانتهت صلاحيتها" + "wasnt_paid_and_expired": "لم يتم دفع هذه البرقية وانتهت صلاحيتها" }, "plausibledeniability": { "create_fake_storage": "إنشاء وحدة تخزين مشفرة", @@ -93,7 +93,7 @@ "help2": "ستعمل وحدة التخزين الجديدة بكامل طاقتها، ويمكنك تخزين بعض المبالغ البسيطة هناك بحيث تبدو أكثر مصداقية ومنطقية.", "password_should_not_match": "كلمة المرور قيد الاستخدام حاليًا. يُرجى تجربة كلمة مرور مختلفة.", "passwords_do_not_match": "كلمات المرور غير متطابقة، حاول مرة أخرى.", - "retype_password": "إعادة إدخال كلمة المرور", + "retype_password": "أعد إدخال كلمة المرور", "success": "نجحت العملية", "title": "الإنكار المقبول" }, @@ -110,7 +110,7 @@ "receive": { "details_create": "إنشاء", "details_label": "الوصف", - "details_setAmount": "استلام مبلغ", + "details_setAmount": "استلام مبلغ محدد", "details_share": "مشاركة", "header": "استلام", "maxSats": "الحد الأقصى للمبلغ هو {min} ساتوشي", @@ -134,23 +134,23 @@ "create_fee": "الرسوم", "create_memo": "مذكرة", "create_satoshi_per_vbyte": "ساتوشي لكل ف بايت", - "create_this_is_hex": "هذا هو التنسيق السداسي لمعاملتك، موقَّع وجاهز للبث على الشبكة.", + "create_this_is_hex": "هذا هو رقم العملية بصيغة ست عشرية (Hex) ، موقَّع وجاهز للبث على الشبكة.", "create_to": "إلى", "create_tx_size": "حجم المعاملة", "create_verify": "التحقق على coinb.in", "details_add_rec_add": "إضافة المستلم", "details_add_rec_rem": "إزالة المستلم", "details_address": "العنوان", - "details_address_field_is_not_valid": "حقل العنوان غير صالح", + "details_address_field_is_not_valid": "العنوان غير صالح", "details_adv_fee_bump": "السماح بزيادة الرسوم", "details_adv_full": "استخدام الرصيد الكامل", "details_adv_full_sure": "هل أنت متأكد أنك تريد استخدام الرصيد الكامل لمحفظتك لهذه المعاملة؟", "details_adv_full_sure_frozen": "هل أنت متأكد انك ترغب بإستخدام الرصيد الكامل لمحفظتك لهذة المعاملة؟ يرجى ملاحظة انه تم استبعاد العملات المجمدة.", - "details_adv_import": "استيراد المعاملة", + "details_adv_import": "استيراد العملية", "details_adv_import_qr": "استيراد معاملة (QR)", - "details_amount_field_is_not_valid": "حقل المبلغ غير صالح", + "details_amount_field_is_not_valid": "المبلغ غير صالح", "details_amount_field_is_less_than_minimum_amount_sat": "المبلغ المحدد صغير جدًا. الرجاء إدخال مبلغ أكبر من 500 ساتوشي.", - "details_create": "إنشاء فاتورة", + "details_create": "إنشاء برقية", "details_error_decode": "يتعذَّر فك تشفير عنوان Bitcoin", "details_fee_field_is_not_valid": "حقل الرسوم غير صالح", "details_frozen": "{amount} بتكوين تم تجميدها", @@ -162,7 +162,7 @@ "details_total_exceeds_balance": "مبلغ الإرسال يتجاوز الرصيد المتاح.", "details_total_exceeds_balance_frozen": "مبلغ الإرسال يتجاوز الرصيد المتاح، يرجى ملاحظة انه تم استبعاد العملات المجمدة.", "details_unrecognized_file_format": "تنسيق ملف غير معروف", - "details_wallet_before_tx": "يجب عليك إضافة محفظة Bitcoin أولًا قبل إنشاء معاملة.", + "details_wallet_before_tx": "يجب عليك إضافة محفظة بتكوين أولًا قبل إنشاء معاملة.", "dynamic_init": "جارٍ التهيئة...", "dynamic_next": "التالي", "dynamic_prev": "السابق", @@ -183,7 +183,6 @@ "input_paste": "اللصق", "input_total": "الإجمالي:", "permission_camera_message": "نحتاج إلى إذنك لاستخدام الكاميرا الخاصة بك", - "permission_camera_title": "إذن باستخدام الكاميرا", "psbt_sign": "وقّع معاملة", "open_settings": "فتح الإعدادات", "permission_storage_later": "اسألني لاحقًا", @@ -191,13 +190,13 @@ "permission_storage_denied_message": "BlueWallet غير قادر على حفظ هذا الملف. يرجى فتح إعدادات جهازك وتمكين إذن التخزين.", "permission_storage_title": "إذن وصول BlueWallet إلى وحدة التخزين", "psbt_clipboard": "النسخ إلى الحافظة", - "psbt_this_is_psbt": "هذه معاملة Bitcoin موقَّعة جزئيًا (PSBT). يُرجى الانتهاء من توقيعها باستخدام محفظة الجهاز الخاصة بك.", + "psbt_this_is_psbt": "هذه معاملة بتكوين موقَّعة جزئيًا (PSBT). يُرجى توقيعها باستخدام المحفظة الخارجية.", "psbt_tx_export": "التصدير إلى ملف", "no_tx_signing_in_progress": "لا يوجد معاملة توقيع قيد التقدم.", "outdated_rate": "تم تحديث السعر آخر مرة في {date}", "psbt_tx_open": "فتح معاملة موقَّعة", - "psbt_tx_scan": "المسح الضوئي معاملة موقَّعة", - "qr_error_no_qrcode": "لم نتمكن من العثور على كود QR في الصورة المحددة. تأكد من أن الصورة تحتوي فقط على كود QR ولا تحتوي على محتوى إضافي مثل النص أو الأزرار.", + "psbt_tx_scan": "المسح الضوئي لمعاملة موقَّعة", + "qr_error_no_qrcode": "لم نتمكن من قراءة رمز الاستجابة السريع (QR) في الصورة المحددة. تأكد أن الصورة تحتوي فقط على رمز (QR) دون أي محتوى إضافي آخر مثل النص أو الأزرار.", "reset_amount": "إعادة تعيين المبلغ", "reset_amount_confirm": "هل تريد إعادة تعيين المبلغ؟", "success_done": "تم", @@ -210,14 +209,16 @@ "about_backup": "احتفظ دائمًا بنسخة احتياطية من مفاتيحك!", "about_free": "محفظة BlueWallet هي مشروع مجاني ومفتوح المصدر، أنشأه مستخدمو Bitcoin.", "about_license": "ترخيص MIT", - "about_release_notes": "ملاحظات الإصدار", - "about_review": "اترك لنا مراجعتك", + "about_release_notes": "معلومات الإصدار", + "about_review": "اترك لنا مراجعة", + "performance_score": "معدل الأداء: {num}", + "run_performance_test": "اختبار الأداء", "about_selftest": "تشغيل اختبار ذاتي", "about_selftest_electrum_disabled": "لا يتوفر الاختبار الذاتي مع وضع Electrum الغير متصل بالانترنت. يرجى تعطيل وضع عدم اتصال الشبكة والمحاولة مرة أخرى.", "about_selftest_ok": "تم اجتياز جميع الاختبارات الداخلية بنجاح. المحفظة تعمل بشكل جيد.", "about_sm_github": "GitHub", "about_sm_discord": "سيرفر Discord", - "about_sm_telegram": "دردشة Telegram", + "about_sm_telegram": "قناة تيليجرام", "about_sm_twitter": "تابعنا على تويتر", "advanced_options": "الخيارات المتقدمة", "biometrics": "القياسات الحيوية", @@ -226,6 +227,7 @@ "biom_no_passcode": "جهازك ليس لديه رمز مرور. للمتابعة ، يرجى اضافة رمز مرور من إعدادات الجهاز.", "biom_remove_decrypt": "ستتم إزالة جميع محافظك وفك تشفير التخزين الخاص بك. هل انت متأكد انك تريد المتابعة؟", "currency": "العملة", + "currency_source": "تم الاستعلام عن السعر عن طريق", "currency_fetch_error": "حدث خطأ أثناء الحصول على سعر العملة المحددة.", "default_desc": "عند تعطيل هذا الإعداد، ستفتح BlueWallet المحفظة المحدَّدة فور التشغيل.", "default_info": "المعلومات الافتراضية", @@ -267,10 +269,10 @@ "encrypt_use_expl": "سيتم استخدام {type} لتأكيد هويتك قبل إجراء معاملة أو فتح محفظة أو تصديرها أو حذفها. ولن يتم استخدام {type} لفتح وحدة تخزين مشفرة.", "general": "عام", "general_adv_mode": "الوضع المتقدم", - "general_adv_mode_e": "عند تمكين هذا الإعداد، سترى خيارات متقدمة في أثناء إنشاء المحفظة، مثل أنواع المحافظ المختلفة، والقدرة على تحديد مثيل LNDHub الذي ترغب في الاتصال به، وإنتروبيا (عشوائية) مخصصة.", - "general_continuity": "الارتباط", - "general_continuity_e": "عند تمكين هذا الإعداد، ستتمكن من عرض المحافظ والمعاملات المحدَّدة باستخدام أجهزتك الأخرى المتصلة بحساب Apple iCloud.", - "groundcontrol_explanation": "GroundControl هو خادم إشعارات فورية مجاني مفتوح المصدر لمحافظ Bitcoin. يمكنك تثبيت خادم GroundControl الخاص بك ووضع عنوان URL له هنا لعدم الاعتماد على البنية التحتية لمحفظة BlueWallet. اترك الحقل فارغًا لاستخدام الإعدادات الافتراضية", + "general_adv_mode_e": "عند تمكين هذا الإعداد، سترى خيارات متقدمة أثناء إنشاء المحفظة، مثل أنواع محافظ مختلفة، القدرة على الاتصال ب LNDHub محدد، وإنتروبيا (عشوائية) مخصصة.", + "general_continuity": "الاتساق", + "general_continuity_e": "عند تمكين هذا الإعداد، ستتمكن من عرض المحافظ والعمليات المحدَّدة باستخدام أجهزتك الأخرى المتصلة بنفس حساب Apple iCloud.", + "groundcontrol_explanation": "GroundControl هو خادم إشعارات فورية مجاني مفتوح المصدر لمحافظ البتكوين. يمكنك تثبيت خادم GroundControl الخاص بك ووضع عنوان (URL) له هنا لعدم الاعتماد على البنية التحتية لمحفظة BlueWallet. اترك الحقل فارغًا لاستخدام الإعدادات الافتراضية", "header": "الإعدادات", "language": "اللغة", "last_updated": "آخر تحديث", @@ -279,13 +281,13 @@ "lightning_saved": "تم حفظ تغييراتك بنجاح", "lightning_settings": "إعدادات البرق (Lightning)", "tor_settings": "اعدادات tor", - "lightning_settings_explain": "للاتصال بعقدة LND الخاصة بك، يُرجى تثبيت LndHub ثم وضع رابطه هنا في الإعدادات. اترك الحقل فارغًا لاستخدام LNDHub (lndhub.io) لمحفظة BlueWallet. ستتصل المحافظ التي يتم إنشاؤها بعد حفظ التغييرات بنفس عقدة LNDHub التي قمت بتحديدها.", + "lightning_settings_explain": "للاتصال بنود LND الخاصة بك، يُرجى تثبيت LNDHub ثم وضع رابطه هنا في الإعدادات. اترك الحقل فارغًا لاستخدام (lndhub.io) المشغل من قبل BlueWallet. تذكر: فقط المحافظ التي يتم إنشاؤها بعد حفظ التغييرات ستتصل بنود LNDHub التي قمت بإضافتها.", "network": "الشبكة", - "network_broadcast": "بث المعاملة", + "network_broadcast": "بث العملية", "network_electrum": "خادم Electrum", "not_a_valid_uri": "معرِّف URI غير صالح", "notifications": "الإشعارات", - "open_link_in_explorer": "فتح الرابط في المتصفح", + "open_link_in_explorer" : "فتح الرابط في المتصفح", "password": "كلمه المرور", "password_explain": "أنشئ كلمة المرور التي ستستخدمها لفك تشفير وحدة التخزين", "passwords_do_not_match": "كلمتا المرور لا تتطابقان", @@ -304,7 +306,7 @@ "selfTest": "اختبار ذاتي", "save": "حفظ", "saved": "تم الحفظ", - "success_transaction_broadcasted": "تمت بنجاح! لقد تم نشر معاملتك!", + "success_transaction_broadcasted" : "تمت بنجاح! لقد تم نشر معاملتك!", "total_balance": "الرصيد الاجمالي", "total_balance_explanation": "اعرض الرصيد الإجمالي لجميع محافظك على ويدجيت الشاشة الرئيسية الخاصة بك.", "widgets": "ويدجيت", @@ -323,7 +325,7 @@ "copy_link": "نسخ الرابط", "expand_note": "توسيع الملاحظة", "cpfp_create": "إنشاء", - "cpfp_exp": "سننشئ معاملة أخرى تستبدل معاملتك غير المؤكدة. وسيكون إجمالي الرسوم أعلى من رسوم المعاملة الأصلية؛ حتى يجري تعدينها بشكلٍ أسرع. وهذا ما يُسمَّى CPFP؛ أي دعم المعاملة الرئيسية بمعاملة فرعية.", + "cpfp_exp": "سننشئ عملية أخرى تستبدل عمليتك غير المؤكدة. وسيكون إجمالي الرسوم أعلى من رسوم العملية الأصلية؛ حتى يجري تعدينها بشكلٍ أسرع. وهذا ما يُسمَّى CPFP؛ أي التحكم بالعملية الرئيسية بمعاملة فرعية.", "cpfp_no_bump": "هذه المعاملة غير قابلة للتسريع", "cpfp_title": "تسريع المعاملة (CPFP)", "details_balance_hide": "إخفاء الرصيد", @@ -337,10 +339,11 @@ "details_from": "من", "details_inputs": "المدخلات", "details_outputs": "المخرجات", + "date": "التاريخ", "details_received": "التاريخ", "transaction_note_saved": "تم حفظ مذكرة المعاملة بنجاح.", "details_show_in_block_explorer": "العرض في مستكشف الكتل", - "details_title": "المعاملة", + "details_title": "العملية", "details_to": "إلى", "enable_offline_signing": "هذه المحفظة لا يتم استعمالها مع التوقيع دون اتصال. هل ترغب في تمكينه الآن؟", "list_conf": "تأكيد: {number}", @@ -351,13 +354,13 @@ "eta_3h": "الوقت المقدر للتأكيد: في حوالي 3 ساعات", "eta_1d": "الوقت المقدر للتأكيد: في حوالي يوم واحد", "view_wallet": "لمشاهدة {walletLabel}", - "list_title": "المعاملات", + "list_title": "العمليات", "open_url_error": "تعذر فتح الرابط باستخدام المتصفح الافتراضي. يرجى تغيير المتصفح الافتراضي الخاص بك وحاول مرة أخرى.", "rbf_explain": "سنستبدل هذه المعاملة بمعاملة جديدة تدفع رسوم اعلى؛ حتى يجري تعدينها بشكلٍ أسرع. وهذا ما يُسمَّى RBF؛ أي الاستبدال بالرسوم.", "rbf_title": "تسريع المعاملة (RBF)", "status_bump": "تسريع المعاملة", - "status_cancel": "إلغاء المعاملة", - "transactions_count": "عدد المعاملات", + "status_cancel": "إلغاء العملية", + "transactions_count": "عدد العمليات", "txid": "معرّف المعاملة", "updating": "جارٍ التحديث ..." }, @@ -371,9 +374,9 @@ "add_import_wallet": "استيراد محفظة", "add_lightning": "البرق", "add_lightning_explain": "لإرسال المعاملات بشكل فوري عبر شبكة البرق Lightning ", - "add_lndhub": "اتصل ببرنامج تضمين LNDHub الخاص بك", - "add_lndhub_error": "عنوان العقدة المقدَّم هو عقدة LNDHub صالحة.", - "add_lndhub_placeholder": "عنوان العقدة الخاص بك", + "add_lndhub": "اتصل ب LNDHub الخاص بك", + "add_lndhub_error": "عنوان النود المقدَّم غير صالح.", + "add_lndhub_placeholder": "عنوان النود الخاص بك", "add_placeholder": "محفظتي الأولى", "add_title": "إضافة محفظة", "add_wallet_name": "الاسم", @@ -392,7 +395,8 @@ "details_derivation_path": "مسار الاشتقاق (derivation path)", "details_display": "العرض في قائمة المحافظ", "details_export_backup": "التصدير/النسخ الاحتياطي", - "details_master_fingerprint": "بصمة الإصبع الرئيسية", + "details_export_history": "تصدير السجل ل ملف CSV", + "details_master_fingerprint": "البصمة الرئيسية", "details_multisig_type": "متعدد التواقيع", "details_no_cancel": "لا، إلغاء", "details_save": "حفظ", @@ -415,6 +419,7 @@ "import_imported": "تم الاستيراد", "import_scan_qr": "المسح الضوئي أو استيراد ملف", "import_success": "تم استيراد محفظتك بنجاح.", + "import_success_watchonly": "تم استيراد محفظتك بنجاح. تنويه: هذه محفظة مراقبة فقط. لا يمكنك تنفيذ العمليات.", "import_search_accounts": "البحث عن حسابات", "import_title": "الاستيراد", "import_discovery_title": "اكتشاف", @@ -435,11 +440,11 @@ "list_empty_txs1_lightning": "يجب استخدام محفظة البرق (Lightning) في معاملاتك اليومية. الرسوم رخيصة جدًا والسرعة كبيرة حقًا.", "list_empty_txs2": "ابدأ بمحفظتك", "list_empty_txs2_lightning": "\nللبدء في استخدامها، اضغط على \"إدارة الأموال\" واشحن رصيدك.", - "list_latest_transaction": "آخر معاملة", + "list_latest_transaction": "آخر عملية", "list_ln_browser": "متصفح LApp", "list_long_choose": "اختيار صورة", "list_long_clipboard": "النسخ من الحافظة", - "list_long_scan": "مسح رمز الاستجابة السرعة ضوئيًا", + "list_long_scan": "مسح رمز الاستجابة (QR) ضوئيًا", "list_title": "المحافظ", "list_tryagain": "إعادة المحاولة", "no_ln_wallet_error": "قبل دفع فاتورة برق (Lightning) ، يجب عليك أولاً إضافة محفظة برق (Lightning).", @@ -447,7 +452,7 @@ "reorder_title": "إعادة ترتيب المحافظ", "reorder_instructions": "اضغط باستمرار على اي محفظة لتحريكها عبر القائمة", "please_continue_scanning": "الرجاء متابعة الفحص.", - "select_no_bitcoin": "لا توجد محافظ Bitcoin متاحة حاليًا.", + "select_no_bitcoin": "لا توجد محافظ بتكوين متاحة حاليًا.", "select_no_bitcoin_exp": "تحتاج إلى محفظة بيتكوين لإعادة تعبئة محافظ البرق (Lightning). يُرجى إنشاء محفظة أو استيراد واحدة.", "select_wallet": "اختيار محفظة", "take_photo": "التقاط صورة", diff --git a/loc/cs_cz.json b/loc/cs_cz.json index bc66ad3ee..2766de26e 100644 --- a/loc/cs_cz.json +++ b/loc/cs_cz.json @@ -337,6 +337,7 @@ "details_from": "Vstup", "details_inputs": "Vstupy", "details_outputs": "Výstupy", + "date": "Datum", "details_received": "Přijato", "transaction_note_saved": "Transakční poznámka byla úspěšně uložena.", "details_show_in_block_explorer": "Ukázat v block exploreru", @@ -392,6 +393,7 @@ "details_derivation_path": "derivační cesta", "details_display": "Zobrazit v seznamu peněženek", "details_export_backup": "Exportovat / zálohovat", + "details_export_history": "Export historie do CSV", "details_master_fingerprint": "Hlavní otisk", "details_multisig_type": "multisig", "details_no_cancel": "Ne, zrušit", diff --git a/loc/en.json b/loc/en.json index df35bbbbc..0cbbdf99e 100644 --- a/loc/en.json +++ b/loc/en.json @@ -211,6 +211,8 @@ "about_license": "MIT License", "about_release_notes": "Release notes", "about_review": "Leave us a review", + "performance_score": "Performance score: {num}", + "run_performance_test": "Test performance", "about_selftest": "Run self-test", "about_selftest_electrum_disabled": "Self-testing is not available with Electrum Offline Mode. Please disable offline mode and try again.", "about_selftest_ok": "All internal tests have passed successfully. The wallet works well.", diff --git a/loc/es_419.json b/loc/es_419.json index 42e2100a1..7ae4dbef3 100644 --- a/loc/es_419.json +++ b/loc/es_419.json @@ -16,7 +16,7 @@ "seed": "Semilla", "success": "Éxito", "wallet_key": "Clave de la billetera", - "invalid_animated_qr_code_fragment" : "Fragmento inválido de Código QR animado. Por favor intenta de nuevo.", + "invalid_animated_qr_code_fragment": "Fragmento inválido de Código QR animado. Por favor intenta de nuevo.", "file_saved": "El archivo {filePath} se ha guardado en tu {destination}.", "downloads_folder": "Carpeta de descargas" }, @@ -43,13 +43,13 @@ "network": "Error de red" }, "lnd": { - "active":"Activo", - "inactive":"Inactivo", + "active": "Activo", + "inactive": "Inactivo", "channels": "Canales", "no_channels": "Sin canales", "claim_balance": "Reclamar saldo {balance}", "close_channel": "Cerrar canal", - "new_channel" : "Nuevo canal", + "new_channel": "Nuevo canal", "errorInvoiceExpired": "Factura expirada", "force_close_channel": "¿Forzar el cierre del canal?", "expired": "Expirado", @@ -59,7 +59,7 @@ "placeholder": "Factura", "open_channel": "Abrir canal", "funding_amount_placeholder": "Importe de la financiación, por ejemplo 0,001", - "opening_channnel_for_from":"Abrir canal para la billetera {forWalletLabel}, por la financiación de {fromWalletLabel}", + "opening_channnel_for_from": "Abrir canal para la billetera {forWalletLabel}, por la financiación de {fromWalletLabel}", "are_you_sure_open_channel": "¿Estás seguro de que quieres abrir este canal?", "potentialFee": "Tasas potenciales: {fee}", "remote_host": "Host remoto", @@ -211,6 +211,8 @@ "about_license": "Licencia MIT", "about_release_notes": "Notas de lanzamiento", "about_review": "Déjanos un comentario", + "performance_score": "Puntuación de rendimiento: {num}", + "run_performance_test": "Prueba de rendimiento", "about_selftest": "Ejecutar auto-prueba", "about_selftest_electrum_disabled": "La autocomprobación no está disponible con el modo sin conexión de Electrum. Desactiva el modo sin conexión y vuelve a intentarlo. ", "about_selftest_ok": "Todas las pruebas internas han pasado satisfactoriamente. La billetera funciona bien.", @@ -285,7 +287,7 @@ "network_electrum": "Servidor Electrum", "not_a_valid_uri": "URI inválido", "notifications": "Notificaciones", - "open_link_in_explorer" : "Abrir enlace en el explorador", + "open_link_in_explorer": "Abrir enlace en el explorador", "password": "Contraseña", "password_explain": "Crea la contraseña que usarás para desencriptar el almacenamiento", "passwords_do_not_match": "Las contraseñas no coinciden.", @@ -304,7 +306,7 @@ "selfTest": "Auto-Test", "save": "Guardar", "saved": "Guardado", - "success_transaction_broadcasted" : "¡Genial! ¡Tu transacción ha sido retransmitida!", + "success_transaction_broadcasted": "¡Genial! ¡Tu transacción ha sido retransmitida!", "total_balance": "Balance Total", "total_balance_explanation": "Muestra el saldo total de todas tus billeteras en los widgets de tu pantalla de inicio.", "widgets": "Widgets", @@ -417,6 +419,7 @@ "import_imported": "Importado", "import_scan_qr": "Escanear o importar un archivo", "import_success": "Tu billetera se ha importado correctamente.", + "import_success_watchonly": "Tu billetera se ha importado correctamente. ADVERTENCIA: Esta es una billetera de solo-ver, NO puedes gastar desde él.", "import_search_accounts": "Buscar cuentas", "import_title": "Importar", "import_discovery_title": "Descubrimiento", diff --git a/loc/he.json b/loc/he.json index 3631ad0c5..1a6b78230 100644 --- a/loc/he.json +++ b/loc/he.json @@ -179,7 +179,6 @@ "input_paste": "הדבק", "input_total": "סך הכל:", "permission_camera_message": "אנחנו צריכים את הרשאתך לשימוש במצלמה שלך.", - "permission_camera_title": "הרשאה לשימוש במצלמה", "psbt_sign": "חתימה על פעולה", "open_settings": "פתח הגדרות", "permission_storage_later": "שאל אותי מאוחר יותר", @@ -222,6 +221,7 @@ "biom_no_passcode": "למכשירכם אין סיסמה. במטרה להמשיך אנא הגדירו סיסמה בהגדרות המכשיר.", "biom_remove_decrypt": "כל ארנקיכם ימחקו והאחסון יפוענח. האם אתם בטוחים שברצונכם להמשיך?", "currency": "מטבע", + "currency_source": "מחיר מתקבל מ- ", "currency_fetch_error": "התרחשה שגיאה בזמן השגת התעריף למטבע הנבחר.", "default_desc": "כאשר מבוטל, BlueWallet יפתח אוטומטית את הארנק הנבחר בפתיחה.", "default_info": "פתיחת ברירת מחדל", @@ -333,6 +333,7 @@ "details_from": "קלט", "details_inputs": "קלטים", "details_outputs": "פלטים", + "date": "תאריך", "details_received": "התקבל", "transaction_note_saved": "הערת פעולה נשמרה בהצלחה.", "details_show_in_block_explorer": "צפייה בסייר בלוקים", @@ -387,6 +388,7 @@ "details_derivation_path": "נתיב גזירה", "details_display": "הצגה ברשימת ארנקים", "details_export_backup": "יצוא / גיבוי", + "details_export_history": "יצוא היסטוריה ל- CSV", "details_master_fingerprint": "טביעת אצבע ראשית", "details_multisig_type": "רב-חתימות", "details_no_cancel": "לא, בטל", diff --git a/loc/languages.ts b/loc/languages.ts index b8117a835..869ef887d 100644 --- a/loc/languages.ts +++ b/loc/languages.ts @@ -26,7 +26,7 @@ export const AvailableLanguages = Object.freeze([ { label: 'Nederlands (NL)', value: 'nl_nl' }, { label: 'नेपाली (NE)', value: 'ne' }, { label: 'Norsk (NB)', value: 'nb_no' }, - { label: 'Polskie (PL)', value: 'pl' }, + { label: 'Polski (PL)', value: 'pl' }, { label: 'Português (BR)', value: 'pt_br' }, { label: 'Português (PT)', value: 'pt_pt' }, { label: 'Română (RO)', value: 'ro' }, diff --git a/loc/nl_nl.json b/loc/nl_nl.json index 650041f89..4701f12eb 100644 --- a/loc/nl_nl.json +++ b/loc/nl_nl.json @@ -5,7 +5,7 @@ "continue": "Doorgaan", "clipboard": "Klembord", "enter_password": "Voer wachtwoord in", - "never": "nooit", + "never": "Nooit", "disabled": "Uitgeschakeld", "of": "{number} van {total}", "ok": "Oké", @@ -175,7 +175,6 @@ "input_paste": "Plak", "input_total": "Totaal:", "permission_camera_message": "We hebben toestemming nodig om uw camera te gebruiken", - "permission_camera_title": "Toestemming om camera te gebruiken", "psbt_sign": "Onderteken een transactie", "open_settings": "Open instellingen", "permission_storage_later": "Vraag mij later", diff --git a/loc/pl.json b/loc/pl.json index a0a53748b..fce9b45f4 100644 --- a/loc/pl.json +++ b/loc/pl.json @@ -211,6 +211,8 @@ "about_license": "Licencja MIT", "about_release_notes": "Informacje o wydaniu", "about_review": "Wystaw nam opinię", + "performance_score": "Wynik wydajności: {num}", + "run_performance_test": "Test wydajności", "about_selftest": "Wykonaj autotest", "about_selftest_electrum_disabled": "Autotest nie jest dostępny z Electrum w trybie Offline. Wyłącz tryb offline i spróbuj ponownie.", "about_selftest_ok": "Wszystkie testy wewnętrzne przebiegły pomyślnie. Portfel działa dobrze.", @@ -417,6 +419,7 @@ "import_imported": "Zaimportowano", "import_scan_qr": "Skanuj lub importuj plik", "import_success": "Twój portfel został pomyślnie zaimportowany.", + "import_success_watchonly": "Twój portfel został zaimportowany. UWAGA: To jest portfel tylko do odczytu, nie możesz z niego wydawać.", "import_search_accounts": "Szukaj kont", "import_title": "Importuj", "import_discovery_title": "Wyszukiwanie", diff --git a/loc/pt_br.json b/loc/pt_br.json index 043e15dae..9bc05a642 100644 --- a/loc/pt_br.json +++ b/loc/pt_br.json @@ -16,7 +16,7 @@ "seed": "Seed", "success": "Sucesso", "wallet_key": "Chave da Carteira", - "invalid_animated_qr_code_fragment" : "Código QR animado inválido, por favor tente novamente,", + "invalid_animated_qr_code_fragment" : "Código QR animado inválido, por favor tente novamente.", "file_saved": "Arquivo {filePath} foi salvo em {destination}.", "downloads_folder": "Pasta de Downloads" }, @@ -78,7 +78,7 @@ "additional_info": "Informação adicional", "for": "Para:", "lightning_invoice": "Fatura Lightning", - "open_direct_channel": "Abrir canal direto com este node:", + "open_direct_channel": "Abrir canal direto com este nó:", "please_pay_between_and": "Por favor, pague entre {min} e {max}", "please_pay": "Por favor, pague", "preimage": "Preimage", @@ -171,7 +171,7 @@ "fee_10m": "10m", "fee_1d": "1d", "fee_3h": "3h", - "fee_custom": "Personalizado(a)", + "fee_custom": "Personalizada", "fee_fast": "Rápida", "fee_medium": "Normal", "fee_replace_minvb": "A taxa total (satoshi per vByte) que você deseja pagar deve ser maior que {min} sat/vByte.", @@ -209,8 +209,10 @@ "about_backup": "Sempre faça backup de suas chaves!", "about_free": "BlueWallet é um projeto de código aberto e gratuito. Criado por usuários de Bitcoin.", "about_license": "Licença MIT", - "about_release_notes": "Notas de lançamento", + "about_release_notes": "Notas de versão", "about_review": "Avalie a gente", + "performance_score": "Pontuação de performance: {num}", + "run_performance_test": "Teste de performance", "about_selftest": "Executar autoteste", "about_selftest_electrum_disabled": "Autoteste indisponível no modo Offline da Electrum. Desative o modo Offline e tente novamente.", "about_selftest_ok": "Todos os testes internos passaram com sucesso. A carteira funciona bem.", @@ -275,13 +277,13 @@ "language": "Idioma", "last_updated": "Última Atualização", "language_isRTL": "É necessário reiniciar a BlueWallet para que a nova orientação linguística seja ativada.", - "lightning_error_lndhub_uri": "URI LNDHub inválido", + "lightning_error_lndhub_uri": "URI LNDHub inválida", "lightning_saved": "Suas alterações foram salvas com sucesso.", "lightning_settings": "Configurações Lightning", "tor_settings": "Configurações Tor", - "lightning_settings_explain": "Para se conectar ao seu próprio node LND, instale a LNDHub e copie o URL para cá. Deixe em branco para usar a LNDHub padrão fornecida pela BlueWallet (lndhub.io). Apenas carteiras criadas após mudanças nestas preferências ficarão ligadas ao LNDHub especificado.", + "lightning_settings_explain": "Para conectar-se ao seu próprio nó LND, instale a LNDHub e copie o URL para cá. Deixe em branco para usar a LNDHub padrão fornecida pela BlueWallet (lndhub.io). Apenas carteiras criadas após mudanças nestas preferências ficarão ligadas ao LNDHub especificado.", "network": "Rede", - "network_broadcast": "Transmitir transação", + "network_broadcast": "Transmitir Transação", "network_electrum": "Servidor Electrum", "not_a_valid_uri": "URI inválida", "notifications": "Notificações", @@ -328,7 +330,7 @@ "cpfp_title": "Aumento de taxa (CPFP)", "details_balance_hide": "Esconder Saldo", "details_balance_show": "Mostrar Saldo", - "details_block": "Block Height", + "details_block": "Altura dos Blocos", "details_copy": "Copiar", "details_copy_amount": "Copiar Quantia", "details_copy_block_explorer_link": "Copiar Link do Explorador de Blocos", @@ -340,7 +342,7 @@ "date": "Data", "details_received": "Recebido", "transaction_note_saved": "A anotação da transação foi salva com sucesso.", - "details_show_in_block_explorer": "Ver no Navegador", + "details_show_in_block_explorer": "Ver no Explorador de Blocos", "details_title": "Transação", "details_to": "Saída", "enable_offline_signing": "Esta carteira não está sendo usada em conjunto com uma para assinar offline. Deseja ativar agora?", @@ -353,7 +355,7 @@ "eta_1d": "Tempo estimado de chegada: Em ~1 dia", "view_wallet": "Ver {walletLabel}", "list_title": "Transações", - "open_url_error": "Incapaz de abrir o link com o navegador padrão. Por Favor, mude o seu navegador padrão e tente novamente.", + "open_url_error": "Incapaz de abrir o link com o navegador padrão. Por favor, mude o seu navegador padrão e tente novamente.", "rbf_explain": "Substituiremos essa transação por uma com uma taxa maior, assim ela será alocada mais rapidamente em um bloco. Isso é chamado de RBF—Replace by Fee.", "rbf_title": "Aumentar Taxa (RBF)", "status_bump": "Aumentar Taxa", @@ -367,7 +369,7 @@ "add_bitcoin_explain": "Carteira Bitcoin simples e poderosa", "add_create": "Criar", "add_entropy_generated": "{gen} bytes de entropia gerada", - "add_entropy_provide": "Entropia por meio de jogadas de dados", + "add_entropy_provide": "Fornecer entropia por meio da rolagem de dados", "add_entropy_remain": "{gen} bytes de entropia gerada. Os bytes {rem} restantes serão obtidos do gerador de números aleatórios do Sistema.", "add_import_wallet": "Importar carteira", "add_lightning": "Lightning", @@ -387,7 +389,7 @@ "details_are_you_sure": "Tem certeza?", "details_connected_to": "Conectado a", "details_del_wb_err": "O valor do saldo fornecido não corresponde ao saldo desta carteira. Tente novamente.", - "details_del_wb_q": "Esta carteira tem um saldo. Antes de continuar, esteja ciente de que você não será capaz de recuperar os seus fundos sem a frase-semente desta carteira. Para evitar a remoção acidental, insira o saldo de sua carteira de {balance} satoshis.", + "details_del_wb_q": "Esta carteira tem um saldo. Antes de continuar, esteja ciente de que você não será capaz de recuperar os seus fundos sem a seed desta carteira. Para evitar a remoção acidental, insira o saldo de sua carteira de {balance} satoshis.", "details_delete": "Apagar", "details_delete_wallet": "Apagar Carteira", "details_derivation_path": "caminho de derivação", @@ -412,11 +414,12 @@ "import_passphrase_title": "Senha", "import_passphrase_message": "Digite a senha, caso você tenha usado alguma", "import_error": "Erro ao importar. Por favor, confira se os dados que você passou são válidos.", - "import_explanation": "Insira aqui palavras de seed, chave pública, WIF ou o que você tiver. A BlueWallet vai fazer o possível para decifrar o formato correto e importar a sua carteira.", + "import_explanation": "Insira aqui sua seed, chave pública, WIF ou o que você tiver. A BlueWallet vai fazer o possível para decifrar o formato correto e importar a sua carteira.", "import_file": "Importar arquivo", "import_imported": "Importada", "import_scan_qr": "Ler código ou importar arquivo", "import_success": "Sua carteira foi importada com sucesso.", + "import_success_watchonly": "Sua carteira foi importada com sucesso. AVISO: Esta é uma carteira apenas para ver, você NÃO pode gastar com ela.", "import_search_accounts": "Procurar contas", "import_title": "Importar", "import_discovery_title": "Descoberta", @@ -486,16 +489,16 @@ "wrapped_segwit_title": "Melhor compatibilidade", "legacy_title": "Antigo", "co_sign_transaction": "Assinar uma transação", - "what_is_vault": "Um Cofre é um", - "what_is_vault_numberOfWallets": "{m}-de-{n} multisig", - "what_is_vault_wallet": "wallet", + "what_is_vault": "Um Cofre é uma", + "what_is_vault_numberOfWallets": "carteira", + "what_is_vault_wallet": "multisig {m}-de-{n}.", "vault_advanced_customize": "Configurações do Cofre", "needs": "Necessita", "what_is_vault_description_number_of_vault_keys": "{m} chaves do cofre", "what_is_vault_description_to_spend": "para gastar e uma terceira que você\npode usar como backup.", "what_is_vault_description_to_spend_other": "para gastar.", "quorum": "Quantidade mínima {m} de máxima {n}", - "quorum_header": "Quantidade mínima ou máxima", + "quorum_header": "Quantidade", "of": "de", "wallet_type": "Tipo da Carteira", "invalid_mnemonics": "Esta frase mnemônica não parece ser válida.", @@ -509,7 +512,7 @@ "this_is_cosigners_xpub": "Esta é a XPUB do cossignatário, pronta para ser importada para outra carteira. É seguro compartilhá-la.", "wallet_key_created": "Sua chave do Cofre foi criada. Reserve um momento para fazer backup com segurança de sua seed.", "are_you_sure_seed_will_be_lost": "Você tem certeza? Sua seed mnemônica será perdida se você não tiver um backup", - "forget_this_seed": "Esquecer esta seed e usar XPUB no lugar.", + "forget_this_seed": "Esquecer esta seed e usar a XPUB no lugar.", "view_edit_cosigners": "Ver/Editar cossignatários", "this_cosigner_is_already_imported": "Este cossignatário já foi importado.", "export_signed_psbt": "Exportar PSBT Assinado", @@ -527,9 +530,9 @@ "ms_help_title3": "Backups do Cofre", "ms_help_3": "Nas opções da carteira, você encontrará o backup do seu Cofre e o backup somente-leitura. O backup serve como um mapa para sua carteira. É essencial para a recuperação da carteira caso você perca alguma seed.", "ms_help_title4": "Importando Cofres", - "ms_help_4": "Para importar uma Multisig, use o arquivo de backup da sua multisig e o recurso de importação. Se você só tem chaves estendidas (XPUBs) e seeds, você pode usar os campos de importação individuais na interface de Adicionar Cofre.", + "ms_help_4": "Para importar uma Multisig, use o arquivo de backup da sua multisig e o recurso de importação. Se você só tem seeds e XPUBs, você pode usar os campos de importação individuais quando estiver criando as chaves do Cofre.", "ms_help_title5": "Modo Avançado", - "ms_help_5": "Por padrão, a BlueWallet vai gerar um Cofre 2 de 3. Para alterar a quantidade mínima ou máxima do número de assinaturas ou alterar o tipo de endereço, ative as opções avançadas nas Configurações." + "ms_help_5": "Por padrão, a BlueWallet vai gerar um Cofre 2 de 3. Para alterar a quantidade mínima ou máxima do número de assinaturas ou alterar o tipo de endereço, ative o Modo Avançado nas Configurações." }, "is_it_my_address": { "title": "É o meu endereço?", diff --git a/loc/sl_SI.json b/loc/sl_SI.json index b891ba779..191057478 100644 --- a/loc/sl_SI.json +++ b/loc/sl_SI.json @@ -182,7 +182,6 @@ "input_paste": "Prilepi", "input_total": "Skupaj:", "permission_camera_message": "Za uporabo kamere potrebujemo dovoljenje.", - "permission_camera_title": "Dovoljenje za uporabo kamere", "psbt_sign": "Podpiši transakcijo", "open_settings": "Odpri Nastavitve", "permission_storage_later": "Vprašaj me kasneje", @@ -225,6 +224,7 @@ "biom_no_passcode": "Vaša naprava ni zaščitena z geslom. Če želite nadaljevati, v aplikaciji Nastavitve nastavite svoje geslo.", "biom_remove_decrypt": "Shramba bo ponastavljena, pri tem bodo odstranjene vse denarnice. Ali ste prepričani, da želite nadaljevati?", "currency": "Valuta", + "currency_source": "Tečaji so pridobljeni iz", "currency_fetch_error": "Pri pridobivanju tečaja za izbrano valuto je prišlo do napake.", "default_desc": "Ko je onemogočeno, bo BlueWallet ob zagonu takoj odprl izbrano denarnico.", "default_info": "Privzeto v", @@ -336,6 +336,7 @@ "details_from": "Vhod", "details_inputs": "Vhodi", "details_outputs": "Izhodi", + "date": "Datum", "details_received": "Prejeto", "transaction_note_saved": "Opomba transakcije je bila uspešno shranjena.", "details_show_in_block_explorer": "Prikaži v raziskovalcu blokov", @@ -390,6 +391,7 @@ "details_derivation_path": "pot izpeljave (derivation path)", "details_display": "Prikaži na seznamu denarnic", "details_export_backup": "Izvozi / Varnostna kopija", + "details_export_history": "Izvozi zgodovino v CSV", "details_master_fingerprint": "Glavni prstni odtis (fingerprint)", "details_multisig_type": "multisig", "details_no_cancel": "Ne, prekliči", @@ -569,5 +571,8 @@ "type_receive": "Prejemni", "type_used": "Uporabljen", "transactions": "Transakcije" + }, + "lnurl_auth": { + "register_question_part_1": "Bi želeli odpreti račun pri" } } diff --git a/models/fiatUnit.ts b/models/fiatUnit.ts index 64c8a0ed6..24b5d638b 100644 --- a/models/fiatUnit.ts +++ b/models/fiatUnit.ts @@ -6,6 +6,7 @@ export const FiatUnitSource = { YadioConvert: 'YadioConvert', Exir: 'Exir', wazirx: 'wazirx', + Bitstamp: 'Bitstamp', } as const; const RateExtractors = { @@ -25,6 +26,27 @@ const RateExtractors = { return rate; }, + Bitstamp: async (ticker: string): Promise => { + let json; + try { + const res = await fetch(`https://www.bitstamp.net/api/v2/ticker/btc${ticker.toLowerCase()}`); + json = await res.json(); + } catch (e: any) { + throw new Error(`Could not update rate from Bitstamp for ${ticker}: ${e.message}`); + } + + if (Array.isArray(json)) { + throw new Error(`Unsupported ticker for Bitstamp: ${ticker}`); + } + + let rate = +json?.last; + if (!rate) throw new Error(`Could not update rate from Bitstamp for ${ticker}: data is wrong`); + + rate = Number(rate); + if (!(rate >= 0)) throw new Error(`Could not update rate from Bitstamp for ${ticker}: data is wrong`); + return rate; + }, + Yadio: async (ticker: string): Promise => { let json; try { @@ -95,7 +117,7 @@ type FiatUnit = { endPointKey: string; symbol: string; locale: string; - source: 'CoinDesk' | 'Yadio' | 'Exir' | 'wazirx'; + source: 'CoinDesk' | 'Yadio' | 'Exir' | 'wazirx' | 'Bitstamp'; }; }; export const FiatUnit = untypedFiatUnit as FiatUnit; diff --git a/models/fiatUnits.json b/models/fiatUnits.json index 3fba682e2..5fbab940b 100644 --- a/models/fiatUnits.json +++ b/models/fiatUnits.json @@ -2,7 +2,7 @@ "USD": { "endPointKey": "USD", "locale": "en-US", - "source": "CoinDesk", + "source": "Bitstamp", "symbol": "$" }, "AED": { @@ -62,7 +62,7 @@ "CLP": { "endPointKey": "CLP", "locale": "es-CL", - "source": "CoinDesk", + "source": "Yadio", "symbol": "$" }, "CNY": { @@ -92,13 +92,13 @@ "EUR": { "endPointKey": "EUR", "locale": "en-IE", - "source": "CoinDesk", + "source": "Bitstamp", "symbol": "€" }, "GBP": { "endPointKey": "GBP", "locale": "en-GB", - "source": "CoinDesk", + "source": "Bitstamp", "symbol": "£" }, "HRK": { @@ -323,4 +323,4 @@ "source": "CoinDesk", "symbol": "R" } -} \ No newline at end of file +} diff --git a/models/networkTransactionFees.js b/models/networkTransactionFees.js index 85e7a4134..ce1ee5a81 100644 --- a/models/networkTransactionFees.js +++ b/models/networkTransactionFees.js @@ -10,7 +10,7 @@ export const NetworkTransactionFeeType = Object.freeze({ export class NetworkTransactionFee { static StorageKey = 'NetworkTransactionFee'; - constructor(fastestFee = 1, mediumFee = 1, slowFee = 1) { + constructor(fastestFee = 2, mediumFee = 1, slowFee = 1) { this.fastestFee = fastestFee; this.mediumFee = mediumFee; this.slowFee = slowFee; @@ -31,12 +31,12 @@ export default class NetworkTransactionFees { const networkFee = new NetworkTransactionFee(response.fast, response.medium, response.slow); resolve(networkFee); } else { - const networkFee = new NetworkTransactionFee(1, 1, 1); + const networkFee = new NetworkTransactionFee(2, 1, 1); resolve(networkFee); } } catch (err) { console.warn(err); - const networkFee = new NetworkTransactionFee(1, 1, 1); + const networkFee = new NetworkTransactionFee(2, 1, 1); resolve(networkFee); } }); diff --git a/package-lock.json b/package-lock.json index 891967ea9..ecb67d995 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@babel/preset-env": "7.19.4", "@bugsnag/react-native": "7.18.2", "@bugsnag/source-maps": "2.3.1", - "@keystonehq/bc-ur-registry": "0.5.3", + "@keystonehq/bc-ur-registry": "0.5.4", "@ngraveio/bc-ur": "1.1.6", "@react-native-async-storage/async-storage": "1.17.10", "@react-native-clipboard/clipboard": "1.10.0", @@ -27,7 +27,7 @@ "base-x": "3.0.9", "bc-bech32": "file:blue_modules/bc-bech32", "bech32": "2.0.0", - "bignumber.js": "9.1.0", + "bignumber.js": "9.1.1", "bip21": "2.0.3", "bip32": "3.0.1", "bip38": "github:BlueWallet/bip38", @@ -39,7 +39,7 @@ "buffer-reverse": "1.0.1", "coinselect": "3.1.13", "crypto-js": "4.1.1", - "dayjs": "1.11.6", + "dayjs": "1.11.7", "detox": "19.12.5", "ecpair": "2.0.1", "ecurve": "1.0.6", @@ -50,7 +50,7 @@ "junderw-crc32c": "1.2.0", "lottie-ios": "3.4.4", "lottie-react-native": "5.1.4", - "metro-react-native-babel-preset": "0.73.3", + "metro-react-native-babel-preset": "0.74.1", "path-browserify": "1.0.1", "payjoin-client": "1.0.1", "process": "0.11.10", @@ -83,13 +83,13 @@ "react-native-privacy-snapshot": "https://github.com/BlueWallet/react-native-privacy-snapshot#529e4627d93f67752a27e82a040ff7b64dca0783", "react-native-prompt-android": "https://github.com/BlueWallet/react-native-prompt-android#ed168d66fed556bc2ed07cf498770f058b78a376", "react-native-push-notification": "8.1.1", - "react-native-qrcode-svg": "6.1.2", + "react-native-qrcode-svg": "6.2.0", "react-native-quick-actions": "0.3.13", "react-native-randombytes": "3.6.1", - "react-native-rate": "1.2.9", + "react-native-rate": "1.2.12", "react-native-reanimated": "2.13.0", "react-native-safe-area-context": "3.4.1", - "react-native-screens": "3.18.2", + "react-native-screens": "3.19.0", "react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#63ab38c9d382a819844a086a69cc204c46aa93f9", "react-native-share": "7.9.1", "react-native-svg": "12.4.4", @@ -97,16 +97,15 @@ "react-native-tor": "0.1.8", "react-native-vector-icons": "9.2.0", "react-native-watch-connectivity": "1.1.0", - "react-native-webview": "11.24.0", + "react-native-webview": "11.26.1", "react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#b80630cc8894ce479275d6dd3a5183f41f220237", - "react-native-windows": "0.70.4", + "react-native-windows": "0.70.10", "react-test-render": "1.1.2", "readable-stream": "3.6.0", "realm": "^10.20.0-beta.5", "rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4", "rn-nodeify": "10.3.0", "scryptsy": "2.1.0", - "secure-random": "1.1.2", "slip39": "https://github.com/BlueWallet/slip39-js", "stream-browserify": "3.0.0", "tiny-secp256k1": "1.1.6", @@ -209,14 +208,14 @@ } }, "node_modules/@azure/core-http": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.7.tgz", - "integrity": "sha512-TyGMeDm90mkRS8XzSQbSMD+TqnWL1XKGCh0x0QVGMD8COH2yU0q5SaHm/IBEBkzcq0u73NhS/p57T3KVSgUFqQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-2.3.1.tgz", + "integrity": "sha512-cur03BUwV0Tbv81bQBOLafFB02B6G++K6F2O3IMl8pSE2QlXm3cu11bfyBNlDUKi5U+xnB3GC63ae3athhkx6Q==", "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.3.0", "@azure/core-tracing": "1.0.0-preview.13", - "@azure/core-util": "^1.1.0", + "@azure/core-util": "^1.1.1", "@azure/logger": "^1.0.0", "@types/node-fetch": "^2.5.0", "@types/tunnel": "^0.0.3", @@ -230,7 +229,7 @@ "xml2js": "^0.4.19" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/@azure/core-http/node_modules/form-data": { @@ -259,10 +258,11 @@ } }, "node_modules/@azure/core-util": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.1.0.tgz", - "integrity": "sha512-+i93lNJNA3Pl3KSuC6xKP2jTL4YFeDfO6VNOaYdk0cppZcLCxt811gS878VsqsCisaltdhl9lhMzK5kbxCiF4w==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.1.1.tgz", + "integrity": "sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==", "dependencies": { + "@azure/abort-controller": "^1.0.0", "tslib": "^2.2.0" }, "engines": { @@ -292,28 +292,28 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", - "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", "dependencies": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -356,11 +356,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.0.tgz", - "integrity": "sha512-GUPcXxWibClgmYJuIwC2Bc2Lg+8b9VjaJ+HlNdACEVt+Wlr1eoU1OPZjZRm7Hzl0gaTsUZNQfeihvZJhG7oc3w==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", "dependencies": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.20.5", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" }, @@ -392,11 +392,11 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", "dependencies": { - "@babel/compat-data": "^7.19.3", + "@babel/compat-data": "^7.20.0", "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.21.3", "semver": "^6.3.0" @@ -524,18 +524,18 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", "dependencies": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -593,11 +593,11 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "dependencies": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -664,13 +664,13 @@ } }, "node_modules/@babel/helpers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.0.tgz", - "integrity": "sha512-aGMjYraN0zosCEthoGLdqot1oRsmxVTQRHadsUPz5QM44Zej2PYRz7XiDE7GqnkZnNtLbOuxqoZw42vkU7+XEQ==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", "dependencies": { "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0" + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" }, "engines": { "node": ">=6.9.0" @@ -690,9 +690,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.0.tgz", - "integrity": "sha512-G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1064,11 +1064,11 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", - "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" }, "engines": { "node": ">=6.9.0" @@ -2083,18 +2083,18 @@ } }, "node_modules/@babel/traverse": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.0.tgz", - "integrity": "sha512-5+cAXQNARgjRUK0JWu2UBwja4JLSO/rBMPJzpsKb+oBF5xlUuCfljQepS4XypBQoiigL0VQjTZy6WiONtUdScQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", "dependencies": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.0", + "@babel/generator": "^7.20.5", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -2103,9 +2103,9 @@ } }, "node_modules/@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", "dependencies": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", @@ -3688,9 +3688,9 @@ } }, "node_modules/@keystonehq/bc-ur-registry": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@keystonehq/bc-ur-registry/-/bc-ur-registry-0.5.3.tgz", - "integrity": "sha512-HMFdfTeJB9C2gxvNf4FLmddRbBaLxouokj3QFg0/bMRwDU1w2usAo8VnXURrWsRV256RJLalbX52V6CerjW17w==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@keystonehq/bc-ur-registry/-/bc-ur-registry-0.5.4.tgz", + "integrity": "sha512-z7bZe10I5k0zz9znmDTXh+o3Rzb5XsRVpwAzexubOaLxVdZ0F7aMbe2LoEsw766Hpox/7zARi7UGmLz5C8BAzA==", "dependencies": { "@ngraveio/bc-ur": "^1.1.5", "bs58check": "^2.1.2", @@ -3758,62 +3758,62 @@ } }, "node_modules/@opentelemetry/api": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.2.0.tgz", - "integrity": "sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.3.0.tgz", + "integrity": "sha512-YveTnGNsFFixTKJz09Oi4zYkiLT5af3WpZDu4aIUM7xX+2bHAkOJayFTVQd6zB8kkWPpbua4Ha6Ql00grdLlJQ==", "engines": { "node": ">=8.0.0" } }, "node_modules/@opentelemetry/core": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.7.0.tgz", - "integrity": "sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.8.0.tgz", + "integrity": "sha512-6SDjwBML4Am0AQmy7z1j6HGrWDgeK8awBRUvl1PGw6HayViMk4QpnUXvv4HTHisecgVBy43NE/cstWprm8tIfw==", "dependencies": { - "@opentelemetry/semantic-conventions": "1.7.0" + "@opentelemetry/semantic-conventions": "1.8.0" }, "engines": { "node": ">=14" }, "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.3.0" + "@opentelemetry/api": ">=1.0.0 <1.4.0" } }, "node_modules/@opentelemetry/resources": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.7.0.tgz", - "integrity": "sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.8.0.tgz", + "integrity": "sha512-KSyMH6Jvss/PFDy16z5qkCK0ERlpyqixb1xwb73wLMvVq+j7i89lobDjw3JkpCcd1Ws0J6jAI4fw28Zufj2ssg==", "dependencies": { - "@opentelemetry/core": "1.7.0", - "@opentelemetry/semantic-conventions": "1.7.0" + "@opentelemetry/core": "1.8.0", + "@opentelemetry/semantic-conventions": "1.8.0" }, "engines": { "node": ">=14" }, "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.3.0" + "@opentelemetry/api": ">=1.0.0 <1.4.0" } }, "node_modules/@opentelemetry/sdk-trace-base": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz", - "integrity": "sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.8.0.tgz", + "integrity": "sha512-iH41m0UTddnCKJzZx3M85vlhKzRcmT48pUeBbnzsGrq4nIay1oWVHKM5nhB5r8qRDGvd/n7f/YLCXClxwM0tvA==", "dependencies": { - "@opentelemetry/core": "1.7.0", - "@opentelemetry/resources": "1.7.0", - "@opentelemetry/semantic-conventions": "1.7.0" + "@opentelemetry/core": "1.8.0", + "@opentelemetry/resources": "1.8.0", + "@opentelemetry/semantic-conventions": "1.8.0" }, "engines": { "node": ">=14" }, "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.3.0" + "@opentelemetry/api": ">=1.0.0 <1.4.0" } }, "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz", - "integrity": "sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.8.0.tgz", + "integrity": "sha512-TYh1MRcm4JnvpqtqOwT9WYaBYY4KERHdToxs/suDTLviGRsQkIjS5yYROTYTSJQUnYLOn/TuOh5GoMwfLSU+Ew==", "engines": { "node": ">=14" } @@ -4367,12 +4367,12 @@ } }, "node_modules/@react-native-community/cli-doctor": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-9.2.1.tgz", - "integrity": "sha512-RpUax0pkKumXJ5hcRG0Qd+oYWsA2RFeMWKY+Npg8q05Cwd1rqDQfWGprkHC576vz26+FPuvwEagoAf6fR2bvJA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-9.3.0.tgz", + "integrity": "sha512-/fiuG2eDGC2/OrXMOWI5ifq4X1gdYTQhvW2m0TT5Lk1LuFiZsbTCp1lR+XILKekuTvmYNjEGdVpeDpdIWlXdEA==", "dependencies": { "@react-native-community/cli-config": "^9.2.1", - "@react-native-community/cli-platform-ios": "^9.2.1", + "@react-native-community/cli-platform-ios": "^9.3.0", "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "command-exists": "^1.2.8", @@ -4390,9 +4390,9 @@ } }, "node_modules/@react-native-community/cli-doctor/node_modules/@react-native-community/cli-platform-ios": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz", - "integrity": "sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz", + "integrity": "sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw==", "dependencies": { "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", @@ -5448,16 +5448,16 @@ } }, "node_modules/@react-native-windows/cli": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/@react-native-windows/cli/-/cli-0.70.0.tgz", - "integrity": "sha512-syQUl+9K0TM3motbev7jIOmsYvyZ1DiDQ0155oHPo539/n8z44/T4h5NSMBQ3mFQTmCrfWNatOvDGNJ/rjJzwQ==", + "version": "0.70.2", + "resolved": "https://registry.npmjs.org/@react-native-windows/cli/-/cli-0.70.2.tgz", + "integrity": "sha512-zQHgCL2PTKjUulsOFFr/A8IAAt9pZgwSjYYyFK8UcxqCaoPXFhFmAzzZ+2YUQATbB2TwI4o9v5dxQdMZa6qi2g==", "dependencies": { "@react-native-windows/fs": "0.70.0", "@react-native-windows/package-utils": "0.70.0", - "@react-native-windows/telemetry": "0.70.0", + "@react-native-windows/telemetry": "0.70.1", "@typescript-eslint/eslint-plugin": "^5.20.0", "@typescript-eslint/parser": "^5.20.0", - "@xmldom/xmldom": "^0.7.5", + "@xmldom/xmldom": "^0.7.7", "chalk": "^4.1.0", "cli-spinners": "^2.2.0", "envinfo": "^7.5.0", @@ -5626,14 +5626,14 @@ } }, "node_modules/@react-native-windows/telemetry": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/@react-native-windows/telemetry/-/telemetry-0.70.0.tgz", - "integrity": "sha512-Gn8SQFPNjV/QOpEnBrnc/EYsw3lGOtDQawCMgCAXK4Oelxg7xJmaIOn6AHp2VCOE7ty4C2ZIpuXUT0ImdTZz8Q==", + "version": "0.70.1", + "resolved": "https://registry.npmjs.org/@react-native-windows/telemetry/-/telemetry-0.70.1.tgz", + "integrity": "sha512-T7+E43Flx+4zWWggJ09Q95bsYGxx1hMGQTQRGyXtgP3biAcbS76N59zDy/IIJKAfJoqRrOi3azWMJMBx63VW2Q==", "dependencies": { "@react-native-windows/fs": "0.70.0", "@typescript-eslint/eslint-plugin": "^5.20.0", "@typescript-eslint/parser": "^5.20.0", - "@xmldom/xmldom": "^0.7.5", + "@xmldom/xmldom": "^0.7.7", "applicationinsights": "^2.3.1", "ci-info": "^3.2.0", "envinfo": "^7.8.1", @@ -6339,9 +6339,9 @@ } }, "node_modules/@xmldom/xmldom": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz", - "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==", + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.9.tgz", + "integrity": "sha512-yceMpm/xd4W2a85iqZyO09gTnHvXF6pyiWjD2jcOJs7hRoZtNNOO1eJlhHj1ixA+xip2hOyGn+LgcvLCMo5zXA==", "engines": { "node": ">=10.0.0" } @@ -6630,9 +6630,9 @@ "integrity": "sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==" }, "node_modules/applicationinsights": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.3.5.tgz", - "integrity": "sha512-QU6EEZbobj9NL2o/XLIDStCMfwrrLwFrbJrDw9ih1wb5bz7v0cwUm6kPXiKtNAAny4hWp9/BtBhtFKvc3tWZ3w==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.3.6.tgz", + "integrity": "sha512-ZzXXpZpDRGcy6Pp5V319nDF9/+Ey7jNknEXZyaBajtC5onN0dcBem6ng5jcb3MPH2AjYWRI8XgyNEuzP/6Y5/A==", "dependencies": { "@azure/core-http": "^2.2.3", "@microsoft/applicationinsights-web-snippet": "^1.0.1", @@ -7755,9 +7755,9 @@ "integrity": "sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU=" }, "node_modules/bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==", "engines": { "node": "*" } @@ -9307,9 +9307,9 @@ } }, "node_modules/dayjs": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", - "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" }, "node_modules/debug": { "version": "4.3.4", @@ -18180,21 +18180,22 @@ } }, "node_modules/metro-react-native-babel-preset": { - "version": "0.73.3", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.3.tgz", - "integrity": "sha512-JJ22lR4CVaw3OKTz9YAY/ckymr3DbO+qy/x5kLaF4g0LcvZmhhKfDK+fml577AZU6sKb/CTd0SBwt+VAz+Hu7Q==", + "version": "0.74.1", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.74.1.tgz", + "integrity": "sha512-DjsG9nqm5C7cjB2SlgbcNJOn9y5MBUd3bRlCfnoj8CxAeGTGkS+yXd183lHR3C1bhmQNjuUE0abzzpE1CFh6JQ==", "dependencies": { - "@babel/core": "^7.14.0", + "@babel/core": "^7.20.0", "@babel/plugin-proposal-async-generator-functions": "^7.0.0", "@babel/plugin-proposal-class-properties": "^7.0.0", "@babel/plugin-proposal-export-default-from": "^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", "@babel/plugin-proposal-object-rest-spread": "^7.0.0", "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", "@babel/plugin-proposal-optional-chaining": "^7.0.0", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-flow": "^7.18.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", "@babel/plugin-syntax-optional-chaining": "^7.0.0", "@babel/plugin-transform-arrow-functions": "^7.0.0", @@ -18217,7 +18218,6 @@ "@babel/plugin-transform-shorthand-properties": "^7.0.0", "@babel/plugin-transform-spread": "^7.0.0", "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", "@babel/plugin-transform-typescript": "^7.5.0", "@babel/plugin-transform-unicode-regex": "^7.0.0", "@babel/template": "^7.0.0", @@ -20428,9 +20428,9 @@ } }, "node_modules/qrcode": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.0.tgz", - "integrity": "sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz", + "integrity": "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==", "dependencies": { "dijkstrajs": "^1.0.1", "encode-utf8": "^1.0.3", @@ -21097,17 +21097,17 @@ } }, "node_modules/react-native-qrcode-svg": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.1.2.tgz", - "integrity": "sha512-lMbbxoPVybXCp9SYm73Aj/0iZ9OlSZl2u+zpdbjgC4DYHBm9m9tDQxISNg1OPeR7AAzmyx8IV4JTFmk8G5R22g==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.2.0.tgz", + "integrity": "sha512-rb2PgUwT8QpQyReVYNvzRY84AHsMh81354Tnkfp6MfqRbcdJURhnBWLBOO11pLMS6eXiwlq4SkcQxy88hRq+Dw==", "dependencies": { - "prop-types": "^15.7.2", - "qrcode": "^1.5.0" + "prop-types": "^15.8.0", + "qrcode": "^1.5.1" }, "peerDependencies": { "react": "*", "react-native": ">=0.63.4", - "react-native-svg": "^12.1.0" + "react-native-svg": "^13.2.0" } }, "node_modules/react-native-quick-actions": { @@ -21135,9 +21135,9 @@ } }, "node_modules/react-native-rate": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/react-native-rate/-/react-native-rate-1.2.9.tgz", - "integrity": "sha512-XBA5XdcWYtRyVuGFKJrsufFfaA9fSwOI/bzzDsfcovJQbYMJ0KIXMD3dFmsxAn0Kd3LDKwnHqnpjrmXOSF9rcQ==" + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/react-native-rate/-/react-native-rate-1.2.12.tgz", + "integrity": "sha512-A/z3s7Zth08aXcJnru6S4p71NG8acx2w5LhIfItwTJUbQruNJugk8WrN51dLBCSDv8W33kbS5YoUT4M9jOP5gA==" }, "node_modules/react-native-ratings": { "version": "8.0.4", @@ -21196,9 +21196,9 @@ "integrity": "sha1-Dm2o8M5Sg471zsXI+TlrDBtko8s=" }, "node_modules/react-native-screens": { - "version": "3.18.2", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.18.2.tgz", - "integrity": "sha512-ANUEuvMUlsYJ1QKukEhzhfrvOUO9BVH9Nzg+6eWxpn3cfD/O83yPBOF8Mx6x5H/2+sMy+VS5x/chWOOo/U7QJw==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.19.0.tgz", + "integrity": "sha512-Ehsmy7jr3H3j5pmN+/FqsAaIAD+k+xkcdePfLcg4rYRbN5X7fJPgaqhcmiCcZ0YxsU8ttsstP9IvRLNQuIkRRA==", "dependencies": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" @@ -21323,9 +21323,9 @@ } }, "node_modules/react-native-webview": { - "version": "11.24.0", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.24.0.tgz", - "integrity": "sha512-iQBVZt9inVzCfX6ShXgdx9siZs9TG2WOfN2Ve8zoCbaS1SI8bNHlAlWfjBQJ66xVfhHvq+A0WhGLVfd1eBweCQ==", + "version": "11.26.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.26.1.tgz", + "integrity": "sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==", "dependencies": { "escape-string-regexp": "2.0.0", "invariant": "2.2.4" @@ -21354,16 +21354,16 @@ } }, "node_modules/react-native-windows": { - "version": "0.70.4", - "resolved": "https://registry.npmjs.org/react-native-windows/-/react-native-windows-0.70.4.tgz", - "integrity": "sha512-qVMz/5BhFe3h1ZcWJlV9dZJXnaH2dXx3BaSPYuoPDiQOv0AzfBSrJkZGO1P2XW4CiwaTNco730CfFZKLHjUBLg==", + "version": "0.70.10", + "resolved": "https://registry.npmjs.org/react-native-windows/-/react-native-windows-0.70.10.tgz", + "integrity": "sha512-hdFQ15ovovfT0TxtfrE8txku2zFh4KP/UaUchpzDkiCF/LKmYoSgfaoigHc1EtlVGulJGYTfK2P1rzx2ZQqYKA==", "dependencies": { "@babel/runtime": "^7.0.0", "@jest/create-cache-key-function": "^27.0.1", "@react-native-community/cli": "^9.0.0", "@react-native-community/cli-platform-android": "^9.0.0", "@react-native-community/cli-platform-ios": "^9.0.0", - "@react-native-windows/cli": "0.70.0", + "@react-native-windows/cli": "0.70.2", "@react-native-windows/virtualized-list": "0.70.0", "@react-native/assets": "1.0.0", "@react-native/normalize-color": "2.0.0", @@ -21404,15 +21404,15 @@ } }, "node_modules/react-native-windows/node_modules/@react-native-community/cli": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-9.2.1.tgz", - "integrity": "sha512-feMYS5WXXKF4TSWnCXozHxtWq36smyhGaENXlkiRESfYZ1mnCUlPfOanNCAvNvBqdyh9d4o0HxhYKX1g9l6DCQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-9.3.2.tgz", + "integrity": "sha512-IAW4X0vmX/xozNpp/JVZaX7MrC85KV0OP2DF4o7lNGOfpUhzJAEWqTfkxFYS+VsRjZHDve4wSTiGIuXwE7FG1w==", "dependencies": { "@react-native-community/cli-clean": "^9.2.1", "@react-native-community/cli-config": "^9.2.1", "@react-native-community/cli-debugger-ui": "^9.0.0", - "@react-native-community/cli-doctor": "^9.2.1", - "@react-native-community/cli-hermes": "^9.2.1", + "@react-native-community/cli-doctor": "^9.3.0", + "@react-native-community/cli-hermes": "^9.3.1", "@react-native-community/cli-plugin-metro": "^9.2.1", "@react-native-community/cli-server-api": "^9.2.1", "@react-native-community/cli-tools": "^9.2.1", @@ -21442,11 +21442,11 @@ } }, "node_modules/react-native-windows/node_modules/@react-native-community/cli-hermes": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-9.2.1.tgz", - "integrity": "sha512-723/NMb7egXzJrbWT1uEkN2hOpw+OOtWTG2zKJ3j7KKgUd8u/pP+/z5jO8xVrq+eYJEMjDK0FBEo1Xj7maR4Sw==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-9.3.1.tgz", + "integrity": "sha512-Mq4PK8m5YqIdaVq5IdRfp4qK09aVO+aiCtd6vjzjNUgk1+1X5cgUqV6L65h4N+TFJYJHcp2AnB+ik1FAYXvYPQ==", "dependencies": { - "@react-native-community/cli-platform-android": "^9.2.1", + "@react-native-community/cli-platform-android": "^9.3.1", "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", @@ -21454,9 +21454,9 @@ } }, "node_modules/react-native-windows/node_modules/@react-native-community/cli-platform-android": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.2.1.tgz", - "integrity": "sha512-VamCZ8nido3Q3Orhj6pBIx48itORNPLJ7iTfy3nucD1qISEDih3DOzCaQCtmqdEBgUkNkNl0O+cKgq5A3th3Zg==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.3.1.tgz", + "integrity": "sha512-m0bQ6Twewl7OEZoVf79I2GZmsDqh+Gh0bxfxWgwxobsKDxLx8/RNItAo1lVtTCgzuCR75cX4EEO8idIF9jYhew==", "dependencies": { "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", @@ -21468,9 +21468,9 @@ } }, "node_modules/react-native-windows/node_modules/@react-native-community/cli-platform-ios": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz", - "integrity": "sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz", + "integrity": "sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw==", "dependencies": { "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", @@ -22783,9 +22783,9 @@ } }, "node_modules/react-native-windows/node_modules/promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "dependencies": { "asap": "~2.0.6" } @@ -24632,11 +24632,6 @@ "node": ">=4.0.0" } }, - "node_modules/secure-random": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/secure-random/-/secure-random-1.1.2.tgz", - "integrity": "sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ==" - }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -27256,14 +27251,14 @@ } }, "@azure/core-http": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.7.tgz", - "integrity": "sha512-TyGMeDm90mkRS8XzSQbSMD+TqnWL1XKGCh0x0QVGMD8COH2yU0q5SaHm/IBEBkzcq0u73NhS/p57T3KVSgUFqQ==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-2.3.1.tgz", + "integrity": "sha512-cur03BUwV0Tbv81bQBOLafFB02B6G++K6F2O3IMl8pSE2QlXm3cu11bfyBNlDUKi5U+xnB3GC63ae3athhkx6Q==", "requires": { "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.3.0", "@azure/core-tracing": "1.0.0-preview.13", - "@azure/core-util": "^1.1.0", + "@azure/core-util": "^1.1.1", "@azure/logger": "^1.0.0", "@types/node-fetch": "^2.5.0", "@types/tunnel": "^0.0.3", @@ -27299,10 +27294,11 @@ } }, "@azure/core-util": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.1.0.tgz", - "integrity": "sha512-+i93lNJNA3Pl3KSuC6xKP2jTL4YFeDfO6VNOaYdk0cppZcLCxt811gS878VsqsCisaltdhl9lhMzK5kbxCiF4w==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.1.1.tgz", + "integrity": "sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==", "requires": { + "@azure/abort-controller": "^1.0.0", "tslib": "^2.2.0" } }, @@ -27323,25 +27319,25 @@ } }, "@babel/compat-data": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", - "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==" + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz", + "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==" }, "@babel/core": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.6.tgz", - "integrity": "sha512-D2Ue4KHpc6Ys2+AxpIx1BZ8+UegLLLE2p3KJEuJRKmokHOtl49jQ5ny1773KsGLZs8MQvBidAF6yWUJxRqtKtg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz", + "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==", "requires": { "@ampproject/remapping": "^2.1.0", "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.6", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.6", - "@babel/helpers": "^7.19.4", - "@babel/parser": "^7.19.6", + "@babel/generator": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.0", + "@babel/helper-module-transforms": "^7.20.2", + "@babel/helpers": "^7.20.5", + "@babel/parser": "^7.20.5", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -27369,11 +27365,11 @@ } }, "@babel/generator": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.0.tgz", - "integrity": "sha512-GUPcXxWibClgmYJuIwC2Bc2Lg+8b9VjaJ+HlNdACEVt+Wlr1eoU1OPZjZRm7Hzl0gaTsUZNQfeihvZJhG7oc3w==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.5.tgz", + "integrity": "sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==", "requires": { - "@babel/types": "^7.20.0", + "@babel/types": "^7.20.5", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" } @@ -27396,11 +27392,11 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.3.tgz", - "integrity": "sha512-65ESqLGyGmLvgR0mst5AdW1FkNlj9rQsCKduzEoEPhBCDFGXvz2jW6bXFG6i0/MrV2s7hhXjjb2yAzcPuQlLwg==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz", + "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==", "requires": { - "@babel/compat-data": "^7.19.3", + "@babel/compat-data": "^7.20.0", "@babel/helper-validator-option": "^7.18.6", "browserslist": "^4.21.3", "semver": "^6.3.0" @@ -27489,18 +27485,18 @@ } }, "@babel/helper-module-transforms": { - "version": "7.19.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.6.tgz", - "integrity": "sha512-fCmcfQo/KYr/VXXDIyd3CBGZ6AFhPFy1TfSEJ+PilGVlQT6jcbqtHAM4C1EciRqMza7/TpOUZliuSH+U6HAhJw==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz", + "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==", "requires": { "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.19.4", + "@babel/helper-simple-access": "^7.20.2", "@babel/helper-split-export-declaration": "^7.18.6", "@babel/helper-validator-identifier": "^7.19.1", "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.6", - "@babel/types": "^7.19.4" + "@babel/traverse": "^7.20.1", + "@babel/types": "^7.20.2" } }, "@babel/helper-optimise-call-expression": { @@ -27540,11 +27536,11 @@ } }, "@babel/helper-simple-access": { - "version": "7.19.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", - "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", "requires": { - "@babel/types": "^7.19.4" + "@babel/types": "^7.20.2" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -27590,13 +27586,13 @@ } }, "@babel/helpers": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.0.tgz", - "integrity": "sha512-aGMjYraN0zosCEthoGLdqot1oRsmxVTQRHadsUPz5QM44Zej2PYRz7XiDE7GqnkZnNtLbOuxqoZw42vkU7+XEQ==", + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz", + "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==", "requires": { "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.0", - "@babel/types": "^7.20.0" + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" } }, "@babel/highlight": { @@ -27610,9 +27606,9 @@ } }, "@babel/parser": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.0.tgz", - "integrity": "sha512-G9VgAhEaICnz8iiJeGJQyVl6J2nTjbW0xeisva0PK6XcKsga7BIaqm4ZF8Rg1Wbaqmy6znspNqhPaPkyukujzg==" + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.5.tgz", + "integrity": "sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==" }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { "version": "7.18.6", @@ -27843,11 +27839,11 @@ } }, "@babel/plugin-syntax-flow": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", - "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz", + "integrity": "sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==", "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.18.6" } }, "@babel/plugin-syntax-import-assertions": { @@ -28515,26 +28511,26 @@ } }, "@babel/traverse": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.0.tgz", - "integrity": "sha512-5+cAXQNARgjRUK0JWu2UBwja4JLSO/rBMPJzpsKb+oBF5xlUuCfljQepS4XypBQoiigL0VQjTZy6WiONtUdScQ==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.5.tgz", + "integrity": "sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==", "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.0", + "@babel/generator": "^7.20.5", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.0", - "@babel/types": "^7.20.0", + "@babel/parser": "^7.20.5", + "@babel/types": "^7.20.5", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.0.tgz", - "integrity": "sha512-Jlgt3H0TajCW164wkTOTzHkZb075tMQMULzrLUoUeKmO7eFL96GgDxf7/Axhc5CAuKE3KFyVW1p6ysKsi2oXAg==", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", "requires": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", @@ -29743,9 +29739,9 @@ } }, "@keystonehq/bc-ur-registry": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@keystonehq/bc-ur-registry/-/bc-ur-registry-0.5.3.tgz", - "integrity": "sha512-HMFdfTeJB9C2gxvNf4FLmddRbBaLxouokj3QFg0/bMRwDU1w2usAo8VnXURrWsRV256RJLalbX52V6CerjW17w==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@keystonehq/bc-ur-registry/-/bc-ur-registry-0.5.4.tgz", + "integrity": "sha512-z7bZe10I5k0zz9znmDTXh+o3Rzb5XsRVpwAzexubOaLxVdZ0F7aMbe2LoEsw766Hpox/7zARi7UGmLz5C8BAzA==", "requires": { "@ngraveio/bc-ur": "^1.1.5", "bs58check": "^2.1.2", @@ -29804,41 +29800,41 @@ } }, "@opentelemetry/api": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.2.0.tgz", - "integrity": "sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.3.0.tgz", + "integrity": "sha512-YveTnGNsFFixTKJz09Oi4zYkiLT5af3WpZDu4aIUM7xX+2bHAkOJayFTVQd6zB8kkWPpbua4Ha6Ql00grdLlJQ==" }, "@opentelemetry/core": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.7.0.tgz", - "integrity": "sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-1.8.0.tgz", + "integrity": "sha512-6SDjwBML4Am0AQmy7z1j6HGrWDgeK8awBRUvl1PGw6HayViMk4QpnUXvv4HTHisecgVBy43NE/cstWprm8tIfw==", "requires": { - "@opentelemetry/semantic-conventions": "1.7.0" + "@opentelemetry/semantic-conventions": "1.8.0" } }, "@opentelemetry/resources": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.7.0.tgz", - "integrity": "sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-1.8.0.tgz", + "integrity": "sha512-KSyMH6Jvss/PFDy16z5qkCK0ERlpyqixb1xwb73wLMvVq+j7i89lobDjw3JkpCcd1Ws0J6jAI4fw28Zufj2ssg==", "requires": { - "@opentelemetry/core": "1.7.0", - "@opentelemetry/semantic-conventions": "1.7.0" + "@opentelemetry/core": "1.8.0", + "@opentelemetry/semantic-conventions": "1.8.0" } }, "@opentelemetry/sdk-trace-base": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz", - "integrity": "sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.8.0.tgz", + "integrity": "sha512-iH41m0UTddnCKJzZx3M85vlhKzRcmT48pUeBbnzsGrq4nIay1oWVHKM5nhB5r8qRDGvd/n7f/YLCXClxwM0tvA==", "requires": { - "@opentelemetry/core": "1.7.0", - "@opentelemetry/resources": "1.7.0", - "@opentelemetry/semantic-conventions": "1.7.0" + "@opentelemetry/core": "1.8.0", + "@opentelemetry/resources": "1.8.0", + "@opentelemetry/semantic-conventions": "1.8.0" } }, "@opentelemetry/semantic-conventions": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz", - "integrity": "sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.8.0.tgz", + "integrity": "sha512-TYh1MRcm4JnvpqtqOwT9WYaBYY4KERHdToxs/suDTLviGRsQkIjS5yYROTYTSJQUnYLOn/TuOh5GoMwfLSU+Ew==" }, "@react-native-async-storage/async-storage": { "version": "1.17.10", @@ -30373,12 +30369,12 @@ } }, "@react-native-community/cli-doctor": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-9.2.1.tgz", - "integrity": "sha512-RpUax0pkKumXJ5hcRG0Qd+oYWsA2RFeMWKY+Npg8q05Cwd1rqDQfWGprkHC576vz26+FPuvwEagoAf6fR2bvJA==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-doctor/-/cli-doctor-9.3.0.tgz", + "integrity": "sha512-/fiuG2eDGC2/OrXMOWI5ifq4X1gdYTQhvW2m0TT5Lk1LuFiZsbTCp1lR+XILKekuTvmYNjEGdVpeDpdIWlXdEA==", "requires": { "@react-native-community/cli-config": "^9.2.1", - "@react-native-community/cli-platform-ios": "^9.2.1", + "@react-native-community/cli-platform-ios": "^9.3.0", "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "command-exists": "^1.2.8", @@ -30396,9 +30392,9 @@ }, "dependencies": { "@react-native-community/cli-platform-ios": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz", - "integrity": "sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz", + "integrity": "sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw==", "requires": { "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", @@ -31068,16 +31064,16 @@ } }, "@react-native-windows/cli": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/@react-native-windows/cli/-/cli-0.70.0.tgz", - "integrity": "sha512-syQUl+9K0TM3motbev7jIOmsYvyZ1DiDQ0155oHPo539/n8z44/T4h5NSMBQ3mFQTmCrfWNatOvDGNJ/rjJzwQ==", + "version": "0.70.2", + "resolved": "https://registry.npmjs.org/@react-native-windows/cli/-/cli-0.70.2.tgz", + "integrity": "sha512-zQHgCL2PTKjUulsOFFr/A8IAAt9pZgwSjYYyFK8UcxqCaoPXFhFmAzzZ+2YUQATbB2TwI4o9v5dxQdMZa6qi2g==", "requires": { "@react-native-windows/fs": "0.70.0", "@react-native-windows/package-utils": "0.70.0", - "@react-native-windows/telemetry": "0.70.0", + "@react-native-windows/telemetry": "0.70.1", "@typescript-eslint/eslint-plugin": "^5.20.0", "@typescript-eslint/parser": "^5.20.0", - "@xmldom/xmldom": "^0.7.5", + "@xmldom/xmldom": "^0.7.7", "chalk": "^4.1.0", "cli-spinners": "^2.2.0", "envinfo": "^7.5.0", @@ -31202,14 +31198,14 @@ } }, "@react-native-windows/telemetry": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/@react-native-windows/telemetry/-/telemetry-0.70.0.tgz", - "integrity": "sha512-Gn8SQFPNjV/QOpEnBrnc/EYsw3lGOtDQawCMgCAXK4Oelxg7xJmaIOn6AHp2VCOE7ty4C2ZIpuXUT0ImdTZz8Q==", + "version": "0.70.1", + "resolved": "https://registry.npmjs.org/@react-native-windows/telemetry/-/telemetry-0.70.1.tgz", + "integrity": "sha512-T7+E43Flx+4zWWggJ09Q95bsYGxx1hMGQTQRGyXtgP3biAcbS76N59zDy/IIJKAfJoqRrOi3azWMJMBx63VW2Q==", "requires": { "@react-native-windows/fs": "0.70.0", "@typescript-eslint/eslint-plugin": "^5.20.0", "@typescript-eslint/parser": "^5.20.0", - "@xmldom/xmldom": "^0.7.5", + "@xmldom/xmldom": "^0.7.7", "applicationinsights": "^2.3.1", "ci-info": "^3.2.0", "envinfo": "^7.8.1", @@ -31764,9 +31760,9 @@ } }, "@xmldom/xmldom": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz", - "integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==" + "version": "0.7.9", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.9.tgz", + "integrity": "sha512-yceMpm/xd4W2a85iqZyO09gTnHvXF6pyiWjD2jcOJs7hRoZtNNOO1eJlhHj1ixA+xip2hOyGn+LgcvLCMo5zXA==" }, "@yarnpkg/lockfile": { "version": "1.1.0", @@ -31995,9 +31991,9 @@ "integrity": "sha512-D8wJNkqMCeQs3kLasatELsddox/Xqkhp+J07iXGyL54fVN7oc+nmNfYzGuCs1IEP6uBw+TfpuO3JKwc+lECy4w==" }, "applicationinsights": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.3.5.tgz", - "integrity": "sha512-QU6EEZbobj9NL2o/XLIDStCMfwrrLwFrbJrDw9ih1wb5bz7v0cwUm6kPXiKtNAAny4hWp9/BtBhtFKvc3tWZ3w==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/applicationinsights/-/applicationinsights-2.3.6.tgz", + "integrity": "sha512-ZzXXpZpDRGcy6Pp5V319nDF9/+Ey7jNknEXZyaBajtC5onN0dcBem6ng5jcb3MPH2AjYWRI8XgyNEuzP/6Y5/A==", "requires": { "@azure/core-http": "^2.2.3", "@microsoft/applicationinsights-web-snippet": "^1.0.1", @@ -32922,9 +32918,9 @@ "integrity": "sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU=" }, "bignumber.js": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz", - "integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A==" + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz", + "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==" }, "binary-extensions": { "version": "1.13.1", @@ -34202,9 +34198,9 @@ } }, "dayjs": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.6.tgz", - "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==" + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==" }, "debug": { "version": "4.3.4", @@ -41218,21 +41214,22 @@ } }, "metro-react-native-babel-preset": { - "version": "0.73.3", - "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.73.3.tgz", - "integrity": "sha512-JJ22lR4CVaw3OKTz9YAY/ckymr3DbO+qy/x5kLaF4g0LcvZmhhKfDK+fml577AZU6sKb/CTd0SBwt+VAz+Hu7Q==", + "version": "0.74.1", + "resolved": "https://registry.npmjs.org/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.74.1.tgz", + "integrity": "sha512-DjsG9nqm5C7cjB2SlgbcNJOn9y5MBUd3bRlCfnoj8CxAeGTGkS+yXd183lHR3C1bhmQNjuUE0abzzpE1CFh6JQ==", "requires": { - "@babel/core": "^7.14.0", + "@babel/core": "^7.20.0", "@babel/plugin-proposal-async-generator-functions": "^7.0.0", "@babel/plugin-proposal-class-properties": "^7.0.0", "@babel/plugin-proposal-export-default-from": "^7.0.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0", + "@babel/plugin-proposal-numeric-separator": "^7.0.0", "@babel/plugin-proposal-object-rest-spread": "^7.0.0", "@babel/plugin-proposal-optional-catch-binding": "^7.0.0", "@babel/plugin-proposal-optional-chaining": "^7.0.0", "@babel/plugin-syntax-dynamic-import": "^7.0.0", "@babel/plugin-syntax-export-default-from": "^7.0.0", - "@babel/plugin-syntax-flow": "^7.2.0", + "@babel/plugin-syntax-flow": "^7.18.0", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.0.0", "@babel/plugin-syntax-optional-chaining": "^7.0.0", "@babel/plugin-transform-arrow-functions": "^7.0.0", @@ -41255,7 +41252,6 @@ "@babel/plugin-transform-shorthand-properties": "^7.0.0", "@babel/plugin-transform-spread": "^7.0.0", "@babel/plugin-transform-sticky-regex": "^7.0.0", - "@babel/plugin-transform-template-literals": "^7.0.0", "@babel/plugin-transform-typescript": "^7.5.0", "@babel/plugin-transform-unicode-regex": "^7.0.0", "@babel/template": "^7.0.0", @@ -42682,9 +42678,9 @@ } }, "qrcode": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.0.tgz", - "integrity": "sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz", + "integrity": "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==", "requires": { "dijkstrajs": "^1.0.1", "encode-utf8": "^1.0.3", @@ -43166,12 +43162,12 @@ "integrity": "sha512-XpBtG/w+a6WXTxu6l1dNYyTiHnbgnvjoc3KxPTxYkaIABRmvuJZkFxqruyGvfCw7ELAlZEAJO+dthdTabCe1XA==" }, "react-native-qrcode-svg": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.1.2.tgz", - "integrity": "sha512-lMbbxoPVybXCp9SYm73Aj/0iZ9OlSZl2u+zpdbjgC4DYHBm9m9tDQxISNg1OPeR7AAzmyx8IV4JTFmk8G5R22g==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/react-native-qrcode-svg/-/react-native-qrcode-svg-6.2.0.tgz", + "integrity": "sha512-rb2PgUwT8QpQyReVYNvzRY84AHsMh81354Tnkfp6MfqRbcdJURhnBWLBOO11pLMS6eXiwlq4SkcQxy88hRq+Dw==", "requires": { - "prop-types": "^15.7.2", - "qrcode": "^1.5.0" + "prop-types": "^15.8.0", + "qrcode": "^1.5.1" } }, "react-native-quick-actions": { @@ -43201,9 +43197,9 @@ } }, "react-native-rate": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/react-native-rate/-/react-native-rate-1.2.9.tgz", - "integrity": "sha512-XBA5XdcWYtRyVuGFKJrsufFfaA9fSwOI/bzzDsfcovJQbYMJ0KIXMD3dFmsxAn0Kd3LDKwnHqnpjrmXOSF9rcQ==" + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/react-native-rate/-/react-native-rate-1.2.12.tgz", + "integrity": "sha512-A/z3s7Zth08aXcJnru6S4p71NG8acx2w5LhIfItwTJUbQruNJugk8WrN51dLBCSDv8W33kbS5YoUT4M9jOP5gA==" }, "react-native-ratings": { "version": "8.0.4", @@ -43248,9 +43244,9 @@ } }, "react-native-screens": { - "version": "3.18.2", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.18.2.tgz", - "integrity": "sha512-ANUEuvMUlsYJ1QKukEhzhfrvOUO9BVH9Nzg+6eWxpn3cfD/O83yPBOF8Mx6x5H/2+sMy+VS5x/chWOOo/U7QJw==", + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.19.0.tgz", + "integrity": "sha512-Ehsmy7jr3H3j5pmN+/FqsAaIAD+k+xkcdePfLcg4rYRbN5X7fJPgaqhcmiCcZ0YxsU8ttsstP9IvRLNQuIkRRA==", "requires": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" @@ -43334,9 +43330,9 @@ } }, "react-native-webview": { - "version": "11.24.0", - "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.24.0.tgz", - "integrity": "sha512-iQBVZt9inVzCfX6ShXgdx9siZs9TG2WOfN2Ve8zoCbaS1SI8bNHlAlWfjBQJ66xVfhHvq+A0WhGLVfd1eBweCQ==", + "version": "11.26.1", + "resolved": "https://registry.npmjs.org/react-native-webview/-/react-native-webview-11.26.1.tgz", + "integrity": "sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==", "requires": { "escape-string-regexp": "2.0.0", "invariant": "2.2.4" @@ -43355,16 +43351,16 @@ "from": "react-native-widget-center@https://github.com/BlueWallet/react-native-widget-center#b80630cc8894ce479275d6dd3a5183f41f220237" }, "react-native-windows": { - "version": "0.70.4", - "resolved": "https://registry.npmjs.org/react-native-windows/-/react-native-windows-0.70.4.tgz", - "integrity": "sha512-qVMz/5BhFe3h1ZcWJlV9dZJXnaH2dXx3BaSPYuoPDiQOv0AzfBSrJkZGO1P2XW4CiwaTNco730CfFZKLHjUBLg==", + "version": "0.70.10", + "resolved": "https://registry.npmjs.org/react-native-windows/-/react-native-windows-0.70.10.tgz", + "integrity": "sha512-hdFQ15ovovfT0TxtfrE8txku2zFh4KP/UaUchpzDkiCF/LKmYoSgfaoigHc1EtlVGulJGYTfK2P1rzx2ZQqYKA==", "requires": { "@babel/runtime": "^7.0.0", "@jest/create-cache-key-function": "^27.0.1", "@react-native-community/cli": "^9.0.0", "@react-native-community/cli-platform-android": "^9.0.0", "@react-native-community/cli-platform-ios": "^9.0.0", - "@react-native-windows/cli": "0.70.0", + "@react-native-windows/cli": "0.70.2", "@react-native-windows/virtualized-list": "0.70.0", "@react-native/assets": "1.0.0", "@react-native/normalize-color": "2.0.0", @@ -43398,15 +43394,15 @@ }, "dependencies": { "@react-native-community/cli": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-9.2.1.tgz", - "integrity": "sha512-feMYS5WXXKF4TSWnCXozHxtWq36smyhGaENXlkiRESfYZ1mnCUlPfOanNCAvNvBqdyh9d4o0HxhYKX1g9l6DCQ==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@react-native-community/cli/-/cli-9.3.2.tgz", + "integrity": "sha512-IAW4X0vmX/xozNpp/JVZaX7MrC85KV0OP2DF4o7lNGOfpUhzJAEWqTfkxFYS+VsRjZHDve4wSTiGIuXwE7FG1w==", "requires": { "@react-native-community/cli-clean": "^9.2.1", "@react-native-community/cli-config": "^9.2.1", "@react-native-community/cli-debugger-ui": "^9.0.0", - "@react-native-community/cli-doctor": "^9.2.1", - "@react-native-community/cli-hermes": "^9.2.1", + "@react-native-community/cli-doctor": "^9.3.0", + "@react-native-community/cli-hermes": "^9.3.1", "@react-native-community/cli-plugin-metro": "^9.2.1", "@react-native-community/cli-server-api": "^9.2.1", "@react-native-community/cli-tools": "^9.2.1", @@ -43430,11 +43426,11 @@ } }, "@react-native-community/cli-hermes": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-9.2.1.tgz", - "integrity": "sha512-723/NMb7egXzJrbWT1uEkN2hOpw+OOtWTG2zKJ3j7KKgUd8u/pP+/z5jO8xVrq+eYJEMjDK0FBEo1Xj7maR4Sw==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-hermes/-/cli-hermes-9.3.1.tgz", + "integrity": "sha512-Mq4PK8m5YqIdaVq5IdRfp4qK09aVO+aiCtd6vjzjNUgk1+1X5cgUqV6L65h4N+TFJYJHcp2AnB+ik1FAYXvYPQ==", "requires": { - "@react-native-community/cli-platform-android": "^9.2.1", + "@react-native-community/cli-platform-android": "^9.3.1", "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", "hermes-profile-transformer": "^0.0.6", @@ -43442,9 +43438,9 @@ } }, "@react-native-community/cli-platform-android": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.2.1.tgz", - "integrity": "sha512-VamCZ8nido3Q3Orhj6pBIx48itORNPLJ7iTfy3nucD1qISEDih3DOzCaQCtmqdEBgUkNkNl0O+cKgq5A3th3Zg==", + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-android/-/cli-platform-android-9.3.1.tgz", + "integrity": "sha512-m0bQ6Twewl7OEZoVf79I2GZmsDqh+Gh0bxfxWgwxobsKDxLx8/RNItAo1lVtTCgzuCR75cX4EEO8idIF9jYhew==", "requires": { "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", @@ -43456,9 +43452,9 @@ } }, "@react-native-community/cli-platform-ios": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.2.1.tgz", - "integrity": "sha512-dEgvkI6CFgPk3vs8IOR0toKVUjIFwe4AsXFvWWJL5qhrIzW9E5Owi0zPkSvzXsMlfYMbVX0COfVIK539ZxguSg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@react-native-community/cli-platform-ios/-/cli-platform-ios-9.3.0.tgz", + "integrity": "sha512-nihTX53BhF2Q8p4B67oG3RGe1XwggoGBrMb6vXdcu2aN0WeXJOXdBLgR900DAA1O8g7oy1Sudu6we+JsVTKnjw==", "requires": { "@react-native-community/cli-tools": "^9.2.1", "chalk": "^4.1.2", @@ -44562,9 +44558,9 @@ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==" }, "promise": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.2.0.tgz", - "integrity": "sha512-+CMAlLHqwRYwBMXKCP+o8ns7DN+xHDUiI+0nArsiJ9y+kJVPLFxEaSw6Ha9s9H0tftxg2Yzl25wqj9G7m5wLZg==", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", "requires": { "asap": "~2.0.6" } @@ -46019,11 +46015,6 @@ "safe-buffer": "^5.1.2" } }, - "secure-random": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/secure-random/-/secure-random-1.1.2.tgz", - "integrity": "sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ==" - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", diff --git a/package.json b/package.json index 7c7ba92e6..3347aa082 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "@babel/preset-env": "7.19.4", "@bugsnag/react-native": "7.18.2", "@bugsnag/source-maps": "2.3.1", - "@keystonehq/bc-ur-registry": "0.5.3", + "@keystonehq/bc-ur-registry": "0.5.4", "@ngraveio/bc-ur": "1.1.6", "@react-native-async-storage/async-storage": "1.17.10", "@react-native-clipboard/clipboard": "1.10.0", @@ -113,7 +113,7 @@ "base-x": "3.0.9", "bc-bech32": "file:blue_modules/bc-bech32", "bech32": "2.0.0", - "bignumber.js": "9.1.0", + "bignumber.js": "9.1.1", "bip21": "2.0.3", "bip32": "3.0.1", "bip38": "github:BlueWallet/bip38", @@ -125,7 +125,7 @@ "buffer-reverse": "1.0.1", "coinselect": "3.1.13", "crypto-js": "4.1.1", - "dayjs": "1.11.6", + "dayjs": "1.11.7", "detox": "19.12.5", "ecpair": "2.0.1", "ecurve": "1.0.6", @@ -136,7 +136,7 @@ "junderw-crc32c": "1.2.0", "lottie-ios": "3.4.4", "lottie-react-native": "5.1.4", - "metro-react-native-babel-preset": "0.73.3", + "metro-react-native-babel-preset": "0.74.1", "path-browserify": "1.0.1", "payjoin-client": "1.0.1", "process": "0.11.10", @@ -169,13 +169,13 @@ "react-native-privacy-snapshot": "https://github.com/BlueWallet/react-native-privacy-snapshot#529e4627d93f67752a27e82a040ff7b64dca0783", "react-native-prompt-android": "https://github.com/BlueWallet/react-native-prompt-android#ed168d66fed556bc2ed07cf498770f058b78a376", "react-native-push-notification": "8.1.1", - "react-native-qrcode-svg": "6.1.2", + "react-native-qrcode-svg": "6.2.0", "react-native-quick-actions": "0.3.13", "react-native-randombytes": "3.6.1", - "react-native-rate": "1.2.9", + "react-native-rate": "1.2.12", "react-native-reanimated": "2.13.0", "react-native-safe-area-context": "3.4.1", - "react-native-screens": "3.18.2", + "react-native-screens": "3.19.0", "react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#63ab38c9d382a819844a086a69cc204c46aa93f9", "react-native-share": "7.9.1", "react-native-svg": "12.4.4", @@ -183,16 +183,15 @@ "react-native-tor": "0.1.8", "react-native-vector-icons": "9.2.0", "react-native-watch-connectivity": "1.1.0", - "react-native-webview": "11.24.0", + "react-native-webview": "11.26.1", "react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#b80630cc8894ce479275d6dd3a5183f41f220237", - "react-native-windows": "0.70.4", + "react-native-windows": "0.70.10", "react-test-render": "1.1.2", "readable-stream": "3.6.0", "realm": "^10.20.0-beta.5", "rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4", "rn-nodeify": "10.3.0", "scryptsy": "2.1.0", - "secure-random": "1.1.2", "slip39": "https://github.com/BlueWallet/slip39-js", "stream-browserify": "3.0.0", "tiny-secp256k1": "1.1.6", diff --git a/screen/settings/about.js b/screen/settings/about.js index 8190af172..47ce0607c 100644 --- a/screen/settings/about.js +++ b/screen/settings/about.js @@ -1,5 +1,5 @@ import React, { useContext } from 'react'; -import { TouchableOpacity, ScrollView, Linking, Image, View, Text, StyleSheet, useWindowDimensions, Platform } from 'react-native'; +import { TouchableOpacity, ScrollView, Linking, Image, View, Text, StyleSheet, useWindowDimensions, Platform, Alert } from 'react-native'; import { useNavigation, useTheme } from '@react-navigation/native'; import { Icon } from 'react-native-elements'; import { getApplicationName, getVersion, getBundleId, getBuildNumber, getUniqueId, hasGmsSync } from 'react-native-device-info'; @@ -10,6 +10,7 @@ import loc, { formatStringAddTwoWhiteSpaces } from '../../loc'; import Clipboard from '@react-native-clipboard/clipboard'; import { BlueStorageContext } from '../../blue_modules/storage-context'; import alert from '../../components/Alert'; +import { HDSegwitBech32Wallet } from '../../class'; const A = require('../../blue_modules/analytics'); const branch = require('../../current-branch.json'); @@ -208,6 +209,31 @@ const About = () => { testID="RunSelfTestButton" title={loc.settings.about_selftest} /> + { + const secret = 'abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about'; + const w = new HDSegwitBech32Wallet(); + w.setSecret(secret); + + const start = Date.now(); + let num; + for (num = 0; num < 1000; num++) { + w._getExternalAddressByIndex(num); + if (Date.now() - start > 10 * 1000) { + break; + } + } + + Alert.alert(loc.formatString(loc.settings.performance_score, { num })); + }} + title={loc.settings.run_performance_test} + /> diff --git a/screen/wallets/details.js b/screen/wallets/details.js index f31a93114..a6b2cb143 100644 --- a/screen/wallets/details.js +++ b/screen/wallets/details.js @@ -229,7 +229,11 @@ const WalletDetails = () => { const navigateToOverviewAndDeleteWallet = () => { setIsLoading(true); - Notifications.unsubscribe(wallet.getAllExternalAddresses(), [], []); + let externalAddresses = []; + try { + externalAddresses = wallet.getAllExternalAddresses(); + } catch (_) {} + Notifications.unsubscribe(externalAddresses, [], []); popToTop(); deleteWallet(wallet); saveToDisk(true); diff --git a/tests/setup.js b/tests/setup.js index bd18f3a92..6b1fb776b 100644 --- a/tests/setup.js +++ b/tests/setup.js @@ -4,9 +4,26 @@ import mockClipboard from '@react-native-clipboard/clipboard/jest/clipboard-mock const consoleWarnOrig = console.warn; console.warn = (...args) => { - if (typeof args[0] === 'string' && !args[0].startsWith('WARNING: Sending to a future segwit version address can lead to loss of funds')) { - consoleWarnOrig.apply(consoleWarnOrig, args); + if ( + args[0]?.startsWith('WARNING: Sending to a future segwit version address can lead to loss of funds') || + args[0]?.startsWith('only compressed public keys are good') + ) { + return; } + consoleWarnOrig.apply(consoleWarnOrig, args); +}; + +const consoleLogOrig = console.log; +console.log = (...args) => { + if ( + args[0]?.startsWith('updating exchange rate') || + args[0]?.startsWith('begin connection') || + args[0]?.startsWith('TLS Connected to') || + args[0]?.startsWith('connected to') + ) { + return; + } + consoleLogOrig.apply(consoleLogOrig, args); }; global.net = require('net'); // needed by Electrum client. For RN it is proviced in shim.js diff --git a/tests/unit/deeplink-schema-match.test.js b/tests/unit/deeplink-schema-match.test.js index 9c6c5bbab..19b48918e 100644 --- a/tests/unit/deeplink-schema-match.test.js +++ b/tests/unit/deeplink-schema-match.test.js @@ -64,6 +64,34 @@ describe.each(['', '//'])('unit - DeepLinkSchemaMatch', function (suffix) { rez.lndInvoice, 'lightning:lnbc1u1pwry044pp53xlmkghmzjzm3cljl6729cwwqz5hhnhevwfajpkln850n7clft4sdqlgfy4qv33ypmj7sj0f32rzvfqw3jhxaqcqzysxq97zvuq5zy8ge6q70prnvgwtade0g2k5h2r76ws7j2926xdjj2pjaq6q3r4awsxtm6k5prqcul73p3atveljkn6wxdkrcy69t6k5edhtc6q7lgpe4m5k4', ); + + const rez2 = DeeplinkSchemaMatch.isBothBitcoinAndLightning( + `bitcoin:${suffix}bc1q8flg3jcnv6x6mpjrqty8h8h9mg0shgp5jc9smk?lightning=LNBC1P3WKFY3DQQPP5030V53XSDHSGJKZELYLE7EKTMEM38974498VNQDT2JAZ24TRW39QSP502JQJ4K6NR7AXQYMHKF3AX70JXFX6JZA4JYGVC66NJZHFS4TSA2Q9QRSGQCQPCXQY8AYQRZJQV06K0M23T593PNGL0JT7N9WZNP64FQNGVCTZ7VTS8NQ4TUKVTLJQZ2ZHYQQXQGQQSQQQQQQQQQQQQQQ9GRZJQTSJY9P55GDCEEVP36FVDMRKXQVZFHY8AK2TGC5ZGTJTRA9XLAZ97ZKCYVQQPRSQQVQQQQQQQQQQQQQQ9GY3X4N6RV6RCN53LDEV96AURLS3C66KPX74WA4UWCWU92JGKTPQE8NCQPZJ8JG6SUNYGZM320CDUTNVGSRC6XV286EVHRXEFSXXUZ0SSQWTM6DQ&amount=0`, + ); + assert.strictEqual(rez2.bitcoin, 'bitcoin:bc1q8flg3jcnv6x6mpjrqty8h8h9mg0shgp5jc9smk?'); + assert.strictEqual( + rez2.lndInvoice, + 'lightning:LNBC1P3WKFY3DQQPP5030V53XSDHSGJKZELYLE7EKTMEM38974498VNQDT2JAZ24TRW39QSP502JQJ4K6NR7AXQYMHKF3AX70JXFX6JZA4JYGVC66NJZHFS4TSA2Q9QRSGQCQPCXQY8AYQRZJQV06K0M23T593PNGL0JT7N9WZNP64FQNGVCTZ7VTS8NQ4TUKVTLJQZ2ZHYQQXQGQQSQQQQQQQQQQQQQQ9GRZJQTSJY9P55GDCEEVP36FVDMRKXQVZFHY8AK2TGC5ZGTJTRA9XLAZ97ZKCYVQQPRSQQVQQQQQQQQQQQQQQ9GY3X4N6RV6RCN53LDEV96AURLS3C66KPX74WA4UWCWU92JGKTPQE8NCQPZJ8JG6SUNYGZM320CDUTNVGSRC6XV286EVHRXEFSXXUZ0SSQWTM6DQ', + ); + + const rez3 = DeeplinkSchemaMatch.isBothBitcoinAndLightning( + `bitcoin:bc1q8flg3jcnv6x6mpjrqty8h8h9mg0shgp5jc9smk?lightning=lnbc1p3wkfy3dqqpp5030v53xsdhsgjkzelyle7ektmem38974498vnqdt2jaz24trw39qsp502jqj4k6nr7axqymhkf3ax70jxfx6jza4jygvc66njzhfs4tsa2q9qrsgqcqpcxqy8ayqrzjqv06k0m23t593pngl0jt7n9wznp64fqngvctz7vts8nq4tukvtljqz2zhyqqxqgqqsqqqqqqqqqqqqqq9grzjqtsjy9p55gdceevp36fvdmrkxqvzfhy8ak2tgc5zgtjtra9xlaz97zkcyvqqprsqqvqqqqqqqqqqqqqq9gy3x4n6rv6rcn53ldev96aurls3c66kpx74wa4uwcwu92jgktpqe8ncqpzj8jg6sunygzm320cdutnvgsrc6xv286evhrxefsxxuz0ssqwtm6dq&amount=0`, + ); + assert.strictEqual(rez3.bitcoin, 'bitcoin:bc1q8flg3jcnv6x6mpjrqty8h8h9mg0shgp5jc9smk?'); + assert.strictEqual( + rez3.lndInvoice, + 'lightning:lnbc1p3wkfy3dqqpp5030v53xsdhsgjkzelyle7ektmem38974498vnqdt2jaz24trw39qsp502jqj4k6nr7axqymhkf3ax70jxfx6jza4jygvc66njzhfs4tsa2q9qrsgqcqpcxqy8ayqrzjqv06k0m23t593pngl0jt7n9wznp64fqngvctz7vts8nq4tukvtljqz2zhyqqxqgqqsqqqqqqqqqqqqqq9grzjqtsjy9p55gdceevp36fvdmrkxqvzfhy8ak2tgc5zgtjtra9xlaz97zkcyvqqprsqqvqqqqqqqqqqqqqq9gy3x4n6rv6rcn53ldev96aurls3c66kpx74wa4uwcwu92jgktpqe8ncqpzj8jg6sunygzm320cdutnvgsrc6xv286evhrxefsxxuz0ssqwtm6dq', + ); + + // no amount + const rez4 = DeeplinkSchemaMatch.isBothBitcoinAndLightning( + `bitcoin:bc1q8flg3jcnv6x6mpjrqty8h8h9mg0shgp5jc9smk?lightning=lnbc1p3wkfy3dqqpp5030v53xsdhsgjkzelyle7ektmem38974498vnqdt2jaz24trw39qsp502jqj4k6nr7axqymhkf3ax70jxfx6jza4jygvc66njzhfs4tsa2q9qrsgqcqpcxqy8ayqrzjqv06k0m23t593pngl0jt7n9wznp64fqngvctz7vts8nq4tukvtljqz2zhyqqxqgqqsqqqqqqqqqqqqqq9grzjqtsjy9p55gdceevp36fvdmrkxqvzfhy8ak2tgc5zgtjtra9xlaz97zkcyvqqprsqqvqqqqqqqqqqqqqq9gy3x4n6rv6rcn53ldev96aurls3c66kpx74wa4uwcwu92jgktpqe8ncqpzj8jg6sunygzm320cdutnvgsrc6xv286evhrxefsxxuz0ssqwtm6dq`, + ); + assert.strictEqual(rez4.bitcoin, 'bitcoin:bc1q8flg3jcnv6x6mpjrqty8h8h9mg0shgp5jc9smk?'); + assert.strictEqual( + rez4.lndInvoice, + 'lightning:lnbc1p3wkfy3dqqpp5030v53xsdhsgjkzelyle7ektmem38974498vnqdt2jaz24trw39qsp502jqj4k6nr7axqymhkf3ax70jxfx6jza4jygvc66njzhfs4tsa2q9qrsgqcqpcxqy8ayqrzjqv06k0m23t593pngl0jt7n9wznp64fqngvctz7vts8nq4tukvtljqz2zhyqqxqgqqsqqqqqqqqqqqqqq9grzjqtsjy9p55gdceevp36fvdmrkxqvzfhy8ak2tgc5zgtjtra9xlaz97zkcyvqqprsqqvqqqqqqqqqqqqqq9gy3x4n6rv6rcn53ldev96aurls3c66kpx74wa4uwcwu92jgktpqe8ncqpzj8jg6sunygzm320cdutnvgsrc6xv286evhrxefsxxuz0ssqwtm6dq', + ); }); it('isLnurl', () => { diff --git a/tests/unit/fixtures/nunchuck-bsms.txt b/tests/unit/fixtures/nunchuck-bsms.txt new file mode 100644 index 000000000..ef3ab9ddb --- /dev/null +++ b/tests/unit/fixtures/nunchuck-bsms.txt @@ -0,0 +1,4 @@ +BSMS 1.0 +wsh(sortedmulti(2,[3f5e4e09/48'/0'/0']xpub6BtEVX9WezWA2EYa8Wf1rJTokXpF96Rmqr4JKoR3SbjGw1vCa3Qb91mKN1AqJnBzSpqy44tEMB27Khne6KBmNzurXigfis7F28X5dRLWGoY/**,[b96bc7c7/48'/0'/0']xpub6CzCTuwFmAcBoxsfPLgiKfkJ2W3GbW1zxFKvCamZQ1J2XMobJR1gMNqP64pcFsy65ST4WcZtrCn99WXgLcWM6bqw6iFneAPTgJuLHggHD5S/**,[44437f41/48'/0'/0']xpub6Cn4cYgRhXKnvNjE4ULP2mzWHFw4WtCyp1nBuE97SyZVTPwq5xWkKsTVe9c16XSTr6V9AKMDgizav7z69j4AREaMKoFzUDbdcZhVq5xaKMU/**)) +/0/*,/1/* +bc1qjppd555998lvpgdew30kdrvu2qg90n5gg684khrc2u5g7kj8cnuqujvz3p \ No newline at end of file diff --git a/tests/unit/legacy-wallet.test.js b/tests/unit/legacy-wallet.test.js index 81a0dffe1..389fc7fc5 100644 --- a/tests/unit/legacy-wallet.test.js +++ b/tests/unit/legacy-wallet.test.js @@ -5,12 +5,6 @@ const ECPair = ECPairFactory(ecc); const bitcoin = require('bitcoinjs-lib'); const assert = require('assert'); -const consoleWarnOrig = console.warn; -console.warn = function () { - if (arguments[0].startsWith('WARNING: Sending to a future segwit version address can lead to loss of funds')) return; - return consoleWarnOrig.apply(arguments); -}; - describe('Legacy wallet', () => { it('can validate addresses', () => { const w = new LegacyWallet(); diff --git a/tests/unit/multisig-hd-wallet.test.js b/tests/unit/multisig-hd-wallet.test.js index 38c01299f..4fda13b9b 100644 --- a/tests/unit/multisig-hd-wallet.test.js +++ b/tests/unit/multisig-hd-wallet.test.js @@ -2146,6 +2146,24 @@ describe('multisig-cosigner', () => { } }); + it('can parse files from Nunchuck', () => { + const secrets = [[require('fs').readFileSync('./tests/unit/fixtures/nunchuck-bsms.txt', 'ascii'), true]]; + + for (const [s, verifyFingerprints] of secrets) { + const w = new MultisigHDWallet(); + w.setSecret(s); + + if (verifyFingerprints) { + assert.strictEqual(w.getFingerprint(1), '3F5E4E09'); + assert.strictEqual(w.getFingerprint(2), 'B96BC7C7'); + assert.strictEqual(w.getFingerprint(3), '44437F41'); + } + + assert.ok(w.isNativeSegwit()); + assert.strictEqual(w._getExternalAddressByIndex(0), 'bc1qjppd555998lvpgdew30kdrvu2qg90n5gg684khrc2u5g7kj8cnuqujvz3p'); + } + }); + it('can export to json', () => { const result = MultisigCosigner.exportToJson(fp1cobo, Zpub1, "m/48'/0'/0'/2'"); assert.strictEqual(