1#include <xrpl/server/LoadFeeTrack.h>
3#include <xrpl/basics/Log.h>
4#include <xrpl/basics/contract.h>
5#include <xrpl/basics/safe_cast.h>
6#include <xrpl/protocol/Units.h>
7#include <xrpl/protocol/XRPAmount.h>
37 JLOG(
j_.debug()) <<
"Local load fee raised from " << origFee <<
" to " <<
localTxnLoadFee_;
56 JLOG(
j_.debug()) <<
"Local load fee lowered from " << origFee <<
" to " <<
localTxnLoadFee_;
74 if (bUnlimited && (feeFactor > uRemFee) && (feeFactor < (4 * uRemFee)))
Manages the current fee schedule.
static constexpr std::uint32_t kLftNormalFee
static constexpr std::uint32_t kLftFeeDecFraction
std::uint32_t remoteTxnLoadFee_
static std::uint32_t getLoadBase()
static constexpr std::uint32_t kLftFeeMax
std::uint32_t localTxnLoadFee_
std::uint32_t raiseCount_
static constexpr std::uint32_t kLftFeeIncFraction
std::pair< std::uint32_t, std::uint32_t > getScalingFactors() const
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
std::optional< std::uint64_t > mulDiv(std::uint64_t value, std::uint64_t mul, std::uint64_t div)
Return value*mul/div accurately.
constexpr std::enable_if_t< std::is_integral_v< Dest > &&std::is_integral_v< Src >, Dest > safeCast(Src s) noexcept
XRPAmount scaleFeeLoad(XRPAmount fee, LoadFeeTrack const &feeTrack, Fees const &fees, bool bUnlimited)
XRPL_NO_SANITIZE_ADDRESS void Throw(Args &&... args)
Reflects the fee settings for a particular ledger.