Add units to all fee calculations:

* Uses existing XRPAmount with units for drops, and a new TaggedFee for
  fee units (LoadFeeTrack), and fee levels (TxQ).
* Resolves #2451
This commit is contained in:
Edward Hennis
2019-02-14 18:59:07 -05:00
parent 1901b981f3
commit e3b5b808c5
87 changed files with 2195 additions and 681 deletions

View File

@@ -23,6 +23,7 @@
#include <ripple/basics/chrono.h>
#include <ripple/basics/contract.h>
#include <ripple/basics/CountedObject.h>
#include <ripple/basics/FeeUnits.h>
#include <ripple/basics/Slice.h>
#include <ripple/protocol/STAmount.h>
#include <ripple/protocol/STPathSet.h>
@@ -81,7 +82,7 @@ private:
template <class U>
std::enable_if_t<
std::is_assignable<T, U>::value,
std::is_assignable_v<T, U>,
ValueProxy&>
operator= (U&& u);
@@ -209,7 +210,7 @@ private:
template <class U>
std::enable_if_t<
std::is_assignable<T, U>::value,
std::is_assignable_v<T, U>,
OptionalProxy&>
operator= (U&& u);
@@ -726,7 +727,7 @@ STObject::Proxy<T>::assign(U&& u)
template <class T>
template <class U>
std::enable_if_t<
std::is_assignable<T, U>::value,
std::is_assignable_v<T, U>,
STObject::ValueProxy<T>&>
STObject::ValueProxy<T>::operator= (U&& u)
{
@@ -813,7 +814,7 @@ STObject::OptionalProxy<T>::operator=(optional_type const& v) ->
template <class T>
template <class U>
std::enable_if_t<
std::is_assignable<T, U>::value,
std::is_assignable_v<T, U>,
STObject::OptionalProxy<T>&>
STObject::OptionalProxy<T>::operator=(U&& u)
{