Page MenuHomePhabricator

rpc: Treat all args after a hidden arg as hidden as well
ClosedPublic

Authored by PiRK on Sep 9 2021, 12:00.

Details

Reviewers
Fabien
Group Reviewers
Restricted Project
Commits
rABCb46e1c9d15d1: rpc: Treat all args after a hidden arg as hidden as well
Summary

This commit has no effect right now, but hardens the code for the future

PR description:

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#19528 [1/4]
https://github.com/bitcoin/bitcoin/pull/19528/commits/fa459bdc87bbb050ca1c8d469023a96ed798540e

Depends on D10010

Test Plan

ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable