#36705 test: Replace stale TODO with mempoolminfee test in wallet_send.py

ReviewabilityReviewsAgreementSize
#36705 Conradgabe test: Replace stale TODO with mempoolminfee test in wallet_send.pyCI failing0Crickets0 + 36 tests
  • Add test coverage for send RPC behavior when fee rates fall below mempool minimums
  • Cleans up stale, commented-out test code left behind from an earlier pull request
  • CI is failing, so verify whether the failure belongs to this PR before deep review
  • No review verdicts recorded
  • No substantive reviews or feedback yet
  • Awaiting review after pinging another contributor (fanquake)
  • 0 lines added or modified outside tests
  • 36 lines added or modified in tests
  • 10 lines removed in total
  • 1 files, 1 commits
Wallet#88 of 92
P4 · test coverage
  • P4 because it only adds functional test coverage for an existing edge case
  • Alters no wallet logic and offers marginal impact on scarce wallet review resources
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

Replaces a stale commented-out TODO in functional test wallet_send.py with a functional test case. The new test verifies send RPC behavior when fee_rate is below mempoolminfee, checking both the add_to_wallet=false (transaction rejected by testmempoolaccept) and add_to_wallet=true (transaction stored in wallet but not accepted to mempool) paths.

Problem: wallet_send.py contained commented-out test code from PR 16378 with deprecated parameters (estimate_mode="sat/b"), leaving behavior untested when an explicit fee_rate satisfies mintxfee and minrelaytxfee but falls below mempoolminfee.

Evidence of importance:

  • PR description notes: "wallet_send.py had a commented-out TODO from the original send PR (#16378)... The commented code was stale; estimate_mode=\"sat/b\" no longer exists."
  • PR description observes that "an explicit fee_rate is only checked against max(-mintxfee, -minrelaytxfee), not against mempoolminfee (see src/wallet/fees.cpp), so when the mempool is full, send can build a tx the node won't accept."

Risk of a mistake: low (tests). Touches only functional test code for wallet_send.py; cannot affect node runtime or consensus.

Changed since the previous assessment: Diff inspected; the patch implementation directly matches the earlier summary.

Reviewability

Ready · CI failing

CI is red; check whether the failure is the PR's before a deep review.

Waiting on (from the thread read):

  • reviewer: review from Sjors or other reviewers 2026-10-30
  • reviewer: review from Sjors or other contributors 2026-10-30

Agreement

Crickets

no substantive comment either way

Thread notes: Initial record. fanquake pinged Sjors; no reviews or substantive comments yet. / Initial record. fanquake pinged Sjors; awaiting review.

Objections, suggestions, and questions: none recorded.

Participants:

  • fanquake (member, neutral, 1 statements 2026-10-30 to 2026-10-30): pinged Sjors

Files

46 lines under test/bench/ci.

  • test/functional/wallet_send.py +36/-10

Card

The short text the ranking pass compares across PRs.

Replaces an obsolete commented-out TODO in functional test wallet_send.py with an active test exercising send when fee_rate is below mempoolminfee. It verifies that when add_to_wallet is false the transaction is returned and rejected by testmempoolaccept, and when add_to_wallet is true the transaction is saved in the wallet but omitted from the mempool. This exercises an untested wallet fee-check edge case.

Data

dossier JSON · extract JSON · model ledger, generated 2026-11-01T01:16, confidence high, input hash 73584226bd9ace4f
thread read through 2026-10-30 (1 statements), head a2d32135f3
labels: Tests, CI failed

Categories

Wallet

P4 · test coverage

Replaces a stale commented-out TODO with test coverage for send fee_rate below mempoolminfee without changing any wallet code. While useful for verifying wallet RPC behavior, adding functional test coverage for an existing edge case has no special claim on scarce wallet review attention.

Membership: Adds functional test coverage for wallet send RPC behavior in test/functional/wallet_send.py.

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