Consider accounts that issue offer currencies as affected/mentioned.

This commit is contained in:
JoelKatz
2013-01-23 17:50:45 -08:00
parent 24cac01e47
commit a6d189e2da
2 changed files with 5 additions and 3 deletions

View File

@@ -100,9 +100,10 @@ std::vector<RippleAddress> SerializedTransaction::getMentionedAccounts() const
if (!found)
accounts.push_back(na);
}
if (it.getFName() == sfLimitAmount)
const STAmount* sam = dynamic_cast<const STAmount*>(&it);
if (sam)
{
uint160 issuer = dynamic_cast<const STAmount*>(&it)->getIssuer();
uint160 issuer = sam->getIssuer();
if (issuer.isNonZero())
{
RippleAddress na;

View File

@@ -81,7 +81,8 @@ std::vector<RippleAddress> TransactionMetaSet::getAffectedAccounts()
const STAccount* sa = dynamic_cast<const STAccount*>(&field);
if (sa)
addIfUnique(accounts, sa->getValueNCA());
else if ((field.getFName() == sfLowLimit) || (field.getFName() == sfHighLimit))
else if ((field.getFName() == sfLowLimit) || (field.getFName() == sfHighLimit) ||
(field.getFName() == sfTakerPays) || (field.getFName() == sfTakerGets))
{
const STAmount* lim = dynamic_cast<const STAmount*>(&field);
if (lim != NULL)