From 62c9b1155f966cfb91d01d5598f974610962fa82 Mon Sep 17 00:00:00 2001 From: Andrey Date: Thu, 13 Dec 2012 18:59:10 +0400 Subject: listreceivedbyaddress now provides tx ids (issue #1149) --- src/rpcwallet.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/rpcwallet.cpp') diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 90a68f560a..e17be780ac 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -813,6 +813,7 @@ struct tallyitem { int64 nAmount; int nConf; + vector txids; tallyitem() { nAmount = 0; @@ -854,6 +855,7 @@ Value ListReceived(const Array& params, bool fByAccounts) tallyitem& item = mapTally[address]; item.nAmount += txout.nValue; item.nConf = min(item.nConf, nDepth); + item.txids.push_back(wtx.GetHash()); } } @@ -889,6 +891,12 @@ Value ListReceived(const Array& params, bool fByAccounts) obj.push_back(Pair("account", strAccount)); obj.push_back(Pair("amount", ValueFromAmount(nAmount))); obj.push_back(Pair("confirmations", (nConf == std::numeric_limits::max() ? 0 : nConf))); + Array transactions; + BOOST_FOREACH(const uint256& item, (*it).second.txids) + { + transactions.push_back(item.GetHex()); + } + obj.push_back(Pair("txids", transactions)); ret.push_back(obj); } } -- cgit v1.2.3 From 1a20469428ef623f4edc2cdac72aef001836536c Mon Sep 17 00:00:00 2001 From: Andrey Date: Sun, 16 Dec 2012 23:10:32 +0400 Subject: Updated help and tests for getreceivedby(account|address) --- src/rpcwallet.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/rpcwallet.cpp') diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index e17be780ac..d9d364c820 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -892,9 +892,12 @@ Value ListReceived(const Array& params, bool fByAccounts) obj.push_back(Pair("amount", ValueFromAmount(nAmount))); obj.push_back(Pair("confirmations", (nConf == std::numeric_limits::max() ? 0 : nConf))); Array transactions; - BOOST_FOREACH(const uint256& item, (*it).second.txids) + if (it != mapTally.end()) { - transactions.push_back(item.GetHex()); + BOOST_FOREACH(const uint256& item, (*it).second.txids) + { + transactions.push_back(item.GetHex()); + } } obj.push_back(Pair("txids", transactions)); ret.push_back(obj); @@ -929,7 +932,8 @@ Value listreceivedbyaddress(const Array& params, bool fHelp) " \"address\" : receiving address\n" " \"account\" : the account of the receiving address\n" " \"amount\" : total amount received by the address\n" - " \"confirmations\" : number of confirmations of the most recent transaction included"); + " \"confirmations\" : number of confirmations of the most recent transaction included\n" + " \"txids\" : list of transactions with outputs to the address\n"); return ListReceived(params, false); } -- cgit v1.2.3