-
Notifications
You must be signed in to change notification settings - Fork 299
Menu action to export a watchonly wallet #872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Menu action to export a watchonly wallet #872
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ReviewsSee the guideline for information on the review process. ConflictsReviewers, 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. |
033db04
to
da9365f
Compare
da9365f
to
fe863d1
Compare
Instead of prividing the descriptor string as stored in the db, use the normalized descriptor as is done for getaddressinfo's parent_desc field.
CanSelfExpand() reports whether a descriptor can be expanded without needing any caches or private keys to be provided by the caller of Expand().
If a descriptor does not need any caches or private keys in order to expand, then CanGetAddresses() should return true for that descriptor.
New wallets always have these upgraded. As a belt-and-suspenders, do the upgrade as well, but it should not be necessary. Note that while WalletBatch::LoadWallet also does the upgrade, because newly created wallets do not have the descriptor flag set yet, the upgrade does not run and set the flag.
If a new WalletDescriptor is provided to us with a cache, write the cache to disk as well.
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.
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.
fe863d1
to
6b252fe
Compare
Allows a user to export a watchonly version of their wallet to be used in an airgapped setup.
Built on bitcoin/bitcoin#32489