diff options
Diffstat (limited to 'src/rpcserver.cpp')
-rw-r--r-- | src/rpcserver.cpp | 107 |
1 files changed, 58 insertions, 49 deletions
diff --git a/src/rpcserver.cpp b/src/rpcserver.cpp index 2c0cdd345f..d771a42427 100644 --- a/src/rpcserver.cpp +++ b/src/rpcserver.cpp @@ -222,86 +222,95 @@ Value stop(const Array& params, bool fHelp) static const CRPCCommand vRPCCommands[] = { // name actor (function) okSafeMode threadSafe reqWallet // ------------------------ ----------------------- ---------- ---------- --------- + /* Overall control/query calls */ + { "getinfo", &getinfo, true, false, false }, /* uses wallet if enabled */ { "help", &help, true, true, false }, { "stop", &stop, true, true, false }, - { "getblockcount", &getblockcount, true, false, false }, - { "getbestblockhash", &getbestblockhash, true, false, false }, - { "getconnectioncount", &getconnectioncount, true, false, false }, - { "getpeerinfo", &getpeerinfo, true, false, false }, - { "ping", &ping, true, false, false }, + + /* P2P networking */ { "addnode", &addnode, true, true, false }, { "getaddednodeinfo", &getaddednodeinfo, true, true, false }, + { "getconnectioncount", &getconnectioncount, true, false, false }, { "getnettotals", &getnettotals, true, true, false }, - { "getdifficulty", &getdifficulty, true, false, false }, - { "getinfo", &getinfo, true, false, false }, - { "getrawmempool", &getrawmempool, true, false, false }, + { "getpeerinfo", &getpeerinfo, true, false, false }, + { "ping", &ping, true, false, false }, + + /* Block chain and UTXO */ + { "getbestblockhash", &getbestblockhash, true, false, false }, + { "getblockcount", &getblockcount, true, false, false }, { "getblock", &getblock, false, false, false }, { "getblockhash", &getblockhash, false, false, false }, - { "getrawtransaction", &getrawtransaction, false, false, false }, - { "createrawtransaction", &createrawtransaction, false, false, false }, - { "decoderawtransaction", &decoderawtransaction, false, false, false }, - { "decodescript", &decodescript, false, false, false }, - { "signrawtransaction", &signrawtransaction, false, false, false }, - { "sendrawtransaction", &sendrawtransaction, false, false, false }, - { "gettxoutsetinfo", &gettxoutsetinfo, true, false, false }, + { "getdifficulty", &getdifficulty, true, false, false }, + { "getrawmempool", &getrawmempool, true, false, false }, { "gettxout", &gettxout, true, false, false }, + { "gettxoutsetinfo", &gettxoutsetinfo, true, false, false }, { "verifychain", &verifychain, true, false, false }, /* Mining */ - { "getnetworkhashps", &getnetworkhashps, true, false, false }, - { "getmininginfo", &getmininginfo, true, false, false }, { "getblocktemplate", &getblocktemplate, true, false, false }, + { "getmininginfo", &getmininginfo, true, false, false }, + { "getnetworkhashps", &getnetworkhashps, true, false, false }, { "submitblock", &submitblock, false, false, false }, - { "validateaddress", &validateaddress, true, false, false }, + + /* Raw transactions */ + { "createrawtransaction", &createrawtransaction, false, false, false }, + { "decoderawtransaction", &decoderawtransaction, false, false, false }, + { "decodescript", &decodescript, false, false, false }, + { "getrawtransaction", &getrawtransaction, false, false, false }, + { "sendrawtransaction", &sendrawtransaction, false, false, false }, + { "signrawtransaction", &signrawtransaction, false, false, false }, /* uses wallet if enabled */ + + /* Utility functions */ { "createmultisig", &createmultisig, true, true , false }, + { "validateaddress", &validateaddress, true, false, false }, /* uses wallet if enabled */ { "verifymessage", &verifymessage, false, false, false }, #ifdef ENABLE_WALLET /* Wallet */ - { "getnewaddress", &getnewaddress, true, false, true }, + { "addmultisigaddress", &addmultisigaddress, false, false, true }, + { "backupwallet", &backupwallet, true, false, true }, + { "dumpprivkey", &dumpprivkey, true, false, true }, + { "dumpwallet", &dumpwallet, true, false, true }, + { "encryptwallet", &encryptwallet, false, false, true }, { "getaccountaddress", &getaccountaddress, true, false, true }, - { "getrawchangeaddress", &getrawchangeaddress, true, false, true }, - { "setaccount", &setaccount, true, false, true }, { "getaccount", &getaccount, false, false, true }, { "getaddressesbyaccount", &getaddressesbyaccount, true, false, true }, - { "sendtoaddress", &sendtoaddress, false, false, true }, - { "getreceivedbyaddress", &getreceivedbyaddress, false, false, true }, - { "getreceivedbyaccount", &getreceivedbyaccount, false, false, true }, - { "listreceivedbyaddress", &listreceivedbyaddress, false, false, true }, - { "listreceivedbyaccount", &listreceivedbyaccount, false, false, true }, - { "backupwallet", &backupwallet, true, false, true }, - { "keypoolrefill", &keypoolrefill, true, false, true }, - { "walletpassphrase", &walletpassphrase, true, false, true }, - { "walletpassphrasechange", &walletpassphrasechange, false, false, true }, - { "walletlock", &walletlock, true, false, true }, - { "encryptwallet", &encryptwallet, false, false, true }, { "getbalance", &getbalance, false, false, true }, - { "getunconfirmedbalance", &getunconfirmedbalance, false, false, true }, - { "move", &movecmd, false, false, true }, - { "sendfrom", &sendfrom, false, false, true }, - { "sendmany", &sendmany, false, false, true }, - { "addmultisigaddress", &addmultisigaddress, false, false, true }, + { "getnewaddress", &getnewaddress, true, false, true }, + { "getrawchangeaddress", &getrawchangeaddress, true, false, true }, + { "getreceivedbyaccount", &getreceivedbyaccount, false, false, true }, + { "getreceivedbyaddress", &getreceivedbyaddress, false, false, true }, { "gettransaction", &gettransaction, false, false, true }, - { "listtransactions", &listtransactions, false, false, true }, - { "listaddressgroupings", &listaddressgroupings, false, false, true }, - { "signmessage", &signmessage, false, false, true }, - { "listaccounts", &listaccounts, false, false, true }, - { "listsinceblock", &listsinceblock, false, false, true }, - { "dumpprivkey", &dumpprivkey, true, false, true }, - { "dumpwallet", &dumpwallet, true, false, true }, + { "getunconfirmedbalance", &getunconfirmedbalance, false, false, true }, + { "getwalletinfo", &getwalletinfo, true, false, true }, { "importprivkey", &importprivkey, false, false, true }, { "importwallet", &importwallet, false, false, true }, + { "keypoolrefill", &keypoolrefill, true, false, true }, + { "listaccounts", &listaccounts, false, false, true }, + { "listaddressgroupings", &listaddressgroupings, false, false, true }, + { "listlockunspent", &listlockunspent, false, false, true }, + { "listreceivedbyaccount", &listreceivedbyaccount, false, false, true }, + { "listreceivedbyaddress", &listreceivedbyaddress, false, false, true }, + { "listsinceblock", &listsinceblock, false, false, true }, + { "listtransactions", &listtransactions, false, false, true }, { "listunspent", &listunspent, false, false, true }, { "lockunspent", &lockunspent, false, false, true }, - { "listlockunspent", &listlockunspent, false, false, true }, + { "move", &movecmd, false, false, true }, + { "sendfrom", &sendfrom, false, false, true }, + { "sendmany", &sendmany, false, false, true }, + { "sendtoaddress", &sendtoaddress, false, false, true }, + { "setaccount", &setaccount, true, false, true }, { "settxfee", &settxfee, false, false, true }, - { "getwalletinfo", &getwalletinfo, true, false, true }, + { "signmessage", &signmessage, false, false, true }, + { "walletlock", &walletlock, true, false, true }, + { "walletpassphrasechange", &walletpassphrasechange, false, false, true }, + { "walletpassphrase", &walletpassphrase, true, false, true }, /* Wallet-enabled mining */ { "getgenerate", &getgenerate, true, false, false }, - { "setgenerate", &setgenerate, true, true, false }, { "gethashespersec", &gethashespersec, true, false, false }, - { "getwork", &getwork, true, false, true }, + { "getwork", &getwork, true, false, true }, + { "setgenerate", &setgenerate, true, true, false }, #endif // ENABLE_WALLET }; @@ -732,7 +741,7 @@ static string JSONRPCExecBatch(const Array& vReq) void ServiceConnection(AcceptedConnection *conn) { bool fRun = true; - while (fRun) + while (fRun && !ShutdownRequested()) { int nProto = 0; map<string, string> mapHeaders; |