Merge branch 'develop' into pratik/test-tsan-and-gcc14-asan

This commit is contained in:
Pratik Mankawde
2026-03-23 10:28:23 +00:00
2 changed files with 9 additions and 8 deletions

View File

@@ -98,7 +98,7 @@ OracleSet::preclaim(PreclaimContext const& ctx)
return !v || *v == (*sle)[field];
};
std::uint32_t adjustReserve = 0;
std::int8_t adjustReserve = 0;
if (sle)
{
// update

View File

@@ -218,6 +218,12 @@ doGetAggregatePrice(RPC::JsonContext& context)
return result;
}
// Get the ledger
std::shared_ptr<ReadView const> ledger;
result = RPC::lookupLedger(ledger, context);
if (!ledger)
return result; // LCOV_EXCL_LINE
// Collect the dataset into bimap keyed by lastUpdateTime and
// STAmount (Number is int64 and price is uint64)
Prices prices;
@@ -238,11 +244,6 @@ doGetAggregatePrice(RPC::JsonContext& context)
return result;
}
std::shared_ptr<ReadView const> ledger;
result = RPC::lookupLedger(ledger, context);
if (!ledger)
return result; // LCOV_EXCL_LINE
auto const sle = ledger->read(keylet::oracle(*account, *documentID));
iteratePriceData(context, sle, [&](STObject const& node) {
auto const& series = node.getFieldArray(sfPriceDataSeries);
@@ -284,8 +285,8 @@ doGetAggregatePrice(RPC::JsonContext& context)
if (auto const threshold = std::get<std::uint32_t>(timeThreshold))
{
// threshold defines an acceptable range {max,min} of lastUpdateTime as
// {latestTime, latestTime - threshold}, the prices with lastUpdateTime
// greater than (latestTime - threshold) are erased.
// {latestTime, latestTime - threshold}. Prices with lastUpdateTime
// less than (latestTime - threshold) are erased (outdated prices).
auto const oldestTime = prices.left.rbegin()->first;
auto const upperBound = latestTime > threshold ? (latestTime - threshold) : oldestTime;
if (upperBound > oldestTime)