Skip to content
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

wallet: Disable creating and loading legacy wallets #31250

Draft
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

achow101
Copy link
Member

@achow101 achow101 commented Nov 7, 2024

To prepare for the deletion of legacy wallet code, disable creating or loading new legacy wallets.

Tests for the legacy wallet specifically are deleted.

Depends on #31248 and #31241

Split from #28710

@DrahtBot
Copy link
Contributor

DrahtBot commented Nov 7, 2024

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

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31250.

Reviews

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

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #31609 (test: importdescriptors is not available for non-descriptor wallets by brunoerg)
  • #31519 (refactor: Use std::span over Span by maflcko)
  • #31451 (wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled by furszy)
  • #31423 (wallet: migration, don't create spendable wallet from a watch-only legacy wallet by furszy)
  • #31413 (rpc: Remove deprecated dummy alias for listtransactions::label by maflcko)
  • #31375 (multiprocess: Add bitcoin wrapper executable by ryanofsky)
  • #31353 (rpc, cli: add getbalances#total, and use it for -getinfo by jonatack)
  • #31278 (wallet, rpc: Settxfeerate by polespinasa)
  • #31241 (wallet: remove BDB dependency from wallet migration benchmark by furszy)
  • #30860 (test: autogenerate bash completion by BrandonOdiwuor)
  • #30844 (RPC: improve SFFO arg parsing, error catching and coverage by furszy)
  • #30221 (wallet: Ensure best block matches wallet scan state by achow101)
  • #30125 (test: improve BDB parser (handle internal/overflow pages, support all page sizes) by theStack)
  • #29694 (fuzz: wallet: add target for spkm migration by brunoerg)
  • #29156 (tests: add functional test for miniscript decaying multisig by mjdietzx)
  • #29124 (wallet: Automatically repair corrupted metadata with doubled derivation path by achow101)
  • #28944 (wallet, rpc: add anti-fee-sniping to send and sendall by ishaanam)
  • #28802 (ArgsManager: support subcommand-specific options by ajtowns)
  • #28710 (Remove the legacy wallet and BDB dependency by achow101)
  • #27865 (wallet: Track no-longer-spendable TXOs separately by achow101)
  • #27286 (wallet: Keep track of the wallet's own transaction outputs in memory by achow101)
  • #27052 (test: rpc: add last block announcement time to getpeerinfo result by LarryRuane)
  • #25722 (refactor: Use util::Result class for wallet loading by ryanofsky)
  • #19461 (multiprocess: Add bitcoin-gui -ipcconnect option by ryanofsky)
  • #19460 (multiprocess: Add bitcoin-wallet -ipcconnect option by ryanofsky)
  • #10102 (Multiprocess bitcoin by ryanofsky)

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.

@DrahtBot DrahtBot added the Wallet label Nov 7, 2024
@achow101 achow101 force-pushed the disable-legacy-wallets branch from 4fcb431 to 47ac41b Compare November 7, 2024 18:54
@achow101 achow101 force-pushed the disable-legacy-wallets branch from 47ac41b to 4f0e11b Compare November 12, 2024 15:49
furszy and others added 14 commits December 9, 2024 16:02
Stops creating a bdb database in the wallet migration benchmark.
Instead, the benchmark now creates the db in memory and re-uses
it for the migration process.
Removes all legacy wallet specific functional tests.

Also removes the --descriptor and --legacy-wallet options as these are
no longer necessary with the legacy wallet removed.
Salvage is bdb only which is about to be removed.
We can't load legacy wallet anymore, so if migration fails, don't try to
load the failed wallet.
Require sqlite is available in order to compile the wallet. Removes
instances of USE_SQLITE since it is no longer possible to not have
sqlite available.
Legacy wallets do not have the descriptors flag set. Don't load wallets
without the descriptors flag.

At the same time, we will no longer load BDB databases since they are
only used for legacy wallets.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants