Conversation
0c8b364 to
bd1d751
Compare
There was a problem hiding this comment.
Concept ACK
As an intermediate step I was thinking request.params could have both keys, the original and the normalized (obviously should assert that the normalized key doesn't conflict with another one). This way it's not necessary to call NormalizedObject on the RPC methods.
A next intermediate step would be to remove original keys and only keep the normalized ones, this behavior could be turned on in RPCHelpMan on each RPC method to support small changes.
bd1d751 to
fe3e936
Compare
|
@promag I tried to work on a solution based on always providing the entire Since it also adds to named parameters, patches are needed in various places to make it not yell about missing or unknown parameters. Still digging, but this seems to increase complexity quite a bit. |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
fe3e936 to
560f3b4
Compare
When using -named, this converts all variants of case and underscores into a normalized lower case no underscore parameter name.
|
I extended this a slight bit to now also normalize the In the process, I ran into linker issues with QT build, so I inlined the |
This PR initiates the transition to using normalized parameter names in objects in RPC commands.
Because this transition all at once would be huge, the PR also includes a during-transition temporary structure which will make it transparent to the user whether the object has been normalized or not.
There is also one conversion in here, for the send RPC, to show what conversion would entail.
This is an alternative to #19957. (A much better alternative, IMO.)