Dash Core Source Documentation (0.16.0.1)

Find detailed information regarding the Dash Core source code.

server.h File Reference
#include <amount.h>
#include <rpc/protocol.h>
#include <uint256.h>
#include <list>
#include <map>
#include <stdint.h>
#include <string>
#include <univalue.h>
+ Include dependency graph for server.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UniValueType
 Wrapper for UniValue::VType, which includes typeAny: Used to denote don't care type. More...
 
class  JSONRPCRequest
 
class  RPCTimerBase
 Opaque base class for timers returned by NewTimerFunc. More...
 
class  RPCTimerInterface
 RPC timer "driver". More...
 
class  CRPCCommand
 
class  CRPCTable
 Dash RPC command dispatcher. More...
 

Namespaces

 RPCServer
 

Typedefs

typedef UniValue(* rpcfn_type) (const JSONRPCRequest &jsonRequest)
 

Functions

void RPCServer::OnStarted (std::function< void()> slot)
 
void RPCServer::OnStopped (std::function< void()> slot)
 
bool IsRPCRunning ()
 Query whether RPC is running. More...
 
void SetRPCWarmupStatus (const std::string &newStatus)
 Set the RPC warmup status. More...
 
void SetRPCWarmupFinished ()
 
bool RPCIsInWarmup (std::string *outStatus)
 
void RPCTypeCheck (const UniValue &params, const std::list< UniValue::VType > &typesExpected, bool fAllowNull=false)
 Type-check arguments; throws JSONRPCError if wrong type given. More...
 
void RPCTypeCheckArgument (const UniValue &value, UniValue::VType typeExpected)
 Type-check one argument; throws JSONRPCError if wrong type given. More...
 
void RPCTypeCheckObj (const UniValue &o, const std::map< std::string, UniValueType > &typesExpected, bool fAllowNull=false, bool fStrict=false)
 
void RPCSetTimerInterface (RPCTimerInterface *iface)
 Set the factory function for timers. More...
 
void RPCSetTimerInterfaceIfUnset (RPCTimerInterface *iface)
 Set the factory function for timer, but only, if unset. More...
 
void RPCUnsetTimerInterface (RPCTimerInterface *iface)
 Unset factory function for timers. More...
 
void RPCRunLater (const std::string &name, std::function< void(void)> func, int64_t nSeconds)
 Run func nSeconds from now. More...
 
bool IsDeprecatedRPCEnabled (const std::string &method)
 
uint256 ParseHashV (const UniValue &v, std::string strName)
 Utilities: convert hex-encoded Values (throws error if not hex). More...
 
uint256 ParseHashO (const UniValue &o, std::string strKey)
 
std::vector< unsigned char > ParseHexV (const UniValue &v, std::string strName)
 
std::vector< unsigned char > ParseHexO (const UniValue &o, std::string strKey)
 
int32_t ParseInt32V (const UniValue &v, const std::string &strName)
 
int64_t ParseInt64V (const UniValue &v, const std::string &strName)
 
double ParseDoubleV (const UniValue &v, const std::string &strName)
 
bool ParseBoolV (const UniValue &v, const std::string &strName)
 
CAmount AmountFromValue (const UniValue &value)
 
std::string HelpExampleCli (const std::string &methodname, const std::string &args)
 
std::string HelpExampleRpc (const std::string &methodname, const std::string &args)
 
bool StartRPC ()
 
void InterruptRPC ()
 
void StopRPC ()
 
std::string JSONRPCExecBatch (const JSONRPCRequest &jreq, const UniValue &vReq)
 

Variables

CRPCTable tableRPC
 

Typedef Documentation

◆ rpcfn_type

typedef UniValue(* rpcfn_type) (const JSONRPCRequest &jsonRequest)

Definition at line 126 of file server.h.

Function Documentation

◆ AmountFromValue()

CAmount AmountFromValue ( const UniValue value)

◆ HelpExampleCli()

std::string HelpExampleCli ( const std::string &  methodname,
const std::string &  args 
)

Definition at line 578 of file server.cpp.

