|
|
@ -860,7 +860,7 @@ Value sendmany(const Array& params, bool fHelp) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (fHelp || params.size() < 2 || params.size() > 5) |
|
|
|
if (fHelp || params.size() < 2 || params.size() > 5) |
|
|
|
throw runtime_error( |
|
|
|
throw runtime_error( |
|
|
|
"sendmany \"fromaccount\" {\"address\":amount,...} ( minconf \"comment\" {\"address\":true,...} )\n" |
|
|
|
"sendmany \"fromaccount\" {\"address\":amount,...} ( minconf \"comment\" [\"address\",...] )\n" |
|
|
|
"\nSend multiple times. Amounts are double-precision floating point numbers." |
|
|
|
"\nSend multiple times. Amounts are double-precision floating point numbers." |
|
|
|
+ HelpRequiringPassphrase() + "\n" |
|
|
|
+ HelpRequiringPassphrase() + "\n" |
|
|
|
"\nArguments:\n" |
|
|
|
"\nArguments:\n" |
|
|
@ -872,14 +872,14 @@ Value sendmany(const Array& params, bool fHelp) |
|
|
|
" }\n" |
|
|
|
" }\n" |
|
|
|
"3. minconf (numeric, optional, default=1) Only use the balance confirmed at least this many times.\n" |
|
|
|
"3. minconf (numeric, optional, default=1) Only use the balance confirmed at least this many times.\n" |
|
|
|
"4. \"comment\" (string, optional) A comment\n" |
|
|
|
"4. \"comment\" (string, optional) A comment\n" |
|
|
|
"5. subtractfeefromamount (string, optional) A json object with addresses and booleans.\n" |
|
|
|
"5. subtractfeefromamount (string, optional) A json array with addresses.\n" |
|
|
|
" The fee will be equally deducted from the amount of each selected address.\n" |
|
|
|
" The fee will be equally deducted from the amount of each selected address.\n" |
|
|
|
" Those recipients will receive less bitcoins than you enter in their corresponding amount field.\n" |
|
|
|
" Those recipients will receive less bitcoins than you enter in their corresponding amount field.\n" |
|
|
|
" Default for each address is false. If no addresses are specified here, the sender pays the fee.\n" |
|
|
|
" If no addresses are specified here, the sender pays the fee.\n" |
|
|
|
" {\n" |
|
|
|
" [\n" |
|
|
|
" \"address\":true (boolean) Subtract fee from this address\n" |
|
|
|
" \"address\" (string) Subtract fee from this address\n" |
|
|
|
" ,...\n" |
|
|
|
" ,...\n" |
|
|
|
" }\n" |
|
|
|
" ]\n" |
|
|
|
"\nResult:\n" |
|
|
|
"\nResult:\n" |
|
|
|
"\"transactionid\" (string) The transaction id for the send. Only 1 transaction is created regardless of \n" |
|
|
|
"\"transactionid\" (string) The transaction id for the send. Only 1 transaction is created regardless of \n" |
|
|
|
" the number of addresses.\n" |
|
|
|
" the number of addresses.\n" |
|
|
@ -889,7 +889,7 @@ Value sendmany(const Array& params, bool fHelp) |
|
|
|
"\nSend two amounts to two different addresses setting the confirmation and comment:\n" |
|
|
|
"\nSend two amounts to two different addresses setting the confirmation and comment:\n" |
|
|
|
+ HelpExampleCli("sendmany", "\"\" \"{\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\":0.01,\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\":0.02}\" 6 \"testing\"") + |
|
|
|
+ HelpExampleCli("sendmany", "\"\" \"{\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\":0.01,\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\":0.02}\" 6 \"testing\"") + |
|
|
|
"\nSend two amounts to two different addresses, subtract fee from amount:\n" |
|
|
|
"\nSend two amounts to two different addresses, subtract fee from amount:\n" |
|
|
|
+ HelpExampleCli("sendmany", "\"\" \"{\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\":0.01,\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\":0.02}\" 1 \"\" \"{\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\":true,\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\":true}\"") + |
|
|
|
+ HelpExampleCli("sendmany", "\"\" \"{\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\":0.01,\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\":0.02}\" 1 \"\" \"[\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\",\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\"]\"") + |
|
|
|
"\nAs a json rpc call\n" |
|
|
|
"\nAs a json rpc call\n" |
|
|
|
+ HelpExampleRpc("sendmany", "\"\", \"{\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\":0.01,\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\":0.02}\", 6, \"testing\"") |
|
|
|
+ HelpExampleRpc("sendmany", "\"\", \"{\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\":0.01,\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\":0.02}\", 6, \"testing\"") |
|
|
|
); |
|
|
|
); |
|
|
@ -907,9 +907,9 @@ Value sendmany(const Array& params, bool fHelp) |
|
|
|
if (params.size() > 3 && params[3].type() != null_type && !params[3].get_str().empty()) |
|
|
|
if (params.size() > 3 && params[3].type() != null_type && !params[3].get_str().empty()) |
|
|
|
wtx.mapValue["comment"] = params[3].get_str(); |
|
|
|
wtx.mapValue["comment"] = params[3].get_str(); |
|
|
|
|
|
|
|
|
|
|
|
Object subtractFeeFromAmount; |
|
|
|
Array subtractFeeFromAmount; |
|
|
|
if (params.size() > 4) |
|
|
|
if (params.size() > 4) |
|
|
|
subtractFeeFromAmount = params[4].get_obj(); |
|
|
|
subtractFeeFromAmount = params[4].get_array(); |
|
|
|
|
|
|
|
|
|
|
|
set<CBitcoinAddress> setAddress; |
|
|
|
set<CBitcoinAddress> setAddress; |
|
|
|
vector<CRecipient> vecSend; |
|
|
|
vector<CRecipient> vecSend; |
|
|
@ -930,8 +930,8 @@ Value sendmany(const Array& params, bool fHelp) |
|
|
|
totalAmount += nAmount; |
|
|
|
totalAmount += nAmount; |
|
|
|
|
|
|
|
|
|
|
|
bool fSubtractFeeFromAmount = false; |
|
|
|
bool fSubtractFeeFromAmount = false; |
|
|
|
BOOST_FOREACH(const Pair& s2, subtractFeeFromAmount) |
|
|
|
BOOST_FOREACH(const Value& addr, subtractFeeFromAmount) |
|
|
|
if (s2.name_ == s.name_ && s2.value_.get_bool() == true) |
|
|
|
if (addr.get_str() == s.name_) |
|
|
|
fSubtractFeeFromAmount = true; |
|
|
|
fSubtractFeeFromAmount = true; |
|
|
|
|
|
|
|
|
|
|
|
CRecipient recipient = {scriptPubKey, nAmount, fSubtractFeeFromAmount}; |
|
|
|
CRecipient recipient = {scriptPubKey, nAmount, fSubtractFeeFromAmount}; |
|
|
|