Enforce no-ripple constraints

This commit is contained in:
seelabs
2016-01-26 16:22:58 -05:00
parent 7d2809eb27
commit 96bc727fcb

View File

@@ -799,6 +799,19 @@ TER PathState::checkNoRipple (
if (terStatus != tesSUCCESS)
return terStatus;
}
if (!nodes_[i - 1].isAccount() &&
nodes_[i].isAccount() &&
nodes_[i + 1].isAccount() &&
nodes_[i -1].issue_.account != nodes_[i].account_)
{ // offer -> account -> account
auto const& currencyID = nodes_[i].issue_.currency;
terStatus = checkNoRipple (
nodes_[i-1].issue_.account, nodes_[i].account_, nodes_[i+1].account_,
currencyID);
if (terStatus != tesSUCCESS)
return terStatus;
}
}
return tesSUCCESS;