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) if (!found)
accounts.push_back(na); 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()) if (issuer.isNonZero())
{ {
RippleAddress na; RippleAddress na;

View File

@@ -81,7 +81,8 @@ std::vector<RippleAddress> TransactionMetaSet::getAffectedAccounts()
const STAccount* sa = dynamic_cast<const STAccount*>(&field); const STAccount* sa = dynamic_cast<const STAccount*>(&field);
if (sa) if (sa)
addIfUnique(accounts, sa->getValueNCA()); 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); const STAmount* lim = dynamic_cast<const STAmount*>(&field);
if (lim != NULL) if (lim != NULL)