aboutsummaryrefslogtreecommitdiff
path: root/src/bitcoin-cli.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bitcoin-cli.cpp')
-rw-r--r--src/bitcoin-cli.cpp55
1 files changed, 33 insertions, 22 deletions
diff --git a/src/bitcoin-cli.cpp b/src/bitcoin-cli.cpp
index eb52b30ae4..45db7a9a66 100644
--- a/src/bitcoin-cli.cpp
+++ b/src/bitcoin-cli.cpp
@@ -9,6 +9,8 @@
#include <chainparamsbase.h>
#include <clientversion.h>
+#include <common/args.h>
+#include <common/system.h>
#include <common/url.h>
#include <compat/compat.h>
#include <compat/stdin.h>
@@ -19,9 +21,10 @@
#include <rpc/request.h>
#include <tinyformat.h>
#include <univalue.h>
+#include <util/chaintype.h>
#include <util/exception.h>
#include <util/strencodings.h>
-#include <util/system.h>
+#include <util/time.h>
#include <util/translation.h>
#include <algorithm>
@@ -71,10 +74,10 @@ static void SetupCliArgs(ArgsManager& argsman)
{
SetupHelpOptions(argsman);
- const auto defaultBaseParams = CreateBaseChainParams(CBaseChainParams::MAIN);
- const auto testnetBaseParams = CreateBaseChainParams(CBaseChainParams::TESTNET);
- const auto signetBaseParams = CreateBaseChainParams(CBaseChainParams::SIGNET);
- const auto regtestBaseParams = CreateBaseChainParams(CBaseChainParams::REGTEST);
+ const auto defaultBaseParams = CreateBaseChainParams(ChainType::MAIN);
+ const auto testnetBaseParams = CreateBaseChainParams(ChainType::TESTNET);
+ const auto signetBaseParams = CreateBaseChainParams(ChainType::SIGNET);
+ const auto regtestBaseParams = CreateBaseChainParams(ChainType::REGTEST);
argsman.AddArg("-version", "Print version and exit", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
argsman.AddArg("-conf=<file>", strprintf("Specify configuration file. Relative paths will be prefixed by datadir location. (default: %s)", BITCOIN_CONF_FILENAME), ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
@@ -172,7 +175,7 @@ static int AppInitRPC(int argc, char* argv[])
}
// Check for chain settings (BaseParams() calls are only valid after this clause)
try {
- SelectBaseParams(gArgs.GetChainName());
+ SelectBaseParams(gArgs.GetChainType());
} catch (const std::exception& e) {
tfm::format(std::cerr, "Error: %s\n", e.what());
return EXIT_FAILURE;
@@ -424,10 +427,17 @@ private:
std::vector<Peer> m_peers;
std::string ChainToString() const
{
- if (gArgs.GetChainName() == CBaseChainParams::TESTNET) return " testnet";
- if (gArgs.GetChainName() == CBaseChainParams::SIGNET) return " signet";
- if (gArgs.GetChainName() == CBaseChainParams::REGTEST) return " regtest";
- return "";
+ switch (gArgs.GetChainType()) {
+ case ChainType::TESTNET:
+ return " testnet";
+ case ChainType::SIGNET:
+ return " signet";
+ case ChainType::REGTEST:
+ return " regtest";
+ case ChainType::MAIN:
+ return "";
+ }
+ assert(false);
}
std::string PingTimeToString(double seconds) const
{
@@ -861,7 +871,7 @@ static UniValue ConnectAndCallRPC(BaseRequestHandler* rh, const std::string& str
try {
response = CallRPC(rh, strMethod, args, rpcwallet);
if (fWait) {
- const UniValue& error = find_value(response, "error");
+ const UniValue& error = response.find_value("error");
if (!error.isNull() && error["code"].getInt<int>() == RPC_IN_WARMUP) {
throw CConnectionFailed("server in warmup");
}
@@ -889,8 +899,8 @@ static void ParseResult(const UniValue& result, std::string& strPrint)
static void ParseError(const UniValue& error, std::string& strPrint, int& nRet)
{
if (error.isObject()) {
- const UniValue& err_code = find_value(error, "code");
- const UniValue& err_msg = find_value(error, "message");
+ const UniValue& err_code = error.find_value("code");
+ const UniValue& err_msg = error.find_value("message");
if (!err_code.isNull()) {
strPrint = "error code: " + err_code.getValStr() + "\n";
}
@@ -916,15 +926,15 @@ static void GetWalletBalances(UniValue& result)
{
DefaultRequestHandler rh;
const UniValue listwallets = ConnectAndCallRPC(&rh, "listwallets", /* args=*/{});
- if (!find_value(listwallets, "error").isNull()) return;
- const UniValue& wallets = find_value(listwallets, "result");
+ if (!listwallets.find_value("error").isNull()) return;
+ const UniValue& wallets = listwallets.find_value("result");
if (wallets.size() <= 1) return;
UniValue balances(UniValue::VOBJ);
for (const UniValue& wallet : wallets.getValues()) {
const std::string& wallet_name = wallet.get_str();
const UniValue getbalances = ConnectAndCallRPC(&rh, "getbalances", /* args=*/{}, wallet_name);
- const UniValue& balance = find_value(getbalances, "result")["mine"]["trusted"];
+ const UniValue& balance = getbalances.find_value("result")["mine"]["trusted"];
balances.pushKV(wallet_name, balance);
}
result.pushKV("balances", balances);
@@ -960,7 +970,7 @@ static void GetProgressBar(double progress, std::string& progress_bar)
*/
static void ParseGetInfoResult(UniValue& result)
{
- if (!find_value(result, "error").isNull()) return;
+ if (!result.find_value("error").isNull()) return;
std::string RESET, GREEN, BLUE, YELLOW, MAGENTA, CYAN;
bool should_colorize = false;
@@ -1032,6 +1042,7 @@ static void ParseGetInfoResult(UniValue& result)
}
std::vector<std::string> formatted_proxies;
+ formatted_proxies.reserve(ordered_proxies.size());
for (const std::string& proxy : ordered_proxies) {
formatted_proxies.emplace_back(strprintf("%s (%s)", proxy, Join(proxy_networks.find(proxy)->second, ", ")));
}
@@ -1171,9 +1182,9 @@ static int CommandLineRPC(int argc, char *argv[])
rh.reset(new NetinfoRequestHandler());
} else if (gArgs.GetBoolArg("-generate", false)) {
const UniValue getnewaddress{GetNewAddress()};
- const UniValue& error{find_value(getnewaddress, "error")};
+ const UniValue& error{getnewaddress.find_value("error")};
if (error.isNull()) {
- SetGenerateToAddressArgs(find_value(getnewaddress, "result").get_str(), args);
+ SetGenerateToAddressArgs(getnewaddress.find_value("result").get_str(), args);
rh.reset(new GenerateToAddressRequestHandler());
} else {
ParseError(error, strPrint, nRet);
@@ -1195,8 +1206,8 @@ static int CommandLineRPC(int argc, char *argv[])
const UniValue reply = ConnectAndCallRPC(rh.get(), method, args, wallet_name);
// Parse reply
- UniValue result = find_value(reply, "result");
- const UniValue& error = find_value(reply, "error");
+ UniValue result = reply.find_value("result");
+ const UniValue& error = reply.find_value("error");
if (error.isNull()) {
if (gArgs.GetBoolArg("-getinfo", false)) {
if (!gArgs.IsArgSet("-rpcwallet")) {
@@ -1227,7 +1238,7 @@ static int CommandLineRPC(int argc, char *argv[])
MAIN_FUNCTION
{
#ifdef WIN32
- util::WinCmdLineArgs winArgs;
+ common::WinCmdLineArgs winArgs;
std::tie(argc, argv) = winArgs.get();
#endif
SetupEnvironment();