Add address groupings RPC from the coincontrol patches.

Signed-off-by: Gregory Maxwell <greg@xiph.org>
This commit is contained in:
coderrr
2012-08-01 12:48:42 -04:00
committed by Gregory Maxwell
parent 47753fa369
commit 22dfd73598
5 changed files with 163 additions and 0 deletions

View File

@@ -274,6 +274,33 @@ Value sendtoaddress(const Array& params, bool fHelp)
return wtx.GetHash().GetHex();
}
Value listaddressgroupings(const Array& params, bool fHelp)
{
if (fHelp)
throw runtime_error("listaddressgroupings");
Array jsonGroupings;
map<string, int64> balances = pwalletMain->GetAddressBalances();
BOOST_FOREACH(set<string> grouping, pwalletMain->GetAddressGroupings())
{
Array jsonGrouping;
BOOST_FOREACH(string address, grouping)
{
Array addressInfo;
addressInfo.push_back(address);
addressInfo.push_back(ValueFromAmount(balances[address]));
{
LOCK(pwalletMain->cs_wallet);
if (pwalletMain->mapAddressBook.find(CBitcoinAddress(address).Get()) != pwalletMain->mapAddressBook.end())
addressInfo.push_back(pwalletMain->mapAddressBook.find(CBitcoinAddress(address).Get())->second);
}
jsonGrouping.push_back(addressInfo);
}
jsonGroupings.push_back(jsonGrouping);
}
return jsonGroupings;
}
Value signmessage(const Array& params, bool fHelp)
{
if (fHelp || params.size() != 2)