PIVX Core  5.6.99
P2P Digital Currency
Classes | Functions
rpcwallet.cpp File Reference
#include "wallet/rpcwallet.h"
#include "addressbook.h"
#include "amount.h"
#include "coincontrol.h"
#include "core_io.h"
#include "destination_io.h"
#include "httpserver.h"
#include "key_io.h"
#include "masternode-sync.h"
#include "messagesigner.h"
#include "net.h"
#include "policy/feerate.h"
#include "primitives/transaction.h"
#include "rpc/server.h"
#include "sapling/key_io_sapling.h"
#include "sapling/sapling_operation.h"
#include "shutdown.h"
#include "spork.h"
#include "timedata.h"
#include "utilmoneystr.h"
#include "wallet/wallet.h"
#include "wallet/walletdb.h"
#include "wallet/walletutil.h"
#include <stdint.h>
#include <univalue.h>
Include dependency graph for rpcwallet.cpp:

Go to the source code of this file.

Classes

struct  tallyitem
 

Functions

CWalletGetWalletForJSONRPCRequest (const JSONRPCRequest &request)
 Figures out what wallet, if any, to use for a JSONRPCRequest. More...
 
std::string HelpRequiringPassphrase (CWallet *const pwallet)
 
bool EnsureWalletIsAvailable (CWallet *const pwallet, bool avoidException)
 
void EnsureWalletIsUnlocked (CWallet *const pwallet, bool fAllowAnonOnly)
 
std::string LabelFromValue (const UniValue &value)
 
bool HaveKey (const CWallet *wallet, const CKey &key)
 Checks if a CKey is in the given CWallet compressed or otherwise. More...
 
UniValue getaddressinfo (const JSONRPCRequest &request)
 
UniValue getaddressesbylabel (const JSONRPCRequest &request)
 
UniValue listlabels (const JSONRPCRequest &request)
 
CPubKey parseWIFKey (std::string strKey, CWallet *pwallet)
 
UniValue upgradewallet (const JSONRPCRequest &request)
 
UniValue sethdseed (const JSONRPCRequest &request)
 
UniValue getnewaddress (const JSONRPCRequest &request)
 
UniValue getnewexchangeaddress (const JSONRPCRequest &request)
 
UniValue getnewstakingaddress (const JSONRPCRequest &request)
 
UniValue getnewshieldaddress (const JSONRPCRequest &request)
 
UniValue listshieldunspent (const JSONRPCRequest &request)
 
UniValue delegatoradd (const JSONRPCRequest &request)
 
UniValue delegatorremove (const JSONRPCRequest &request)
 
UniValue listdelegators (const JSONRPCRequest &request)
 
UniValue liststakingaddresses (const JSONRPCRequest &request)
 
UniValue listshieldaddresses (const JSONRPCRequest &request)
 
UniValue getrawchangeaddress (const JSONRPCRequest &request)
 
UniValue setlabel (const JSONRPCRequest &request)
 
UniValue sendtoaddress (const JSONRPCRequest &request)
 
UniValue delegatestake (const JSONRPCRequest &request)
 
UniValue rawdelegatestake (const JSONRPCRequest &request)
 
UniValue getshieldbalance (const JSONRPCRequest &request)
 
UniValue viewshieldtransaction (const JSONRPCRequest &request)
 
UniValue shieldsendmany (const JSONRPCRequest &request)
 
UniValue rawshieldsendmany (const JSONRPCRequest &request)
 
UniValue listaddressgroupings (const JSONRPCRequest &request)
 
UniValue signmessage (const JSONRPCRequest &request)
 
UniValue getreceivedbyaddress (const JSONRPCRequest &request)
 
UniValue getreceivedbylabel (const JSONRPCRequest &request)
 
UniValue getbalance (const JSONRPCRequest &request)
 
UniValue getcoldstakingbalance (const JSONRPCRequest &request)
 
UniValue getdelegatedbalance (const JSONRPCRequest &request)
 
UniValue getunconfirmedbalance (const JSONRPCRequest &request)
 
UniValue sendmany (const JSONRPCRequest &request)
 
CScript _createmultisig_redeemScript (CWallet *const pwallet, const UniValue &params)
 Used by addmultisigaddress / createmultisig: More...
 
UniValue addmultisigaddress (const JSONRPCRequest &request)
 
UniValue listreceivedbyaddress (const JSONRPCRequest &request)
 
UniValue listreceivedbyshieldaddress (const JSONRPCRequest &request)
 
UniValue listreceivedbylabel (const JSONRPCRequest &request)
 
UniValue listcoldutxos (const JSONRPCRequest &request)
 
UniValue listtransactions (const JSONRPCRequest &request)
 
UniValue listsinceblock (const JSONRPCRequest &request)
 
UniValue gettransaction (const JSONRPCRequest &request)
 
