xrpld
Loading...
Searching...
No Matches
OracleHelpers.h
1#pragma once
2
3#include <xrpl/protocol/SField.h>
4#include <xrpl/protocol/STArray.h> // IWYU pragma: keep
5#include <xrpl/protocol/STLedgerEntry.h>
6
7#include <cstddef>
8#include <cstdint>
9
10namespace xrpl {
11
15
16template <typename T>
17 requires requires(T const& t) { t.size(); }
18inline std::uint32_t
19calculateOracleReserve(T const& priceDataSeries)
20{
21 return priceDataSeries.size() > kOracleReserveCountThreshold ? kMaxOracleReserveCount
23}
24
25inline std::uint32_t
27{
28 return calculateOracleReserve(oracleSle->getFieldArray(sfPriceDataSeries));
29}
30
31} // namespace xrpl
std::shared_ptr< STLedgerEntry const > const & const_ref
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition algorithm.h:5
constexpr std::size_t kOracleReserveCountThreshold
constexpr std::uint32_t kMaxOracleReserveCount
constexpr std::uint32_t kMinOracleReserveCount
std::uint32_t calculateOracleReserve(T const &priceDataSeries)