wallet, rpc: remove settxfee and paytxfee #32138

pull polespinasa wants to merge 1 commits into bitcoin:master from polespinasa:deletesettxfee changing 22 files +117 −250
  1. polespinasa commented at 6:30 pm on March 25, 2025: contributor

    Summary

    This PR removes the settxfee RPC and paytxfee setting (Bitcoin Core 31.0). These two features were deprecated in #31278.

    This PR does not remove the internal implementation of the default value of paytxfee=0 but removes the option for users to modify it.

  2. DrahtBot commented at 6:30 pm on March 25, 2025: 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/32138.

    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:

    • #33214 (rpc: require integer verbosity; remove boolean ‘verbose’ by fqlx)
    • #33184 (test: Replace legacy wallet with MiniWallet in rpc_getblockstats.py by enirox001)
    • #29278 (Wallet: Add maxfeerate wallet startup option by ismaelsadeeq)
    • #17783 (common: Disallow calling IsArgSet() on ALLOW_LIST options by ryanofsky)
    • #17581 (refactor: Remove settings merge reverse precedence code by ryanofsky)
    • #17580 (refactor: Add ALLOW_LIST flags and enforce usage in CheckArgFlags by ryanofsky)
    • #17493 (util: Forbid ambiguous multiple assignments in config file 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 CI failed on Mar 25, 2025
  4. DrahtBot commented at 6:43 pm on March 25, 2025: contributor

    🚧 At least one of the CI tasks failed. Debug: https://github.com/bitcoin/bitcoin/runs/39393296960

    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.

  5. DrahtBot added this to the milestone 31.0 on Mar 25, 2025
  6. DrahtBot marked this as a draft on Mar 25, 2025
  7. polespinasa force-pushed on Mar 25, 2025
  8. polespinasa renamed this:
    wallet, rpc: (v31.0) remove settxfee and paytxfee (work in progress)
    wallet, rpc: (v31.0) remove settxfee and paytxfee
    on Mar 25, 2025
  9. polespinasa marked this as ready for review on Mar 25, 2025
  10. polespinasa commented at 6:56 pm on March 25, 2025: contributor
    Note to self: re-check all tests
  11. maflcko commented at 7:10 pm on March 25, 2025: member
    Please leave this in draft. 31.0 is half a year out, so starting review on this is questionable and won’t help to get it merged earlier anyway
  12. polespinasa renamed this:
    wallet, rpc: (v31.0) remove settxfee and paytxfee
    wallet, rpc: (v31.0) remove settxfee and paytxfee (work in progress)
    on Mar 25, 2025
  13. polespinasa marked this as a draft on Mar 25, 2025
  14. DrahtBot removed the label CI failed on Mar 25, 2025
  15. fanquake renamed this:
    wallet, rpc: (v31.0) remove settxfee and paytxfee (work in progress)
    wallet, rpc: remove settxfee and paytxfee
    on Mar 26, 2025
  16. laanwj added the label Wallet on Mar 26, 2025
  17. laanwj added the label RPC/REST/ZMQ on Mar 26, 2025
  18. DrahtBot added the label Needs rebase on Mar 27, 2025
  19. polespinasa commented at 7:25 am on June 24, 2025: contributor
    Will re-open closer to 31.0 release
  20. polespinasa closed this on Jun 24, 2025

  21. maflcko commented at 11:18 am on August 26, 2025: member
    Seems fine to pick this up now, if you want.
  22. polespinasa reopened this on Aug 26, 2025

  23. polespinasa force-pushed on Aug 26, 2025
  24. polespinasa force-pushed on Aug 26, 2025
  25. polespinasa marked this as ready for review on Aug 26, 2025
  26. DrahtBot removed the label Needs rebase on Aug 26, 2025
  27. polespinasa force-pushed on Aug 26, 2025
  28. polespinasa commented at 6:08 pm on August 26, 2025: contributor
    5ba260ca74 Rebased on top of master 6ca6f3b37b
  29. polespinasa force-pushed on Aug 26, 2025
  30. DrahtBot added the label CI failed on Aug 26, 2025
  31. DrahtBot commented at 6:11 pm on August 26, 2025: contributor

    🚧 At least one of the CI tasks failed. Task lint: https://github.com/bitcoin/bitcoin/runs/48937774714 LLM reason (✨ experimental): Lint failure caused by an invalid Python shebang in test/functional/wallet_txn_clone.py (syntax error).

    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.

  32. DrahtBot removed the label CI failed on Aug 26, 2025
  33. maflcko commented at 8:48 am on August 28, 2025: member
    What is the point of keeping m_pay_tx_fee. It is just dead code now, no?
  34. polespinasa commented at 6:17 pm on August 28, 2025: contributor

    It is just dead code now, no? @maflcko I think you’re right. Will squash after review, think it’s easier this way.

  35. in src/wallet/wallet.h:105 in d3ed01fbc8 outdated
    101@@ -102,7 +102,7 @@ void NotifyWalletLoaded(WalletContext& context, const std::shared_ptr<CWallet>&
    102 std::unique_ptr<WalletDatabase> MakeWalletDatabase(const std::string& name, const DatabaseOptions& options, DatabaseStatus& status, bilingual_str& error);
    103 
    104 //! -paytxfee default (paytxfee RPC was removed in v31.0)
    105-constexpr CAmount DEFAULT_PAY_TX_FEE = 0;
    106+//constexpr CAmount DEFAULT_PAY_TX_FEE = 0;
    


    polespinasa commented at 6:25 pm on August 28, 2025:
    forgot to remove the line, will do next push
  36. maflcko commented at 2:43 pm on September 1, 2025: member

    Will squash after review, think it’s easier this way.

    I’d say to either squash now, or create meaningful separate commits. E.g:

    • First, remove from rpc (settxfee, paytxfee result)
    • Then, remove from cli (-paytxfee, tests only)
    • Then, remove from cli (-paytxfee, code, and remaining leftovers)
  37. wallet, rpc:remove settxfee and paytxfee f0dc25a228
  38. polespinasa force-pushed on Sep 2, 2025

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: 2025-09-12 09:13 UTC

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