Feathercoin  0.5.0
P2P Digital Currency
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
Classes | Typedefs | Enumerations | Functions | Variables
bitcoinrpc.h File Reference
#include <string>
#include <list>
#include <map>
#include "json/json_spirit_reader_template.h"
#include "json/json_spirit_writer_template.h"
#include "json/json_spirit_utils.h"
#include "util.h"
Include dependency graph for bitcoinrpc.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CRPCCommand
 
class  CRPCTable
 Bitcoin RPC command dispatcher. More...
 

Typedefs

typedef json_spirit::Value(* rpcfn_type )(const json_spirit::Array &params, bool fHelp)
 

Enumerations

enum  HTTPStatusCode {
  HTTP_OK = 200, HTTP_BAD_REQUEST = 400, HTTP_UNAUTHORIZED = 401, HTTP_FORBIDDEN = 403,
  HTTP_NOT_FOUND = 404, HTTP_INTERNAL_SERVER_ERROR = 500
}
 
enum  RPCErrorCode {
  RPC_INVALID_REQUEST = -32600, RPC_METHOD_NOT_FOUND = -32601, RPC_INVALID_PARAMS = -32602, RPC_INTERNAL_ERROR = -32603,
  RPC_PARSE_ERROR = -32700, RPC_MISC_ERROR = -1, RPC_FORBIDDEN_BY_SAFE_MODE = -2, RPC_TYPE_ERROR = -3,
  RPC_INVALID_ADDRESS_OR_KEY = -5, RPC_OUT_OF_MEMORY = -7, RPC_INVALID_PARAMETER = -8, RPC_DATABASE_ERROR = -20,
  RPC_DESERIALIZATION_ERROR = -22, RPC_CLIENT_NOT_CONNECTED = -9, RPC_CLIENT_IN_INITIAL_DOWNLOAD = -10, RPC_WALLET_ERROR = -4,
  RPC_WALLET_INSUFFICIENT_FUNDS = -6, RPC_WALLET_INVALID_ACCOUNT_NAME = -11, RPC_WALLET_KEYPOOL_RAN_OUT = -12, RPC_WALLET_UNLOCK_NEEDED = -13,
  RPC_WALLET_PASSPHRASE_INCORRECT = -14, RPC_WALLET_WRONG_ENC_STATE = -15, RPC_WALLET_ENCRYPTION_FAILED = -16, RPC_WALLET_ALREADY_UNLOCKED = -17
}
 

Functions

json_spirit::Object JSONRPCError (int code, const std::string &message)
 
void StartRPCThreads ()
 
void StopRPCThreads ()
 
int CommandLineRPC (int argc, char *argv[])
 
json_spirit::Array RPCConvertValues (const std::string &strMethod, const std::vector< std::string > &strParams)
 Convert parameter values for RPC call from strings to command-specific JSON objects. More...
 
void RPCTypeCheck (const json_spirit::Array &params, const std::list< json_spirit::Value_type > &typesExpected, bool fAllowNull=false)
 
void RPCTypeCheck (const json_spirit::Object &o, const std::map< std::string, json_spirit::Value_type > &typesExpected, bool fAllowNull=false)
 
void InitRPCMining ()
 
void ShutdownRPCMining ()
 
int64 AmountFromValue (const json_spirit::Value &value)
 
json_spirit::Value ValueFromAmount (int64 amount)
 
double GetDifficulty (const CBlockIndex *blockindex=NULL)
 
std::string HexBits (unsigned int nBits)
 
std::string HelpRequiringPassphrase ()
 
void EnsureWalletIsUnlocked ()
 
