Menu action to export a watchonly wallet #872

pull achow101 wants to merge 9 commits into bitcoin-core:master from achow101:export-watchonly-wallet-gui changing 16 files +636 −100
  1. achow101 commented at 11:31 PM on May 13, 2025: member

    Allows a user to export a watchonly version of their wallet to be used in an airgapped setup.

    Built on https://github.com/bitcoin/bitcoin/pull/32489

  2. DrahtBot commented at 11:31 PM on May 13, 2025: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  3. DrahtBot added the label CI failed on May 14, 2025
  4. DrahtBot added the label Needs rebase on May 16, 2025
  5. achow101 force-pushed on May 16, 2025
  6. DrahtBot removed the label Needs rebase on May 16, 2025
  7. DrahtBot removed the label CI failed on May 17, 2025
  8. DrahtBot added the label Needs rebase on May 19, 2025
  9. achow101 force-pushed on May 20, 2025
  10. DrahtBot removed the label Needs rebase on May 20, 2025
  11. hebasto renamed this:
    gui: Menu action to export a watchonly wallet
    Menu action to export a watchonly wallet
    on May 20, 2025
  12. DrahtBot added the label Needs rebase on May 21, 2025
  13. achow101 force-pushed on May 21, 2025
  14. DrahtBot removed the label Needs rebase on May 21, 2025
  15. DrahtBot added the label CI failed on May 21, 2025
  16. achow101 force-pushed on Jun 2, 2025
  17. DrahtBot removed the label CI failed on Jun 2, 2025
  18. achow101 force-pushed on Jun 4, 2025
  19. DrahtBot added the label Needs rebase on Jul 1, 2025
  20. achow101 force-pushed on Sep 11, 2025
  21. DrahtBot removed the label Needs rebase on Sep 11, 2025
  22. DrahtBot added the label Needs rebase on Dec 17, 2025
  23. descriptor: Add CanSelfExpand()
    CanSelfExpand() reports whether a descriptor can be expanded without
    needing any caches or private keys to be provided by the caller of
    Expand().
    2f496d038e
  24. wallet: Use Descriptor::CanSelfExpand() in CanGetAddresses()
    If a descriptor does not need any caches or private keys in order to
    expand, then CanGetAddresses() should return true for that descriptor.
    056a35feb0
  25. wallet: Write new descriptor's cache in AddWalletDescriptor
    If a new WalletDescriptor is provided to us with a cache, write the
    cache to disk as well.
    b3ba2420e5
  26. wallet: Move listdescriptors retrieving from RPC to CWallet
    When listdescriptors retrieves the descriptors from the wallet, instead
    of having this logic in the RPC, move it into CWallet itself. This
    will enable other functions to get the descriptors in an exportable
    form.
    e01da1cee2
  27. wallet: Add CWallet::ExportWatchOnly
    ExportWatchOnly produces a watchonly wallet file from a CWallet. This
    can be restored onto another instance of Bitcoin Core to allow that
    instance to watch the same descriptors, and also have all of the same
    initial address book and transactions.
    f41cbe8f4e
  28. wallet, rpc: Add exportwatchonlywallet RPC 86e2b1ae3c
  29. test: Test for exportwatchonlywallet 764d0218dd
  30. doc: update offline-signing-tutorial to use exportwatchonlywallet rpc fc85c444e8
  31. achow101 force-pushed on Apr 28, 2026
  32. DrahtBot removed the label Needs rebase on Apr 28, 2026
  33. DrahtBot added the label CI failed on Apr 28, 2026
  34. DrahtBot commented at 8:12 PM on April 28, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task tidy: https://github.com/bitcoin-core/gui/actions/runs/25068575825/job/73442374300</sub> <sub>LLM reason (✨ experimental): CI failed because clang-tidy reported an bugprone-unused-return-value warning in qt/bitcoingui.cpp (neglecting a returned value), which was treated as an error.</sub>

    <details><summary>Hints</summary>

    Try to run the tests locally, according to the documentation. However, a CI failure may still happen due to a number of reasons, for example:

    • Possibly due to a silent merge conflict (the changes in this pull request being incompatible with the current code in the target branch). If so, make sure to rebase on the latest commit of the target branch.

    • A sanitizer issue, which can only be found by compiling with the sanitizer and running the affected test.

    • An intermittent issue.

    Leave a comment here, if you need help tracking down a confusing failure.

    </details>

  35. gui: Menu action for exporting a watchonly wallet 66824c5a10
  36. achow101 force-pushed on Apr 29, 2026
  37. DrahtBot removed the label CI failed on Apr 29, 2026
  38. DrahtBot added the label Needs rebase on May 14, 2026
  39. DrahtBot commented at 10:47 AM on May 14, 2026: contributor

    <!--cf906140f33d8803c4a75a2196329ecb-->

    🐙 This pull request conflicts with the target branch and needs rebase.

Contributors

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/gui. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-18 05:20 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me