{
 "number": 36264,
 "repo": "bitcoin/bitcoin",
 "url": "https://github.com/bitcoin/bitcoin/pull/36264",
 "title": "wallet rpc: fix stale argument metadata and help text",
 "author": "MrHodlX",
 "author_association": "FIRST_TIME_CONTRIBUTOR",
 "created_at": "2026-09-15T15:15:48Z",
 "updated_at": "2026-09-16T14:19:53Z",
 "age_days": 2,
 "draft": false,
 "labels": [],
 "milestone": null,
 "base": "master",
 "head_sha": "f214b2c9fe38f9a0686dd40961ae672b8ca2cd3a",
 "head_ref": "rpc-wallet-help-text-fixes",
 "head_repo": "MrHodlX/bitcoin",
 "head_history": [
  {
   "t": "2026-09-16T01:18:26Z",
   "sha": "f6f5c4ea17330003eb41b008324f4a07e9733f7a"
  },
  {
   "t": "2026-09-16T14:18:59Z",
   "sha": "f214b2c9fe38f9a0686dd40961ae672b8ca2cd3a"
  }
 ],
 "additions": 8,
 "deletions": 8,
 "changed_files": 4,
 "commit_count": 3,
 "size_bucket": "S",
 "mergeable_state": "unstable",
 "bot": {
  "drahtbot": {
   "present": true,
   "reviews": {},
   "conflicts": []
  }
 },
 "acks_parsed": {},
 "acks_tally": {
  "ack": 0,
  "stale_ack": 0,
  "concept_ack": 0,
  "approach_ack": 0,
  "nack": 0,
  "concept_nack": 0,
  "approach_nack": 0
 },
 "reviews": {
  "approved": 0,
  "changes_requested": 0,
  "distinct_reviewers": [
   "l0rinc",
   "maflcko"
  ]
 },
 "signals": {
  "needs_rebase": false,
  "ci_failed": false,
  "mergeable_state": "unstable",
  "last_author_activity": "2026-09-16T14:18:59Z",
  "last_reviewer_activity": "2026-09-16T13:40:06Z",
  "last_reviewer": "maflcko",
  "author_silent_days": 1,
  "waiting_on_author_days": 0,
  "days_since_update": 1
 },
 "refs": {
  "mentioned": [],
  "depends_on": [],
  "fixes": [],
  "linked_issues": [],
  "references": [],
  "conflicts": []
 },
 "stack": {
  "shares_commits_with": [],
  "based_on": [],
  "base_for": []
 },
 "review_paths": [
  "src/wallet/rpc/coins.cpp"
 ],
 "body": "Small fixes to stale argument metadata and help text in the wallet RPCs, in three focused commits:\n\n1. `5fcbbf8` \u2014 **listtransactions**: the \"Negative from\" error references the skip argument by its old name\n2. `9aa8977` \u2014 **listsinceblock**: name the failing argument when target_confirmations < 1 instead of a bare \"Invalid parameter\"\n3. `f214b2c` \u2014 **sendmany**: the help examples pass values in the ignored minconf position; describe what the example actually sets and pass null for the placeholder\n\nRequired test updates ride in each commit. (Two earlier commits touching deprecated arguments were dropped per maflcko's review: either that deprecated argument gets a proper removal cycle later, or it isn't worth touching.)",
 "commits": [
  {
   "sha": "5fcbbf8352a3ac34e338e9775acf0fa93c4814d0",
   "date": "2026-09-16T01:16:02Z",
   "message": "wallet rpc: name the skip argument in the listtransactions error\n\nThe listtransactions error for a negative skip said \"Negative from\",\nreferencing the argument by its old name. The argument has been called\nskip in the help for years; say \"Negative skip\".\")"
  },
  {
   "sha": "9aa8977c02fa2f89d65b45bb6a47bc087cf8cf94",
   "date": "2026-09-16T01:16:02Z",
   "message": "wallet rpc: name the failing argument in listsinceblock\n\nlistsinceblock rejected target_confirmations < 1 with a bare\n\"Invalid parameter\", not saying which argument was wrong. Name it,\nmatching the neighboring \"Invalid start_height\" error.\")"
  },
  {
   "sha": "f214b2c9fe38f9a0686dd40961ae672b8ca2cd3a",
   "date": "2026-09-16T01:16:59Z",
   "message": "wallet rpc: fix the misleading sendmany example\n\nThe sendmany example claimed to set \"the confirmation\" by passing a\nvalue in the minconf position, but minconf is an ignored dummy, so the\nexample taught a no-op. Describe what the example actually sets (the\ncomment) and pass null for the ignored placeholder in both examples.\")"
  }
 ],
 "timeline": [
  {
   "t": "2026-09-15T23:26:57Z",
   "kind": "comment",
   "who": "l0rinc",
   "assoc": "MEMBER",
   "text": "Could you please split the related fixes into commits, explaining them briefly in the commit message, describing the problem at a high level and explaining the chosen solution. The changes seem unrelated; by grouping them into focused commits, we can selectively review the suggestion instead of accepting or rejecting all of it."
  },
  {
   "t": "2026-09-16T01:18:26Z",
   "kind": "force_push",
   "who": "MrHodlX",
   "commit": "f6f5c4ea17330003eb41b008324f4a07e9733f7a"
  },
  {
   "t": "2026-09-16T05:34:20Z",
   "kind": "review_comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "path": "src/wallet/rpc/coins.cpp",
   "commit": "3a2a982d4ec4a55403676bd4ce9ccc92f5768a75",
   "in_reply_to": null,
   "text": "Seems fine, but I wonder if this should be deprecated/removed for real.\n\nMaintaining (and bike shedding) the deprecated stuff seems confusing and not too helpful.\n\nNot sure if this requires an `-deprecatedrpc` cycle, but I guess it can't hurt.\n\nAlso, would probably require updating the type to `OBJ_NAMED_PARAMS` for safety."
  },
  {
   "t": "2026-09-16T12:10:06Z",
   "kind": "comment",
   "who": "MrHodlX",
   "assoc": "NONE",
   "text": "Fair point \u2014 this commit only makes the marker consistent while the argument exists. A real deprecation/removal cycle (with the `OBJ_NAMED_PARAMS` type update) can be a follow-up PR rather than expanding the scope here."
  },
  {
   "t": "2026-09-16T13:40:06Z",
   "kind": "comment",
   "who": "maflcko",
   "assoc": "MEMBER",
   "text": "idk, you are adding two commits to modify ~dead code. Either it matters and it should be removed/deprecated properly, or it doesn't matter and the commit can just be dropped."
  },
  {
   "t": "2026-09-16T14:18:59Z",
   "kind": "force_push",
   "who": "MrHodlX",
   "commit": "f214b2c9fe38f9a0686dd40961ae672b8ca2cd3a"
  }
 ],
 "labels_log": [],
 "state_log": [],
 "text_chars": 2661,
 "text_tokens_estimate": 665,
 "changed_paths": [
  "src/wallet/rpc/spend.cpp",
  "src/wallet/rpc/transactions.cpp",
  "test/functional/wallet_listsinceblock.py",
  "test/functional/wallet_listtransactions.py"
 ],
 "files": [
  {
   "path": "src/wallet/rpc/spend.cpp",
   "add": 4,
   "del": 4
  },
  {
   "path": "src/wallet/rpc/transactions.cpp",
   "add": 2,
   "del": 2
  },
  {
   "path": "test/functional/wallet_listsinceblock.py",
   "add": 1,
   "del": 1
  },
  {
   "path": "test/functional/wallet_listtransactions.py",
   "add": 1,
   "del": 1
  }
 ],
 "test_lines": 4,
 "git": {
  "head": "f214b2c9fe38f9a0686dd40961ae672b8ca2cd3a",
  "head_matches_backup": true,
  "base": "cff00c547e7460fa1ec4aa1e38217793593d4263",
  "commits": [
   {
    "sha": "5fcbbf8352",
    "subject": "wallet rpc: name the skip argument in the listtransactions error",
    "files": 2,
    "add": 2,
    "del": 2
   },
   {
    "sha": "9aa8977c02",
    "subject": "wallet rpc: name the failing argument in listsinceblock",
    "files": 2,
    "add": 2,
    "del": 2
   },
   {
    "sha": "f214b2c9fe",
    "subject": "wallet rpc: fix the misleading sendmany example",
    "files": 1,
    "add": 4,
    "del": 4
   }
  ],
  "patch_truncated": false
 },
 "input_hash": "99cfdaef6cf87c96",
 "extracted_at": "2026-09-17T16:15:31+00:00"
}