20#include <xrpld/app/misc/LoadFeeTrack.h> 
   22#include <xrpl/basics/Log.h> 
   23#include <xrpl/basics/contract.h> 
   24#include <xrpl/basics/safe_cast.h> 
   25#include <xrpl/protocol/Units.h> 
   54    JLOG(
j_.
debug()) << 
"Local load fee raised from " << origFee << 
" to " 
 
   75    JLOG(
j_.
debug()) << 
"Local load fee lowered from " << origFee << 
" to " 
 
   98    if (bUnlimited && (feeFactor > uRemFee) && (feeFactor < (4 * uRemFee)))
 
  105    auto const result = 
mulDiv(
 
  106        fee, feeFactor, safe_cast<std::uint64_t>(feeTrack.
getLoadBase()));
 
  108        Throw<std::overflow_error>(
"scaleFeeLoad");
 
 
Manages the current fee schedule.
 
static std::uint32_t constexpr lftFeeIncFraction
 
static std::uint32_t constexpr lftNormalFee
 
std::uint32_t raiseCount_
 
std::uint32_t localTxnLoadFee_
 
std::uint32_t remoteTxnLoadFee_
 
std::uint32_t getLoadBase() const
 
std::pair< std::uint32_t, std::uint32_t > getScalingFactors() const
 
static std::uint32_t constexpr lftFeeDecFraction
 
static std::uint32_t constexpr lftFeeMax
 
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
 
XRPAmount scaleFeeLoad(XRPAmount fee, LoadFeeTrack const &feeTrack, Fees const &fees, bool bUnlimited)
 
std::optional< std::uint64_t > mulDiv(std::uint64_t value, std::uint64_t mul, std::uint64_t div)
Return value*mul/div accurately.
 
Reflects the fee settings for a particular ledger.