aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/protocol.h
diff options
context:
space:
mode:
authorWladimir J. van der Laan <[email protected]>2016-09-29 16:45:19 +0200
committerAndrew Chow <[email protected]>2017-09-27 21:53:07 -0400
commit382625318d8734fd71a6c9620d3e88b5617da0c5 (patch)
tree69bc966e75c296275fcdd62062712a1fd82c13f1 /src/rpc/protocol.h
parentMerge #10770: Drop upgrade-cancel callback registration for a generic "cancel... (diff)
downloaddiscoin-382625318d8734fd71a6c9620d3e88b5617da0c5.tar.xz
discoin-382625318d8734fd71a6c9620d3e88b5617da0c5.zip
rpc: Handle `getinfo` locally in bitcoin-cli w/ `-getinfo`
This adds the infrastructure `BaseRequestHandler` class that takes care of converting bitcoin-cli arguments into a JSON-RPC request object, and converting the reply into a JSON object that can be shown as result. This is subsequently used to handle the `-getinfo` option, which sends a JSON-RPC batch request to the RPC server with `["getnetworkinfo", "getblockchaininfo", "getwalletinfo"]`, and after reply combines the result into what looks like a `getinfo` result. There have been some requests for a client-side `getinfo` and this is my PoC of how to do it. If this is considered a good idea some of the logic could be moved up to rpcclient.cpp and used in the GUI console as well. Extra-Author: Andrew Chow <[email protected]>
Diffstat (limited to 'src/rpc/protocol.h')
-rw-r--r--src/rpc/protocol.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/rpc/protocol.h b/src/rpc/protocol.h
index 5c9c64f67..bba7438c9 100644
--- a/src/rpc/protocol.h
+++ b/src/rpc/protocol.h
@@ -97,5 +97,7 @@ bool GenerateAuthCookie(std::string *cookie_out);
bool GetAuthCookie(std::string *cookie_out);
/** Delete RPC authentication cookie from disk */
void DeleteAuthCookie();
+/** Parse JSON-RPC batch reply into a vector */
+std::vector<UniValue> JSONRPCProcessBatchReply(const UniValue &in, size_t num);
#endif // BITCOIN_RPCPROTOCOL_H