Refactor: Move GetAccountAddresses to CWallet

This commit is contained in:
Gavin Andresen 2013-07-16 09:01:09 +10:00
parent 618855133d
commit 3624356e82
3 changed files with 16 additions and 18 deletions

View File

@ -421,17 +421,6 @@ Value getreceivedbyaddress(const Array& params, bool fHelp)
} }
void GetAccountAddresses(string strAccount, set<CTxDestination>& setAddress)
{
BOOST_FOREACH(const PAIRTYPE(CTxDestination, CAddressBookData)& item, pwalletMain->mapAddressBook)
{
const CTxDestination& address = item.first;
const string& strName = item.second.name;
if (strName == strAccount)
setAddress.insert(address);
}
}
Value getreceivedbyaccount(const Array& params, bool fHelp) Value getreceivedbyaccount(const Array& params, bool fHelp)
{ {
if (fHelp || params.size() < 1 || params.size() > 2) if (fHelp || params.size() < 1 || params.size() > 2)
@ -446,8 +435,7 @@ Value getreceivedbyaccount(const Array& params, bool fHelp)
// Get the set of pub keys assigned to account // Get the set of pub keys assigned to account
string strAccount = AccountFromValue(params[0]); string strAccount = AccountFromValue(params[0]);
set<CTxDestination> setAddress; set<CTxDestination> setAddress = pwalletMain->GetAccountAddresses(strAccount);
GetAccountAddresses(strAccount, setAddress);
// Tally // Tally
int64 nAmount = 0; int64 nAmount = 0;

View File

@ -1812,6 +1812,19 @@ set< set<CTxDestination> > CWallet::GetAddressGroupings()
return ret; return ret;
} }
set<CTxDestination> CWallet::GetAccountAddresses(string strAccount) const
{
set<CTxDestination> result;
BOOST_FOREACH(const PAIRTYPE(CTxDestination, CAddressBookData)& item, mapAddressBook)
{
const CTxDestination& address = item.first;
const string& strName = item.second.name;
if (strName == strAccount)
result.insert(address);
}
return result;
}
bool CReserveKey::GetReservedKey(CPubKey& pubkey) bool CReserveKey::GetReservedKey(CPubKey& pubkey)
{ {
if (nIndex == -1) if (nIndex == -1)

View File

@ -73,11 +73,6 @@ public:
CAddressBookData() CAddressBookData()
{ {
} }
IMPLEMENT_SERIALIZE
(
READWRITE(name);
)
}; };
/** A CWallet is an extension of a keystore, which also maintains a set of transactions and balances, /** A CWallet is an extension of a keystore, which also maintains a set of transactions and balances,
@ -230,6 +225,8 @@ public:
std::set< std::set<CTxDestination> > GetAddressGroupings(); std::set< std::set<CTxDestination> > GetAddressGroupings();
std::map<CTxDestination, int64> GetAddressBalances(); std::map<CTxDestination, int64> GetAddressBalances();
std::set<CTxDestination> GetAccountAddresses(std::string strAccount) const;
bool IsMine(const CTxIn& txin) const; bool IsMine(const CTxIn& txin) const;
int64 GetDebit(const CTxIn& txin) const; int64 GetDebit(const CTxIn& txin) const;
bool IsMine(const CTxOut& txout) const bool IsMine(const CTxOut& txout) const