json_spirit::Value getconnectioncount (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getpeerinfo (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value addnode (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getaddednodeinfo (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getcheckpoint (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value sendcheckpoint (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value enforcecheckpoint (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value makekeypair (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value sendalert (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value dumpprivkey (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value importprivkey (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getgenerate (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value setgenerate (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getnetworkhashps (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value gethashespersec (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getmininginfo (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getworkex (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getwork (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getblocktemplate (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value submitblock (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getnewaddress (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getaccountaddress (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value setaccount (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getaccount (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getaddressesbyaccount (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value sendtoaddress (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value signmessage (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value verifymessage (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getreceivedbyaddress (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getreceivedbyaccount (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getbalance (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value movecmd (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value sendfrom (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value sendmany (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value addmultisigaddress (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value createmultisig (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value listreceivedbyaddress (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value listreceivedbyaccount (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value listtransactions (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value listaddressgroupings (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value listaccounts (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value listsinceblock (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value gettransaction (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value backupwallet (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value keypoolrefill (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value walletpassphrase (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value walletpassphrasechange (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value walletlock (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value encryptwallet (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value validateaddress (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getinfo (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getrawtransaction (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value listunspent (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value lockunspent (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value listlockunspent (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value createrawtransaction (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value decoderawtransaction (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value signrawtransaction (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value sendrawtransaction (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getblockcount (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getbestblockhash (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getdifficulty (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value settxfee (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value setmininput (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getrawmempool (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getblockhash (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value getblock (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value gettxoutsetinfo (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value gettxout (const json_spirit::Array &params, bool fHelp)
 
json_spirit::Value verifychain (const json_spirit::Array &params, bool fHelp)
 

Variables

const CRPCTable tableRPC
 
int64 nWalletUnlockTime
 

Typedef Documentation

typedef json_spirit::Value(* rpcfn_type)(const json_spirit::Array &params, bool fHelp)

Definition at line 93 of file bitcoinrpc.h.

Enumeration Type Documentation

Enumerator
HTTP_OK 
HTTP_BAD_REQUEST 
HTTP_UNAUTHORIZED 
HTTP_FORBIDDEN 
HTTP_NOT_FOUND 
HTTP_INTERNAL_SERVER_ERROR 

Definition at line 24 of file bitcoinrpc.h.

Enumerator
RPC_INVALID_REQUEST 
RPC_METHOD_NOT_FOUND 
RPC_INVALID_PARAMS 
RPC_INTERNAL_ERROR 
RPC_PARSE_ERROR 
RPC_MISC_ERROR 
RPC_FORBIDDEN_BY_SAFE_MODE 
RPC_TYPE_ERROR 
RPC_INVALID_ADDRESS_OR_KEY 
RPC_OUT_OF_MEMORY 
RPC_INVALID_PARAMETER 
RPC_DATABASE_ERROR 
RPC_DESERIALIZATION_ERROR 
RPC_CLIENT_NOT_CONNECTED 
RPC_CLIENT_IN_INITIAL_DOWNLOAD 
RPC_WALLET_ERROR 
RPC_WALLET_INSUFFICIENT_FUNDS 
RPC_WALLET_INVALID_ACCOUNT_NAME 
RPC_WALLET_KEYPOOL_RAN_OUT 
RPC_WALLET_UNLOCK_NEEDED 
RPC_WALLET_PASSPHRASE_INCORRECT 
RPC_WALLET_WRONG_ENC_STATE 
RPC_WALLET_ENCRYPTION_FAILED 
RPC_WALLET_ALREADY_UNLOCKED 

Definition at line 35 of file bitcoinrpc.h.

Function Documentation

json_spirit::Value addmultisigaddress ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value addnode ( const json_spirit::Array params,
bool  fHelp 
)
int64 AmountFromValue ( const json_spirit::Value value)

Definition at line 94 of file bitcoinrpc.cpp.

json_spirit::Value backupwallet ( const json_spirit::Array params,
bool  fHelp 
)
int CommandLineRPC ( int  argc,
char *  argv[] 
)

Definition at line 1213 of file bitcoinrpc.cpp.

json_spirit::Value createmultisig ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value createrawtransaction ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value decoderawtransaction ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value dumpprivkey ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value encryptwallet ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value enforcecheckpoint ( const json_spirit::Array params,
bool  fHelp 
)
void EnsureWalletIsUnlocked ( )

Definition at line 29 of file rpcwallet.cpp.

json_spirit::Value getaccount ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getaccountaddress ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getaddednodeinfo ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getaddressesbyaccount ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getbalance ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getbestblockhash ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getblock ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getblockcount ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getblockhash ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getblocktemplate ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getcheckpoint ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getconnectioncount ( const json_spirit::Array params,
bool  fHelp 
)
double GetDifficulty ( const CBlockIndex blockindex = NULL)

Definition at line 14 of file rpcblockchain.cpp.

json_spirit::Value getdifficulty ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getgenerate ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value gethashespersec ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getinfo ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getmininginfo ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getnetworkhashps ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getnewaddress ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getpeerinfo ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getrawmempool ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getrawtransaction ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getreceivedbyaccount ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getreceivedbyaddress ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value gettransaction ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value gettxout ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value gettxoutsetinfo ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getwork ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value getworkex ( const json_spirit::Array params,
bool  fHelp 
)
std::string HelpRequiringPassphrase ( )

Definition at line 22 of file rpcwallet.cpp.

std::string HexBits ( unsigned int  nBits)

Definition at line 110 of file bitcoinrpc.cpp.

json_spirit::Value importprivkey ( const json_spirit::Array params,
bool  fHelp 
)
void InitRPCMining ( )

Definition at line 72 of file rpcmining.cpp.

json_spirit::Object JSONRPCError ( int  code,
const std::string &  message 
)
json_spirit::Value keypoolrefill ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value listaccounts ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value listaddressgroupings ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value listlockunspent ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value listreceivedbyaccount ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value listreceivedbyaddress ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value listsinceblock ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value listtransactions ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value listunspent ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value lockunspent ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value makekeypair ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value movecmd ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Array RPCConvertValues ( const std::string &  strMethod,
const std::vector< std::string > &  strParams 
)

Convert parameter values for RPC call from strings to command-specific JSON objects.

Definition at line 1143 of file bitcoinrpc.cpp.

void RPCTypeCheck ( const json_spirit::Array params,
const std::list< json_spirit::Value_type > &  typesExpected,
bool  fAllowNull = false 
)
void RPCTypeCheck ( const json_spirit::Object o,
const std::map< std::string, json_spirit::Value_type > &  typesExpected,
bool  fAllowNull = false 
)
json_spirit::Value sendalert ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value sendcheckpoint ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value sendfrom ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value sendmany ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value sendrawtransaction ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value sendtoaddress ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value setaccount ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value setgenerate ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value setmininput ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value settxfee ( const json_spirit::Array params,
bool  fHelp 
)
void ShutdownRPCMining ( )

Definition at line 81 of file rpcmining.cpp.

json_spirit::Value signmessage ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value signrawtransaction ( const json_spirit::Array params,
bool  fHelp 
)
void StartRPCThreads ( )

Definition at line 737 of file bitcoinrpc.cpp.

void StopRPCThreads ( )

Definition at line 856 of file bitcoinrpc.cpp.

json_spirit::Value submitblock ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value validateaddress ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value ValueFromAmount ( int64  amount)

Definition at line 105 of file bitcoinrpc.cpp.

json_spirit::Value verifychain ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value verifymessage ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value walletlock ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value walletpassphrase ( const json_spirit::Array params,
bool  fHelp 
)
json_spirit::Value walletpassphrasechange ( const json_spirit::Array params,
bool  fHelp 
)

Variable Documentation

int64 nWalletUnlockTime

Definition at line 19 of file rpcwallet.cpp.

const CRPCTable tableRPC

Definition at line 1317 of file bitcoinrpc.cpp.