From 40a757331af84135e9c451ebe490b5a87c780944 Mon Sep 17 00:00:00 2001 From: Luke Dashjr Date: Thu, 5 Mar 2015 13:30:15 +0000 Subject: [PATCH] rpcwallet/sendmany: Just take an array of addresses to subtract fees from, rather than an Object with all values being identical --- src/rpcwallet.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 142487bc8..5502b0b26 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -860,7 +860,7 @@ Value sendmany(const Array& params, bool fHelp) { if (fHelp || params.size() < 2 || params.size() > 5) 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." + HelpRequiringPassphrase() + "\n" "\nArguments:\n" @@ -872,14 +872,14 @@ Value sendmany(const Array& params, bool fHelp) " }\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" - "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" " 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" - " {\n" - " \"address\":true (boolean) Subtract fee from this address\n" + " If no addresses are specified here, the sender pays the fee.\n" + " [\n" + " \"address\" (string) Subtract fee from this address\n" " ,...\n" - " }\n" + " ]\n" "\nResult:\n" "\"transactionid\" (string) The transaction id for the send. Only 1 transaction is created regardless of \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" + HelpExampleCli("sendmany", "\"\" \"{\\\"1D1ZrZNe3JUo7ZycKEYQQiQAWd9y54F4XZ\\\":0.01,\\\"1353tsE8YMTA4EuV7dgUXGjNFf9KpVvKHz\\\":0.02}\" 6 \"testing\"") + "\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" + 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()) wtx.mapValue["comment"] = params[3].get_str(); - Object subtractFeeFromAmount; + Array subtractFeeFromAmount; if (params.size() > 4) - subtractFeeFromAmount = params[4].get_obj(); + subtractFeeFromAmount = params[4].get_array(); set setAddress; vector vecSend; @@ -930,8 +930,8 @@ Value sendmany(const Array& params, bool fHelp) totalAmount += nAmount; bool fSubtractFeeFromAmount = false; - BOOST_FOREACH(const Pair& s2, subtractFeeFromAmount) - if (s2.name_ == s.name_ && s2.value_.get_bool() == true) + BOOST_FOREACH(const Value& addr, subtractFeeFromAmount) + if (addr.get_str() == s.name_) fSubtractFeeFromAmount = true; CRecipient recipient = {scriptPubKey, nAmount, fSubtractFeeFromAmount};