wallet: deprecate replaceable argument from transaction (and psbt) creation (and modification) RPCs #35433

pull rkrux wants to merge 11 commits into bitcoin:master from rkrux:deprecaterbf changing 10 files +375 −275
  1. rkrux commented at 3:03 PM on June 1, 2026: contributor

    Fixes #32661.

    Depends on #35405 from which the first 2 commits are added here and will be removed when this PR is undrafted.

  2. DrahtBot commented at 3:04 PM on June 1, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

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

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

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

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #35405 (wallet: switch default optinrbf from true to false by rkrux)
    • #35100 (rpc: Merge joinpsbts locktimes correctly by nervana21)
    • #32468 (rpc: generateblock to allow multiple outputs by polespinasa)
    • #29278 (Wallet: Add maxfeerate wallet startup option by ismaelsadeeq)

    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.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

    LLM Linter (✨ experimental)

    Possible places where named args for integral literals may be used (e.g. func(x, /*named_arg=*/0) in C++, and func(x, named_arg=0) in Python):

    • self.nodes[0].createrawtransaction([...], {}, 0, True) in test/functional/wallet_deprecated_rbf.py

    Possible places where comparison-specific test macros should replace generic comparisons:

    • test/functional/wallet_bumpfee.py: assert node.getbalance() < 49 -> use assert_greater_than(49, node.getbalance())

    <sup>2026-06-02 12:06:39</sup>

  3. rkrux commented at 3:08 PM on June 1, 2026: contributor

    I will add test case for bumpfee and psbtbumpfee along with release note.

  4. rkrux renamed this:
    Deprecaterbf
    wallet: deprecate replaceable argument from transaction ( and psbt) creation (and modification) RPCs
    on Jun 1, 2026
  5. DrahtBot added the label Wallet on Jun 1, 2026
  6. rkrux renamed this:
    wallet: deprecate replaceable argument from transaction ( and psbt) creation (and modification) RPCs
    wallet: deprecate replaceable argument from transaction (and psbt) creation (and modification) RPCs
    on Jun 1, 2026
  7. DrahtBot added the label CI failed on Jun 1, 2026
  8. DrahtBot commented at 4:29 PM on June 1, 2026: contributor

    <!--85328a0da195eb286784d51f73fa0af9-->

    🚧 At least one of the CI tasks failed. <sub>Task lint: https://github.com/bitcoin/bitcoin/actions/runs/26763283466/job/78882570147</sub> <sub>LLM reason (✨ experimental): CI failed because the Python lint (ruff) reported an error—an unused import MAX_BIP125_RBF_SEQUENCE in test/functional/rpc_psbt.py.</sub>

    <details><summary>Hints</summary>

    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.

    </details>

  9. rkrux force-pushed on Jun 2, 2026
  10. rkrux commented at 10:03 AM on June 2, 2026: contributor

    I will add test case for bumpfee and psbtbumpfee along with release note.

    Done now.

  11. wallet: switch default wallet rbf from true to false
    With the nodes running fullrbf, wallet doesn't need to opt into RBF. This patch
    switches the default of wallet rbf to false. Users still have the option to
    optin RBF via the individual transaction (and PSBT) creation RPCs - for now.
    b74ffabcff
  12. doc: update release notes of PR 34917 to mention new default wallet rbf value aa722b592a
  13. wallet, rpc: deprecate replaceable argument in bumpfee, psbtbumpfee RPCs d7efd0f89c
  14. rkrux force-pushed on Jun 2, 2026
  15. rkrux force-pushed on Jun 2, 2026
  16. wallet, test: replace rbf_node with node in wallet_bumpfee.py
    Post deprecation of -walletrbf startup option and removal of the same
    option from the wallet_bumpfee.py test, the second node in this test
    is no longer a rbf node, so update its name to reflect so.
    
    Also update the rbf_node_address correspondingly.
    5870df54ca
  17. wallet, rpc: deprecate replaceable argument in sendall RPC 6d7e895a63
  18. wallet, rpc: deprecate replaceable argument in walletcreatefundedpsbt, fundrawtransaction f6b690bfcb
  19. wallet, rpc: deprecate replaceable argument in send RPC 590865b645
  20. wallet, rpc: deprecate replaceable argument in sendtoaddress, sendmany RPCs f5e33e2bee
  21. wallet, rpc: deprecate replaceable argument in createrawtransaction, createpsbt 32494df131
  22. rkrux force-pushed on Jun 2, 2026
  23. wallet, test: add test cases for deprecated RBF features
    Tested RPCs: createrawtransaction, fundrawtransaction, createpsbt, bumpfee
    walletcreatefundedpsbt, send, sendtoaddress, sendmany, sendall, psbtbumpfee.
    ed7e67ef8b
  24. rkrux force-pushed on Jun 2, 2026
  25. doc: update release notes of 34917 mentioning `replaceable` deprecation 17d9368760
  26. rkrux force-pushed on Jun 2, 2026
  27. DrahtBot removed the label CI failed on Jun 2, 2026

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: 2026-06-04 10:51 UTC

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