diff --git a/Builds/VisualStudio2015/RippleD.vcxproj b/Builds/VisualStudio2015/RippleD.vcxproj
index 5d4327bead..04e8a4d23a 100644
--- a/Builds/VisualStudio2015/RippleD.vcxproj
+++ b/Builds/VisualStudio2015/RippleD.vcxproj
@@ -937,6 +937,10 @@
True
True
+
+ True
+ True
+
True
True
@@ -949,6 +953,8 @@
True
True
+
+
True
True
@@ -1149,6 +1155,10 @@
True
True
+
+ True
+ True
+
True
True
@@ -1982,12 +1992,6 @@
..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)
..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)
-
- True
- True
- ..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)
- ..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)
-
True
True
@@ -2052,8 +2056,6 @@
-
-
@@ -2072,12 +2074,6 @@
..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)
..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)
-
- True
- True
- ..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)
- ..\..\src\soci\src\core;..\..\src\sqlite;%(AdditionalIncludeDirectories)
-
True
True
diff --git a/Builds/VisualStudio2015/RippleD.vcxproj.filters b/Builds/VisualStudio2015/RippleD.vcxproj.filters
index 47f32ae1f3..493226509f 100644
--- a/Builds/VisualStudio2015/RippleD.vcxproj.filters
+++ b/Builds/VisualStudio2015/RippleD.vcxproj.filters
@@ -1419,6 +1419,9 @@
ripple\app\misc\impl
+
+ ripple\app\misc\impl
+
ripple\app\misc\impl
@@ -1428,6 +1431,9 @@
ripple\app\misc\impl
+
+ ripple\app\misc
+
ripple\app\misc
@@ -1623,6 +1629,9 @@
ripple\app\tests
+
+ ripple\app\tests
+
ripple\app\tests
@@ -2532,9 +2541,6 @@
ripple\core\impl
-
- ripple\core\impl
-
ripple\core\impl
@@ -2589,9 +2595,6 @@
ripple\core
-
- ripple\core
-
ripple\core
@@ -2607,9 +2610,6 @@
ripple\core\tests
-
- ripple\core\tests
-
ripple\core\tests
diff --git a/src/ripple/app/ledger/Ledger.cpp b/src/ripple/app/ledger/Ledger.cpp
index 707bc452c9..357a943f9e 100644
--- a/src/ripple/app/ledger/Ledger.cpp
+++ b/src/ripple/app/ledger/Ledger.cpp
@@ -29,14 +29,13 @@
#include
#include
#include
+#include
#include
#include
#include
#include
-#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/app/ledger/impl/LedgerCleaner.cpp b/src/ripple/app/ledger/impl/LedgerCleaner.cpp
index cd50540fdb..597f5b5ed6 100644
--- a/src/ripple/app/ledger/impl/LedgerCleaner.cpp
+++ b/src/ripple/app/ledger/impl/LedgerCleaner.cpp
@@ -21,7 +21,7 @@
#include
#include
#include
-#include
+#include
#include
#include
#include
diff --git a/src/ripple/app/ledger/impl/LedgerConsensusImp.cpp b/src/ripple/app/ledger/impl/LedgerConsensusImp.cpp
index 198fac6ec4..77b8d25e1a 100644
--- a/src/ripple/app/ledger/impl/LedgerConsensusImp.cpp
+++ b/src/ripple/app/ledger/impl/LedgerConsensusImp.cpp
@@ -31,6 +31,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -40,7 +41,6 @@
#include
#include
#include
-#include
#include
#include
#include
@@ -1765,11 +1765,12 @@ void LedgerConsensusImp::startRound (
void LedgerConsensusImp::addLoad(STValidation::ref val)
{
+ auto const& feeTrack = app_.getFeeTrack();
std::uint32_t fee = std::max(
- app_.getFeeTrack().getLocalFee(),
- app_.getFeeTrack().getClusterFee());
+ feeTrack.getLocalFee(),
+ feeTrack.getClusterFee());
- if (fee > app_.getFeeTrack().getLoadBase())
+ if (fee > feeTrack.getLoadBase())
val->setFieldU32(sfLoadFee, fee);
}
diff --git a/src/ripple/app/ledger/impl/LedgerMaster.cpp b/src/ripple/app/ledger/impl/LedgerMaster.cpp
index 524745fd0e..a381d92be7 100644
--- a/src/ripple/app/ledger/impl/LedgerMaster.cpp
+++ b/src/ripple/app/ledger/impl/LedgerMaster.cpp
@@ -27,6 +27,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -37,7 +38,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/app/main/Application.cpp b/src/ripple/app/main/Application.cpp
index e1ab8886fc..b75a087234 100644
--- a/src/ripple/app/main/Application.cpp
+++ b/src/ripple/app/main/Application.cpp
@@ -38,6 +38,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -55,7 +56,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/app/main/LoadManager.cpp b/src/ripple/app/main/LoadManager.cpp
index 3b674ad419..2f84f5c370 100644
--- a/src/ripple/app/main/LoadManager.cpp
+++ b/src/ripple/app/main/LoadManager.cpp
@@ -20,9 +20,9 @@
#include
#include
#include
+#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/core/LoadFeeTrack.h b/src/ripple/app/misc/LoadFeeTrack.h
similarity index 50%
rename from src/ripple/core/LoadFeeTrack.h
rename to src/ripple/app/misc/LoadFeeTrack.h
index 46a083fce6..cc4c15caa2 100644
--- a/src/ripple/core/LoadFeeTrack.h
+++ b/src/ripple/app/misc/LoadFeeTrack.h
@@ -28,6 +28,8 @@
namespace ripple {
+struct Fees;
+
/** Manages the current fee schedule.
The "base" fee is the cost to send a reference transaction under no load,
@@ -37,51 +39,42 @@ namespace ripple {
reference transaction. This fee fluctuates based on the load of the
server.
*/
-// VFALCO TODO Rename "load" to "current".
-class LoadFeeTrack
+class LoadFeeTrack final
{
public:
explicit LoadFeeTrack (beast::Journal journal = beast::Journal())
- : m_journal (journal)
- , mLocalTxnLoadFee (lftNormalFee)
- , mRemoteTxnLoadFee (lftNormalFee)
- , mClusterTxnLoadFee (lftNormalFee)
- , raiseCount (0)
+ : j_ (journal)
+ , localTxnLoadFee_ (lftNormalFee)
+ , remoteTxnLoadFee_ (lftNormalFee)
+ , clusterTxnLoadFee_ (lftNormalFee)
+ , raiseCount_ (0)
{
}
- virtual ~LoadFeeTrack () { }
-
- // Scale from fee units to millionths of a ripple
- std::uint64_t scaleFeeBase (std::uint64_t fee, std::uint64_t baseFee,
- std::uint32_t referenceFeeUnits) const;
-
- // Scale using load as well as base rate
- std::uint64_t scaleFeeLoad (std::uint64_t fee, std::uint64_t baseFee,
- std::uint32_t referenceFeeUnits, bool bUnlimited) const;
+ ~LoadFeeTrack() = default;
void setRemoteFee (std::uint32_t f)
{
- ScopedLockType sl (mLock);
- mRemoteTxnLoadFee = f;
+ std::lock_guard sl (lock_);
+ remoteTxnLoadFee_ = f;
}
std::uint32_t getRemoteFee () const
{
- ScopedLockType sl (mLock);
- return mRemoteTxnLoadFee;
+ std::lock_guard sl (lock_);
+ return remoteTxnLoadFee_;
}
std::uint32_t getLocalFee () const
{
- ScopedLockType sl (mLock);
- return mLocalTxnLoadFee;
+ std::lock_guard sl (lock_);
+ return localTxnLoadFee_;
}
std::uint32_t getClusterFee () const
{
- ScopedLockType sl (mLock);
- return mClusterTxnLoadFee;
+ std::lock_guard sl (lock_);
+ return clusterTxnLoadFee_;
}
std::uint32_t getLoadBase () const
@@ -91,15 +84,25 @@ public:
std::uint32_t getLoadFactor () const
{
- ScopedLockType sl (mLock);
- return std::max({ mClusterTxnLoadFee, mLocalTxnLoadFee, mRemoteTxnLoadFee });
+ std::lock_guard sl (lock_);
+ return std::max({ clusterTxnLoadFee_, localTxnLoadFee_, remoteTxnLoadFee_ });
+ }
+
+ std::pair
+ getScalingFactors() const
+ {
+ std::lock_guard sl(lock_);
+
+ return std::make_pair(
+ std::max(localTxnLoadFee_, remoteTxnLoadFee_),
+ std::max(remoteTxnLoadFee_, clusterTxnLoadFee_));
}
void setClusterFee (std::uint32_t fee)
{
- ScopedLockType sl (mLock);
- mClusterTxnLoadFee = fee;
+ std::lock_guard sl (lock_);
+ clusterTxnLoadFee_ = fee;
}
bool raiseLocalFee ();
@@ -107,33 +110,41 @@ public:
bool isLoadedLocal () const
{
- ScopedLockType sl (mLock);
- return (raiseCount != 0) || (mLocalTxnLoadFee != lftNormalFee);
+ std::lock_guard sl (lock_);
+ return (raiseCount_ != 0) || (localTxnLoadFee_ != lftNormalFee);
}
bool isLoadedCluster () const
{
- ScopedLockType sl (mLock);
- return (raiseCount != 0) || (mLocalTxnLoadFee != lftNormalFee) || (mClusterTxnLoadFee != lftNormalFee);
+ std::lock_guard sl (lock_);
+ return (raiseCount_ != 0) || (localTxnLoadFee_ != lftNormalFee) ||
+ (clusterTxnLoadFee_ != lftNormalFee);
}
private:
- static const int lftNormalFee = 256; // 256 is the minimum/normal load factor
- static const int lftFeeIncFraction = 4; // increase fee by 1/4
- static const int lftFeeDecFraction = 4; // decrease fee by 1/4
- static const int lftFeeMax = lftNormalFee * 1000000;
+ static std::uint32_t constexpr lftNormalFee = 256; // 256 is the minimum/normal load factor
+ static std::uint32_t constexpr lftFeeIncFraction = 4; // increase fee by 1/4
+ static std::uint32_t constexpr lftFeeDecFraction = 4; // decrease fee by 1/4
+ static std::uint32_t constexpr lftFeeMax = lftNormalFee * 1000000;
- beast::Journal m_journal;
- using LockType = std::mutex;
- using ScopedLockType = std::lock_guard ;
- LockType mutable mLock;
+ beast::Journal j_;
+ std::mutex mutable lock_;
- std::uint32_t mLocalTxnLoadFee; // Scale factor, lftNormalFee = normal fee
- std::uint32_t mRemoteTxnLoadFee; // Scale factor, lftNormalFee = normal fee
- std::uint32_t mClusterTxnLoadFee; // Scale factor, lftNormalFee = normal fee
- int raiseCount;
+ std::uint32_t localTxnLoadFee_; // Scale factor, lftNormalFee = normal fee
+ std::uint32_t remoteTxnLoadFee_; // Scale factor, lftNormalFee = normal fee
+ std::uint32_t clusterTxnLoadFee_; // Scale factor, lftNormalFee = normal fee
+ std::uint32_t raiseCount_;
};
+//------------------------------------------------------------------------------
+
+// Scale from fee units to millionths of a ripple
+std::uint64_t scaleFeeBase(std::uint64_t fee, Fees const& fees);
+
+// Scale using load as well as base rate
+std::uint64_t scaleFeeLoad(std::uint64_t fee, LoadFeeTrack const& feeTrack,
+ Fees const& fees, bool bUnlimited);
+
} // ripple
#endif
diff --git a/src/ripple/app/misc/NetworkOPs.cpp b/src/ripple/app/misc/NetworkOPs.cpp
index f61f814ea8..2447f55036 100644
--- a/src/ripple/app/misc/NetworkOPs.cpp
+++ b/src/ripple/app/misc/NetworkOPs.cpp
@@ -36,6 +36,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -53,7 +54,6 @@
#include
#include
#include
-#include
#include
#include
#include
@@ -1581,13 +1581,14 @@ void NetworkOPsImp::pubServer ()
if (!mSubServer.empty ())
{
Json::Value jvObj (Json::objectValue);
+ auto const& feeTrack = app_.getFeeTrack();
jvObj [jss::type] = "serverStatus";
jvObj [jss::server_status] = strOperatingMode ();
jvObj [jss::load_base] =
- (mLastLoadBase = app_.getFeeTrack ().getLoadBase ());
+ (mLastLoadBase = feeTrack.getLoadBase ());
jvObj [jss::load_factor] =
- (mLastLoadFactor = app_.getFeeTrack ().getLoadFactor ());
+ (mLastLoadFactor = feeTrack.getLoadFactor ());
for (auto i = mSubServer.begin (); i != mSubServer.end (); )
{
@@ -2358,8 +2359,9 @@ void NetworkOPsImp::pubLedger (
void NetworkOPsImp::reportFeeChange ()
{
- if ((app_.getFeeTrack ().getLoadBase () == mLastLoadBase) &&
- (app_.getFeeTrack ().getLoadFactor () == mLastLoadFactor))
+ auto const& feeTrack = app_.getFeeTrack();
+ if ((feeTrack.getLoadBase () == mLastLoadBase) &&
+ (feeTrack.getLoadFactor () == mLastLoadFactor))
return;
m_job_queue.addJob (
@@ -2724,10 +2726,11 @@ bool NetworkOPsImp::subServer (InfoSub::ref isrListener, Json::Value& jvResult,
uRandom.size(),
crypto_prng());
+ auto const& feeTrack = app_.getFeeTrack();
jvResult[jss::random] = to_string (uRandom);
jvResult[jss::server_status] = strOperatingMode ();
- jvResult[jss::load_base] = app_.getFeeTrack ().getLoadBase ();
- jvResult[jss::load_factor] = app_.getFeeTrack ().getLoadFactor ();
+ jvResult[jss::load_base] = feeTrack.getLoadBase ();
+ jvResult[jss::load_factor] = feeTrack.getLoadFactor ();
jvResult [jss::hostid] = getHostId (admin);
jvResult[jss::pubkey_node] = toBase58 (
TokenType::TOKEN_NODE_PUBLIC,
diff --git a/src/ripple/app/misc/TxQ.h b/src/ripple/app/misc/TxQ.h
index e7c52a1800..03012ced51 100644
--- a/src/ripple/app/misc/TxQ.h
+++ b/src/ripple/app/misc/TxQ.h
@@ -24,7 +24,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/core/impl/LoadFeeTrack.cpp b/src/ripple/app/misc/impl/LoadFeeTrack.cpp
similarity index 65%
rename from src/ripple/core/impl/LoadFeeTrack.cpp
rename to src/ripple/app/misc/impl/LoadFeeTrack.cpp
index a61161dcc0..077e667a3f 100644
--- a/src/ripple/core/impl/LoadFeeTrack.cpp
+++ b/src/ripple/app/misc/impl/LoadFeeTrack.cpp
@@ -18,28 +18,79 @@
//==============================================================================
#include
+#include
#include
#include
#include
-#include
#include
+#include
#include
#include
namespace ripple {
+bool
+LoadFeeTrack::raiseLocalFee ()
+{
+ std::lock_guard sl (lock_);
+
+ if (++raiseCount_ < 2)
+ return false;
+
+ std::uint32_t origFee = localTxnLoadFee_;
+
+ // make sure this fee takes effect
+ if (localTxnLoadFee_ < remoteTxnLoadFee_)
+ localTxnLoadFee_ = remoteTxnLoadFee_;
+
+ // Increase slowly
+ localTxnLoadFee_ += (localTxnLoadFee_ / lftFeeIncFraction);
+
+ if (localTxnLoadFee_ > lftFeeMax)
+ localTxnLoadFee_ = lftFeeMax;
+
+ if (origFee == localTxnLoadFee_)
+ return false;
+
+ JLOG(j_.debug()) << "Local load fee raised from " <<
+ origFee << " to " << localTxnLoadFee_;
+ return true;
+}
+
+bool
+LoadFeeTrack::lowerLocalFee ()
+{
+ std::lock_guard sl (lock_);
+ std::uint32_t origFee = localTxnLoadFee_;
+ raiseCount_ = 0;
+
+ // Reduce slowly
+ localTxnLoadFee_ -= (localTxnLoadFee_ / lftFeeDecFraction );
+
+ if (localTxnLoadFee_ < lftNormalFee)
+ localTxnLoadFee_ = lftNormalFee;
+
+ if (origFee == localTxnLoadFee_)
+ return false;
+
+ JLOG(j_.debug()) << "Local load fee lowered from " <<
+ origFee << " to " << localTxnLoadFee_;
+ return true;
+}
+
+//------------------------------------------------------------------------------
+
// Scale from fee units to millionths of a ripple
std::uint64_t
-LoadFeeTrack::scaleFeeBase (std::uint64_t fee, std::uint64_t baseFee,
- std::uint32_t referenceFeeUnits) const
+scaleFeeBase(std::uint64_t fee, Fees const& fees)
{
- return mulDivThrow (fee, baseFee, referenceFeeUnits);
+ return mulDivThrow (fee, fees.base, fees.units);
}
// Scale using load as well as base rate
std::uint64_t
-LoadFeeTrack::scaleFeeLoad (std::uint64_t fee, std::uint64_t baseFee,
- std::uint32_t referenceFeeUnits, bool bUnlimited) const
+scaleFeeLoad(std::uint64_t fee, LoadFeeTrack const& feeTrack,
+ Fees const& fees, bool bUnlimited)
{
if (fee == 0)
return fee;
@@ -47,25 +98,24 @@ LoadFeeTrack::scaleFeeLoad (std::uint64_t fee, std::uint64_t baseFee,
std::uint32_t uRemFee;
{
// Collect the fee rates
- std::lock_guard sl(mLock);
- feeFactor = std::max(mLocalTxnLoadFee, mRemoteTxnLoadFee);
- uRemFee = std::max(mRemoteTxnLoadFee, mClusterTxnLoadFee);
+ std::tie(feeFactor, uRemFee) = feeTrack.getScalingFactors();
}
// Let privileged users pay the normal fee until
// the local load exceeds four times the remote.
if (bUnlimited && (feeFactor > uRemFee) && (feeFactor < (4 * uRemFee)))
feeFactor = uRemFee;
+ auto baseFee = fees.base;
// Compute:
- // fee = fee * baseFee * feeFactor / (referenceFeeUnits * lftNormalFee);
+ // fee = fee * baseFee * feeFactor / (fees.units * lftNormalFee);
// without overflow, and as accurately as possible
// The denominator of the fraction we're trying to compute.
- // referenceFeeUnits and lftNormalFee are both 32 bit,
+ // fees.units and lftNormalFee are both 32 bit,
// so the multiplication can't overflow.
- auto den = static_cast(referenceFeeUnits)
- * static_cast(lftNormalFee);
- // Reduce fee * baseFee * feeFactor / (referenceFeeUnits * lftNormalFee)
+ auto den = static_cast(fees.units)
+ * static_cast(feeTrack.getLoadBase());
+ // Reduce fee * baseFee * feeFactor / (fees.units * lftNormalFee)
// to lowest terms.
lowestTerms(fee, den);
lowestTerms(baseFee, den);
@@ -102,53 +152,4 @@ LoadFeeTrack::scaleFeeLoad (std::uint64_t fee, std::uint64_t baseFee,
return fee;
}
-bool
-LoadFeeTrack::raiseLocalFee ()
-{
- ScopedLockType sl (mLock);
-
- if (++raiseCount < 2)
- return false;
-
- std::uint32_t origFee = mLocalTxnLoadFee;
-
- // make sure this fee takes effect
- if (mLocalTxnLoadFee < mRemoteTxnLoadFee)
- mLocalTxnLoadFee = mRemoteTxnLoadFee;
-
- // Increase slowly
- mLocalTxnLoadFee += (mLocalTxnLoadFee / lftFeeIncFraction);
-
- if (mLocalTxnLoadFee > lftFeeMax)
- mLocalTxnLoadFee = lftFeeMax;
-
- if (origFee == mLocalTxnLoadFee)
- return false;
-
- JLOG(m_journal.debug()) << "Local load fee raised from " <<
- origFee << " to " << mLocalTxnLoadFee;
- return true;
-}
-
-bool
-LoadFeeTrack::lowerLocalFee ()
-{
- ScopedLockType sl (mLock);
- std::uint32_t origFee = mLocalTxnLoadFee;
- raiseCount = 0;
-
- // Reduce slowly
- mLocalTxnLoadFee -= (mLocalTxnLoadFee / lftFeeDecFraction );
-
- if (mLocalTxnLoadFee < lftNormalFee)
- mLocalTxnLoadFee = lftNormalFee;
-
- if (origFee == mLocalTxnLoadFee)
- return false;
-
- JLOG(m_journal.debug()) << "Local load fee lowered from " <<
- origFee << " to " << mLocalTxnLoadFee;
- return true;
-}
-
} // ripple
diff --git a/src/ripple/app/misc/impl/TxQ.cpp b/src/ripple/app/misc/impl/TxQ.cpp
index dc5c3c64cb..d0bd544ed5 100644
--- a/src/ripple/app/misc/impl/TxQ.cpp
+++ b/src/ripple/app/misc/impl/TxQ.cpp
@@ -20,6 +20,7 @@
#include
#include
#include
+#include
#include
#include
#include
diff --git a/src/ripple/app/paths/PathRequest.cpp b/src/ripple/app/paths/PathRequest.cpp
index dd05974375..9a44079dce 100644
--- a/src/ripple/app/paths/PathRequest.cpp
+++ b/src/ripple/app/paths/PathRequest.cpp
@@ -23,10 +23,10 @@
#include
#include
#include
+#include
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/core/tests/LoadFeeTrack.test.cpp b/src/ripple/app/tests/LoadFeeTrack.test.cpp
similarity index 61%
rename from src/ripple/core/tests/LoadFeeTrack.test.cpp
rename to src/ripple/app/tests/LoadFeeTrack.test.cpp
index a9169972f4..6a78e6da10 100644
--- a/src/ripple/core/tests/LoadFeeTrack.test.cpp
+++ b/src/ripple/app/tests/LoadFeeTrack.test.cpp
@@ -18,9 +18,10 @@
//==============================================================================
#include
-#include
+#include
#include
#include
+#include
namespace ripple {
@@ -31,17 +32,26 @@ public:
{
Config d; // get a default configuration object
LoadFeeTrack l;
+ Fees const fees = [&]()
+ {
+ Fees f;
+ f.base = d.FEE_DEFAULT;
+ f.units = d.TRANSACTION_FEE_BASE;
+ f.reserve = 200 * SYSTEM_CURRENCY_PARTS;
+ f.increment = 50 * SYSTEM_CURRENCY_PARTS;
+ return f;
+ }();
- BEAST_EXPECT(l.scaleFeeBase (10000, d.FEE_DEFAULT, d.TRANSACTION_FEE_BASE) == 10000);
- BEAST_EXPECT(l.scaleFeeLoad (10000, d.FEE_DEFAULT, d.TRANSACTION_FEE_BASE, false) == 10000);
- BEAST_EXPECT(l.scaleFeeBase (1, d.FEE_DEFAULT, d.TRANSACTION_FEE_BASE) == 1);
- BEAST_EXPECT(l.scaleFeeLoad (1, d.FEE_DEFAULT, d.TRANSACTION_FEE_BASE, false) == 1);
+ BEAST_EXPECT (scaleFeeBase (10000, fees) == 10000);
+ BEAST_EXPECT (scaleFeeLoad (10000, l, fees, false) == 10000);
+ BEAST_EXPECT (scaleFeeBase (1, fees) == 1);
+ BEAST_EXPECT (scaleFeeLoad (1, l, fees, false) == 1);
// Check new default fee values give same fees as old defaults
- BEAST_EXPECT(l.scaleFeeBase (d.FEE_DEFAULT, d.FEE_DEFAULT, d.TRANSACTION_FEE_BASE) == 10);
- BEAST_EXPECT(l.scaleFeeBase (d.FEE_ACCOUNT_RESERVE, d.FEE_DEFAULT, d.TRANSACTION_FEE_BASE) == 200 * SYSTEM_CURRENCY_PARTS);
- BEAST_EXPECT(l.scaleFeeBase (d.FEE_OWNER_RESERVE, d.FEE_DEFAULT, d.TRANSACTION_FEE_BASE) == 50 * SYSTEM_CURRENCY_PARTS);
- BEAST_EXPECT(l.scaleFeeBase (d.FEE_OFFER, d.FEE_DEFAULT, d.TRANSACTION_FEE_BASE) == 10);
+ BEAST_EXPECT (scaleFeeBase (d.FEE_DEFAULT, fees) == 10);
+ BEAST_EXPECT (scaleFeeBase (d.FEE_ACCOUNT_RESERVE, fees) == 200 * SYSTEM_CURRENCY_PARTS);
+ BEAST_EXPECT (scaleFeeBase (d.FEE_OWNER_RESERVE, fees) == 50 * SYSTEM_CURRENCY_PARTS);
+ BEAST_EXPECT (scaleFeeBase (d.FEE_OFFER, fees) == 10);
}
};
diff --git a/src/ripple/app/tests/TxQ_test.cpp b/src/ripple/app/tests/TxQ_test.cpp
index d5dfc3ff75..a6d5e0b205 100644
--- a/src/ripple/app/tests/TxQ_test.cpp
+++ b/src/ripple/app/tests/TxQ_test.cpp
@@ -18,10 +18,10 @@
//==============================================================================
#include
+#include
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/app/tx/impl/Transactor.cpp b/src/ripple/app/tx/impl/Transactor.cpp
index 389d60addb..abc282d71d 100644
--- a/src/ripple/app/tx/impl/Transactor.cpp
+++ b/src/ripple/app/tx/impl/Transactor.cpp
@@ -19,13 +19,13 @@
#include
#include
+#include
#include
#include
#include
#include
#include
#include
-#include
#include
#include
#include
@@ -107,8 +107,8 @@ XRPAmount
calculateFee(Application& app, std::uint64_t const baseFee,
Fees const& fees, ApplyFlags flags)
{
- return app.getFeeTrack().scaleFeeLoad(
- baseFee, fees.base, fees.units, flags & tapUNLIMITED);
+ return scaleFeeLoad(baseFee, app.getFeeTrack(),
+ fees, flags & tapUNLIMITED);
}
//------------------------------------------------------------------------------
diff --git a/src/ripple/core/tests/Config.test.cpp b/src/ripple/core/tests/Config.test.cpp
index 9e26562018..7b32e88bdf 100644
--- a/src/ripple/core/tests/Config.test.cpp
+++ b/src/ripple/core/tests/Config.test.cpp
@@ -19,7 +19,6 @@
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/overlay/impl/PeerImp.cpp b/src/ripple/overlay/impl/PeerImp.cpp
index 4e79d89e6c..116b5e1a1f 100644
--- a/src/ripple/overlay/impl/PeerImp.cpp
+++ b/src/ripple/overlay/impl/PeerImp.cpp
@@ -26,6 +26,7 @@
#include
#include
#include
+#include
#include
#include
#include
diff --git a/src/ripple/overlay/impl/PeerImp.h b/src/ripple/overlay/impl/PeerImp.h
index fc67ee2fff..9306d7df90 100644
--- a/src/ripple/overlay/impl/PeerImp.h
+++ b/src/ripple/overlay/impl/PeerImp.h
@@ -29,7 +29,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/rpc/handlers/LedgerHandler.cpp b/src/ripple/rpc/handlers/LedgerHandler.cpp
index 0ab49023e0..808691e9c1 100644
--- a/src/ripple/rpc/handlers/LedgerHandler.cpp
+++ b/src/ripple/rpc/handlers/LedgerHandler.cpp
@@ -21,7 +21,7 @@
#include
#include
#include
-#include
+#include
#include
#include
#include
diff --git a/src/ripple/rpc/handlers/LedgerHandler.h b/src/ripple/rpc/handlers/LedgerHandler.h
index e8f6e49801..d642263c39 100644
--- a/src/ripple/rpc/handlers/LedgerHandler.h
+++ b/src/ripple/rpc/handlers/LedgerHandler.h
@@ -24,7 +24,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/rpc/handlers/NoRippleCheck.cpp b/src/ripple/rpc/handlers/NoRippleCheck.cpp
index a97093dcf1..04454f0226 100644
--- a/src/ripple/rpc/handlers/NoRippleCheck.cpp
+++ b/src/ripple/rpc/handlers/NoRippleCheck.cpp
@@ -19,8 +19,8 @@
#include
#include
+#include
#include
-#include
#include
#include
#include
@@ -44,8 +44,8 @@ static void fillTransaction (
auto& fees = ledger.fees();
// Convert the reference transaction cost in fee units to drops
// scaled to represent the current fee load.
- txArray["Fee"] = Json::UInt (context.app.getFeeTrack().scaleFeeLoad(
- fees.units, fees.base, fees.units, false));
+ txArray["Fee"] = Json::UInt (scaleFeeLoad(fees.units,
+ context.app.getFeeTrack(), fees, false));
}
// {
diff --git a/src/ripple/rpc/handlers/Peers.cpp b/src/ripple/rpc/handlers/Peers.cpp
index 690e410ee7..f4ca781a5d 100644
--- a/src/ripple/rpc/handlers/Peers.cpp
+++ b/src/ripple/rpc/handlers/Peers.cpp
@@ -19,7 +19,7 @@
#include
#include
-#include
+#include
#include
#include
#include
diff --git a/src/ripple/rpc/handlers/RipplePathFind.cpp b/src/ripple/rpc/handlers/RipplePathFind.cpp
index 21b09abe9d..dc1b30ceac 100644
--- a/src/ripple/rpc/handlers/RipplePathFind.cpp
+++ b/src/ripple/rpc/handlers/RipplePathFind.cpp
@@ -21,6 +21,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -28,7 +29,6 @@
#include
#include
#include
-#include
#include
#include
#include
diff --git a/src/ripple/rpc/impl/LegacyPathFind.cpp b/src/ripple/rpc/impl/LegacyPathFind.cpp
index d63f3a4350..c644e4ef39 100644
--- a/src/ripple/rpc/impl/LegacyPathFind.cpp
+++ b/src/ripple/rpc/impl/LegacyPathFind.cpp
@@ -19,11 +19,11 @@
#include
#include
+#include
#include
#include
#include
#include
-#include
namespace ripple {
namespace RPC {
diff --git a/src/ripple/rpc/impl/TransactionSign.cpp b/src/ripple/rpc/impl/TransactionSign.cpp
index fb07ed0052..d81cd7962a 100644
--- a/src/ripple/rpc/impl/TransactionSign.cpp
+++ b/src/ripple/rpc/impl/TransactionSign.cpp
@@ -22,13 +22,13 @@
#include
#include
#include
+#include
#include
#include
#include
#include // Validity::Valid
#include
#include
-#include
#include