UniValue abandontransaction (const JSONRPCRequest &request)
 
UniValue backupwallet (const JSONRPCRequest &request)
 
UniValue keypoolrefill (const JSONRPCRequest &request)
 
UniValue walletpassphrase (const JSONRPCRequest &request)
 
UniValue walletpassphrasechange (const JSONRPCRequest &request)
 
UniValue walletlock (const JSONRPCRequest &request)
 
UniValue encryptwallet (const JSONRPCRequest &request)
 
UniValue listunspent (const JSONRPCRequest &request)
 
UniValue fundrawtransaction (const JSONRPCRequest &request)
 
UniValue lockunspent (const JSONRPCRequest &request)
 
UniValue listlockunspent (const JSONRPCRequest &request)
 
UniValue settxfee (const JSONRPCRequest &request)
 
UniValue getwalletinfo (const JSONRPCRequest &request)
 
UniValue listwallets (const JSONRPCRequest &request)
 
UniValue getstakingstatus (const JSONRPCRequest &request)
 
UniValue setstakesplitthreshold (const JSONRPCRequest &request)
 
UniValue getstakesplitthreshold (const JSONRPCRequest &request)
 
UniValue setautocombinethreshold (const JSONRPCRequest &request)
 
UniValue getautocombinethreshold (const JSONRPCRequest &request)
 
UniValue getsaplingnotescount (const JSONRPCRequest &request)
 
UniValue rescanblockchain (const JSONRPCRequest &request)
 
UniValue abortrescan (const JSONRPCRequest &request)
 
UniValue dumpprivkey (const JSONRPCRequest &request)
 
UniValue importprivkey (const JSONRPCRequest &request)
 
UniValue importaddress (const JSONRPCRequest &request)
 
UniValue importpubkey (const JSONRPCRequest &request)
 
UniValue dumpwallet (const JSONRPCRequest &request)
 
UniValue importwallet (const JSONRPCRequest &request)
 
UniValue importmulti (const JSONRPCRequest &request)
 
UniValue bip38encrypt (const JSONRPCRequest &request)
 
UniValue bip38decrypt (const JSONRPCRequest &request)
 
UniValue exportsaplingkey (const JSONRPCRequest &request)
 
UniValue importsaplingkey (const JSONRPCRequest &request)
 
UniValue importsaplingviewingkey (const JSONRPCRequest &request)
 
UniValue exportsaplingviewingkey (const JSONRPCRequest &request)
 
void RegisterWalletRPCCommands (CRPCTable &tableRPC)
 

Function Documentation

◆ _createmultisig_redeemScript()

CScript _createmultisig_redeemScript ( CWallet *const  pwallet,
const UniValue params 
)

Used by addmultisigaddress / createmultisig:

Definition at line 461 of file misc.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ abandontransaction()

UniValue abandontransaction ( const JSONRPCRequest request)

Definition at line 3363 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ abortrescan()

UniValue abortrescan ( const JSONRPCRequest request)

Definition at line 152 of file rpcdump.cpp.

Here is the call graph for this function:

◆ addmultisigaddress()

UniValue addmultisigaddress ( const JSONRPCRequest request)

Definition at line 2516 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ backupwallet()

UniValue backupwallet ( const JSONRPCRequest request)

Definition at line 3405 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ bip38decrypt()

UniValue bip38decrypt ( const JSONRPCRequest request)

Collect private key and passphrase

Definition at line 1167 of file rpcdump.cpp.

Here is the call graph for this function:

◆ bip38encrypt()

UniValue bip38encrypt ( const JSONRPCRequest request)

Definition at line 1116 of file rpcdump.cpp.

Here is the call graph for this function:

◆ delegatestake()

UniValue delegatestake ( const JSONRPCRequest request)

Definition at line 1335 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ delegatoradd()

UniValue delegatoradd ( const JSONRPCRequest request)

Definition at line 759 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ delegatorremove()

UniValue delegatorremove ( const JSONRPCRequest request)

Definition at line 799 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ dumpprivkey()

UniValue dumpprivkey ( const JSONRPCRequest request)

Definition at line 457 of file rpcdump.cpp.

Here is the call graph for this function:

◆ dumpwallet()

UniValue dumpwallet ( const JSONRPCRequest request)

Definition at line 497 of file rpcdump.cpp.

◆ encryptwallet()

UniValue encryptwallet ( const JSONRPCRequest request)
Todo:
: get rid of this .c_str() by implementing SecureString::operator=(std::string)

Definition at line 3656 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ EnsureWalletIsAvailable()

bool EnsureWalletIsAvailable ( CWallet *const  pwallet,
bool  avoidException 
)

Definition at line 59 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ EnsureWalletIsUnlocked()

void EnsureWalletIsUnlocked ( CWallet *const  pwallet,
bool  fAllowAnonOnly 
)

