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.