address comments

This commit is contained in:
Nathan Nichols
2021-05-13 09:06:20 -05:00
parent cabd9e0c45
commit db92f420d9
3 changed files with 34 additions and 50 deletions

View File

@@ -237,24 +237,6 @@ doBookOffers(
return response; return response;
} }
boost::optional<ripple::AccountID> takerID;
if (request.contains("taker"))
{
if (!request.at("taker").is_string())
{
response["error"] = "taker should be string";
return response;
}
takerID = ripple::parseBase58<ripple::AccountID>(
request.at("taker").as_string().c_str());
if (!takerID)
{
response["error"] = "Invalid taker";
return response;
}
}
if (pay_currency == get_currency && pay_issuer == get_issuer) if (pay_currency == get_currency && pay_issuer == get_issuer)
{ {
response["error"] = "Bad market"; response["error"] = "Bad market";
@@ -271,6 +253,24 @@ doBookOffers(
request.at("limit").kind() == boost::json::kind::int64) request.at("limit").kind() == boost::json::kind::int64)
limit = request.at("limit").as_int64(); limit = request.at("limit").as_int64();
std::optional<ripple::AccountID> takerID = {};
if (request.contains("taker"))
{
if (!request.at("taker").is_string())
{
response["error"] = "Taker account must be string";
return response;
}
takerID =
accountFromStringStrict(request.at("taker").as_string().c_str());
if (!takerID)
{
response["error"] = "Invalid taker account";
return response;
}
}
std::optional<ripple::uint256> cursor; std::optional<ripple::uint256> cursor;
if (request.contains("cursor")) if (request.contains("cursor"))
{ {
@@ -293,11 +293,11 @@ doBookOffers(
boost::json::array& jsonOffers = response.at("offers").as_array(); boost::json::array& jsonOffers = response.at("offers").as_array();
start = std::chrono::system_clock::now(); start = std::chrono::system_clock::now();
std::transform( for (auto const& obj : offers)
std::move_iterator(offers.begin()), {
std::move_iterator(offers.end()), if (jsonOffers.size() == limit)
std::back_inserter(jsonOffers), break;
[](auto&& obj) {
try try
{ {
ripple::SerialIter it{obj.blob.data(), obj.blob.size()}; ripple::SerialIter it{obj.blob.data(), obj.blob.size()};
@@ -306,16 +306,10 @@ doBookOffers(
boost::json::object offerJson = getJson(offer); boost::json::object offerJson = getJson(offer);
offerJson["quality"] = ripple::amountFromQuality(getQuality(bookDir)).getText(); offerJson["quality"] = ripple::amountFromQuality(getQuality(bookDir)).getText();
return offerJson; jsonOffers.push_back(offerJson);
} }
catch (std::exception const& e) catch (std::exception const& e) {}
{
boost::json::object empty;
empty["missing_key"] = ripple::strHex(obj.key);
empty["data"] = ripple::strHex(obj.blob);
return empty;
} }
});
end = std::chrono::system_clock::now(); end = std::chrono::system_clock::now();

View File

@@ -604,13 +604,8 @@ CassandraBackend::fetchBookOffers(
for (size_t i = 0; i < objs.size(); ++i) for (size_t i = 0; i < objs.size(); ++i)
{ {
if (objs[i].size() != 0) if (objs[i].size() != 0)
{
if (results.size() == limit)
return {results, keys[i], warning};
results.push_back({keys[i], objs[i]}); results.push_back({keys[i], objs[i]});
} }
}
return {results, {}, warning}; return {results, {}, warning};
} }

View File

@@ -478,13 +478,8 @@ PostgresBackend::fetchBookOffers(
for (auto i = 0; i < ledgerEntries.size(); ++i) for (auto i = 0; i < ledgerEntries.size(); ++i)
{ {
if(ledgerEntries[i].size() != 0) if(ledgerEntries[i].size() != 0)
{
if (objects.size() == limit)
return {objects, keys[i], warning};
objects.push_back(LedgerObject{keys[i], ledgerEntries[i]}); objects.push_back(LedgerObject{keys[i], ledgerEntries[i]});
} }
}
return {objects, {}, warning}; return {objects, {}, warning};
}; };