Dash Core  0.12.2.1
P2P Digital Currency
server.h
Go to the documentation of this file.
1 // Copyright (c) 2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2015 The Bitcoin Core developers
3 // Distributed under the MIT software license, see the accompanying
4 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 
6 #ifndef BITCOIN_RPCSERVER_H
7 #define BITCOIN_RPCSERVER_H
8 
9 #include "amount.h"
10 #include "rpc/protocol.h"
11 #include "uint256.h"
12 
13 #include <list>
14 #include <map>
15 #include <stdint.h>
16 #include <string>
17 
18 #include <boost/function.hpp>
19 
20 #include <univalue.h>
21 
22 class CRPCCommand;
23 
24 namespace RPCServer
25 {
26  void OnStarted(boost::function<void ()> slot);
27  void OnStopped(boost::function<void ()> slot);
28  void OnPreCommand(boost::function<void (const CRPCCommand&)> slot);
29  void OnPostCommand(boost::function<void (const CRPCCommand&)> slot);
30 }
31 
32 class CBlockIndex;
33 class CNetAddr;
34 
36 {
37 public:
39  std::string strMethod;
41 
43  void parse(const UniValue& valRequest);
44 };
45 
47 bool IsRPCRunning();
48 
53 void SetRPCWarmupStatus(const std::string& newStatus);
54 /* Mark warmup as done. RPC calls will be processed from now on. */
56 
57 /* returns the current warmup state. */
58 bool RPCIsInWarmup(std::string *statusOut);
59 
65 void RPCTypeCheck(const UniValue& params,
66  const std::list<UniValue::VType>& typesExpected, bool fAllowNull=false);
67 
68 /*
69  Check for expected keys/value types in an Object.
70  Use like: RPCTypeCheckObj(object, boost::assign::map_list_of("name", str_type)("value", int_type));
71 */
72 void RPCTypeCheckObj(const UniValue& o,
73  const std::map<std::string, UniValue::VType>& typesExpected, bool fAllowNull=false);
74 
80 {
81 public:
82  virtual ~RPCTimerBase() {}
83 };
84 
89 {
90 public:
91  virtual ~RPCTimerInterface() {}
93  virtual const char *Name() = 0;
100  virtual RPCTimerBase* NewTimer(boost::function<void(void)>& func, int64_t millis) = 0;
101 };
102 
107 
112 void RPCRunLater(const std::string& name, boost::function<void(void)> func, int64_t nSeconds);
113 
114 typedef UniValue(*rpcfn_type)(const UniValue& params, bool fHelp);
115 
117 {
118 public:
119  std::string category;
120  std::string name;
123 };
124 
129 {
130 private:
131  std::map<std::string, const CRPCCommand*> mapCommands;
132 public:
133  CRPCTable();
134  const CRPCCommand* operator[](const std::string& name) const;
135  std::string help(const std::string& name) const;
136 
144  UniValue execute(const std::string &method, const UniValue &params) const;
145 
150  std::vector<std::string> listCommands() const;
151 };
152 
153 extern const CRPCTable tableRPC;
154 
159 extern uint256 ParseHashV(const UniValue& v, std::string strName);
160 extern uint256 ParseHashO(const UniValue& o, std::string strKey);
161 extern std::vector<unsigned char> ParseHexV(const UniValue& v, std::string strName);
162 extern std::vector<unsigned char> ParseHexO(const UniValue& o, std::string strKey);
163 
164 extern int64_t nWalletUnlockTime;
165 extern CAmount AmountFromValue(const UniValue& value);
166 extern UniValue ValueFromAmount(const CAmount& amount);
167 extern double GetDifficulty(const CBlockIndex* blockindex = NULL);
168 extern std::string HelpRequiringPassphrase();
169 extern std::string HelpExampleCli(const std::string& methodname, const std::string& args);
170 extern std::string HelpExampleRpc(const std::string& methodname, const std::string& args);
171 
172 extern void EnsureWalletIsUnlocked();
173 
174 extern UniValue getconnectioncount(const UniValue& params, bool fHelp); // in rpc/net.cpp
175 extern UniValue getaddressmempool(const UniValue& params, bool fHelp);
176 extern UniValue getaddressutxos(const UniValue& params, bool fHelp);
177 extern UniValue getaddressdeltas(const UniValue& params, bool fHelp);
178 extern UniValue getaddresstxids(const UniValue& params, bool fHelp);
179 extern UniValue getaddressbalance(const UniValue& params, bool fHelp);
180 
181 extern UniValue getpeerinfo(const UniValue& params, bool fHelp);
182 extern UniValue ping(const UniValue& params, bool fHelp);
183 extern UniValue addnode(const UniValue& params, bool fHelp);
184 extern UniValue disconnectnode(const UniValue& params, bool fHelp);
185 extern UniValue getaddednodeinfo(const UniValue& params, bool fHelp);
186 extern UniValue getnettotals(const UniValue& params, bool fHelp);
187 extern UniValue setban(const UniValue& params, bool fHelp);
188 extern UniValue listbanned(const UniValue& params, bool fHelp);
189 extern UniValue clearbanned(const UniValue& params, bool fHelp);
190 extern UniValue setnetworkactive(const UniValue& params, bool fHelp);
191 
192 extern UniValue dumpprivkey(const UniValue& params, bool fHelp); // in rpcdump.cpp
193 extern UniValue importprivkey(const UniValue& params, bool fHelp);
194 extern UniValue importaddress(const UniValue& params, bool fHelp);
195 extern UniValue importpubkey(const UniValue& params, bool fHelp);
196 extern UniValue dumphdinfo(const UniValue& params, bool fHelp);
197 extern UniValue dumpwallet(const UniValue& params, bool fHelp);
198 extern UniValue importwallet(const UniValue& params, bool fHelp);
199 extern UniValue importelectrumwallet(const UniValue& params, bool fHelp);
200 
201 extern UniValue getgenerate(const UniValue& params, bool fHelp); // in rpc/mining.cpp
202 extern UniValue setgenerate(const UniValue& params, bool fHelp);
203 extern UniValue generate(const UniValue& params, bool fHelp);
204 extern UniValue getnetworkhashps(const UniValue& params, bool fHelp);
205 extern UniValue getmininginfo(const UniValue& params, bool fHelp);
206 extern UniValue prioritisetransaction(const UniValue& params, bool fHelp);
207 extern UniValue getblocktemplate(const UniValue& params, bool fHelp);
208 extern UniValue submitblock(const UniValue& params, bool fHelp);
209 extern UniValue estimatefee(const UniValue& params, bool fHelp);
210 extern UniValue estimatepriority(const UniValue& params, bool fHelp);
211 extern UniValue estimatesmartfee(const UniValue& params, bool fHelp);
212 extern UniValue estimatesmartpriority(const UniValue& params, bool fHelp);
213 
214 extern UniValue instantsendtoaddress(const UniValue& params, bool fHelp);
215 extern UniValue keepass(const UniValue& params, bool fHelp);
216 extern UniValue getnewaddress(const UniValue& params, bool fHelp); // in rpcwallet.cpp
217 extern UniValue getaccountaddress(const UniValue& params, bool fHelp);
218 extern UniValue getrawchangeaddress(const UniValue& params, bool fHelp);
219 extern UniValue setaccount(const UniValue& params, bool fHelp);
220 extern UniValue getaccount(const UniValue& params, bool fHelp);
221 extern UniValue getaddressesbyaccount(const UniValue& params, bool fHelp);
222 extern UniValue sendtoaddress(const UniValue& params, bool fHelp);
223 extern UniValue signmessage(const UniValue& params, bool fHelp);
224 extern UniValue verifymessage(const UniValue& params, bool fHelp);
225 extern UniValue getreceivedbyaddress(const UniValue& params, bool fHelp);
226 extern UniValue getreceivedbyaccount(const UniValue& params, bool fHelp);
227 extern UniValue getbalance(const UniValue& params, bool fHelp);
228 extern UniValue getunconfirmedbalance(const UniValue& params, bool fHelp);
229 extern UniValue movecmd(const UniValue& params, bool fHelp);
230 extern UniValue sendfrom(const UniValue& params, bool fHelp);
231 extern UniValue sendmany(const UniValue& params, bool fHelp);
232 extern UniValue addmultisigaddress(const UniValue& params, bool fHelp);
233 extern UniValue createmultisig(const UniValue& params, bool fHelp);
234 extern UniValue listreceivedbyaddress(const UniValue& params, bool fHelp);
235 extern UniValue listreceivedbyaccount(const UniValue& params, bool fHelp);
236 extern UniValue listtransactions(const UniValue& params, bool fHelp);
237 extern UniValue listaddressgroupings(const UniValue& params, bool fHelp);
238 extern UniValue listaccounts(const UniValue& params, bool fHelp);
239 extern UniValue listsinceblock(const UniValue& params, bool fHelp);
240 extern UniValue gettransaction(const UniValue& params, bool fHelp);
241 extern UniValue abandontransaction(const UniValue& params, bool fHelp);
242 extern UniValue backupwallet(const UniValue& params, bool fHelp);
243 extern UniValue keypoolrefill(const UniValue& params, bool fHelp);
244 extern UniValue walletpassphrase(const UniValue& params, bool fHelp);
245 extern UniValue walletpassphrasechange(const UniValue& params, bool fHelp);
246 extern UniValue walletlock(const UniValue& params, bool fHelp);
247 extern UniValue encryptwallet(const UniValue& params, bool fHelp);
248 extern UniValue validateaddress(const UniValue& params, bool fHelp);
249 extern UniValue getinfo(const UniValue& params, bool fHelp);
250 extern UniValue debug(const UniValue& params, bool fHelp);
251 extern UniValue getwalletinfo(const UniValue& params, bool fHelp);
252 extern UniValue getblockchaininfo(const UniValue& params, bool fHelp);
253 extern UniValue getnetworkinfo(const UniValue& params, bool fHelp);
254 extern UniValue setmocktime(const UniValue& params, bool fHelp);
255 extern UniValue resendwallettransactions(const UniValue& params, bool fHelp);
256 
257 extern UniValue getrawtransaction(const UniValue& params, bool fHelp); // in rpc/rawtransaction.cpp
258 extern UniValue listunspent(const UniValue& params, bool fHelp);
259 extern UniValue lockunspent(const UniValue& params, bool fHelp);
260 extern UniValue listlockunspent(const UniValue& params, bool fHelp);
261 extern UniValue createrawtransaction(const UniValue& params, bool fHelp);
262 extern UniValue decoderawtransaction(const UniValue& params, bool fHelp);
263 extern UniValue decodescript(const UniValue& params, bool fHelp);
264 extern UniValue fundrawtransaction(const UniValue& params, bool fHelp);
265 extern UniValue signrawtransaction(const UniValue& params, bool fHelp);
266 extern UniValue sendrawtransaction(const UniValue& params, bool fHelp);
267 extern UniValue gettxoutproof(const UniValue& params, bool fHelp);
268 extern UniValue verifytxoutproof(const UniValue& params, bool fHelp);
269 
270 extern UniValue privatesend(const UniValue& params, bool fHelp);
271 extern UniValue getpoolinfo(const UniValue& params, bool fHelp);
272 extern UniValue spork(const UniValue& params, bool fHelp);
273 extern UniValue masternode(const UniValue& params, bool fHelp);
274 extern UniValue masternodelist(const UniValue& params, bool fHelp);
275 extern UniValue masternodebroadcast(const UniValue& params, bool fHelp);
276 extern UniValue gobject(const UniValue& params, bool fHelp);
277 extern UniValue getgovernanceinfo(const UniValue& params, bool fHelp);
278 extern UniValue getsuperblockbudget(const UniValue& params, bool fHelp);
279 extern UniValue voteraw(const UniValue& params, bool fHelp);
280 extern UniValue mnsync(const UniValue& params, bool fHelp);
281 
282 extern UniValue getblockcount(const UniValue& params, bool fHelp); // in rpc/blockchain.cpp
283 extern UniValue getbestblockhash(const UniValue& params, bool fHelp);
284 extern UniValue getdifficulty(const UniValue& params, bool fHelp);
285 extern UniValue settxfee(const UniValue& params, bool fHelp);
286 extern UniValue getmempoolinfo(const UniValue& params, bool fHelp);
287 extern UniValue getrawmempool(const UniValue& params, bool fHelp);
288 extern UniValue getblockhashes(const UniValue& params, bool fHelp);
289 extern UniValue getblockhash(const UniValue& params, bool fHelp);
290 extern UniValue getblockheader(const UniValue& params, bool fHelp);
291 extern UniValue getblockheaders(const UniValue& params, bool fHelp);
292 extern UniValue getblock(const UniValue& params, bool fHelp);
293 extern UniValue gettxoutsetinfo(const UniValue& params, bool fHelp);
294 extern UniValue gettxout(const UniValue& params, bool fHelp);
295 extern UniValue verifychain(const UniValue& params, bool fHelp);
296 extern UniValue getchaintips(const UniValue& params, bool fHelp);
297 extern UniValue invalidateblock(const UniValue& params, bool fHelp);
298 extern UniValue reconsiderblock(const UniValue& params, bool fHelp);
299 extern UniValue getspentinfo(const UniValue& params, bool fHelp);
300 extern UniValue sentinelping(const UniValue& params, bool fHelp);
301 
302 bool StartRPC();
303 void InterruptRPC();
304 void StopRPC();
305 std::string JSONRPCExecBatch(const UniValue& vReq);
306 
307 #endif // BITCOIN_RPCSERVER_H
UniValue importprivkey(const UniValue &params, bool fHelp)
Definition: rpcdump.cpp:76
UniValue abandontransaction(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1902
UniValue getrawchangeaddress(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:224
UniValue addmultisigaddress(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1151
UniValue listreceivedbyaccount(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1380
UniValue resendwallettransactions(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2505
UniValue walletpassphrase(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2007
const CRPCCommand * operator[](const std::string &name) const
Definition: server.cpp:422
bool StartRPC()
Definition: server.cpp:430
UniValue dumpwallet(const UniValue &params, bool fHelp)
Definition: rpcdump.cpp:629
UniValue getaddressesbyaccount(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:337
UniValue getrawtransaction(const UniValue &params, bool fHelp)
std::string JSONRPCExecBatch(const UniValue &vReq)
Definition: server.cpp:532
bool IsRPCRunning()
Definition: server.cpp:452
UniValue getunconfirmedbalance(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:869
uint256 ParseHashV(const UniValue &v, std::string strName)
UniValue importelectrumwallet(const UniValue &params, bool fHelp)
Definition: rpcdump.cpp:412
UniValue importpubkey(const UniValue &params, bool fHelp)
Definition: rpcdump.cpp:247
UniValue keypoolrefill(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1963
UniValue estimatefee(const UniValue &params, bool fHelp)
Definition: mining.cpp:811
std::vector< unsigned char > ParseHexO(const UniValue &o, std::string strKey)
virtual const char * Name()=0
UniValue listbanned(const UniValue &params, bool fHelp)
Definition: net.cpp:529
std::string name
Definition: server.h:120
UniValue getaddressbalance(const UniValue &params, bool fHelp)
Definition: misc.cpp:809
void OnPreCommand(boost::function< void(const CRPCCommand &)> slot)
Definition: server.cpp:60
UniValue id
Definition: server.h:38
UniValue generate(const UniValue &params, bool fHelp)
Definition: mining.cpp:122
UniValue invalidateblock(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:983
void SetRPCWarmupFinished()
Definition: server.cpp:463
UniValue validateaddress(const UniValue &params, bool fHelp)
Definition: misc.cpp:270
UniValue addnode(const UniValue &params, bool fHelp)
Definition: net.cpp:189
UniValue settxfee(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2349
UniValue getreceivedbyaccount(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:701
UniValue getaddressdeltas(const UniValue &params, bool fHelp)
Definition: misc.cpp:721
virtual RPCTimerBase * NewTimer(boost::function< void(void)> &func, int64_t millis)=0
UniValue masternodelist(const UniValue &params, bool fHelp)
Definition: masternode.cpp:454
UniValue masternode(const UniValue &params, bool fHelp)
Definition: masternode.cpp:96
UniValue dumpprivkey(const UniValue &params, bool fHelp)
Definition: rpcdump.cpp:546
UniValue verifychain(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:671
UniValue getbalance(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:792
UniValue getconnectioncount(const UniValue &params, bool fHelp)
Definition: net.cpp:28
UniValue listaccounts(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1645
UniValue spork(const UniValue &params, bool fHelp)
Definition: misc.cpp:225
UniValue getnetworkinfo(const UniValue &params, bool fHelp)
Definition: net.cpp:392
UniValue getnettotals(const UniValue &params, bool fHelp)
Definition: net.cpp:326
UniValue gettxout(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:591
JSONRequest()
Definition: server.h:42
UniValue disconnectnode(const UniValue &params, bool fHelp)
Definition: net.cpp:234
UniValue getreceivedbyaddress(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:641
UniValue estimatepriority(const UniValue &params, bool fHelp)
Definition: mining.cpp:842
UniValue verifymessage(const UniValue &params, bool fHelp)
Definition: misc.cpp:444
UniValue listtransactions(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1518
UniValue getaccount(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:305
UniValue sendmany(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1024
UniValue getaddresstxids(const UniValue &params, bool fHelp)
Definition: misc.cpp:865
UniValue voteraw(const UniValue &params, bool fHelp)
Definition: governance.cpp:836
UniValue getblockheader(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:336
UniValue sentinelping(const UniValue &params, bool fHelp)
Definition: masternode.cpp:836
UniValue sendfrom(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:958
std::map< std::string, const CRPCCommand * > mapCommands
Definition: server.h:131
UniValue backupwallet(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1937
UniValue listunspent(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2533
UniValue createrawtransaction(const UniValue &params, bool fHelp)
UniValue signmessage(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:585
UniValue privatesend(const UniValue &params, bool fHelp)
Definition: masternode.cpp:25
UniValue getnetworkhashps(const UniValue &params, bool fHelp)
Definition: mining.cpp:81
UniValue getaccountaddress(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:192
UniValue sendtoaddress(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:409
double GetDifficulty(const CBlockIndex *blockindex=NULL)
Definition: blockchain.cpp:32
std::string HelpExampleRpc(const std::string &methodname, const std::string &args)
Definition: server.cpp:586
virtual ~RPCTimerBase()
Definition: server.h:82
UniValue fundrawtransaction(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2651
UniValue estimatesmartpriority(const UniValue &params, bool fHelp)
Definition: mining.cpp:905
int64_t CAmount
Definition: amount.h:14
CAmount AmountFromValue(const UniValue &value)
Definition: server.cpp:110
void RPCTypeCheck(const UniValue &params, const std::list< UniValue::VType > &typesExpected, bool fAllowNull=false)
UniValue getnewaddress(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:113
std::string HelpExampleCli(const std::string &methodname, const std::string &args)
Definition: server.cpp:581
std::vector< unsigned char > ParseHexV(const UniValue &v, std::string strName)
UniValue setaccount(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:259
UniValue getbestblockhash(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:148
UniValue createmultisig(const UniValue &params, bool fHelp)
Definition: misc.cpp:401
UniValue keepass(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2455
const char * name
Definition: rest.cpp:37
rpcfn_type actor
Definition: server.h:121
void OnStarted(boost::function< void()> slot)
Definition: server.cpp:50
UniValue getwalletinfo(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2376
UniValue listlockunspent(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2300
UniValue getblockhashes(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:277
UniValue setban(const UniValue &params, bool fHelp)
Definition: net.cpp:465
int64_t nWalletUnlockTime
Definition: rpcwallet.cpp:32
UniValue listsinceblock(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1726
UniValue ping(const UniValue &params, bool fHelp)
Definition: net.cpp:47
UniValue verifytxoutproof(const UniValue &params, bool fHelp)
UniValue encryptwallet(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2159
UniValue getdifficulty(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:165
UniValue getblockcount(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:131
virtual ~RPCTimerInterface()
Definition: server.h:91
UniValue walletpassphrasechange(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2074
UniValue listaddressgroupings(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:534
UniValue importaddress(const UniValue &params, bool fHelp)
Definition: rpcdump.cpp:181
UniValue lockunspent(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2216
std::string HelpRequiringPassphrase()
Definition: rpcwallet.cpp:35
UniValue getpeerinfo(const UniValue &params, bool fHelp)
Definition: net.cpp:70
UniValue getblockchaininfo(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:743
UniValue clearbanned(const UniValue &params, bool fHelp)
Definition: net.cpp:562
void RPCRegisterTimerInterface(RPCTimerInterface *iface)
Definition: server.cpp:592
void RPCTypeCheckObj(const UniValue &o, const std::map< std::string, UniValue::VType > &typesExpected, bool fAllowNull=false)
UniValue submitblock(const UniValue &params, bool fHelp)
Definition: mining.cpp:755
UniValue getaddednodeinfo(const UniValue &params, bool fHelp)
Definition: net.cpp:257
UniValue gobject(const UniValue &params, bool fHelp)
Definition: governance.cpp:25
UniValue decodescript(const UniValue &params, bool fHelp)
UniValue decoderawtransaction(const UniValue &params, bool fHelp)
const CRPCTable tableRPC
Definition: server.cpp:614
UniValue getblocktemplate(const UniValue &params, bool fHelp)
Definition: mining.cpp:337
UniValue dumphdinfo(const UniValue &params, bool fHelp)
Definition: rpcdump.cpp:583
UniValue prioritisetransaction(const UniValue &params, bool fHelp)
Definition: mining.cpp:279
UniValue setgenerate(const UniValue &params, bool fHelp)
Definition: mining.cpp:191
UniValue(* rpcfn_type)(const UniValue &params, bool fHelp)
Definition: server.h:114
UniValue instantsendtoaddress(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:476
void RPCRunLater(const std::string &name, boost::function< void(void)> func, int64_t nSeconds)
Definition: server.cpp:604
UniValue importwallet(const UniValue &params, bool fHelp)
Definition: rpcdump.cpp:305
UniValue setmocktime(const UniValue &params, bool fHelp)
Definition: misc.cpp:498
UniValue mnsync(const UniValue &params, bool fHelp)
Definition: misc.cpp:143
UniValue getpoolinfo(const UniValue &params, bool fHelp)
Definition: masternode.cpp:65
UniValue getspentinfo(const UniValue &params, bool fHelp)
Definition: misc.cpp:948
UniValue getchaintips(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:837
UniValue getaddressutxos(const UniValue &params, bool fHelp)
Definition: misc.cpp:654
UniValue signrawtransaction(const UniValue &params, bool fHelp)
std::string category
Definition: server.h:119
UniValue getblockhash(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:311
uint256 ParseHashO(const UniValue &o, std::string strKey)
UniValue estimatesmartfee(const UniValue &params, bool fHelp)
Definition: mining.cpp:869
UniValue ValueFromAmount(const CAmount &amount)
Definition: server.cpp:122
UniValue movecmd(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:885
UniValue getgovernanceinfo(const UniValue &params, bool fHelp)
Definition: governance.cpp:897
void StopRPC()
Definition: server.cpp:445
UniValue masternodebroadcast(const UniValue &params, bool fHelp)
Definition: masternode.cpp:607
void InterruptRPC()
Definition: server.cpp:438
bool RPCIsInWarmup(std::string *statusOut)
Definition: server.cpp:470
UniValue sendrawtransaction(const UniValue &params, bool fHelp)
const UniValue NullUniValue
Definition: univalue.cpp:78
UniValue setnetworkactive(const UniValue &params, bool fHelp)
Definition: net.cpp:580
void parse(const UniValue &valRequest)
Definition: server.cpp:478
UniValue getmempoolinfo(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:961
std::string help(const std::string &name) const
Definition: server.cpp:165
void RPCUnregisterTimerInterface(RPCTimerInterface *iface)
Definition: server.cpp:597
UniValue listreceivedbyaddress(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1339
bool okSafeMode
Definition: server.h:122
UniValue gettxoutproof(const UniValue &params, bool fHelp)
CRPCTable()
Definition: server.cpp:410
UniValue debug(const UniValue &params, bool fHelp)
Definition: misc.cpp:119
void OnStopped(boost::function< void()> slot)
Definition: server.cpp:55
UniValue getinfo(const UniValue &params, bool fHelp)
Definition: misc.cpp:47
UniValue gettxoutsetinfo(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:553
UniValue params
Definition: server.h:40
void SetRPCWarmupStatus(const std::string &newStatus)
Definition: server.cpp:457
UniValue execute(const std::string &method, const UniValue &params) const
Definition: server.cpp:541
std::string strMethod
Definition: server.h:39
UniValue getrawmempool(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:234
void OnPostCommand(boost::function< void(const CRPCCommand &)> slot)
Definition: server.cpp:65
std::vector< std::string > listCommands() const
Definition: server.cpp:570
UniValue getmininginfo(const UniValue &params, bool fHelp)
Definition: mining.cpp:235
UniValue getblockheaders(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:394
UniValue gettransaction(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:1821
UniValue reconsiderblock(const UniValue &params, bool fHelp)
UniValue walletlock(const UniValue &params, bool fHelp)
Definition: rpcwallet.cpp:2120
UniValue getsuperblockbudget(const UniValue &params, bool fHelp)
Definition: governance.cpp:955
UniValue getblock(const UniValue &params, bool fHelp)
Definition: blockchain.cpp:483
UniValue getgenerate(const UniValue &params, bool fHelp)
Definition: mining.cpp:103
void EnsureWalletIsUnlocked()
Definition: rpcwallet.cpp:54
UniValue getaddressmempool(const UniValue &params, bool fHelp)
Definition: misc.cpp:583