diff --git a/.github/workflows/build-release-testflight-ipa.yml b/.github/workflows/build-release-testflight-ipa.yml index 4013e45b0..6abbb81f0 100644 --- a/.github/workflows/build-release-testflight-ipa.yml +++ b/.github/workflows/build-release-testflight-ipa.yml @@ -13,6 +13,10 @@ jobs: build: runs-on: macos-latest timeout-minutes: 180 + outputs: + new_build_number: ${{ steps.generate_build_number.outputs.build_number }} + project_version: ${{ steps.determine_marketing_version.outputs.project_version }} + latest_commit_message: ${{ steps.get_latest_commit_message.outputs.commit_message }} env: APPLE_ID: ${{ secrets.APPLE_ID }} # Setting the environment variable steps: @@ -54,6 +58,13 @@ jobs: - name: Display release-notes.txt run: cat release-notes.txt + - name: Get Latest Commit Message + id: get_latest_commit_message + run: | + LATEST_COMMIT_MESSAGE=$(git log -1 --pretty=format:"%s") + echo "LATEST_COMMIT_MESSAGE=${LATEST_COMMIT_MESSAGE}" >> $GITHUB_ENV + echo "::set-output name=commit_message::$LATEST_COMMIT_MESSAGE" + - name: Set up Git Authentication env: ACCESS_TOKEN: ${{ secrets.GIT_ACCESS_TOKEN }} @@ -79,45 +90,79 @@ jobs: working-directory: ./ios - name: Generate Build Number based on timestamp - run: echo "NEW_BUILD_NUMBER=$(date +%s)" >> $GITHUB_ENV + id: generate_build_number + run: | + NEW_BUILD_NUMBER=$(date +%s) + echo "NEW_BUILD_NUMBER=$NEW_BUILD_NUMBER" >> $GITHUB_ENV + echo "::set-output name=build_number::$NEW_BUILD_NUMBER" - name: Set Build Number - env: - NEW_BUILD_NUMBER: ${{ env.NEW_BUILD_NUMBER }} run: bundle exec fastlane ios increment_build_number_lane working-directory: ./ios - name: Determine Marketing Version + id: determine_marketing_version run: | MARKETING_VERSION=$(grep MARKETING_VERSION ios/BlueWallet.xcodeproj/project.pbxproj | awk -F '= ' '{print $2}' | tr -d ' ;' | head -1) echo "PROJECT_VERSION=$MARKETING_VERSION" >> $GITHUB_ENV echo "::set-output name=project_version::$MARKETING_VERSION" + - name: Expected IPA file name run: | - echo "IPA file name: BlueWallet.${{ env.PROJECT_VERSION }}(${{ env.NEW_BUILD_NUMBER }}).ipa" + echo "IPA file name: BlueWallet.${{env.PROJECT_VERSION}}(${{env.NEW_BUILD_NUMBER}}).ipa" - name: Install CocoaPods Dependencies run: bundle exec fastlane ios install_pods working-directory: ./ios - name: Build App - env: - NEW_BUILD_NUMBER: ${{ env.NEW_BUILD_NUMBER }} run: bundle exec fastlane ios build_app_lane working-directory: ./ios - - name: Get Latest Commit Message + - name: Upload IPA as Artifact + uses: actions/upload-artifact@v2 + with: + name: BlueWallet.${{env.PROJECT_VERSION}}(${{env.NEW_BUILD_NUMBER}}).ipa + path: ./ios/build/BlueWallet.${{env.PROJECT_VERSION}}(${{ env.NEW_BUILD_NUMBER }}).ipa + + + testflight-upload: + needs: build + runs-on: macos-latest + env: + APPLE_ID: ${{ secrets.APPLE_ID }} + NEW_BUILD_NUMBER: ${{ needs.build.outputs.new_build_number }} + PROJECT_VERSION: ${{ needs.build.outputs.project_version }} + LATEST_COMMIT_MESSAGE: ${{ needs.build.outputs.latest_commit_message }} + steps: + - name: Checkout project + uses: actions/checkout@v3 + + - name: Cache Ruby Gems + uses: actions/cache@v2 + with: + path: vendor/bundle + key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-gems- + + - name: Install dependencies with Bundler run: | - LATEST_COMMIT_MESSAGE=$(git log -1 --pretty=format:"%s") - echo "LATEST_COMMIT_MESSAGE=${LATEST_COMMIT_MESSAGE}" >> $GITHUB_ENV + bundle config path vendor/bundle + bundle install --jobs 4 --retry 3 + + - name: Download IPA from Artifact + uses: actions/download-artifact@v2 + with: + name: BlueWallet.${{needs.build.outputs.project_version}}(${{needs.build.outputs.new_build_number}}).ipa + path: ./ios/build - name: Create App Store Connect API Key JSON run: echo '${{ secrets.APP_STORE_CONNECT_API_KEY_CONTENT }}' > ./ios/appstore_api_key.json - name: Upload to TestFlight env: - LATEST_COMMIT_MESSAGE: ${{ env.LATEST_COMMIT_MESSAGE }} APP_STORE_CONNECT_API_KEY_PATH: $(pwd)/ios/appstore_api_key.p8 MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.GIT_ACCESS_TOKEN }} @@ -127,13 +172,5 @@ jobs: APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }} APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }} KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} - NEW_BUILD_NUMBER: ${{ env.NEW_BUILD_NUMBER }} - PROJECT_VERSION: ${{ env.PROJECT_VERSION }} run: bundle exec fastlane ios upload_to_testflight_lane working-directory: ./ios - - - name: Upload IPA as Artifact - uses: actions/upload-artifact@v2 - with: - name: BlueWallet.${{ env.PROJECT_VERSION}}(${{ env.NEW_BUILD_NUMBER }}).ipa - path: ./ios/build/BlueWallet.${{env.PROJECT_VERSION}}(${{ env.NEW_BUILD_NUMBER }}).ipa \ No newline at end of file diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 5bdf93e39..8e9116004 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,10 @@ + xmlns:tools="http://schemas.android.com/tools" + android:installLocation="auto"> + + @@ -79,26 +84,23 @@ - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/loc/es_419.json b/loc/es_419.json index 95af15cc0..4d1ca8ba8 100644 --- a/loc/es_419.json +++ b/loc/es_419.json @@ -64,6 +64,7 @@ "node_alias": "Alias del nodo", "expiresIn": "Expira en {time} minutos", "payButton": "Pagar", + "payment": "Pago", "placeholder": "Factura o dirección", "open_channel": "Abrir canal", "funding_amount_placeholder": "Importe de la financiación, por ejemplo 0,001", diff --git a/loc/fa.json b/loc/fa.json index e39fd6701..bf1f14fe5 100644 --- a/loc/fa.json +++ b/loc/fa.json @@ -64,6 +64,7 @@ "node_alias": "نام مستعار گره", "expiresIn": "تا {time} دقیقهٔ دیگر منقضی می‌شود", "payButton": "پرداخت", + "payment": "پرداخت", "placeholder": "صورت‌حساب یا آدرس", "open_channel": "بازکردن کانال", "funding_amount_placeholder": "مقدار تأمین وجه، برای مثال، ۰٫۰۰۱", @@ -198,7 +199,7 @@ "permission_storage_denied_message": "برنامهٔ BlueWallet قادر به ذخیرهٔ این فایل نیست. لطفاً تنظیمات دستگاه خود را باز کرده و «اجازهٔ ذخیره‌سازی» (Storage Permission) را فعال کنید.", "permission_storage_title": "مجوز دسترسی به فضای ذخیره‌سازی", "psbt_clipboard": "کپی به کلیپ‌بورد", - "psbt_this_is_psbt": "این یک تراکنش بیت‌کوین ناقص‌امضاشده (Partially Signed Bitcoin Transaction) است. لطفاً برای اتمام آن را در کیف پول سخت‌افزاری خود امضا کنید.", + "psbt_this_is_psbt": "این یک تراکنش بیت‌کوین ناقص امضاشده (Partially Signed Bitcoin Transaction) است. لطفاً برای اتمام آن را در کیف پول سخت‌افزاری خود امضا کنید.", "psbt_tx_export": "صادرکردن به فایل", "no_tx_signing_in_progress": "هیچ امضای تراکنشی درحال‌انجام نیست.", "outdated_rate": "آخرین به‌روزرسانی نرخ: {date}", @@ -550,6 +551,12 @@ "no_wallet_owns_address": "آدرس ارائه‌شده متعلق به هیچ‌کدام از کیف پول‌های موجود نیست.", "view_qrcode": "مشاهدهٔ کد QR" }, + "autofill_word": { + "title": "تولید کلمهٔ یادیار (mnemonic) آخر", + "enter": "عبارت یادیار (mnemonic phrase) ناقص را وارد کنید", + "generate_word": "تولید کلمهٔ آخر", + "error": "متن واردشده یک عبارت یادیار (mnemonic phrase) ناقص ۱۱ یا ۲۳ کلمه‌ای نیست!" + }, "cc": { "change": "باقی‌مانده (change)", "coins_selected": "کوین‌های انتخاب‌شده ({number})", diff --git a/loc/jp_jp.json b/loc/jp_jp.json index 58958cfd3..30c0e7d54 100644 --- a/loc/jp_jp.json +++ b/loc/jp_jp.json @@ -64,6 +64,7 @@ "node_alias": "ノードエイリアス", "expiresIn": "失効まで{time}分", "payButton": "支払う", + "payment": "支払い", "placeholder": "インボイスまたはアドレス", "open_channel": "チャネルを開く", "funding_amount_placeholder": "デポジット額(例:0.001)", @@ -304,7 +305,7 @@ "privacy_read_clipboard": "クリップボードを読む", "privacy_system_settings": "システム設定", "privacy_quickactions": "ウォレットショートカット", - "privacy_quickactions_explanation": "ホーム画面でBlueWalletアプリのアイコンをタッチして長押しすると、ウォレットの残高を素早く確認することができます。", + "privacy_quickactions_explanation": "BlueWalletアプリのアイコンをタッチして長押しすると、ウォレットの残高を素早く確認することができます。", "privacy_clipboard_explanation": "アドレスやインボイスがクリップボードにあった場合、ショートカットを提供する。", "privacy_do_not_track": "分析を無効にする", "privacy_do_not_track_explanation": "パフォーマンスと信頼性の情報を分析のために送信しません。", @@ -550,6 +551,12 @@ "no_wallet_owns_address": "利用可能なウォレットの中にそのアドレスを持つものはありません。", "view_qrcode": "QRコードを見る" }, + "autofill_word": { + "title": "ニーモニックの最後のワードを生成", + "enter": "部分的なニーモニックフレーズを入力", + "generate_word": "最後のワードを生成", + "error": "入力されたのは11または23語の部分的なニーモニックではありません!" + }, "cc": { "change": "チェンジ", "coins_selected": "選択済コイン ({number})", diff --git a/loc/sv_se.json b/loc/sv_se.json index ceb3c97c2..a2dea37b9 100644 --- a/loc/sv_se.json +++ b/loc/sv_se.json @@ -64,6 +64,7 @@ "node_alias": "Node alias", "expiresIn": "Går ut om {time} minuter", "payButton": "Betala", + "payment": "Betalning", "placeholder": "Faktura eller adress", "open_channel": "Öppna kanal", "funding_amount_placeholder": "Sätt in summa, tex 0.001", @@ -304,7 +305,7 @@ "privacy_read_clipboard": "Läs Urklipp", "privacy_system_settings": "Systeminställningar", "privacy_quickactions": "Plånboksgenvägar", - "privacy_quickactions_explanation": "Tryck och håll in BlueWallet-appikonen på startskärmen för att snabbt se saldot i din plånbok.", + "privacy_quickactions_explanation": "Tryck och håll in BlueWallet-appikonen för att snabbt se saldot i din plånbok.", "privacy_clipboard_explanation": "Ange genvägar om en adress eller faktura hittas i ditt urklipp.", "privacy_do_not_track": "Inaktivera Analytics", "privacy_do_not_track_explanation": "Information om prestanda och tillförlitlighet kommer inte att skickas in för analys.", @@ -482,6 +483,8 @@ "header": "Skicka", "share": "dela", "view": "Granska", + "shared_key_detected": "Delade cosigner", + "shared_key_detected_question": "En cosigner delades med dig, vill du importera den?", "manage_keys": "Hantera nycklar", "how_many_signatures_can_bluewallet_make": "hur många signaturer kan BlueWallet göra", "signatures_required_to_spend": "Signaturer krävs {number}", @@ -548,6 +551,12 @@ "no_wallet_owns_address": "Ingen av de tillgängliga plånböckerna äger den angivna adressen.", "view_qrcode": "Visa QR-koden" }, + "autofill_word": { + "title": "Generera sista mnemoniska ord", + "enter": "Ange en delvis mnemonisk fras", + "generate_word": "Generera sista ordet", + "error": "Indata är inte en 11 eller 23 ords partiell mnemonic!" + }, "cc": { "change": "ändra", "coins_selected": "Valda mynt ({number})", diff --git a/package-lock.json b/package-lock.json index e5ff9daf7..8feed7dd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "@ngraveio/bc-ur": "1.1.6", "@noble/secp256k1": "1.6.3", "@react-native-async-storage/async-storage": "1.21.0", - "@react-native-clipboard/clipboard": "1.12.1", + "@react-native-clipboard/clipboard": "1.13.0", "@react-native-community/push-notification-ios": "1.11.0", "@react-navigation/drawer": "6.6.6", "@react-navigation/native": "6.1.9", @@ -65,7 +65,7 @@ "react-native-crypto": "2.2.0", "react-native-default-preference": "1.4.4", "react-native-device-info": "10.12.0", - "react-native-document-picker": "https://github.com/BlueWallet/react-native-document-picker#b21978d601a9e780e3d563447577f2d5dedb3c9a", + "react-native-document-picker": "https://github.com/BlueWallet/react-native-document-picker#0be5a70c3b456e35c2454aaf4dc8c2d40eb2ab47", "react-native-draggable-flatlist": "github:BlueWallet/react-native-draggable-flatlist#ebfddc4", "react-native-elements": "3.4.3", "react-native-fingerprint-scanner": "https://github.com/BlueWallet/react-native-fingerprint-scanner#ce644673681716335d786727bab998f7e632ab5e", @@ -91,8 +91,8 @@ "react-native-randombytes": "3.6.1", "react-native-rate": "1.2.12", "react-native-reanimated": "3.6.1", - "react-native-safe-area-context": "4.8.0", - "react-native-screens": "3.27.0", + "react-native-safe-area-context": "4.8.1", + "react-native-screens": "3.29.0", "react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#2076b48", "react-native-share": "10.0.2", "react-native-svg": "13.14.0", @@ -103,7 +103,7 @@ "react-native-webview": "13.6.3", "react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38", "readable-stream": "3.6.2", - "realm": "12.3.1", + "realm": "12.4.0", "rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4", "rn-nodeify": "10.3.0", "scryptsy": "2.1.0", @@ -3994,9 +3994,9 @@ } }, "node_modules/@react-native-clipboard/clipboard": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.12.1.tgz", - "integrity": "sha512-+PNk8kflpGte0W1Nz61/Dp8gHTxyuRjkVyRYBawymSIGTDHCC/zOJSbig6kGIkD8MeaGHC2vGYQJyUyCrgVPBQ==", + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.13.0.tgz", + "integrity": "sha512-SKImS8uTnOKQVFyoCoSmgpMQtdy+oQzwhRmpQL38Ecf3MqsBxyjWTUf5PFPryB40BXShpDuRx4fP+v4yidvNsg==", "peerDependencies": { "react": ">=16.0", "react-native": ">=0.57.0" @@ -18227,9 +18227,9 @@ } }, "node_modules/react-native-document-picker": { - "version": "9.0.1", - "resolved": "git+ssh://git@github.com/BlueWallet/react-native-document-picker.git#b21978d601a9e780e3d563447577f2d5dedb3c9a", - "integrity": "sha512-l2c2xChwsdjzZIV9QJc85buC3vXkM5ZuY4943yMDj3TiszJp1spmHNaRMZKYIh3yVwdD2jENm0DBU5AWa+jhLg==", + "version": "9.1.0", + "resolved": "git+ssh://git@github.com/BlueWallet/react-native-document-picker.git#0be5a70c3b456e35c2454aaf4dc8c2d40eb2ab47", + "integrity": "sha512-vZBCfM5XjxqnypU6tnCyxsI57Q3LaKPSyjk7r2TdQ4C4yiTObzHDPrTV1dM1wrz2iSFq5gCYOC5I38FJgCt1qw==", "license": "MIT", "dependencies": { "invariant": "^2.2.4" @@ -18543,9 +18543,9 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/react-native-safe-area-context": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.8.0.tgz", - "integrity": "sha512-UTmn0jvikcA8LeCQuEV4/bQ1ZLODSaaEXKSK3wUskNwmtIgHFzT3lLXOBucFnyDYIxviJSWJeVc77eeBXc0UCA==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.8.1.tgz", + "integrity": "sha512-gYoZyxKuWHfxXHTFGpkFKgfRHDAqTs+I/NZsiXdllMmIfOme25MGPHVmuHrA0Jq4rg189x/JiscFCv2IvDCC6A==", "peerDependencies": { "react": "*", "react-native": "*" @@ -18566,9 +18566,9 @@ "integrity": "sha512-cSfRWjXJtZQeRuZGVvDrJroCR5V2UvBNUMHsPCdNYzuAG8b9V8aAy3KUcdQrGQPXs17Y+ojbPh1aOCplg9YR9g==" }, "node_modules/react-native-screens": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.27.0.tgz", - "integrity": "sha512-FzSUygZ7yLQyhDJZsl7wU68LwRpVtVdqOPWribmEU3Tf26FohFGGcfJx1D8lf2V2Teb8tI+IaLnXCKbyh2xffA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", + "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", "dependencies": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" @@ -18927,9 +18927,9 @@ "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" }, "node_modules/realm": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/realm/-/realm-12.3.1.tgz", - "integrity": "sha512-SZOpIf5O9aJ8jwSmeDv9OFYRaTuIlH2EpsXLkONgehJ7KZNArsRUrK21p+YSKPovQHsGN7yAUW3e/kssq8T2XA==", + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/realm/-/realm-12.4.0.tgz", + "integrity": "sha512-YdElmGA24DRU1FHBzw9KIyWIHXSjwHCO65GeGWjGiqO0Pth10hkgkYrBDKnfgR/OLwfX4zHsgsz3/3HxHi4dQQ==", "hasInstallScript": true, "dependencies": { "bson": "^4.7.2", @@ -23752,9 +23752,9 @@ } }, "@react-native-clipboard/clipboard": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.12.1.tgz", - "integrity": "sha512-+PNk8kflpGte0W1Nz61/Dp8gHTxyuRjkVyRYBawymSIGTDHCC/zOJSbig6kGIkD8MeaGHC2vGYQJyUyCrgVPBQ==" + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/@react-native-clipboard/clipboard/-/clipboard-1.13.0.tgz", + "integrity": "sha512-SKImS8uTnOKQVFyoCoSmgpMQtdy+oQzwhRmpQL38Ecf3MqsBxyjWTUf5PFPryB40BXShpDuRx4fP+v4yidvNsg==" }, "@react-native-community/cli": { "version": "10.2.4", @@ -34334,9 +34334,9 @@ "integrity": "sha512-gnBkjyZNEqRd+5BNrdzuvmlraHTCH/to2x0Gp9rtDt0O9xWWW1MTYohUVWX9A0Ad2HVYcGanDCIvjWp4ngMZFg==" }, "react-native-document-picker": { - "version": "git+ssh://git@github.com/BlueWallet/react-native-document-picker.git#b21978d601a9e780e3d563447577f2d5dedb3c9a", - "integrity": "sha512-l2c2xChwsdjzZIV9QJc85buC3vXkM5ZuY4943yMDj3TiszJp1spmHNaRMZKYIh3yVwdD2jENm0DBU5AWa+jhLg==", - "from": "react-native-document-picker@https://github.com/BlueWallet/react-native-document-picker#b21978d601a9e780e3d563447577f2d5dedb3c9a", + "version": "git+ssh://git@github.com/BlueWallet/react-native-document-picker.git#0be5a70c3b456e35c2454aaf4dc8c2d40eb2ab47", + "integrity": "sha512-vZBCfM5XjxqnypU6tnCyxsI57Q3LaKPSyjk7r2TdQ4C4yiTObzHDPrTV1dM1wrz2iSFq5gCYOC5I38FJgCt1qw==", + "from": "react-native-document-picker@https://github.com/BlueWallet/react-native-document-picker#0be5a70c3b456e35c2454aaf4dc8c2d40eb2ab47", "requires": { "invariant": "^2.2.4" } @@ -34534,9 +34534,9 @@ } }, "react-native-safe-area-context": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.8.0.tgz", - "integrity": "sha512-UTmn0jvikcA8LeCQuEV4/bQ1ZLODSaaEXKSK3wUskNwmtIgHFzT3lLXOBucFnyDYIxviJSWJeVc77eeBXc0UCA==" + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/react-native-safe-area-context/-/react-native-safe-area-context-4.8.1.tgz", + "integrity": "sha512-gYoZyxKuWHfxXHTFGpkFKgfRHDAqTs+I/NZsiXdllMmIfOme25MGPHVmuHrA0Jq4rg189x/JiscFCv2IvDCC6A==" }, "react-native-safe-modules": { "version": "1.0.3", @@ -34552,9 +34552,9 @@ } }, "react-native-screens": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.27.0.tgz", - "integrity": "sha512-FzSUygZ7yLQyhDJZsl7wU68LwRpVtVdqOPWribmEU3Tf26FohFGGcfJx1D8lf2V2Teb8tI+IaLnXCKbyh2xffA==", + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/react-native-screens/-/react-native-screens-3.29.0.tgz", + "integrity": "sha512-yB1GoAMamFAcYf4ku94uBPn0/ani9QG7NdI98beJ5cet2YFESYYzuEIuU+kt+CNRcO8qqKeugxlfgAa3HyTqlg==", "requires": { "react-freeze": "^1.0.0", "warn-once": "^0.1.0" @@ -34720,9 +34720,9 @@ "integrity": "sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==" }, "realm": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/realm/-/realm-12.3.1.tgz", - "integrity": "sha512-SZOpIf5O9aJ8jwSmeDv9OFYRaTuIlH2EpsXLkONgehJ7KZNArsRUrK21p+YSKPovQHsGN7yAUW3e/kssq8T2XA==", + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/realm/-/realm-12.4.0.tgz", + "integrity": "sha512-YdElmGA24DRU1FHBzw9KIyWIHXSjwHCO65GeGWjGiqO0Pth10hkgkYrBDKnfgR/OLwfX4zHsgsz3/3HxHi4dQQ==", "requires": { "bson": "^4.7.2", "debug": "^4.3.4", diff --git a/package.json b/package.json index b61e0bbac..ae7be2da9 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "@ngraveio/bc-ur": "1.1.6", "@noble/secp256k1": "1.6.3", "@react-native-async-storage/async-storage": "1.21.0", - "@react-native-clipboard/clipboard": "1.12.1", + "@react-native-clipboard/clipboard": "1.13.0", "@react-native-community/push-notification-ios": "1.11.0", "@react-navigation/drawer": "6.6.6", "@react-navigation/native": "6.1.9", @@ -149,7 +149,7 @@ "react-native-crypto": "2.2.0", "react-native-default-preference": "1.4.4", "react-native-device-info": "10.12.0", - "react-native-document-picker": "https://github.com/BlueWallet/react-native-document-picker#b21978d601a9e780e3d563447577f2d5dedb3c9a", + "react-native-document-picker": "https://github.com/BlueWallet/react-native-document-picker#0be5a70c3b456e35c2454aaf4dc8c2d40eb2ab47", "react-native-draggable-flatlist": "github:BlueWallet/react-native-draggable-flatlist#ebfddc4", "react-native-elements": "3.4.3", "react-native-fingerprint-scanner": "https://github.com/BlueWallet/react-native-fingerprint-scanner#ce644673681716335d786727bab998f7e632ab5e", @@ -175,8 +175,8 @@ "react-native-randombytes": "3.6.1", "react-native-rate": "1.2.12", "react-native-reanimated": "3.6.1", - "react-native-safe-area-context": "4.8.0", - "react-native-screens": "3.27.0", + "react-native-safe-area-context": "4.8.1", + "react-native-screens": "3.29.0", "react-native-secure-key-store": "https://github.com/BlueWallet/react-native-secure-key-store#2076b48", "react-native-share": "10.0.2", "react-native-svg": "13.14.0", @@ -187,7 +187,7 @@ "react-native-webview": "13.6.3", "react-native-widget-center": "https://github.com/BlueWallet/react-native-widget-center#a128c38", "readable-stream": "3.6.2", - "realm": "12.3.1", + "realm": "12.4.0", "rn-ldk": "github:BlueWallet/rn-ldk#v0.8.4", "rn-nodeify": "10.3.0", "scryptsy": "2.1.0", diff --git a/screen/send/psbtMultisigQRCode.js b/screen/send/psbtMultisigQRCode.js index a8da4695f..bc5ccbf39 100644 --- a/screen/send/psbtMultisigQRCode.js +++ b/screen/send/psbtMultisigQRCode.js @@ -58,7 +58,7 @@ const PsbtMultisigQRCode = () => { alert(loc.wallets.import_error); } else { // psbt base64? - navigate('PsbtMultisig', { receivedPSBTBase64: ret.data }); + navigate({ name: 'PsbtMultisig', params: { receivedPSBTBase64: ret.data }, merge: true }); } }; diff --git a/screen/send/psbtWithHardwareWallet.js b/screen/send/psbtWithHardwareWallet.js index 27d809eaa..3b9b4ded0 100644 --- a/screen/send/psbtWithHardwareWallet.js +++ b/screen/send/psbtWithHardwareWallet.js @@ -77,7 +77,7 @@ const PsbtWithHardwareWallet = () => { if (launchedBy) { // we must navigate back to the screen who requested psbt (instead of broadcasting it ourselves) // most likely for LN channel opening - navigation.navigate(launchedBy, { psbt }); + navigation.navigate({ name: launchedBy, params: { psbt }, merge: true }); // ^^^ we just use `psbt` variable sinse it was finalized in the above _combinePSBT() // (passed by reference) } diff --git a/screen/wallets/details.js b/screen/wallets/details.js index ed76aa9d6..7fb6cc510 100644 --- a/screen/wallets/details.js +++ b/screen/wallets/details.js @@ -704,6 +704,8 @@ const WalletDetails = () => { {`${loc.wallets.details_delete}${' '}`} + + diff --git a/screen/wallets/importCustomDerivationPath.js b/screen/wallets/importCustomDerivationPath.js index ce36c3b5a..1a0e9ab20 100644 --- a/screen/wallets/importCustomDerivationPath.js +++ b/screen/wallets/importCustomDerivationPath.js @@ -163,6 +163,7 @@ const styles = StyleSheet.create({ center: { marginHorizontal: 16, alignItems: 'center', + top: -100, }, buttonContainer: { height: 45,