Skip to content

wallet: mark bip125-replaceable deprecated, remove walletrbf argument#34917

Open
rkrux wants to merge 2 commits intobitcoin:masterfrom
rkrux:wallet-rbf
Open

wallet: mark bip125-replaceable deprecated, remove walletrbf argument#34917
rkrux wants to merge 2 commits intobitcoin:masterfrom
rkrux:wallet-rbf

Conversation

@rkrux
Copy link
Copy Markdown
Contributor

@rkrux rkrux commented Mar 25, 2026

This patch set is in line with the deprecation & removal of outdated
BIP 125 opt-in RBF signalling in wallet transactions.

rkrux added 2 commits March 25, 2026 14:32
Transactions are replaceable by default since v28 and the corresponding
tweaking argument has been removed since v29. The related key from the
mempool RPC has been marked deprecated as well since v29, this patch
does the same for the wallet.
All transactions are by default replaceable since v28, the wallet need not have
a configuration option to opt into RBF signalling because it seems redundant
now. The default behaviour of opting into RBF signalling is retained - for now.

Users still have the option to opt out of RBF signalling via the individual
transaction creation RPC request options.
@DrahtBot
Copy link
Copy Markdown
Contributor

DrahtBot commented Mar 25, 2026

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

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:

  • #bitcoin-core/gui/911 (Adds non-mempool wallet balance to overview by ajtowns)
  • #34897 (indexes: Don't commit ahead of the flushed chainstate by mzumsande)
  • #34400 (wallet: parallel fast rescan (approx 5x speed up with 8 threads) by Eunovo)
  • #33671 (wallet: Add separate balance info for non-mempool wallet txs by ajtowns)
  • #29278 (Wallet: Add maxfeerate wallet startup option by ismaelsadeeq)
  • #21283 (Implement BIP 370 PSBTv2 by achow101)

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.

LLM Linter (✨ experimental)

Possible typos and grammar issues:

  • explcitly -> explicitly [Typo in the added comment: # ...and check the result - it's not explcitly opt-in makes the text unclear.]

2026-03-25 09:53:59

Comment thread src/wallet/init.cpp
#if HAVE_SYSTEM
argsman.AddArg("-walletnotify=<cmd>", "Execute command when a wallet transaction changes. %s in cmd is replaced by TxID, %w is replaced by wallet name, %b is replaced by the hash of the block including the transaction (set to 'unconfirmed' if the transaction is not included) and %h is replaced by the block height (-1 if not included). %w is not currently implemented on windows. On systems where %w is supported, it should NOT be quoted because this would break shell escaping used to invoke the command.", ArgsManager::ALLOW_ANY, OptionsCategory::WALLET);
#endif
argsman.AddArg("-walletrbf", strprintf("Send transactions with full-RBF opt-in enabled (RPC only, default: %u)", DEFAULT_WALLET_RBF), ArgsManager::ALLOW_ANY, OptionsCategory::WALLET);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing the -walletrbf registration introduces an upgrade regression: existing configs or service arguments that still set it will now prevent the node from starting.
Shouldn't it remain accepted as a hidden/deprecated no-op rather than being removed outright ?

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