Return badMarket for same currency in taker_gets and taker_pays in book_offers (#357)

Fixes #269
This commit is contained in:
Francis Mendoza
2022-10-26 11:15:38 -07:00
committed by GitHub
parent 734c7a5c36
commit dc89d23e5a

View File

@@ -1355,7 +1355,7 @@ std::variant<Status, ripple::Book>
parseBook(boost::json::object const& request)
{
if (!request.contains("taker_pays"))
return Status{Error::rpcINVALID_PARAMS, "missingTakerPays"};
return Status{Error::rpcBAD_MARKET, "missingTakerPays"};
if (!request.contains("taker_gets"))
return Status{Error::rpcINVALID_PARAMS, "missingTakerGets"};
@@ -1458,7 +1458,7 @@ parseBook(boost::json::object const& request)
"Invalid field 'taker_gets.issuer', expected non-XRP issuer."};
if (pay_currency == get_currency && pay_issuer == get_issuer)
return Status{Error::rpcINVALID_PARAMS, "badMarket"};
return Status{Error::rpcBAD_MARKET, "badMarket"};
return ripple::Book{{pay_currency, pay_issuer}, {get_currency, get_issuer}};
}