Referenced by abandontransaction(), abortrescan(), addmultisigaddress(), addnode(), backupwallet(), bls_fromsecret_help(), bls_generate_help(), clearbanned(), combinerawtransaction(), createmultisig(), createrawtransaction(), debug(), decoderawtransaction(), decodescript(), disconnectnode(), dumphdinfo(), dumpprivkey(), dumpwallet(), encryptwallet(), estimatefee(), estimaterawfee(), estimatesmartfee(), fundrawtransaction(), getaccount(), getaccountaddress(), getaddednodeinfo(), getaddressbalance(), getaddressdeltas(), getaddressesbyaccount(), getaddressmempool(), getaddresstxids(), getaddressutxos(), getbalance(), getbestblockhash(), getbestchainlock(), getblock(), getblockchaininfo(), getblockcount(), getblockhash(), getblockhashes(), getblockheader(), getblockheaders(), getblockstats(), getblocktemplate(), getchaintips(), getchaintxstats(), getconnectioncount(), getdifficulty(), getgovernanceinfo(), getmemoryinfo(), getmempoolancestors(), getmempooldescendants(), getmempoolentry(), getmempoolinfo(), getmerkleblocks(), getmininginfo(), getnettotals(), getnetworkhashps(), getnetworkinfo(), getnewaddress(), getpeerinfo(), getprivatesendinfo(), getrawchangeaddress(), getrawmempool(), getrawtransaction(), getreceivedbyaccount(), getreceivedbyaddress(), getspecialtxes(), getspentinfo(), getsuperblockbudget(), gettransaction(), gettxout(), gettxoutproof(), gettxoutsetinfo(), getwalletinfo(), importaddress(), importelectrumwallet(), importmulti(), importprivkey(), importpubkey(), importwallet(), invalidateblock(), keypoolrefill(), listaccounts(), listaddressbalances(), listaddressgroupings(), listbanned(), listlockunspent(), listreceivedbyaccount(), listreceivedbyaddress(), listsinceblock(), listtransactions(), listunspent(), listwallets(), loadwallet(), lockunspent(), logging(), movecmd(), ping(), preciousblock(), prioritisetransaction(), protx_info_help(), pruneblockchain(), quorum_list_help(), reconsiderblock(), removeprunedfunds(), rescanblockchain(), savemempool(), sendfrom(), sendmany(), sendrawtransaction(), sendtoaddress(), setaccount(), setban(), setprivatesendamount(), setprivatesendrounds(), settxfee(), signmessage(), signmessagewithprivkey(), signrawtransaction(), spork(), submitblock(), uptime(), validateaddress(), verifychain(), verifymessage(), verifytxoutproof(), waitforblock(), waitforblockheight(), waitfornewblock(), walletlock(), walletpassphrase(), and walletpassphrasechange().

◆ HelpExampleRpc()

std::string HelpExampleRpc ( const std::string &  methodname,
const std::string &  args 
)

Definition at line 583 of file server.cpp.

References BaseParams(), gArgs, ArgsManager::GetArg(), and strprintf.

