MarcoFalke
1e57d14d96
Merge #21035 : Remove pointer cast in CRPCTable::dumpArgMap
...
9048c58e10 Remove pointer cast in CRPCTable::dumpArgMap (Russell Yanofsky)
14f3d9b908 refactor: Add RPC server ExecuteCommands function (Russell Yanofsky)
6158a6d397 refactor: Replace JSONRPCRequest fHelp field with mode field (Russell Yanofsky)
Pull request description:
This change is needed to fix the `rpc_help.py` test failing in #10102 : https://cirrus-ci.com/task/5469433013469184?command=ci#L2275
The [`CRPCTable::dumpArgMap`](16b784d953/src/rpc/server.cpp (L492) ) method currently works by casting RPC `unique_id` integer field to a function pointer, and then calling it. The `unique_id` field wasn't supposed to be used this way (it's meant to be used to detect RPC aliases) and as a result, this code segfaults in the `rpc_help.py` test in multiprocess PR #10102 because wallet RPC functions aren't directly accessible from the node process.
Fix this by adding a new `GET_ARGS` RPC request mode to retrieve argument information similar to the way the `GET_HELP` mode retrieves help information.
---
This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10 ).
ACKs for top commit:
MarcoFalke:
re-ACK 9048c58e10 👑
Tree-SHA512: cd1a01c1daa5bde2c2455b63548371ee4cf39688313969ad2016d9a0fd4344102e3fd43034058f253364518e9632d57cf21abffad0d6a2c0c94b7a6921cbe615
2021-03-15 10:13:58 +01:00
..
2021-03-11 13:45:14 +08:00
2021-02-23 12:51:50 +08:00
2020-12-31 09:45:41 +01:00
2020-12-08 19:26:30 +01:00
2021-01-24 16:28:27 +01:00
2021-03-11 13:45:14 +08:00
2021-03-11 13:45:14 +08:00
2021-03-12 08:34:15 +01:00
2021-01-03 18:38:31 +01:00
2020-12-31 09:45:41 +01:00
2021-03-15 01:23:21 +02:00
2021-03-15 10:13:58 +01:00
2021-03-11 13:45:14 +08:00
2020-10-27 23:08:48 -07:00
2021-02-01 15:17:28 +01:00
2021-03-15 10:13:58 +01:00
2020-11-19 15:48:24 +01:00
2021-03-12 08:34:15 +01:00
2021-03-15 10:13:58 +01:00
2021-03-11 13:45:14 +08:00
2021-02-18 10:07:37 +00:00
2021-02-18 15:08:35 +01:00
2020-12-31 09:45:41 +01:00
2021-01-29 15:39:44 +08:00
2021-01-29 12:39:55 +00:00
2020-12-31 09:45:41 +01:00
2021-02-18 15:08:35 +01:00
2020-07-03 20:43:55 -07:00
2021-01-31 17:35:16 +01:00
2020-12-31 09:45:41 +01:00
2020-11-18 12:00:57 -05:00
2021-02-17 15:05:42 +01:00
2020-11-18 12:00:57 -05:00
2020-12-10 11:12:08 +01:00
2021-01-12 18:34:25 +10:00
2021-01-18 18:33:24 +01:00
2020-11-18 12:00:57 -05:00
2021-01-21 19:31:28 +01:00
2020-11-18 12:00:57 -05:00
2021-03-04 18:24:00 +01:00
2020-12-31 09:45:41 +01:00
2020-05-28 09:55:39 +03:00
2020-12-31 09:45:41 +01:00
2020-05-26 17:27:15 -04:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2021-02-12 07:53:29 -06:00
2021-02-18 09:40:42 +01:00
2021-02-12 07:53:22 -06:00
2021-03-11 13:45:14 +08:00
2020-12-31 09:45:41 +01:00
2020-10-25 14:25:00 +01:00
2020-09-24 06:55:34 +03:00
2020-12-31 09:45:41 +01:00
2021-02-01 22:30:05 +02:00
2021-02-12 07:53:29 -06:00
2021-02-12 07:53:29 -06:00
2021-03-01 17:36:16 +01:00
2021-03-02 16:05:28 +00:00
2021-01-04 12:31:31 +08:00
2021-03-02 16:05:28 +00:00
2021-01-04 12:23:16 +08:00
2021-02-01 15:17:28 +01:00
2021-02-23 14:34:30 +01:00
2021-02-10 20:46:25 +00:00
2020-05-20 07:30:29 -04:00
2021-01-15 22:48:15 +01:00
2021-01-15 22:48:15 +01:00
2021-01-04 12:23:16 +08:00
2020-12-31 09:45:41 +01:00
2021-03-11 13:45:14 +08:00
2020-12-31 09:45:41 +01:00
2020-10-22 21:45:20 +03:00
2021-03-01 18:19:37 +01:00
2021-03-01 18:19:37 +01:00
2021-03-12 08:34:15 +01:00
2021-03-04 18:24:00 +01:00
2021-01-24 02:44:53 +01:00
2021-01-24 02:44:53 +01:00
2021-01-04 12:23:16 +08:00
2021-03-01 18:19:37 +01:00
2021-03-01 18:19:37 +01:00
2021-03-12 08:34:15 +01:00
2021-01-07 18:07:09 +02:00
2020-12-08 19:26:30 +01:00
2020-05-12 18:03:39 +03:00
2020-10-27 19:40:44 +01:00
2021-02-21 21:01:02 +02:00
2021-01-07 18:07:09 +02:00
2021-03-04 12:34:46 +08:00
2021-03-04 12:34:46 +08:00
2021-03-03 14:41:05 +01:00
2021-01-07 18:07:09 +02:00
2021-01-07 18:07:09 +02:00
2021-01-04 12:31:31 +08:00
2020-12-31 09:45:41 +01:00
2021-03-08 15:54:31 -05:00
2021-03-08 15:54:31 -05:00
2020-12-31 09:45:41 +01:00
2020-10-12 12:14:53 -07:00
2021-03-12 13:11:10 +08:00
2021-03-04 20:13:43 +08:00
2021-03-11 13:45:14 +08:00
2021-03-04 19:54:17 +00:00
2021-03-01 18:19:46 +01:00
2021-03-01 13:22:11 +01:00
2021-03-02 21:44:51 +00:00
2021-03-04 19:54:17 +00:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2021-01-03 18:37:59 +01:00
2021-01-03 18:37:59 +01:00
2021-01-31 17:35:01 +01:00
2020-12-31 09:45:41 +01:00
2021-02-01 15:17:28 +01:00
2020-11-26 09:05:59 +00:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2021-01-31 17:35:16 +01:00
2020-12-08 16:47:36 +01:00
2021-02-18 07:53:37 +01:00
2021-01-13 02:05:00 +01:00
2021-01-29 15:39:44 +08:00
2020-10-09 10:32:19 +02:00
2021-03-04 18:24:00 +01:00
2020-12-31 09:45:41 +01:00
2020-09-22 22:31:31 +02:00
2020-09-22 22:31:31 +02:00
2020-11-25 15:18:33 +01:00
2021-02-01 15:17:28 +01:00
2021-01-26 15:57:28 +08:00
2021-01-12 15:56:19 +08:00
2020-12-31 09:45:41 +01:00
2020-10-12 19:50:16 -07:00
2020-12-01 18:36:39 +01:00
2021-03-02 12:21:32 +00:00
2021-03-02 12:21:32 +00:00
2021-03-11 13:45:14 +08:00
2020-07-01 14:44:24 -04:00
2021-03-04 14:55:47 +01:00
2021-03-04 14:55:47 +01:00
2021-02-27 01:08:09 +10:00
2021-03-02 19:40:11 +10:00
2021-03-11 13:45:14 +08:00
2020-10-12 12:14:53 -07:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2021-03-12 08:34:15 +01:00
2021-03-08 15:54:21 -05:00
2020-09-22 11:34:30 -04:00
2020-09-22 11:34:30 -04:00
2020-12-31 09:45:41 +01:00
2021-03-01 17:56:07 -05:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00
2020-12-31 09:45:41 +01:00