#36488 rpc: wallet: Schedule mixed-case confTarget option deprecation

ReviewabilityReviewsAgreementSize
#36488 maflcko rpc: wallet: Schedule mixed-case confTarget option deprecationReady1Strong13 + 5 tests
  • Deprecate the legacy mixed-case confTarget option in wallet bumpfee and psbtbumpfee RPCs
  • Require the -deprecatedrpc=confTarget flag to use it, preparing for removal next cycle
  • Eliminate naming inconsistencies and duplicate parameter handling alongside conf_target
  • Ready to review
  • Substantive support with no open objections (fametrano)
  • Verified on regtest with and without flag against a client library (fametrano)
  • Author declined suggestion to add functional tests for the deprecated option (maflcko)
  • 13 lines added or modified outside tests
  • 5 lines added or modified in tests
  • 1 lines removed in total
  • 4 files, 1 commits
RPC / REST / ZMQ#40 of 55
P3 · cleanup
  • P3 because it standardizes RPC parameter handling by gating an undocumented alias
  • P3 because it follows deprecation policy before full removal in the next cycle
  • Ranking pass: Moved up 5: same deprecation-discipline class as #35433 and should be reviewed alongside it.
Wallet#85 of 92
P4 · cleanup
  • P4 because it only cleans up parameter naming in fee-bump calls without changing logic
  • P4 because the benefit is minor maintainer cleanup of duplicate options
Reviewability: ReadyStalePaused
Agreement: StrongPositivePositive w/ caveatsNeutralMildDisputedBlockedCrickets
Reviews: current code-review ACKs, then (+stale ACKs) and -NACKs; greener = more ACKs.
Size: lines added or modified outside tests, then in tests; greener = smaller.

Goal

Gates the legacy mixed-case `confTarget` option in wallet `bumpfee` and `psbtbumpfee` RPCs behind `-deprecatedrpc=confTarget`. Using the option without the deprecation flag now returns an `RPC_METHOD_DEPRECATED` error ahead of planned removal in the next cycle.

Problem: The wallet fee-bump RPCs maintain support for an undocumented legacy `confTarget` option alongside `conf_target`, leaving lingering naming inconsistencies and duplicate parameter handling.

Evidence of importance:

  • PR description: 'Since commit 91f6d2bc8ff4d4cd1b86daa370ec9d2d9662394d in 2020, the wallet accepts and documents conf_target for the fee bump RPC. So it seems time to cut the confusion and properly deprecate it with the next cycle.'

Risk of a mistake: medium (wallet, rpc_api). RPC clients still passing the confTarget option without upgrading to conf_target or enabling the deprecation flag will have fee-bump calls fail.

Changed since the previous assessment: No functional changes; the concrete implementation adds the `-deprecatedrpc=confTarget` check in `bumpfee_helper`, functional test assertions, and release notes.

Reviewability

Ready

Nothing known that would invalidate a review now.

Waiting on (from the thread read):

  • reviewer: fametrano to review author's reply declining the test suggestion 2026-10-26

Agreement

Strong

substantive support, no open objection (fametrano)

Thread notes: Author replied to fametrano's suggestion to add functional tests, declining the request.

Objections, suggestions, and questions:

ReviewerTypeHarm, request, or questionStatusMust beAuthor repliedQuote
fametrano (none)suggestion, correctnessAdd test coverage exercising that confTarget still works under -deprecatedrpc=confTarget in wallet_bumpfee.pyanswered · author declined adding tests, noting the option was undocumented and rarely usedansweredyes2026-10-25: 'One `bumpfee` and one `psbtbumpfee` call with `{"confTarget": 6}` in that test would cover it.'
Status from: 2026-10-26: maflcko: 'I don't think it makes sense to add a test for this now'

Support:

  • fametrano (none) (Tested ACK, 2026-10-25) [tested]: tested on regtest with and without flag against client library; verified RPC errors, bumping, conflict handling, help, and getopenrpcinfo

Participants:

  • fametrano (none, support, 1 statements 2026-10-25 to 2026-10-25): Tested ACK on regtest; suggested adding functional test coverage for confTarget

Files

5 lines under test/bench/ci.

  • doc/release-notes-36488.md +8/-0
  • src/wallet/rpc/spend.cpp +5/-1
  • test/functional/rpc_deprecated.py +4/-0
  • test/functional/wallet_bumpfee.py +1/-0

Card

The short text the ranking pass compares across PRs.

Gates the legacy mixed-case confTarget option in bumpfee and psbtbumpfee behind -deprecatedrpc=confTarget ahead of complete removal in the next release. The snake_case conf_target parameter has been documented and accepted since 2020, but the camelCase alias remained active. External RPC callers still using confTarget will receive a deprecation error unless the deprecation flag is set.

Data

dossier JSON · extract JSON · model ledger, generated 2026-10-27T01:27, confidence high, input hash 182e5b7ee302b93a
thread read through 2026-10-26 (2 statements), head fab22ac42e
labels: Wallet, RPC/REST/ZMQ

Categories

RPC / REST / ZMQ

P3 · cleanup (ranking pass: Moved up 5: same deprecation-discipline class as #35433 and should be reviewed alongside it.)

Follows standard RPC deprecation discipline by gating the legacy `confTarget` option behind `-deprecatedrpc=confTarget`. PR description notes 'it seems time to cut the confusion and properly deprecate it with the next cycle' after `conf_target` was documented in 2020.

Membership: Labeled RPC/REST/ZMQ and gates an RPC option behind `-deprecatedrpc=confTarget` in test/functional/rpc_deprecated.py and wallet RPC handlers.

Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 1

Wallet

P4 · cleanup

Cleans up an undocumented parameter alias in wallet fee-bumping RPCs without altering wallet transaction logic. PR description cites retiring duplicate handling for `confTarget` alongside `conf_target`.

Membership: Labeled Wallet and modifies wallet RPC parameter handling in src/wallet/rpc/spend.cpp.

Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 1