|
|
@ -110,7 +110,7 @@ string AccountFromValue(const Value& value) |
|
|
|
Value getnewaddress(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 1) |
|
|
|
throw runtime_error( |
|
|
@ -187,7 +187,7 @@ CBitcoinAddress GetAccountAddress(string strAccount, bool bForceNew=false) |
|
|
|
Value getaccountaddress(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() != 1) |
|
|
|
throw runtime_error( |
|
|
@ -219,7 +219,7 @@ Value getaccountaddress(const Array& params, bool fHelp) |
|
|
|
Value getrawchangeaddress(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 1) |
|
|
|
throw runtime_error( |
|
|
@ -254,7 +254,7 @@ Value getrawchangeaddress(const Array& params, bool fHelp) |
|
|
|
Value setaccount(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 1 || params.size() > 2) |
|
|
|
throw runtime_error( |
|
|
@ -300,7 +300,7 @@ Value setaccount(const Array& params, bool fHelp) |
|
|
|
Value getaccount(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() != 1) |
|
|
|
throw runtime_error( |
|
|
@ -332,7 +332,7 @@ Value getaccount(const Array& params, bool fHelp) |
|
|
|
Value getaddressesbyaccount(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() != 1) |
|
|
|
throw runtime_error( |
|
|
@ -400,7 +400,7 @@ static void SendMoney(const CTxDestination &address, CAmount nValue, bool fSubtr |
|
|
|
Value sendtoaddress(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 2 || params.size() > 5) |
|
|
|
throw runtime_error( |
|
|
@ -456,7 +456,7 @@ Value sendtoaddress(const Array& params, bool fHelp) |
|
|
|
Value listaddressgroupings(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp) |
|
|
|
throw runtime_error( |
|
|
@ -507,7 +507,7 @@ Value listaddressgroupings(const Array& params, bool fHelp) |
|
|
|
Value signmessage(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() != 2) |
|
|
|
throw runtime_error( |
|
|
@ -563,7 +563,7 @@ Value signmessage(const Array& params, bool fHelp) |
|
|
|
Value getreceivedbyaddress(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 1 || params.size() > 2) |
|
|
|
throw runtime_error( |
|
|
@ -621,7 +621,7 @@ Value getreceivedbyaddress(const Array& params, bool fHelp) |
|
|
|
Value getreceivedbyaccount(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 1 || params.size() > 2) |
|
|
|
throw runtime_error( |
|
|
@ -710,7 +710,7 @@ CAmount GetAccountBalance(const string& strAccount, int nMinDepth, const isminef |
|
|
|
Value getbalance(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 3) |
|
|
|
throw runtime_error( |
|
|
@ -782,7 +782,7 @@ Value getbalance(const Array& params, bool fHelp) |
|
|
|
Value getunconfirmedbalance(const Array ¶ms, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 0) |
|
|
|
throw runtime_error( |
|
|
@ -798,7 +798,7 @@ Value getunconfirmedbalance(const Array ¶ms, bool fHelp) |
|
|
|
Value movecmd(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 3 || params.size() > 5) |
|
|
|
throw runtime_error( |
|
|
@ -868,7 +868,7 @@ Value movecmd(const Array& params, bool fHelp) |
|
|
|
Value sendfrom(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 3 || params.size() > 6) |
|
|
|
throw runtime_error( |
|
|
@ -931,7 +931,7 @@ Value sendfrom(const Array& params, bool fHelp) |
|
|
|
Value sendmany(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 2 || params.size() > 5) |
|
|
|
throw runtime_error( |
|
|
@ -1006,9 +1006,11 @@ Value sendmany(const Array& params, bool fHelp) |
|
|
|
totalAmount += nAmount; |
|
|
|
|
|
|
|
bool fSubtractFeeFromAmount = false; |
|
|
|
BOOST_FOREACH(const Value& addr, subtractFeeFromAmount) |
|
|
|
if (addr.get_str() == s.name_) |
|
|
|
for (unsigned int idx = 0; idx < subtractFeeFromAmount.size(); idx++) { |
|
|
|
const Value& addr = subtractFeeFromAmount[idx]; |
|
|
|
if (addr.get_str() == name_) |
|
|
|
fSubtractFeeFromAmount = true; |
|
|
|
} |
|
|
|
|
|
|
|
CRecipient recipient = {scriptPubKey, nAmount, fSubtractFeeFromAmount}; |
|
|
|
vecSend.push_back(recipient); |
|
|
@ -1041,7 +1043,7 @@ extern CScript _createmultisig_redeemScript(const Array& params); |
|
|
|
Value addmultisigaddress(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 2 || params.size() > 3) |
|
|
|
{ |
|
|
@ -1222,7 +1224,7 @@ Value ListReceived(const Array& params, bool fByAccounts) |
|
|
|
Value listreceivedbyaddress(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 3) |
|
|
|
throw runtime_error( |
|
|
@ -1259,7 +1261,7 @@ Value listreceivedbyaddress(const Array& params, bool fHelp) |
|
|
|
Value listreceivedbyaccount(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 3) |
|
|
|
throw runtime_error( |
|
|
@ -1391,7 +1393,7 @@ void AcentryToJSON(const CAccountingEntry& acentry, const string& strAccount, Ar |
|
|
|
Value listtransactions(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 4) |
|
|
|
throw runtime_error( |
|
|
@ -1512,7 +1514,7 @@ Value listtransactions(const Array& params, bool fHelp) |
|
|
|
Value listaccounts(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 2) |
|
|
|
throw runtime_error( |
|
|
@ -1592,7 +1594,7 @@ Value listaccounts(const Array& params, bool fHelp) |
|
|
|
Value listsinceblock(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp) |
|
|
|
throw runtime_error( |
|
|
@ -1683,7 +1685,7 @@ Value listsinceblock(const Array& params, bool fHelp) |
|
|
|
Value gettransaction(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 1 || params.size() > 2) |
|
|
|
throw runtime_error( |
|
|
@ -1772,7 +1774,7 @@ Value gettransaction(const Array& params, bool fHelp) |
|
|
|
Value backupwallet(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() != 1) |
|
|
|
throw runtime_error( |
|
|
@ -1815,7 +1817,7 @@ Value backupwallet(const Array& params, bool fHelp) |
|
|
|
Value keypoolrefill(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 1) |
|
|
|
throw runtime_error( |
|
|
@ -1859,7 +1861,7 @@ static void LockWallet(CWallet* pWallet) |
|
|
|
Value walletpassphrase(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (pwalletMain->IsCrypted() && (fHelp || params.size() != 2)) |
|
|
|
throw runtime_error( |
|
|
@ -1921,7 +1923,7 @@ Value walletpassphrase(const Array& params, bool fHelp) |
|
|
|
Value walletpassphrasechange(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (pwalletMain->IsCrypted() && (fHelp || params.size() != 2)) |
|
|
|
throw runtime_error( |
|
|
@ -1967,7 +1969,7 @@ Value walletpassphrasechange(const Array& params, bool fHelp) |
|
|
|
Value walletlock(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (pwalletMain->IsCrypted() && (fHelp || params.size() != 0)) |
|
|
|
throw runtime_error( |
|
|
@ -2006,7 +2008,7 @@ Value walletlock(const Array& params, bool fHelp) |
|
|
|
Value encryptwallet(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
auto fEnableWalletEncryption = fExperimentalMode && GetBoolArg("-developerencryptwallet", false); |
|
|
|
|
|
|
@ -2074,7 +2076,7 @@ Value encryptwallet(const Array& params, bool fHelp) |
|
|
|
Value lockunspent(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 1 || params.size() > 2) |
|
|
|
throw runtime_error( |
|
|
@ -2158,7 +2160,7 @@ Value lockunspent(const Array& params, bool fHelp) |
|
|
|
Value listlockunspent(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 0) |
|
|
|
throw runtime_error( |
|
|
@ -2207,7 +2209,7 @@ Value listlockunspent(const Array& params, bool fHelp) |
|
|
|
Value settxfee(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() < 1 || params.size() > 1) |
|
|
|
throw runtime_error( |
|
|
@ -2236,7 +2238,7 @@ Value settxfee(const Array& params, bool fHelp) |
|
|
|
Value getwalletinfo(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() != 0) |
|
|
|
throw runtime_error( |
|
|
@ -2276,7 +2278,7 @@ Value getwalletinfo(const Array& params, bool fHelp) |
|
|
|
Value resendwallettransactions(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() != 0) |
|
|
|
throw runtime_error( |
|
|
@ -2301,7 +2303,7 @@ Value resendwallettransactions(const Array& params, bool fHelp) |
|
|
|
Value listunspent(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
if (!EnsureWalletIsAvailable(fHelp)) |
|
|
|
return Value::null; |
|
|
|
return NullUniValue; |
|
|
|
|
|
|
|
if (fHelp || params.size() > 3) |
|
|
|
throw runtime_error( |
|
|
@ -2339,7 +2341,7 @@ Value listunspent(const Array& params, bool fHelp) |
|
|
|
+ HelpExampleRpc("listunspent", "6, 9999999 \"[\\\"1PGFqEzfmQch1gKD3ra4k18PNj3tTUUSqg\\\",\\\"1LtvqCaApEdUGFkpKMM4MstjcaL4dKg8SP\\\"]\"") |
|
|
|
); |
|
|
|
|
|
|
|
RPCTypeCheck(params, boost::assign::list_of(int_type)(int_type)(array_type)); |
|
|
|
RPCTypeCheck(params, boost::assign::list_of(UniValue::VNUM)(UniValue::VNUM)(UniValue::VARR)); |
|
|
|
|
|
|
|
int nMinDepth = 1; |
|
|
|
if (params.size() > 0) |
|
|
@ -2352,7 +2354,8 @@ Value listunspent(const Array& params, bool fHelp) |
|
|
|
set<CBitcoinAddress> setAddress; |
|
|
|
if (params.size() > 2) { |
|
|
|
Array inputs = params[2].get_array(); |
|
|
|
BOOST_FOREACH(Value& input, inputs) { |
|
|
|
for (unsigned int idx = 0; idx < inputs.size(); idx++) { |
|
|
|
const Value& input = inputs[idx]; |
|
|
|
CBitcoinAddress address(input.get_str()); |
|
|
|
if (!address.IsValid()) |
|
|
|
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, string("Invalid Zcash address: ")+input.get_str()); |
|
|
|