diff --git a/src/ripple/app/paths/PathState.cpp b/src/ripple/app/paths/PathState.cpp index b9142ea8a..b9fb425e1 100644 --- a/src/ripple/app/paths/PathState.cpp +++ b/src/ripple/app/paths/PathState.cpp @@ -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;