mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-13 22:24:05 +01:00
cli: Display all proxies in -getinfo
This commit is contained in:
@@ -337,7 +337,7 @@ public:
|
||||
connections.pushKV("total", batch[ID_NETWORKINFO]["result"]["connections"]);
|
||||
result.pushKV("connections", connections);
|
||||
|
||||
result.pushKV("proxy", batch[ID_NETWORKINFO]["result"]["networks"][0]["proxy"]);
|
||||
result.pushKV("networks", batch[ID_NETWORKINFO]["result"]["networks"]);
|
||||
result.pushKV("difficulty", batch[ID_BLOCKCHAININFO]["result"]["difficulty"]);
|
||||
result.pushKV("chain", UniValue(batch[ID_BLOCKCHAININFO]["result"]["chain"]));
|
||||
if (!batch[ID_WALLETINFO]["result"].isNull()) {
|
||||
@@ -986,8 +986,26 @@ static void ParseGetInfoResult(UniValue& result)
|
||||
RESET);
|
||||
result_string += strprintf("Version: %s\n", result["version"].getValStr());
|
||||
result_string += strprintf("Time offset (s): %s\n", result["timeoffset"].getValStr());
|
||||
const std::string proxy = result["proxy"].getValStr();
|
||||
result_string += strprintf("Proxy: %s\n", proxy.empty() ? "N/A" : proxy);
|
||||
|
||||
// proxies
|
||||
std::map<std::string, std::vector<std::string>> proxy_networks;
|
||||
std::vector<std::string> ordered_proxies;
|
||||
|
||||
for (const UniValue& network : result["networks"].getValues()) {
|
||||
const std::string proxy = network["proxy"].getValStr();
|
||||
if (proxy.empty()) continue;
|
||||
// Add proxy to ordered_proxy if has not been processed
|
||||
if (proxy_networks.find(proxy) == proxy_networks.end()) ordered_proxies.push_back(proxy);
|
||||
|
||||
proxy_networks[proxy].push_back(network["name"].getValStr());
|
||||
}
|
||||
|
||||
std::vector<std::string> formatted_proxies;
|
||||
for (const std::string& proxy : ordered_proxies) {
|
||||
formatted_proxies.emplace_back(strprintf("%s (%s)", proxy, Join(proxy_networks.find(proxy)->second, ", ")));
|
||||
}
|
||||
result_string += strprintf("Proxies: %s\n", formatted_proxies.empty() ? "n/a" : Join(formatted_proxies, ", "));
|
||||
|
||||
result_string += strprintf("Min tx relay fee rate (%s/kvB): %s\n\n", CURRENCY_UNIT, result["relayfee"].getValStr());
|
||||
|
||||
if (!result["has_wallet"].isNull()) {
|
||||
|
||||
Reference in New Issue
Block a user