diff --git a/src/cpp/ripple/SerializedTransaction.cpp b/src/cpp/ripple/SerializedTransaction.cpp index a6ded3c21..7b5a58afc 100644 --- a/src/cpp/ripple/SerializedTransaction.cpp +++ b/src/cpp/ripple/SerializedTransaction.cpp @@ -79,7 +79,7 @@ std::string SerializedTransaction::getText() const } std::vector SerializedTransaction::getAffectedAccounts() const -{ +{ // FIXME: This needs to be thought out better std::vector accounts; BOOST_FOREACH(const SerializedType& it, peekData()) @@ -100,6 +100,26 @@ std::vector SerializedTransaction::getAffectedAccounts() const if (!found) accounts.push_back(na); } + if (it.getFName() == sfLimitAmount) + { + uint160 issuer = dynamic_cast(&it)->getIssuer(); + if (issuer.isNonZero()) + { + RippleAddress na; + na.setAccountID(issuer); + bool found = false; + BOOST_FOREACH(const RippleAddress& it, accounts) + { + if (it == na) + { + found = true; + break; + } + } + if (!found) + accounts.push_back(na); + } + } } return accounts; }