Remove STAmountSO::soTime and soTime2:

STAmount::soTime and soTime2 were time based "amendment like"
switches to control small changes in behavior for STAmount.
soTime2, which was the most recent, was dated Feb 27, 2016.
That's over 3 years ago.

The main reason to retain these soTimes would be to replay
old transactions.  The likelihood of needing to replay a
transaction from over three years ago is pretty low.  So it
makes sense to remove these soTime values.

In Flow_test the testZeroOutputStep() test is removed.  That
test started to fail when the STAmount::soTimes were removed.
I checked with the original author of the test.  He said
that the code being tested by that unit test has been removed,
so it makes sense to remove the test.  That test is removed.
This commit is contained in:
Scott Schurr
2019-12-09 12:33:54 -08:00
committed by Manoj doshi
parent f7fffee28d
commit fc0a082700
7 changed files with 40 additions and 197 deletions

View File

@@ -35,17 +35,6 @@
namespace ripple {
LocalValue<bool> stAmountCalcSwitchover(true);
LocalValue<bool> stAmountCalcSwitchover2(true);
using namespace std::chrono_literals;
// Mon Dec 28, 2015 18:00:00 UTC
const NetClock::time_point STAmountSO::soTime{504640800s};
// Sat Feb 27, 2016 05:00:00 UTC
const NetClock::time_point STAmountSO::soTime2{509864400s};
static const std::uint64_t tenTo14 = 100000000000000ull;
static const std::uint64_t tenTo14m1 = tenTo14 - 1;
static const std::uint64_t tenTo17 = tenTo14 * 1000;
@@ -1246,10 +1235,9 @@ mulRound (STAmount const& v1, STAmount const& v2, Issue const& issue,
canonicalizeRound (xrp, amount, offset);
STAmount result (issue, amount, offset, resultNegative);
// Control when bugfixes that require switchover dates are enabled
if (roundUp && !resultNegative && !result && *stAmountCalcSwitchover)
if (roundUp && !resultNegative && !result)
{
if (xrp && *stAmountCalcSwitchover2)
if (xrp)
{
// return the smallest value above zero
amount = 1;
@@ -1318,10 +1306,9 @@ divRound (STAmount const& num, STAmount const& den,
canonicalizeRound (isXRP (issue), amount, offset);
STAmount result (issue, amount, offset, resultNegative);
// Control when bugfixes that require switchover dates are enabled
if (roundUp && !resultNegative && !result && *stAmountCalcSwitchover)
if (roundUp && !resultNegative && !result)
{
if (isXRP(issue) && *stAmountCalcSwitchover2)
if (isXRP(issue))
{
// return the smallest value above zero
amount = 1;