wallet: Disable creating and loading legacy wallets #31250

pull achow101 wants to merge 14 commits into bitcoin:master from achow101:disable-legacy-wallets changing 122 files +589 −5747
  1. achow101 commented at 6:42 pm on November 7, 2024: member

    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 https://github.com/bitcoin/bitcoin/pull/28710

  2. DrahtBot commented at 6:42 pm on November 7, 2024: contributor

    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:

    • #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.

  3. DrahtBot added the label Wallet on Nov 7, 2024
  4. achow101 force-pushed on Nov 7, 2024
  5. DrahtBot added the label CI failed on Nov 7, 2024
  6. DrahtBot added the label Needs rebase on Nov 12, 2024
  7. achow101 force-pushed on Nov 12, 2024
  8. DrahtBot removed the label CI failed on Nov 12, 2024
  9. DrahtBot removed the label Needs rebase on Nov 12, 2024
  10. DrahtBot added the label Needs rebase on Nov 19, 2024
  11. achow101 force-pushed on Nov 20, 2024
  12. DrahtBot removed the label Needs rebase on Nov 20, 2024
  13. DrahtBot added the label Needs rebase on Dec 2, 2024
  14. achow101 force-pushed on Dec 5, 2024
  15. DrahtBot removed the label Needs rebase on Dec 5, 2024
  16. DrahtBot added the label Needs rebase on Dec 6, 2024
  17. wallet: remove BDB dependency from wallet migration benchmark
    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.
    44bfe6c2b6
  18. test: rpcs disabled for descriptor wallets were removed bd83ea3b8d
  19. test: Remove legacy wallet unit tests 2bf5f230e3
  20. test: wallet_transactiontime_rescan importdescriptors always rescans d6f86240dc
  21. test: wallet_signer.py bdb will be removed a2335dcc7e
  22. test: Remove legacy wallet tests from wallet_backwards_compatibility.py c2de44a324
  23. test: Remove legacy wallet tests from wallet_reindex.py 2c9ffcfb37
  24. test: remove legacy wallet functional tests
    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.
    817c3b38a6
  25. wallet: Remove -format and bdb from wallet tool's createfromdump b2a52f45f0
  26. wallet: Remove wallettool salvage
    Salvage is bdb only which is about to be removed.
    fc4e5d6f3c
  27. bench: Remove WalletLoadingLegacy benchmark f595eb3ea5
  28. wallet: Don't reload legacy wallet on failed migration
    We can't load legacy wallet anymore, so if migration fails, don't try to
    load the failed wallet.
    8bdd297a03
  29. build: Require sqlite when --enable-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.
    bd102b10ef
  30. wallet: Disallow legacy wallets
    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.
    858a8078b2
  31. achow101 force-pushed on Dec 9, 2024
  32. DrahtBot removed the label Needs rebase on Dec 9, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-19 00:12 UTC

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