Referenced by abandontransaction(), abortrescan(), addmultisigaddress(), addnode(), backupwallet(), clearbanned(), createmultisig(), createrawtransaction(), debug(), decoderawtransaction(), decodescript(), disconnectnode(), dumphdinfo(), dumpprivkey(), dumpwallet(), encryptwallet(), getaccount(), getaccountaddress(), getaddednodeinfo(), getaddressbalance(), getaddressdeltas(), getaddressesbyaccount(), getaddressmempool(), getaddresstxids(), getaddressutxos(), getbalance(), getbestblockhash(), getbestchainlock(), getblock(), getblockchaininfo(), getblockcount(), getblockhash(), getblockhashes(), getblockheader(), getblockheaders(), getblockstats(), getblocktemplate(), getchaintips(), getchaintxstats(), getconnectioncount(), getdifficulty(), getgovernanceinfo(), getmemoryinfo(), getmempoolancestors(), getmempooldescendants(), getmempoolentry(), getmempoolinfo(), getmerkleblocks(), getmininginfo(), getnettotals(), getnetworkhashps(), getnetworkinfo(), getnewaddress(), getpeerinfo(), getprivatesendinfo(), getrawchangeaddress(), getrawmempool(), getrawtransaction(), getreceivedbyaccount(), getreceivedbyaddress(), getspecialtxes(), getspentinfo(), getsuperblockbudget(), gettransaction(), gettxout(), gettxoutproof(), gettxoutsetinfo(), getwalletinfo(), importaddress(), importelectrumwallet(), importprivkey(), importpubkey(), importwallet(), invalidateblock(), keypoolrefill(), listaccounts(), listaddressbalances(), listaddressgroupings(), listbanned(), listlockunspent(), listreceivedbyaccount(), listreceivedbyaddress(), listsinceblock(), listtransactions(), listunspent(), listwallets(), loadwallet(), lockunspent(), logging(), movecmd(), ping(), preciousblock(), prioritisetransaction(), pruneblockchain(), quorum_list_help(), reconsiderblock(), removeprunedfunds(), rescanblockchain(), savemempool(), sendfrom(), sendmany(), sendrawtransaction(), sendtoaddress(), setaccount(), setban(), setprivatesendamount(), setprivatesendrounds(), settxfee(), signmessage(), signmessagewithprivkey(), signrawtransaction(), spork(), submitblock(), uptime(), validateaddress(), verifychain(), verifymessage(), verifytxoutproof(), waitforblock(), waitforblockheight(), waitfornewblock(), walletlock(), walletpassphrase(), and walletpassphrasechange().

◆ InterruptRPC()

void InterruptRPC ( )

Definition at line 375 of file server.cpp.

References fRPCRunning, LogPrint, and BCLog::RPC.

Referenced by Interrupt().

◆ IsDeprecatedRPCEnabled()

bool IsDeprecatedRPCEnabled ( const std::string &  method)

Definition at line 447 of file server.cpp.

References gArgs, and ArgsManager::GetArgs().

Referenced by addmultisigaddress(), createmultisig(), estimatefee(), and getmininginfo().

◆ IsRPCRunning()

bool IsRPCRunning ( )

Query whether RPC is running.

Definition at line 390 of file server.cpp.

References fRPCRunning.

Referenced by CRPCTable::appendCommand(), getblocktemplate(), waitforblock(), waitforblockheight(), and waitfornewblock().

◆ JSONRPCExecBatch()

std::string JSONRPCExecBatch ( const JSONRPCRequest jreq,
const UniValue vReq 
)

◆ ParseBoolV()

bool ParseBoolV ( const UniValue v,
const std::string &  strName 
)

◆ ParseDoubleV()

double ParseDoubleV ( const UniValue v,
const std::string &  strName 
)

Definition at line 170 of file server.cpp.

References UniValue::getValStr(), JSONRPCError(), ParseDouble(), and RPC_INVALID_PARAMETER.

Referenced by quorum_dkgsimerror().

◆ ParseHashO()

uint256 ParseHashO ( const UniValue o,
std::string  strKey 
)

Definition at line 134 of file server.cpp.

References find_value(), and ParseHashV().

Referenced by createrawtransaction(), and signrawtransaction().

◆ ParseHashV()

◆ ParseHexO()

std::vector<unsigned char> ParseHexO ( const UniValue o,
std::string  strKey 
)

Definition at line 147 of file server.cpp.

References find_value(), and ParseHexV().

Referenced by signrawtransaction().

◆ ParseHexV()

std::vector<unsigned char> ParseHexV ( const UniValue v,
std::string  strName 
)

◆ ParseInt32V()

int32_t ParseInt32V ( const UniValue v,
const std::string &  strName 
)

◆ ParseInt64V()

int64_t ParseInt64V ( const UniValue v,
const std::string &  strName 
)

Definition at line 161 of file server.cpp.

References UniValue::getValStr(), JSONRPCError(), ParseInt64(), and RPC_INVALID_PARAMETER.