Definition at line 71 of file rpcwallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ exportsaplingkey()

UniValue exportsaplingkey ( const JSONRPCRequest request)

Definition at line 1494 of file rpcdump.cpp.

Here is the call graph for this function:

◆ exportsaplingviewingkey()

UniValue exportsaplingviewingkey ( const JSONRPCRequest request)

Definition at line 1451 of file rpcdump.cpp.

Here is the call graph for this function:

◆ fundrawtransaction()

UniValue fundrawtransaction ( const JSONRPCRequest request)

Definition at line 3892 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getaddressesbylabel()

UniValue getaddressesbylabel ( const JSONRPCRequest request)

Definition at line 274 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getaddressinfo()

UniValue getaddressinfo ( const JSONRPCRequest request)

Definition at line 147 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getautocombinethreshold()

UniValue getautocombinethreshold ( const JSONRPCRequest request)

Definition at line 4603 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getbalance()

UniValue getbalance ( const JSONRPCRequest request)

Definition at line 2211 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getcoldstakingbalance()

UniValue getcoldstakingbalance ( const JSONRPCRequest request)

Definition at line 2261 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getdelegatedbalance()

UniValue getdelegatedbalance ( const JSONRPCRequest request)

Definition at line 2291 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getnewaddress()

UniValue getnewaddress ( const JSONRPCRequest request)

Definition at line 505 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getnewexchangeaddress()

UniValue getnewexchangeaddress ( const JSONRPCRequest request)

Definition at line 531 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getnewshieldaddress()

UniValue getnewshieldaddress ( const JSONRPCRequest request)

Definition at line 584 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getnewstakingaddress()

UniValue getnewstakingaddress ( const JSONRPCRequest request)

Definition at line 559 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getrawchangeaddress()

UniValue getrawchangeaddress ( const JSONRPCRequest request)

Definition at line 982 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getreceivedbyaddress()

UniValue getreceivedbyaddress ( const JSONRPCRequest request)

Definition at line 2082 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getreceivedbylabel()

UniValue getreceivedbylabel ( const JSONRPCRequest request)

Definition at line 2148 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getsaplingnotescount()

UniValue getsaplingnotescount ( const JSONRPCRequest request)

Definition at line 4635 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getshieldbalance()

UniValue getshieldbalance ( const JSONRPCRequest request)

Definition at line 1451 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getstakesplitthreshold()

UniValue getstakesplitthreshold ( const JSONRPCRequest request)

Definition at line 4509 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getstakingstatus()

UniValue getstakingstatus ( const JSONRPCRequest request)

Definition at line 4404 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ gettransaction()

UniValue gettransaction ( const JSONRPCRequest request)

Definition at line 3277 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ getunconfirmedbalance()

UniValue getunconfirmedbalance ( const JSONRPCRequest request)

Definition at line 2322 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ GetWalletForJSONRPCRequest()

CWallet* GetWalletForJSONRPCRequest ( const JSONRPCRequest request)

Figures out what wallet, if any, to use for a JSONRPCRequest.

Parameters
[in]requestJSONRPCRequest that wishes to access a wallet
Returns
nullptr if no wallet should be used, or a pointer to the CWallet

Definition at line 39 of file rpcwallet.cpp.

◆ getwalletinfo()

UniValue getwalletinfo ( const JSONRPCRequest request)

Definition at line 4287 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ HaveKey()

bool HaveKey ( const CWallet wallet,
const CKey key 
)

Checks if a CKey is in the given CWallet compressed or otherwise.

Definition at line 140 of file rpcwallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ HelpRequiringPassphrase()

std::string HelpRequiringPassphrase ( CWallet *const  pwallet)

Definition at line 54 of file rpcwallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ importaddress()

UniValue importaddress ( const JSONRPCRequest request)

Definition at line 206 of file rpcdump.cpp.

Here is the call graph for this function:

◆ importmulti()

UniValue importmulti ( const JSONRPCRequest request)

Definition at line 960 of file rpcdump.cpp.

◆ importprivkey()

UniValue importprivkey ( const JSONRPCRequest request)

Definition at line 78 of file rpcdump.cpp.

Here is the call graph for this function:

◆ importpubkey()

UniValue importpubkey ( const JSONRPCRequest request)

Definition at line 273 of file rpcdump.cpp.

Here is the call graph for this function:

◆ importsaplingkey()

UniValue importsaplingkey ( const JSONRPCRequest request)

Definition at line 1243 of file rpcdump.cpp.

Here is the call graph for this function:

◆ importsaplingviewingkey()

UniValue importsaplingviewingkey ( const JSONRPCRequest request)

Definition at line 1345 of file rpcdump.cpp.

Here is the call graph for this function:

◆ importwallet()

