Detect paths with illegal bridging offers

This commit is contained in:
Mark Travis
2014-06-01 01:26:11 +00:00
parent 1d8d6a6d68
commit f8182c335a

View File

@@ -356,13 +356,19 @@ TER PathState::pushNode (
if (!!node.uCurrencyID != !!node.uIssuerID)
{
WriteLog (lsDEBUG, RippleCalc) << "pushNode: currency is inconsistent with issuer.";
WriteLog (lsDEBUG, RippleCalc) <<
"pushNode: currency is inconsistent with issuer.";
errorCode = temBAD_PATH;
}
else if (!!previousNode.uAccountID)
else if (previousNode.uCurrencyID == node.uCurrencyID &&
previousNode.uIssuerID == node.uIssuerID)
{
WriteLog (lsDEBUG, RippleCalc) <<
"pushNode: bad path: offer to same currency and issuer";
errorCode = temBAD_PATH;
}
else
{
// Previous is an account.
WriteLog (lsTRACE, RippleCalc) << "pushNode: imply for offer.";
// Insert intermediary issuer account if needed.