refactor Oracle Reserve calculation

This commit is contained in:
tequ
2026-01-27 10:34:15 +09:00
parent f333dd1b2e
commit 1823d70b21
3 changed files with 7 additions and 2 deletions

View File

@@ -40,7 +40,7 @@ SetOracle::preflight(PreflightContext const& ctx)
}
uint32_t
calculateOracleReserve(std::size_t count)
SetOracle::calculateOracleReserve(std::size_t count)
{
return count > 5 ? 2 : 1;
}

View File

@@ -23,6 +23,9 @@ public:
{
}
static uint32_t
calculateOracleReserve(std::size_t count);
static NotTEC
preflight(PreflightContext const& ctx);

View File

@@ -1,3 +1,4 @@
#include <xrpld/app/tx/detail/SetOracle.h>
#include <xrpld/app/tx/detail/SponsorshipTransfer.h>
#include <xrpl/ledger/ReadView.h>
@@ -120,7 +121,8 @@ getLedgerEntryOwnerCount(T const& sle)
switch (sle->getType())
{
case ltORACLE: {
return sle->getFieldArray(sfPriceDataSeries).size() > 5 ? 2 : 1;
return SetOracle::calculateOracleReserve(
sle->getFieldArray(sfPriceDataSeries).size());
}
default:
return 1;