UniValue importwallet ( const JSONRPCRequest request)
Todo:
: Needs further review over the HD flow, staking addresses and multisig import.
Todo:
: This is not entirely true.. needs to be reviewed properly.

Definition at line 330 of file rpcdump.cpp.

◆ keypoolrefill()

UniValue keypoolrefill ( const JSONRPCRequest request)

Definition at line 3437 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ LabelFromValue()

std::string LabelFromValue ( const UniValue value)

Definition at line 105 of file rpcwallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ listaddressgroupings()

UniValue listaddressgroupings ( const JSONRPCRequest request)

Definition at line 1970 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listcoldutxos()

UniValue listcoldutxos ( const JSONRPCRequest request)

Definition at line 2912 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listdelegators()

UniValue listdelegators ( const JSONRPCRequest request)

Definition at line 872 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listlabels()

UniValue listlabels ( const JSONRPCRequest request)

Definition at line 325 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listlockunspent()

UniValue listlockunspent ( const JSONRPCRequest request)

Definition at line 4184 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listreceivedbyaddress()

UniValue listreceivedbyaddress ( const JSONRPCRequest request)

Definition at line 2719 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listreceivedbylabel()

UniValue listreceivedbylabel ( const JSONRPCRequest request)

Definition at line 2871 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listreceivedbyshieldaddress()

UniValue listreceivedbyshieldaddress ( const JSONRPCRequest request)

Definition at line 2765 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listshieldaddresses()

UniValue listshieldaddresses ( const JSONRPCRequest request)

Definition at line 935 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listshieldunspent()

UniValue listshieldunspent ( const JSONRPCRequest request)

Definition at line 627 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listsinceblock()

UniValue listsinceblock ( const JSONRPCRequest request)

Definition at line 3184 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ liststakingaddresses()

UniValue liststakingaddresses ( const JSONRPCRequest request)

Definition at line 907 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listtransactions()

UniValue listtransactions ( const JSONRPCRequest request)

Definition at line 3064 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listunspent()

UniValue listunspent ( const JSONRPCRequest request)

Definition at line 3712 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ listwallets()

UniValue listwallets ( const JSONRPCRequest request)

Definition at line 4373 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ lockunspent()

UniValue lockunspent ( const JSONRPCRequest request)

Definition at line 4040 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ parseWIFKey()

CPubKey parseWIFKey ( std::string  strKey,
CWallet pwallet 
)

Definition at line 381 of file rpcwallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rawdelegatestake()

UniValue rawdelegatestake ( const JSONRPCRequest request)

Definition at line 1391 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ rawshieldsendmany()

UniValue rawshieldsendmany ( const JSONRPCRequest request)

Definition at line 1918 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ RegisterWalletRPCCommands()

void RegisterWalletRPCCommands ( CRPCTable tableRPC)

Definition at line 4853 of file rpcwallet.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rescanblockchain()

UniValue rescanblockchain ( const JSONRPCRequest request)

Definition at line 4676 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ sendmany()

UniValue sendmany ( const JSONRPCRequest request)

Definition at line 2425 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ sendtoaddress()

UniValue sendtoaddress ( const JSONRPCRequest request)

Definition at line 1145 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ setautocombinethreshold()

UniValue setautocombinethreshold ( const JSONRPCRequest request)

Definition at line 4530 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ sethdseed()

UniValue sethdseed ( const JSONRPCRequest request)

Definition at line 439 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ setlabel()

UniValue setlabel ( const JSONRPCRequest request)

Definition at line 1019 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ setstakesplitthreshold()

UniValue setstakesplitthreshold ( const JSONRPCRequest request)

Definition at line 4467 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ settxfee()

UniValue settxfee ( const JSONRPCRequest request)

Definition at line 4256 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ shieldsendmany()

UniValue shieldsendmany ( const JSONRPCRequest request)

Definition at line 1856 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ signmessage()

UniValue signmessage ( const JSONRPCRequest request)

Definition at line 2025 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ upgradewallet()

UniValue upgradewallet ( const JSONRPCRequest request)

Definition at line 394 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ viewshieldtransaction()

UniValue viewshieldtransaction ( const JSONRPCRequest request)

Definition at line 1508 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ walletlock()

UniValue walletlock ( const JSONRPCRequest request)

Definition at line 3613 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ walletpassphrase()

UniValue walletpassphrase ( const JSONRPCRequest request)
Todo:
: get rid of this .c_str() by implementing SecureString::operator=(std::string)

Definition at line 3484 of file rpcwallet.cpp.

Here is the call graph for this function:

◆ walletpassphrasechange()

UniValue walletpassphrasechange ( const JSONRPCRequest request)
Todo:
: get rid of these .c_str() calls by implementing SecureString::operator=(std::string)

Definition at line 3564 of file rpcwallet.cpp.

Here is the call graph for this function: