3#include <xrpld/core/Config.h>
4#include <xrpld/rpc/Role.h>
5#include <xrpld/rpc/detail/Tuning.h>
7#include <xrpl/server/LoadFeeTrack.h>
8#include <xrpl/server/NetworkOPs.h>
24 LoadFeeTrack
const& feeTrack,
26 Application
const& app,
27 json::Value
const& tx,
64 LoadFeeTrack
const& feeTrack,
66 Application
const& app);
Manages the current fee schedule.
Provides server functionality for clients.
virtual void processTransaction(std::shared_ptr< Transaction > &transaction, bool bUnlimited, bool bLocal, FailHard failType)=0
Process transactions as they arrive from the network or which are submitted by clients.
static constexpr int kDefaultAutoFillFeeDivisor
static constexpr int kDefaultAutoFillFeeMultiplier
API version numbers used in later API versions.
json::Value checkFee(json::Value &request, Role const role, bool doAutoFill, Config const &config, LoadFeeTrack const &feeTrack, TxQ const &txQ, Application const &app)
Fill in the fee on behalf of the client.
json::Value transactionSignFor(json::Value jvRequest, unsigned apiVersion, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &app)
Returns a json::ValueType::Object.
json::Value transactionSign(json::Value jvRequest, unsigned apiVersion, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &app)
Returns a json::ValueType::Object.
std::function< void( std::shared_ptr< Transaction > &transaction, bool bUnlimited, bool bLocal, NetworkOPs::FailHard failType)> ProcessTransactionFn
json::Value transactionSubmit(json::Value jvRequest, unsigned apiVersion, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &app, ProcessTransactionFn const &processTransaction)
Returns a json::ValueType::Object.
json::Value transactionSubmitMultiSigned(json::Value jvRequest, unsigned apiVersion, NetworkOPs::FailHard failType, Role role, std::chrono::seconds validatedLedgerAge, Application &app, ProcessTransactionFn const &processTransaction)
Returns a json::ValueType::Object.
json::Value getCurrentNetworkFee(Role const role, Config const &config, LoadFeeTrack const &feeTrack, TxQ const &txQ, Application const &app, json::Value const &tx, int mult, int div)
ProcessTransactionFn getProcessTxnFn(NetworkOPs &netOPs)
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Role
Indicates the level of administrative permission to grant.