1#ifndef XRPL_RPC_HANDLER_H_INCLUDED 
    2#define XRPL_RPC_HANDLER_H_INCLUDED 
    4#include <xrpld/app/ledger/LedgerMaster.h> 
    5#include <xrpld/app/misc/NetworkOPs.h> 
    6#include <xrpld/rpc/RPCHandler.h> 
    7#include <xrpld/rpc/Status.h> 
    8#include <xrpld/rpc/detail/Tuning.h> 
   10#include <xrpl/protocol/ApiVersion.h> 
   29    template <
class JsonValue>
 
 
   52    result[field] = value;
 
 
   64    if (context.app.getOPs().isAmendmentBlocked() &&
 
   70    if (context.app.getOPs().isUNLBlocked() &&
 
   79        JLOG(context.j.info()) << 
"Insufficient network mode for RPC: " 
   80                               << context.netOps.strOperatingMode();
 
   82        if (context.apiVersion == 1)
 
   87    if (!context.app.config().standalone() &&
 
   90        if (context.ledgerMaster.getValidatedLedgerAge() >
 
   93            if (context.apiVersion == 1)
 
   98        auto const cID = context.ledgerMaster.getCurrentLedgerIndex();
 
   99        auto const vID = context.ledgerMaster.getValidLedgerIndex();
 
  103            JLOG(context.j.debug())
 
  104                << 
"Current ledger ID(" << cID
 
  105                << 
") is less than validated ledger ID(" << vID << 
")";
 
  106            if (context.apiVersion == 1)
 
  113        !context.ledgerMaster.getClosedLedger())
 
  115        if (context.apiVersion == 1)
 
 
Lightweight wrapper to tag static string.
 
JSON (JavaScript Object Notation).
 
@ objectValue
object value (collection of name/value pairs).
 
auto constexpr maxValidatedLedgerAge
 
@ NEEDS_NETWORK_CONNECTION
 
std::set< char const * > getHandlerNames()
Return names of all methods.
 
Json::Value makeObjectValue(Value const &value, Json::StaticString const &field=jss::message)
Return a Json::objectValue with a single entry.
 
static constexpr auto apiMaximumValidVersion
 
Handler const * getHandler(unsigned version, bool betaEnabled, std::string const &name)
 
error_code_i conditionMet(Condition condition_required, T &context)
 
static constexpr auto apiMinimumSupportedVersion
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
@ rpcEXPIRED_VALIDATOR_LIST
 
@ SYNCING
fallen slightly behind
 
Role
Indicates the level of administrative permission to grant.
 
RPC::Condition condition_
 
Method< Json::Value > valueMethod_
 
Status represents the results of an operation that might fail.