@ -101,13 +101,12 @@ std::shared_ptr<CWallet> GetWalletForJSONRPCRequest(const JSONRPCRequest& reques
}
std : : vector < std : : shared_ptr < CWallet > > wallets = GetWallets ( ) ;
return wallets . size ( ) = = 1 | | ( request . fHelp & & wallets . size ( ) > 0 ) ? wallets [ 0 ] : nullptr ;
if ( wallets . size ( ) = = 1 | | ( request . fHelp & & wallets . size ( ) > 0 ) ) {
return wallets [ 0 ] ;
}
bool EnsureWalletIsAvailable ( const CWallet * pwallet , bool avoidException )
{
if ( pwallet ) return true ;
if ( avoidException ) return false ;
if ( request . fHelp ) return nullptr ;
if ( ! HasWallets ( ) ) {
throw JSONRPCError (
RPC_METHOD_NOT_FOUND , " Method not found (wallet method is disabled because no wallet is loaded) " ) ;
@ -196,12 +195,9 @@ static std::string LabelFromValue(const UniValue& value)
static UniValue getnewaddress ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getnewaddress " ,
" \n Returns a new Bitcoin address for receiving payments. \n "
" If 'label' is specified, it is added to the address book \n "
@ -249,12 +245,9 @@ static UniValue getnewaddress(const JSONRPCRequest& request)
static UniValue getrawchangeaddress ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getrawchangeaddress " ,
" \n Returns a new Bitcoin address, for receiving change. \n "
" This is for use with raw transactions, NOT normal use. \n " ,
@ -295,12 +288,9 @@ static UniValue getrawchangeaddress(const JSONRPCRequest& request)
static UniValue setlabel ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " setlabel " ,
" \n Sets the label associated with the given address. \n " ,
{
@ -367,12 +357,9 @@ static CTransactionRef SendMoney(CWallet* const pwallet, const CTxDestination& a
static UniValue sendtoaddress ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " sendtoaddress " ,
" \n Send an amount to a given address. " +
HELP_REQUIRING_PASSPHRASE ,
@ -462,12 +449,9 @@ static UniValue sendtoaddress(const JSONRPCRequest& request)
static UniValue listaddressgroupings ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " listaddressgroupings " ,
" \n Lists groups of addresses which have had their common ownership \n "
" made public by common use as inputs or as the resulting change \n "
@ -524,12 +508,9 @@ static UniValue listaddressgroupings(const JSONRPCRequest& request)
static UniValue signmessage ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " signmessage " ,
" \n Sign a message with the private key of an address " +
HELP_REQUIRING_PASSPHRASE ,
@ -629,12 +610,9 @@ static CAmount GetReceived(const CWallet& wallet, const UniValue& params, bool b
static UniValue getreceivedbyaddress ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getreceivedbyaddress " ,
" \n Returns the total amount received by the given address in transactions with at least minconf confirmations. \n " ,
{
@ -669,12 +647,9 @@ static UniValue getreceivedbyaddress(const JSONRPCRequest& request)
static UniValue getreceivedbylabel ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getreceivedbylabel " ,
" \n Returns the total amount received by addresses with <label> in transactions with at least [minconf] confirmations. \n " ,
{
@ -709,12 +684,9 @@ static UniValue getreceivedbylabel(const JSONRPCRequest& request)
static UniValue getbalance ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getbalance " ,
" \n Returns the total available balance. \n "
" The available balance is what the wallet considers currently spendable, and is \n "
@ -766,12 +738,9 @@ static UniValue getbalance(const JSONRPCRequest& request)
static UniValue getunconfirmedbalance ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getunconfirmedbalance " ,
" DEPRECATED \n Identical to getbalances().mine.untrusted_pending \n " ,
{ } ,
@ -792,12 +761,9 @@ static UniValue getunconfirmedbalance(const JSONRPCRequest &request)
static UniValue sendmany ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " sendmany " ,
" \n Send multiple times. Amounts are double-precision floating point numbers. " +
HELP_REQUIRING_PASSPHRASE ,
@ -926,12 +892,9 @@ static UniValue sendmany(const JSONRPCRequest& request)
static UniValue addmultisigaddress ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " addmultisigaddress " ,
" \n Add an nrequired-to-sign multisignature address to the wallet. Requires a new wallet backup. \n "
" Each key is a Bitcoin address or hex-encoded public key. \n "
@ -1168,12 +1131,9 @@ static UniValue ListReceived(const CWallet* const pwallet, const UniValue& param
static UniValue listreceivedbyaddress ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " listreceivedbyaddress " ,
" \n List balances by receiving address. \n " ,
{
@ -1219,12 +1179,9 @@ static UniValue listreceivedbyaddress(const JSONRPCRequest& request)
static UniValue listreceivedbylabel ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " listreceivedbylabel " ,
" \n List received transactions by label. \n " ,
{
@ -1380,12 +1337,9 @@ static const std::vector<RPCResult> TransactionDescriptionString()
UniValue listtransactions ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " listtransactions " ,
" \n If a label name is provided, this will return only incoming transactions paying to addresses with the specified label. \n "
" \n Returns up to 'count' most recent transactions skipping the first 'from' transactions. \n " ,
@ -1493,10 +1447,7 @@ UniValue listtransactions(const JSONRPCRequest& request)
static UniValue listsinceblock ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const pwallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! EnsureWalletIsAvailable ( pwallet . get ( ) , request . fHelp ) ) {
return NullUniValue ;
}
if ( ! pwallet ) return NullUniValue ;
RPCHelpMan { " listsinceblock " ,
" \n Get all transactions in blocks since block [blockhash], or all transactions if omitted. \n "
@ -1634,12 +1585,9 @@ static UniValue listsinceblock(const JSONRPCRequest& request)
static UniValue gettransaction ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " gettransaction " ,
" \n Get detailed information about in-wallet transaction <txid> \n " ,
{
@ -1747,12 +1695,9 @@ static UniValue gettransaction(const JSONRPCRequest& request)
static UniValue abandontransaction ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " abandontransaction " ,
" \n Mark in-wallet transaction <txid> as abandoned \n "
" This will mark this transaction and all its in-wallet descendants as abandoned which will allow \n "
@ -1791,12 +1736,9 @@ static UniValue abandontransaction(const JSONRPCRequest& request)
static UniValue backupwallet ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " backupwallet " ,
" \n Safely copies current wallet file to destination, which can be a directory or a path with filename. \n " ,
{
@ -1827,12 +1769,9 @@ static UniValue backupwallet(const JSONRPCRequest& request)
static UniValue keypoolrefill ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " keypoolrefill " ,
" \n Fills the keypool. " +
HELP_REQUIRING_PASSPHRASE ,
@ -1874,12 +1813,9 @@ static UniValue keypoolrefill(const JSONRPCRequest& request)
static UniValue walletpassphrase ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " walletpassphrase " ,
" \n Stores the wallet decryption key in memory for 'timeout' seconds. \n "
" This is needed prior to performing transactions related to private keys such as sending bitcoins \n "
@ -1971,12 +1907,9 @@ static UniValue walletpassphrase(const JSONRPCRequest& request)
static UniValue walletpassphrasechange ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " walletpassphrasechange " ,
" \n Changes the wallet passphrase from 'oldpassphrase' to 'newpassphrase'. \n " ,
{
@ -2021,12 +1954,9 @@ static UniValue walletpassphrasechange(const JSONRPCRequest& request)
static UniValue walletlock ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " walletlock " ,
" \n Removes the wallet encryption key from memory, locking the wallet. \n "
" After calling this method, you will need to call walletpassphrase again \n "
@ -2061,12 +1991,9 @@ static UniValue walletlock(const JSONRPCRequest& request)
static UniValue encryptwallet ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " encryptwallet " ,
" \n Encrypts the wallet with 'passphrase'. This is for first time encryption. \n "
" After this, any calls that interact with private keys such as sending or signing \n "
@ -2121,12 +2048,9 @@ static UniValue encryptwallet(const JSONRPCRequest& request)
static UniValue lockunspent ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " lockunspent " ,
" \n Updates list of temporarily unspendable outputs. \n "
" Temporarily lock (unlock=false) or unlock (unlock=true) specified transaction outputs. \n "
@ -2247,12 +2171,9 @@ static UniValue lockunspent(const JSONRPCRequest& request)
static UniValue listlockunspent ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " listlockunspent " ,
" \n Returns list of temporarily unspendable outputs. \n "
" See the lockunspent call to lock and unlock transactions for spending. \n " ,
@ -2302,12 +2223,9 @@ static UniValue listlockunspent(const JSONRPCRequest& request)
static UniValue settxfee ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " settxfee " ,
" \n Set the transaction fee per kB for this wallet. Overrides the global -paytxfee command line parameter. \n "
" Can be deactivated by passing 0 as the fee. In that case automatic fee selection will be used by default. \n " ,
@ -2345,9 +2263,7 @@ static UniValue settxfee(const JSONRPCRequest& request)
static UniValue getbalances ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const rpc_wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! EnsureWalletIsAvailable ( rpc_wallet . get ( ) , request . fHelp ) ) {
return NullUniValue ;
}
if ( ! rpc_wallet ) return NullUniValue ;
CWallet & wallet = * rpc_wallet ;
RPCHelpMan {
@ -2412,12 +2328,9 @@ static UniValue getbalances(const JSONRPCRequest& request)
static UniValue getwalletinfo ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getwalletinfo " ,
" Returns an object containing various wallet state info. \n " ,
{ } ,
@ -2560,12 +2473,7 @@ static UniValue listwallets(const JSONRPCRequest& request)
UniValue obj ( UniValue : : VARR ) ;
for ( const std : : shared_ptr < CWallet > & wallet : GetWallets ( ) ) {
if ( ! EnsureWalletIsAvailable ( wallet . get ( ) , request . fHelp ) ) {
return NullUniValue ;
}
LOCK ( wallet - > cs_wallet ) ;
obj . push_back ( wallet - > GetName ( ) ) ;
}
@ -2622,12 +2530,9 @@ static UniValue loadwallet(const JSONRPCRequest& request)
static UniValue setwalletflag ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
std : : string flags = " " ;
for ( auto & it : WALLET_FLAG_MAP )
if ( it . second & MUTABLE_WALLET_FLAGS )
@ -2805,12 +2710,9 @@ static UniValue unloadwallet(const JSONRPCRequest& request)
static UniValue listunspent ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan {
" listunspent " ,
" \n Returns array of unspent transaction outputs \n "
@ -3138,12 +3040,9 @@ void FundTransaction(CWallet* const pwallet, CMutableTransaction& tx, CAmount& f
static UniValue fundrawtransaction ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " fundrawtransaction " ,
" \n Add inputs to a transaction until it has enough in value to meet its out value. \n "
" This will not modify existing inputs, and will add at most one change output to the outputs. \n "
@ -3238,12 +3137,9 @@ static UniValue fundrawtransaction(const JSONRPCRequest& request)
UniValue signrawtransactionwithwallet ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " signrawtransactionwithwallet " ,
" \n Sign inputs for raw transaction (serialized, hex-encoded). \n "
" The second optional argument (may be null) is an array of previous transaction outputs that \n "
@ -3332,12 +3228,9 @@ UniValue signrawtransactionwithwallet(const JSONRPCRequest& request)
static UniValue bumpfee ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) )
return NullUniValue ;
RPCHelpMan { " bumpfee " ,
" \n Bumps the fee of an opt-in-RBF transaction T, replacing it with a new transaction B. \n "
" An opt-in RBF transaction with the given txid must be in the wallet. \n "
@ -3504,12 +3397,9 @@ static UniValue bumpfee(const JSONRPCRequest& request)
UniValue rescanblockchain ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " rescanblockchain " ,
" \n Rescan the local blockchain for wallet related transactions. \n "
" Note: Use \" getwalletinfo \" to query the scanning progress. \n " ,
@ -3703,12 +3593,9 @@ static UniValue AddressBookDataToJSON(const CAddressBookData& data, const bool v
UniValue getaddressinfo ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getaddressinfo " ,
" \n Return information about the given bitcoin address. \n "
" Some of the information will only be present if the address is in the active wallet. \n " ,
@ -3846,12 +3733,9 @@ UniValue getaddressinfo(const JSONRPCRequest& request)
static UniValue getaddressesbylabel ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " getaddressesbylabel " ,
" \n Returns the list of addresses assigned the specified label. \n " ,
{
@ -3906,12 +3790,9 @@ static UniValue getaddressesbylabel(const JSONRPCRequest& request)
static UniValue listlabels ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " listlabels " ,
" \n Returns the list of all labels, or labels that are assigned to addresses with a specific purpose. \n " ,
{
@ -3962,12 +3843,9 @@ static UniValue listlabels(const JSONRPCRequest& request)
UniValue sethdseed ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " sethdseed " ,
" \n Set or generate a new HD wallet seed. Non-HD wallets will not be upgraded to being a HD wallet. Wallets that are already \n "
" HD will have a new HD seed set so that new keys added to the keypool will be derived from this new seed. \n "
@ -4035,12 +3913,9 @@ UniValue sethdseed(const JSONRPCRequest& request)
UniValue walletprocesspsbt ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
const CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " walletprocesspsbt " ,
" \n Update a PSBT with input information from our wallet and then sign inputs \n "
" that we can sign for. " +
@ -4102,12 +3977,9 @@ UniValue walletprocesspsbt(const JSONRPCRequest& request)
UniValue walletcreatefundedpsbt ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " walletcreatefundedpsbt " ,
" \n Creates and funds a transaction in the Partially Signed Transaction format. Inputs will be added if supplied inputs are not enough \n "
" Implements the Creator and Updater roles. \n " ,
@ -4227,12 +4099,9 @@ UniValue walletcreatefundedpsbt(const JSONRPCRequest& request)
static UniValue upgradewallet ( const JSONRPCRequest & request )
{
std : : shared_ptr < CWallet > const wallet = GetWalletForJSONRPCRequest ( request ) ;
if ( ! wallet ) return NullUniValue ;
CWallet * const pwallet = wallet . get ( ) ;
if ( ! EnsureWalletIsAvailable ( pwallet , request . fHelp ) ) {
return NullUniValue ;
}
RPCHelpMan { " upgradewallet " ,
" \n Upgrade the wallet. Upgrades to the latest version if no version number is specified \n "
" New keys may be generated and a new wallet backup will need to be made. " ,