Files
bitcoin/src/wallet
merge-script 0a1bbec688 Merge bitcoin/bitcoin#32489: wallet: Add exportwatchonlywallet RPC to export a watchonly version of a wallet
a15bdc0598 doc: update offline-signing-tutorial to use exportwatchonlywallet rpc (Pol Espinasa)
a388076401 test: Test for exportwatchonlywallet (Ava Chow)
d053e3e5c8 wallet, rpc: Add exportwatchonlywallet RPC (Ava Chow)
444878efef wallet: Add CWallet::ExportWatchOnly (Ava Chow)
f9273f01db wallet: Move listdescriptors retrieving from RPC to CWallet (Ava Chow)
a1c83789a7 wallet: Write new descriptor's cache in AddWalletDescriptor (Ava Chow)
1e996640e6 wallet: Use Descriptor::CanSelfExpand() in CanGetAddresses() (Ava Chow)
d2ee9227da descriptor: Add CanSelfExpand() (Ava Chow)

Pull request description:

  Currently, if a user wants to use an airgapped setup, they need to manually create the watchonly wallet that will live on the online node by importing the public descriptors. This PR introduces `exportwatchonlywallet` which will create a wallet file with the public descriptors to avoid exposing the specific internals to the user. Additionally, this RPC will copy any existing labels, transactions, and wallet flags. This ensures that the exported watchonly wallet is almost entirely a copy of the original wallet but without private keys.

ACKs for top commit:
  polespinasa:
    lgtm ACK a15bdc0598
  Sjors:
    re-utACK a15bdc0598
  pablomartin4btc:
    re-ACK [a15bdc0](a15bdc0598)
  w0xlt:
    lgtm reACK a15bdc0598

Tree-SHA512: cfc59415ad9aa13d1445cf2a85db1c051215496b6edcf5a8db463499b2b51b92ee7bf840b709035dff7635f9d0c533423bceb58c851f220500e1ea254d12f3b8
2026-07-03 10:58:52 +01:00
..
2026-07-02 13:04:33 -07:00
2026-07-02 14:49:37 -07:00
2026-06-11 21:32:46 +02:00
2026-06-03 21:40:48 +02:00
2026-06-03 21:40:48 +02:00