Add public_key to the "vl" method response:

The "/vl" HTTP endpoint can be used to request a particular
UNL from a rippled instance.

This commit, if merged, includes the public key of the requested
list in the response.

This commit fixes #3392
This commit is contained in:
Nathan Nichols
2020-07-01 19:15:14 -05:00
committed by Nik Bougalis
parent 271e79095b
commit b1d47c65d4
3 changed files with 22 additions and 4 deletions

View File

@@ -820,10 +820,11 @@ ValidatorList::getAvailable(boost::beast::string_view const& pubKey)
Json::Value value(Json::objectValue);
value["manifest"] = iter->second.rawManifest;
value["blob"] = iter->second.rawBlob;
value["signature"] = iter->second.rawSignature;
value["version"] = iter->second.rawVersion;
value[jss::public_key] = std::string{pubKey};
value[jss::manifest] = iter->second.rawManifest;
value[jss::blob] = iter->second.rawBlob;
value[jss::signature] = iter->second.rawSignature;
value[jss::version] = iter->second.rawVersion;
return value;
}

View File

@@ -142,6 +142,7 @@ JSS(base_fee_xrp); // out: NetworkOPs
JSS(bids); // out: Subscribe
JSS(binary); // in: AccountTX, LedgerEntry,
// AccountTxOld, Tx LedgerData
JSS(blob); // out: ValidatorList
JSS(books); // in: Subscribe, Unsubscribe
JSS(both); // in: Subscribe, Unsubscribe
JSS(both_sides); // in: Subscribe, Unsubscribe

View File

@@ -26,6 +26,7 @@
#include <ripple/protocol/SecretKey.h>
#include <ripple/protocol/Sign.h>
#include <ripple/protocol/digest.h>
#include <ripple/protocol/jss.h>
#include <test/jtx.h>
namespace ripple {
@@ -570,6 +571,21 @@ private:
BEAST_EXPECT(trustedKeys->listed(val.signingPublic));
}
const auto hexPublic =
strHex(publisherPublic.begin(), publisherPublic.end());
const auto available = trustedKeys->getAvailable(hexPublic);
if (BEAST_EXPECT(available))
{
auto const& a = *available;
BEAST_EXPECT(a[jss::public_key] == hexPublic);
BEAST_EXPECT(a[jss::blob] == blob2);
BEAST_EXPECT(a[jss::manifest] == manifest1);
BEAST_EXPECT(a[jss::version] == version);
BEAST_EXPECT(a[jss::signature] == sig2);
}
// do not re-apply lists with past or current sequence numbers
BEAST_EXPECT(
ListDisposition::stale ==