@ -16,6 +16,7 @@
@@ -16,6 +16,7 @@
# include "policy/policy.h"
# include "policy/rbf.h"
# include "rpc/mining.h"
# include "rpc/safemode.h"
# include "rpc/server.h"
# include "script/sign.h"
# include "timedata.h"
@ -450,6 +451,7 @@ UniValue sendtoaddress(const JSONRPCRequest& request)
@@ -450,6 +451,7 @@ UniValue sendtoaddress(const JSONRPCRequest& request)
+ HelpExampleRpc ( " sendtoaddress " , " \" 1M72Sfpbz1BPpXFHz9m3CdqATR44Jvaydd \" , 0.1, \" donation \" , \" seans outpost \" " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
CBitcoinAddress address ( request . params [ 0 ] . get_str ( ) ) ;
@ -526,6 +528,7 @@ UniValue listaddressgroupings(const JSONRPCRequest& request)
@@ -526,6 +528,7 @@ UniValue listaddressgroupings(const JSONRPCRequest& request)
+ HelpExampleRpc ( " listaddressgroupings " , " " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
UniValue jsonGroupings ( UniValue : : VARR ) ;
@ -635,6 +638,7 @@ UniValue getreceivedbyaddress(const JSONRPCRequest& request)
@@ -635,6 +638,7 @@ UniValue getreceivedbyaddress(const JSONRPCRequest& request)
+ HelpExampleRpc ( " getreceivedbyaddress " , " \" 1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XX \" , 6 " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
// Bitcoin address
@ -695,6 +699,7 @@ UniValue getreceivedbyaccount(const JSONRPCRequest& request)
@@ -695,6 +699,7 @@ UniValue getreceivedbyaccount(const JSONRPCRequest& request)
+ HelpExampleRpc ( " getreceivedbyaccount " , " \" tabby \" , 6 " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
// Minimum confirmations
@ -767,6 +772,7 @@ UniValue getbalance(const JSONRPCRequest& request)
@@ -767,6 +772,7 @@ UniValue getbalance(const JSONRPCRequest& request)
+ HelpExampleRpc ( " getbalance " , " \" * \" , 6 " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
const UniValue & account_value = request . params [ 0 ] ;
@ -811,6 +817,7 @@ UniValue getunconfirmedbalance(const JSONRPCRequest &request)
@@ -811,6 +817,7 @@ UniValue getunconfirmedbalance(const JSONRPCRequest &request)
" getunconfirmedbalance \n "
" Returns the server's total unconfirmed balance \n " ) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
return ValueFromAmount ( pwallet - > GetUnconfirmedBalance ( ) ) ;
@ -845,6 +852,7 @@ UniValue movecmd(const JSONRPCRequest& request)
@@ -845,6 +852,7 @@ UniValue movecmd(const JSONRPCRequest& request)
+ HelpExampleRpc ( " move " , " \" timotei \" , \" akiko \" , 0.01, 6, \" happy birthday! \" " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
std : : string strFrom = AccountFromValue ( request . params [ 0 ] ) ;
@ -903,6 +911,7 @@ UniValue sendfrom(const JSONRPCRequest& request)
@@ -903,6 +911,7 @@ UniValue sendfrom(const JSONRPCRequest& request)
+ HelpExampleRpc ( " sendfrom " , " \" tabby \" , \" 1M72Sfpbz1BPpXFHz9m3CdqATR44Jvaydd \" , 0.01, 6, \" donation \" , \" seans outpost \" " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
std : : string strAccount = AccountFromValue ( request . params [ 0 ] ) ;
@ -986,6 +995,7 @@ UniValue sendmany(const JSONRPCRequest& request)
@@ -986,6 +995,7 @@ UniValue sendmany(const JSONRPCRequest& request)
+ HelpExampleRpc ( " sendmany " , " \" \" , \" { \\ \" 1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XX \\ \" :0.01, \\ \" 1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz \\ \" :0.02} \" , 6, \" testing \" " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
if ( pwallet - > GetBroadcastTransactions ( ) & & ! g_connman ) {
@ -1403,6 +1413,7 @@ UniValue listreceivedbyaddress(const JSONRPCRequest& request)
@@ -1403,6 +1413,7 @@ UniValue listreceivedbyaddress(const JSONRPCRequest& request)
+ HelpExampleRpc ( " listreceivedbyaddress " , " 6, true, true " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
return ListReceived ( pwallet , request . params , false ) ;
@ -1442,6 +1453,7 @@ UniValue listreceivedbyaccount(const JSONRPCRequest& request)
@@ -1442,6 +1453,7 @@ UniValue listreceivedbyaccount(const JSONRPCRequest& request)
+ HelpExampleRpc ( " listreceivedbyaccount " , " 6, true, true " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
return ListReceived ( pwallet , request . params , true ) ;
@ -1629,6 +1641,7 @@ UniValue listtransactions(const JSONRPCRequest& request)
@@ -1629,6 +1641,7 @@ UniValue listtransactions(const JSONRPCRequest& request)
+ HelpExampleRpc ( " listtransactions " , " \" * \" , 20, 100 " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
std : : string strAccount = " * " ;
@ -1722,6 +1735,7 @@ UniValue listaccounts(const JSONRPCRequest& request)
@@ -1722,6 +1735,7 @@ UniValue listaccounts(const JSONRPCRequest& request)
+ HelpExampleRpc ( " listaccounts " , " 6 " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
int nMinDepth = 1 ;
@ -1830,6 +1844,7 @@ UniValue listsinceblock(const JSONRPCRequest& request)
@@ -1830,6 +1844,7 @@ UniValue listsinceblock(const JSONRPCRequest& request)
+ HelpExampleRpc ( " listsinceblock " , " \" 000000000000000bacf66f7497b7dc45ef753ee9a7d38571037cdb1a57f663ad \" , 6 " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
const CBlockIndex * pindex = nullptr ; // Block index of the specified block or the common ancestor, if the block provided was in a deactivated chain.
@ -1961,6 +1976,7 @@ UniValue gettransaction(const JSONRPCRequest& request)
@@ -1961,6 +1976,7 @@ UniValue gettransaction(const JSONRPCRequest& request)
+ HelpExampleRpc ( " gettransaction " , " \" 1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d \" " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
uint256 hash ;
@ -2022,6 +2038,7 @@ UniValue abandontransaction(const JSONRPCRequest& request)
@@ -2022,6 +2038,7 @@ UniValue abandontransaction(const JSONRPCRequest& request)
+ HelpExampleRpc ( " abandontransaction " , " \" 1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d \" " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
uint256 hash ;
@ -2454,6 +2471,7 @@ UniValue listlockunspent(const JSONRPCRequest& request)
@@ -2454,6 +2471,7 @@ UniValue listlockunspent(const JSONRPCRequest& request)
+ HelpExampleRpc ( " listlockunspent " , " " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
std : : vector < COutPoint > vOutpts ;
@ -2532,6 +2550,7 @@ UniValue getwalletinfo(const JSONRPCRequest& request)
@@ -2532,6 +2550,7 @@ UniValue getwalletinfo(const JSONRPCRequest& request)
+ HelpExampleRpc ( " getwalletinfo " , " " )
) ;
ObserveSafeMode ( ) ;
LOCK2 ( cs_main , pwallet - > cs_wallet ) ;
UniValue obj ( UniValue : : VOBJ ) ;
@ -2684,6 +2703,8 @@ UniValue listunspent(const JSONRPCRequest& request)
@@ -2684,6 +2703,8 @@ UniValue listunspent(const JSONRPCRequest& request)
+ HelpExampleRpc ( " listunspent " , " 6, 9999999, [] , true, { \" minimumAmount \" : 0.005 } " )
) ;
ObserveSafeMode ( ) ;
int nMinDepth = 1 ;
if ( ! request . params [ 0 ] . isNull ( ) ) {
RPCTypeCheckArgument ( request . params [ 0 ] , UniValue : : VNUM ) ;
@ -2845,6 +2866,7 @@ UniValue fundrawtransaction(const JSONRPCRequest& request)
@@ -2845,6 +2866,7 @@ UniValue fundrawtransaction(const JSONRPCRequest& request)
+ HelpExampleCli ( " sendrawtransaction " , " \" signedtransactionhex \" " )
) ;
ObserveSafeMode ( ) ;
RPCTypeCheck ( request . params , { UniValue : : VSTR } ) ;
CCoinControl coinControl ;
@ -3159,60 +3181,60 @@ extern UniValue removeprunedfunds(const JSONRPCRequest& request);
@@ -3159,60 +3181,60 @@ extern UniValue removeprunedfunds(const JSONRPCRequest& request);
extern UniValue importmulti ( const JSONRPCRequest & request ) ;
static const CRPCCommand commands [ ] =
{ // category name actor (function) okSafeMode
// --------------------- ------------------------ ----------------------- ----------
{ " rawtransactions " , " fundrawtransaction " , & fundrawtransaction , false , { " hexstring " , " options " } } ,
{ " hidden " , " resendwallettransactions " , & resendwallettransactions , true , { } } ,
{ " wallet " , " abandontransaction " , & abandontransaction , false , { " txid " } } ,
{ " wallet " , " abortrescan " , & abortrescan , false , { } } ,
{ " wallet " , " addmultisigaddress " , & addmultisigaddress , true , { " nrequired " , " keys " , " account " } } ,
{ " wallet " , " addwitnessaddress " , & addwitnessaddress , true , { " address " } } ,
{ " wallet " , " backupwallet " , & backupwallet , true , { " destination " } } ,
{ " wallet " , " bumpfee " , & bumpfee , true , { " txid " , " options " } } ,
{ " wallet " , " dumpprivkey " , & dumpprivkey , true , { " address " } } ,
{ " wallet " , " dumpwallet " , & dumpwallet , true , { " filename " } } ,
{ " wallet " , " encryptwallet " , & encryptwallet , true , { " passphrase " } } ,
{ " wallet " , " getaccountaddress " , & getaccountaddress , true , { " account " } } ,
{ " wallet " , " getaccount " , & getaccount , true , { " address " } } ,
{ " wallet " , " getaddressesbyaccount " , & getaddressesbyaccount , true , { " account " } } ,
{ " wallet " , " getbalance " , & getbalance , false , { " account " , " minconf " , " include_watchonly " } } ,
{ " wallet " , " getnewaddress " , & getnewaddress , true , { " account " } } ,
{ " wallet " , " getrawchangeaddress " , & getrawchangeaddress , true , { } } ,
{ " wallet " , " getreceivedbyaccount " , & getreceivedbyaccount , false , { " account " , " minconf " } } ,
{ " wallet " , " getreceivedbyaddress " , & getreceivedbyaddress , false , { " address " , " minconf " } } ,
{ " wallet " , " gettransaction " , & gettransaction , false , { " txid " , " include_watchonly " } } ,
{ " wallet " , " getunconfirmedbalance " , & getunconfirmedbalance , false , { } } ,
{ " wallet " , " getwalletinfo " , & getwalletinfo , false , { } } ,
{ " wallet " , " importmulti " , & importmulti , true , { " requests " , " options " } } ,
{ " wallet " , " importprivkey " , & importprivkey , true , { " privkey " , " label " , " rescan " } } ,
{ " wallet " , " importwallet " , & importwallet , true , { " filename " } } ,
{ " wallet " , " importaddress " , & importaddress , true , { " address " , " label " , " rescan " , " p2sh " } } ,
{ " wallet " , " importprunedfunds " , & importprunedfunds , true , { " rawtransaction " , " txoutproof " } } ,
{ " wallet " , " importpubkey " , & importpubkey , true , { " pubkey " , " label " , " rescan " } } ,
{ " wallet " , " keypoolrefill " , & keypoolrefill , true , { " newsize " } } ,
{ " wallet " , " listaccounts " , & listaccounts , false , { " minconf " , " include_watchonly " } } ,
{ " wallet " , " listaddressgroupings " , & listaddressgroupings , false , { } } ,
{ " wallet " , " listlockunspent " , & listlockunspent , false , { } } ,
{ " wallet " , " listreceivedbyaccount " , & listreceivedbyaccount , false , { " minconf " , " include_empty " , " include_watchonly " } } ,
{ " wallet " , " listreceivedbyaddress " , & listreceivedbyaddress , false , { " minconf " , " include_empty " , " include_watchonly " } } ,
{ " wallet " , " listsinceblock " , & listsinceblock , false , { " blockhash " , " target_confirmations " , " include_watchonly " , " include_removed " } } ,
{ " wallet " , " listtransactions " , & listtransactions , false , { " account " , " count " , " skip " , " include_watchonly " } } ,
{ " wallet " , " listunspent " , & listunspent , false , { " minconf " , " maxconf " , " addresses " , " include_unsafe " , " query_options " } } ,
{ " wallet " , " listwallets " , & listwallets , true , { } } ,
{ " wallet " , " lockunspent " , & lockunspent , true , { " unlock " , " transactions " } } ,
{ " wallet " , " move " , & movecmd , false , { " fromaccount " , " toaccount " , " amount " , " minconf " , " comment " } } ,
{ " wallet " , " sendfrom " , & sendfrom , false , { " fromaccount " , " toaddress " , " amount " , " minconf " , " comment " , " comment_to " } } ,
{ " wallet " , " sendmany " , & sendmany , false , { " fromaccount " , " amounts " , " minconf " , " comment " , " subtractfeefrom " , " replaceable " , " conf_target " , " estimate_mode " } } ,
{ " wallet " , " sendtoaddress " , & sendtoaddress , false , { " address " , " amount " , " comment " , " comment_to " , " subtractfeefromamount " , " replaceable " , " conf_target " , " estimate_mode " } } ,
{ " wallet " , " setaccount " , & setaccount , true , { " address " , " account " } } ,
{ " wallet " , " settxfee " , & settxfee , true , { " amount " } } ,
{ " wallet " , " signmessage " , & signmessage , true , { " address " , " message " } } ,
{ " wallet " , " walletlock " , & walletlock , true , { } } ,
{ " wallet " , " walletpassphrasechange " , & walletpassphrasechange , true , { " oldpassphrase " , " newpassphrase " } } ,
{ " wallet " , " walletpassphrase " , & walletpassphrase , true , { " passphrase " , " timeout " } } ,
{ " wallet " , " removeprunedfunds " , & removeprunedfunds , true , { " txid " } } ,
{ " generating " , " generate " , & generate , true , { " nblocks " , " maxtries " } } ,
{ // category name actor (function) argNames
// --------------------- ------------------------ ----------------------- ----------
{ " rawtransactions " , " fundrawtransaction " , & fundrawtransaction , { " hexstring " , " options " } } ,
{ " hidden " , " resendwallettransactions " , & resendwallettransactions , { } } ,
{ " wallet " , " abandontransaction " , & abandontransaction , { " txid " } } ,
{ " wallet " , " abortrescan " , & abortrescan , { } } ,
{ " wallet " , " addmultisigaddress " , & addmultisigaddress , { " nrequired " , " keys " , " account " } } ,
{ " wallet " , " addwitnessaddress " , & addwitnessaddress , { " address " } } ,
{ " wallet " , " backupwallet " , & backupwallet , { " destination " } } ,
{ " wallet " , " bumpfee " , & bumpfee , { " txid " , " options " } } ,
{ " wallet " , " dumpprivkey " , & dumpprivkey , { " address " } } ,
{ " wallet " , " dumpwallet " , & dumpwallet , { " filename " } } ,
{ " wallet " , " encryptwallet " , & encryptwallet , { " passphrase " } } ,
{ " wallet " , " getaccountaddress " , & getaccountaddress , { " account " } } ,
{ " wallet " , " getaccount " , & getaccount , { " address " } } ,
{ " wallet " , " getaddressesbyaccount " , & getaddressesbyaccount , { " account " } } ,
{ " wallet " , " getbalance " , & getbalance , { " account " , " minconf " , " include_watchonly " } } ,
{ " wallet " , " getnewaddress " , & getnewaddress , { " account " } } ,
{ " wallet " , " getrawchangeaddress " , & getrawchangeaddress , { } } ,
{ " wallet " , " getreceivedbyaccount " , & getreceivedbyaccount , { " account " , " minconf " } } ,
{ " wallet " , " getreceivedbyaddress " , & getreceivedbyaddress , { " address " , " minconf " } } ,
{ " wallet " , " gettransaction " , & gettransaction , { " txid " , " include_watchonly " } } ,
{ " wallet " , " getunconfirmedbalance " , & getunconfirmedbalance , { } } ,
{ " wallet " , " getwalletinfo " , & getwalletinfo , { } } ,
{ " wallet " , " importmulti " , & importmulti , { " requests " , " options " } } ,
{ " wallet " , " importprivkey " , & importprivkey , { " privkey " , " label " , " rescan " } } ,
{ " wallet " , " importwallet " , & importwallet , { " filename " } } ,
{ " wallet " , " importaddress " , & importaddress , { " address " , " label " , " rescan " , " p2sh " } } ,
{ " wallet " , " importprunedfunds " , & importprunedfunds , { " rawtransaction " , " txoutproof " } } ,
{ " wallet " , " importpubkey " , & importpubkey , { " pubkey " , " label " , " rescan " } } ,
{ " wallet " , " keypoolrefill " , & keypoolrefill , { " newsize " } } ,
{ " wallet " , " listaccounts " , & listaccounts , { " minconf " , " include_watchonly " } } ,
{ " wallet " , " listaddressgroupings " , & listaddressgroupings , { } } ,
{ " wallet " , " listlockunspent " , & listlockunspent , { } } ,
{ " wallet " , " listreceivedbyaccount " , & listreceivedbyaccount , { " minconf " , " include_empty " , " include_watchonly " } } ,
{ " wallet " , " listreceivedbyaddress " , & listreceivedbyaddress , { " minconf " , " include_empty " , " include_watchonly " } } ,
{ " wallet " , " listsinceblock " , & listsinceblock , { " blockhash " , " target_confirmations " , " include_watchonly " , " include_removed " } } ,
{ " wallet " , " listtransactions " , & listtransactions , { " account " , " count " , " skip " , " include_watchonly " } } ,
{ " wallet " , " listunspent " , & listunspent , { " minconf " , " maxconf " , " addresses " , " include_unsafe " , " query_options " } } ,
{ " wallet " , " listwallets " , & listwallets , { } } ,
{ " wallet " , " lockunspent " , & lockunspent , { " unlock " , " transactions " } } ,
{ " wallet " , " move " , & movecmd , { " fromaccount " , " toaccount " , " amount " , " minconf " , " comment " } } ,
{ " wallet " , " sendfrom " , & sendfrom , { " fromaccount " , " toaddress " , " amount " , " minconf " , " comment " , " comment_to " } } ,
{ " wallet " , " sendmany " , & sendmany , { " fromaccount " , " amounts " , " minconf " , " comment " , " subtractfeefrom " , " replaceable " , " conf_target " , " estimate_mode " } } ,
{ " wallet " , " sendtoaddress " , & sendtoaddress , { " address " , " amount " , " comment " , " comment_to " , " subtractfeefromamount " , " replaceable " , " conf_target " , " estimate_mode " } } ,
{ " wallet " , " setaccount " , & setaccount , { " address " , " account " } } ,
{ " wallet " , " settxfee " , & settxfee , { " amount " } } ,
{ " wallet " , " signmessage " , & signmessage , { " address " , " message " } } ,
{ " wallet " , " walletlock " , & walletlock , { } } ,
{ " wallet " , " walletpassphrasechange " , & walletpassphrasechange , { " oldpassphrase " , " newpassphrase " } } ,
{ " wallet " , " walletpassphrase " , & walletpassphrase , { " passphrase " , " timeout " } } ,
{ " wallet " , " removeprunedfunds " , & removeprunedfunds , { " txid " } } ,
{ " generating " , " generate " , & generate , { " nblocks " , " maxtries " } } ,
} ;
void RegisterWalletRPCCommands ( CRPCTable & t )