HomePhabricator

Assert that RPCArg names are equal to CRPCCommand ones (blockchain)

Description

Assert that RPCArg names are equal to CRPCCommand ones (blockchain)

Summary:

This is split out from #18531 to just touch some RPC methods. Description from the main pr:
Motivation

RPCArg names in the rpc help are currently only used for documentation. However, in the future they could be used to teach the server the named arguments. Named arguments are currently registered by the CRPCCommands and duplicate the RPCArg names from the documentation. This redundancy is fragile, and has lead to errors in the past (despite having linters to catch those kind of errors). See section "bugs found" for a list of bugs that have been found as a result of the changes here.

Changes
The changes here add an assert in the CRPCCommand constructor that the RPCArg names are identical to the ones in the CRPCCommand.

This is a backport of core#19849 [1/2]
https://github.com/bitcoin/bitcoin/pull/19849/commits/fa80c814874a2893e4323ba5148fba21d7f421cd

Test Plan: ninja all check-all

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D10298

Details

Provenance
PiRKAuthored on Oct 11 2021, 12:27
PiRKPushed on Oct 12 2021, 13:18
Reviewer
Restricted Project
Differential Revision
D10298: Assert that RPCArg names are equal to CRPCCommand ones (blockchain)
Parents
rABCe13ecc8c665b: test: add parameterized constructor for msg_sendcmpct()
Branches
Unknown
Tags
Unknown