Merge 724546e28a5778e1c3f5100406ed7237f76aab55 into 5f4422d68dc3530c353af1f87499de1c864b60ad

This commit is contained in:
Jon Atack 2025-03-17 03:52:45 +01:00 committed by GitHub
commit c1ca42d9bd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -481,6 +481,16 @@ private:
} }
return str; return str;
} }
std::string ServicesList(const UniValue& services)
{
std::vector<std::string> v;
for (size_t i = 0; i < services.size(); ++i) {
std::string s{ToLower((services[i].get_str()))};
std::ranges::replace(s, '_', ' ');
v.push_back(s);
}
return Join(v, ", ");
}
public: public:
static constexpr int ID_PEERINFO = 0; static constexpr int ID_PEERINFO = 0;
@ -572,7 +582,8 @@ public:
} }
// Generate report header. // Generate report header.
std::string result{strprintf("%s client %s%s - server %i%s\n\n", CLIENT_NAME, FormatFullVersion(), ChainToString(), networkinfo["protocolversion"].getInt<int>(), networkinfo["subversion"].get_str())}; const std::string_view services{DetailsRequested() ? strprintf(" - services %s", FormatServices(networkinfo["localservicesnames"])) : ""};
std::string result{strprintf("%s client %s%s - server %i%s%s\n\n", CLIENT_NAME, FormatFullVersion(), ChainToString(), networkinfo["protocolversion"].getInt<int>(), networkinfo["subversion"].get_str(), services)};
// Report detailed peer connections list sorted by direction and minimum ping time. // Report detailed peer connections list sorted by direction and minimum ping time.
if (DetailsRequested() && !m_peers.empty()) { if (DetailsRequested() && !m_peers.empty()) {
@ -654,6 +665,9 @@ public:
} }
// Report local addresses, ports, and scores. // Report local addresses, ports, and scores.
if (!DetailsRequested()) {
result += strprintf("\n\nLocal services: %s", ServicesList(networkinfo["localservicesnames"]));
}
result += "\n\nLocal addresses"; result += "\n\nLocal addresses";
const std::vector<UniValue>& local_addrs{networkinfo["localaddresses"].getValues()}; const std::vector<UniValue>& local_addrs{networkinfo["localaddresses"].getValues()};
if (local_addrs.empty()) { if (local_addrs.empty()) {