◆ RPCIsInWarmup()

bool RPCIsInWarmup ( std::string *  outStatus)

Definition at line 408 of file server.cpp.

References cs_rpcWarmup, fRPCInWarmup, LOCK, and rpcWarmupStatus().

Referenced by CheckWarmup(), and PrepareShutdown().

◆ RPCRunLater()

void RPCRunLater ( const std::string &  name,
std::function< void(void)>  func,
int64_t  nSeconds 
)

Run func nSeconds from now.

Overrides previous timer <name> (if any).

Definition at line 607 of file server.cpp.

References deadlineTimers, JSONRPCError(), LogPrint, name, RPCTimerInterface::Name(), RPCTimerInterface::NewTimer(), BCLog::RPC, RPC_INTERNAL_ERROR, and timerInterface.

Referenced by walletpassphrase().

◆ RPCSetTimerInterface()

void RPCSetTimerInterface ( RPCTimerInterface iface)

Set the factory function for timers.

Definition at line 596 of file server.cpp.

References timerInterface.

Referenced by StartHTTPRPC().

◆ RPCSetTimerInterfaceIfUnset()

void RPCSetTimerInterfaceIfUnset ( RPCTimerInterface iface)

Set the factory function for timer, but only, if unset.

Definition at line 590 of file server.cpp.

References timerInterface.

Referenced by RPCConsole::RPCConsole().

◆ RPCTypeCheck()

void RPCTypeCheck ( const UniValue params,
const std::list< UniValue::VType > &  typesExpected,
bool  fAllowNull = false 
)

Type-check arguments; throws JSONRPCError if wrong type given.

Does not check that the right number of arguments are passed, just that any passed are the correct type.

Definition at line 54 of file server.cpp.

References UniValue::isNull(), RPCTypeCheckArgument(), and UniValue::size().

Referenced by createrawtransaction(), decoderawtransaction(), decodescript(), estimatefee(), estimaterawfee(), estimatesmartfee(), fundrawtransaction(), importmulti(), sendrawtransaction(), setmocktime(), and signrawtransaction().

◆ RPCTypeCheckArgument()

void RPCTypeCheckArgument ( const UniValue value,
UniValue::VType  typeExpected 
)

Type-check one argument; throws JSONRPCError if wrong type given.

Definition at line 72 of file server.cpp.

References JSONRPCError(), RPC_TYPE_ERROR, strprintf, UniValue::type(), and uvTypeName().

Referenced by estimaterawfee(), estimatesmartfee(), listunspent(), lockunspent(), and RPCTypeCheck().

◆ RPCTypeCheckObj()

void RPCTypeCheckObj ( const UniValue o,
const std::map< std::string, UniValueType > &  typesExpected,
bool  fAllowNull = false,
bool  fStrict = false 
)

◆ RPCUnsetTimerInterface()

void RPCUnsetTimerInterface ( RPCTimerInterface iface)

Unset factory function for timers.

Definition at line 601 of file server.cpp.

References timerInterface.

Referenced by StopHTTPRPC(), and RPCConsole::~RPCConsole().

◆ SetRPCWarmupFinished()

void SetRPCWarmupFinished ( )

Definition at line 401 of file server.cpp.

References cs_rpcWarmup, fRPCInWarmup, and LOCK.

Referenced by AppInitMain().

◆ SetRPCWarmupStatus()

void SetRPCWarmupStatus ( const std::string &  newStatus)

Set the RPC warmup status.

When this is done, all RPC calls will error out immediately with RPC_IN_WARMUP.

Definition at line 395 of file server.cpp.

References cs_rpcWarmup, LOCK, and rpcWarmupStatus().

Referenced by AppInitMain().

◆ StartRPC()

bool StartRPC ( )

Definition at line 367 of file server.cpp.

References fRPCRunning, g_rpcSignals, LogPrint, BCLog::RPC, and CRPCSignals::Started.

Referenced by AppInitServers().

◆ StopRPC()

void StopRPC ( )

Variable Documentation

◆ tableRPC

Released under the MIT license