3#include <xrpld/app/main/Application.h>
4#include <xrpld/rpc/Context.h>
6#include <xrpl/basics/base64.h>
7#include <xrpl/json/json_value.h>
8#include <xrpl/protocol/ErrorCodes.h>
9#include <xrpl/protocol/PublicKey.h>
10#include <xrpl/protocol/jss.h>
11#include <xrpl/protocol/tokens.h>
17 auto& params = context.
params;
19 if (!params.isMember(jss::public_key))
22 auto const requested = params[jss::public_key].asString();
25 ret[jss::requested] = requested;
53 details[jss::seq] = *seq;
56 details[jss::domain] = *domain;
58 ret[jss::details] = details;
std::optional< PublicKey > getSigningKey(PublicKey const &pk) const
Returns master key's current signing key.
std::optional< std::string > getDomain(PublicKey const &pk) const
Returns domain claimed by a given public key.
PublicKey getMasterKey(PublicKey const &pk) const
Returns ephemeral signing key's master public key.
std::optional< std::string > getManifest(PublicKey const &pk) const
Returns manifest corresponding to a given public key.
std::optional< std::uint32_t > getSequence(PublicKey const &pk) const
Returns master key's current manifest sequence.
virtual ManifestCache & getValidatorManifests()=0
void injectError(ErrorCodeI code, json::Value &json)
Add or update the json update to reflect the error code.
json::Value missingFieldError(std::string const &name)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
json::Value doManifest(RPC::JsonContext &)
std::optional< AccountID > parseBase58(std::string const &s)
Parse AccountID from checked, base58 string.
std::string toBase58(AccountID const &v)
Convert AccountID to base58 checked string.
std::string base64Encode(std::uint8_t const *data, std::size_t len)