diff --git a/Builds/VisualStudio2015/RippleD.vcxproj b/Builds/VisualStudio2015/RippleD.vcxproj
index 66f51f63e..4ba16d1b5 100644
--- a/Builds/VisualStudio2015/RippleD.vcxproj
+++ b/Builds/VisualStudio2015/RippleD.vcxproj
@@ -993,10 +993,6 @@
-
- True
- True
-
True
True
diff --git a/Builds/VisualStudio2015/RippleD.vcxproj.filters b/Builds/VisualStudio2015/RippleD.vcxproj.filters
index 0c744ed4c..f2b675c5b 100644
--- a/Builds/VisualStudio2015/RippleD.vcxproj.filters
+++ b/Builds/VisualStudio2015/RippleD.vcxproj.filters
@@ -1533,9 +1533,6 @@
ripple\app\ledger
-
- ripple\app\main
-
ripple\app\main
diff --git a/src/ripple/app/main/Amendments.cpp b/src/ripple/app/main/Amendments.cpp
deleted file mode 100644
index ab826d54d..000000000
--- a/src/ripple/app/main/Amendments.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-//------------------------------------------------------------------------------
-/*
- This file is part of rippled: https://github.com/ripple/rippled
- Copyright (c) 2012, 2013 Ripple Labs Inc.
-
- Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-*/
-//==============================================================================
-
-#include
-#include
-
-namespace ripple {
-
-namespace detail {
-
-/** Amendments that this server supports and enables by default */
-std::vector
-preEnabledAmendments ()
-{
- return
- {
- };
-}
-
-/** Amendments that this server supports, but doesn't enable by default */
-std::vector
-supportedAmendments ()
-{
- return
- {
- { "C6970A8B603D8778783B61C0D445C23D1633CCFAEF0D43E7DBCD1521D34BD7C3 SHAMapV2" },
- { "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373 MultiSign" },
- { "C1B8D934087225F509BEB5A8EC24447854713EE447D277F69545ABFA0E0FD490 Tickets" },
- { "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC TrustSetAuth" },
- { "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE FeeEscalation" },
- // The following will be supported in a future release (and uncommented at that time)
- //{ "9178256A980A86CF3D70D0260A7DA6402AAFE43632FDBCB88037978404188871 OwnerPaysFee" },
- { "08DE7D96082187F6E6578530258C77FAABABE4C20474BDB82F04B021F1A68647 PayChan" },
- { "740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11 Flow" },
- { "1562511F573A19AE9BD103B5D6B9E01B3B46805AEC5D3C4805C902B514399146 CryptoConditions" },
- { "532651B4FD58DF8922A49BA101AB3E996E5BFBF95A913B3E392504863E63B164 TickSize" },
- { "E2E6F2866106419B88C50045ACE96368558C345566AC8F2BDF5A5B5587F0E6FA fix1368" },
- { "07D43DCE529B15A10827E5E04943B496762F9A88E3268269D69C44BE49E21104 Escrow" },
- { "86E83A7D2ECE3AD5FA87AB2195AE015C950469ABF0B72EAACED318F74886AE90 CryptoConditionsSuite" },
- { "42EEA5E28A97824821D4EF97081FE36A54E9593C6E4F20CBAE098C69D2E072DC fix1373" },
- { "DC9CA96AEA1DCF83E527D1AFC916EFAF5D27388ECA4060A88817C1238CAEE0BF EnforceInvariants" },
- { "3012E8230864E95A58C60FD61430D7E1B4D3353195F2981DC12B0C7C0950FFAC FlowCross" },
- { "CC5ABAE4F3EC92E94A59B1908C2BE82D2228B6485C00AFF8F22DF930D89C194E SortedDirectories" },
- { "B4D44CC3111ADD964E846FC57760C8B50FFCD5A82C86A72756F6B058DDDF96AD fix1201" },
- { "6C92211186613F9647A89DFFBAB8F94C99D4C7E956D495270789128569177DA1 fix1512" },
- { "67A34F2CF55BFC0F93AACD5B281413176FEE195269FA6D95219A2DF738671172 fix1513" },
- { "B9E739B8296B4A1BB29BE990B17D66E21B62A300A909F25AC55C22D6C72E1F9D fix1523" },
- { "1D3463A5891F9E589C5AE839FFAC4A917CE96197098A1EF22304E1BC5B98A454 fix1528" }
- };
-}
-
-}
-
-}
-
diff --git a/src/ripple/app/main/Application.cpp b/src/ripple/app/main/Application.cpp
index 946374dcc..360fac71b 100644
--- a/src/ripple/app/main/Application.cpp
+++ b/src/ripple/app/main/Application.cpp
@@ -51,6 +51,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -204,15 +205,6 @@ public:
}
};
-
-/** Amendments that this server supports and enables by default */
-std::vector
-preEnabledAmendments ();
-
-/** Amendments that this server supports, but doesn't enable by default */
-std::vector
-supportedAmendments ();
-
} // detail
//------------------------------------------------------------------------------
@@ -1111,7 +1103,6 @@ bool ApplicationImp::setup()
supportedAmendments.append (detail::supportedAmendments ());
Section enabledAmendments = config_->section (SECTION_AMENDMENTS);
- enabledAmendments.append (detail::preEnabledAmendments ());
m_amendmentTable = make_AmendmentTable (
weeks{2},
diff --git a/src/ripple/protocol/Feature.h b/src/ripple/protocol/Feature.h
index 1cbfea265..2f6b843d9 100644
--- a/src/ripple/protocol/Feature.h
+++ b/src/ripple/protocol/Feature.h
@@ -37,8 +37,8 @@
* 3) add a uint256 definition for the feature to the corresponding source
* file (Feature.cpp)
* 4) if the feature is going to be supported in the near future, add its
- * sha512half value and name (matching exactly the featureName here) to the
- * supportedAmendments in Amendments.cpp.
+ * sha512half value and name (matching exactly the featureName here) to
+ * the supportedAmendments in Feature.cpp.
*
*/
@@ -98,6 +98,10 @@ public:
bitsetIndexToFeature(size_t i) const;
};
+/** Amendments that this server supports, but doesn't enable by default */
+std::vector const&
+supportedAmendments ();
+
} // detail
boost::optional
diff --git a/src/ripple/protocol/impl/Feature.cpp b/src/ripple/protocol/impl/Feature.cpp
index 973548bcc..b825dce84 100644
--- a/src/ripple/protocol/impl/Feature.cpp
+++ b/src/ripple/protocol/impl/Feature.cpp
@@ -77,6 +77,39 @@ detail::FeatureCollections::bitsetIndexToFeature(size_t i) const
static detail::FeatureCollections const featureCollections;
+/** Amendments that this server supports, but doesn't enable by default */
+std::vector const&
+detail::supportedAmendments ()
+{
+ // Commented out amendments will be supported in a future release (and
+ // uncommented at that time).
+ static std::vector const supported
+ {
+// { "C6970A8B603D8778783B61C0D445C23D1633CCFAEF0D43E7DBCD1521D34BD7C3 SHAMapV2" },
+ { "4C97EBA926031A7CF7D7B36FDE3ED66DDA5421192D63DE53FFB46E43B9DC8373 MultiSign" },
+// { "C1B8D934087225F509BEB5A8EC24447854713EE447D277F69545ABFA0E0FD490 Tickets" },
+ { "6781F8368C4771B83E8B821D88F580202BCB4228075297B19E4FDC5233F1EFDC TrustSetAuth" },
+ { "42426C4D4F1009EE67080A9B7965B44656D7714D104A72F9B4369F97ABF044EE FeeEscalation" },
+// { "9178256A980A86CF3D70D0260A7DA6402AAFE43632FDBCB88037978404188871 OwnerPaysFee" },
+ { "08DE7D96082187F6E6578530258C77FAABABE4C20474BDB82F04B021F1A68647 PayChan" },
+ { "740352F2412A9909880C23A559FCECEDA3BE2126FED62FC7660D628A06927F11 Flow" },
+ { "1562511F573A19AE9BD103B5D6B9E01B3B46805AEC5D3C4805C902B514399146 CryptoConditions" },
+ { "532651B4FD58DF8922A49BA101AB3E996E5BFBF95A913B3E392504863E63B164 TickSize" },
+ { "E2E6F2866106419B88C50045ACE96368558C345566AC8F2BDF5A5B5587F0E6FA fix1368" },
+ { "07D43DCE529B15A10827E5E04943B496762F9A88E3268269D69C44BE49E21104 Escrow" },
+ { "86E83A7D2ECE3AD5FA87AB2195AE015C950469ABF0B72EAACED318F74886AE90 CryptoConditionsSuite" },
+ { "42EEA5E28A97824821D4EF97081FE36A54E9593C6E4F20CBAE098C69D2E072DC fix1373" },
+ { "DC9CA96AEA1DCF83E527D1AFC916EFAF5D27388ECA4060A88817C1238CAEE0BF EnforceInvariants" },
+ { "3012E8230864E95A58C60FD61430D7E1B4D3353195F2981DC12B0C7C0950FFAC FlowCross" },
+ { "CC5ABAE4F3EC92E94A59B1908C2BE82D2228B6485C00AFF8F22DF930D89C194E SortedDirectories" },
+ { "B4D44CC3111ADD964E846FC57760C8B50FFCD5A82C86A72756F6B058DDDF96AD fix1201" },
+ { "6C92211186613F9647A89DFFBAB8F94C99D4C7E956D495270789128569177DA1 fix1512" },
+ { "B9E739B8296B4A1BB29BE990B17D66E21B62A300A909F25AC55C22D6C72E1F9D fix1523" },
+ { "1D3463A5891F9E589C5AE839FFAC4A917CE96197098A1EF22304E1BC5B98A454 fix1528" }
+ };
+ return supported;
+}
+
//------------------------------------------------------------------------------
boost::optional
diff --git a/src/ripple/unity/app_main1.cpp b/src/ripple/unity/app_main1.cpp
index 24610ce22..8f87b3220 100644
--- a/src/ripple/unity/app_main1.cpp
+++ b/src/ripple/unity/app_main1.cpp
@@ -19,7 +19,6 @@
#include
-#include
#include
#include
#include
diff --git a/src/test/app/AmendmentTable_test.cpp b/src/test/app/AmendmentTable_test.cpp
index e2bc0bc15..3f69d0118 100644
--- a/src/test/app/AmendmentTable_test.cpp
+++ b/src/test/app/AmendmentTable_test.cpp
@@ -34,12 +34,6 @@
namespace ripple
{
-namespace detail {
-extern
-std::vector
-supportedAmendments ();
-}
-
class AmendmentTable_test final : public beast::unit_test::suite
{
private:
diff --git a/src/test/app/CrossingLimits_test.cpp b/src/test/app/CrossingLimits_test.cpp
index e0085ffff..32cfa42ed 100644
--- a/src/test/app/CrossingLimits_test.cpp
+++ b/src/test/app/CrossingLimits_test.cpp
@@ -47,7 +47,7 @@ public:
testStepLimit(std::initializer_list fs)
{
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto const xrpMax = XRP(100000000000);
auto const gw = Account("gateway");
auto const USD = gw["USD"];
@@ -81,7 +81,7 @@ public:
testCrossingLimit(std::initializer_list fs)
{
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto const xrpMax = XRP(100000000000);
auto const gw = Account("gateway");
auto const USD = gw["USD"];
@@ -110,7 +110,7 @@ public:
testStepAndCrossingLimit(std::initializer_list fs)
{
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto const xrpMax = XRP(100000000000);
auto const gw = Account("gateway");
auto const USD = gw["USD"];
diff --git a/src/test/app/DeliverMin_test.cpp b/src/test/app/DeliverMin_test.cpp
index 29ca1225c..81588d86a 100644
--- a/src/test/app/DeliverMin_test.cpp
+++ b/src/test/app/DeliverMin_test.cpp
@@ -38,7 +38,7 @@ public:
auto const USD = gw["USD"];
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), "alice", "bob", "carol", gw);
env.trust(USD(100), "alice", "bob", "carol");
env(pay("alice", "bob", USD(10)), delivermin(USD(10)), ter(temBAD_AMOUNT));
@@ -61,7 +61,7 @@ public:
}
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), "alice", "bob", gw);
env.trust(USD(1000), "alice", "bob");
env(pay(gw, "bob", USD(100)));
@@ -73,7 +73,7 @@ public:
}
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), "alice", "bob", "carol", gw);
env.trust(USD(1000), "bob", "carol");
env(pay(gw, "bob", USD(200)));
@@ -91,7 +91,7 @@ public:
}
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), "alice", "bob", "carol", "dan", gw);
env.trust(USD(1000), "bob", "carol", "dan");
env(pay(gw, "bob", USD(100)));
diff --git a/src/test/app/Discrepancy_test.cpp b/src/test/app/Discrepancy_test.cpp
index 54927dfc0..b881f85d6 100644
--- a/src/test/app/Discrepancy_test.cpp
+++ b/src/test/app/Discrepancy_test.cpp
@@ -41,7 +41,7 @@ class Discrepancy_test : public beast::unit_test::suite
{
testcase ("Discrepancy test : XRP Discrepancy");
using namespace test::jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
Account A1 {"A1"};
Account A2 {"A2"};
diff --git a/src/test/app/Escrow_test.cpp b/src/test/app/Escrow_test.cpp
index f8df897d2..915dee797 100644
--- a/src/test/app/Escrow_test.cpp
+++ b/src/test/app/Escrow_test.cpp
@@ -215,7 +215,7 @@ struct Escrow_test : public beast::unit_test::suite
}
{ // Escrow enabled
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
env.fund(XRP(5000), "alice", "bob");
env(lockup("alice", "bob", XRP(1000), env.now() + 1s));
env.close();
@@ -237,7 +237,7 @@ struct Escrow_test : public beast::unit_test::suite
using namespace jtx;
using namespace std::chrono;
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
auto const alice = Account("alice");
env.fund(XRP(5000), alice, "bob");
@@ -261,7 +261,7 @@ struct Escrow_test : public beast::unit_test::suite
using namespace jtx;
using namespace std::chrono;
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
env.fund(XRP(5000), "alice", "bob");
env.close();
@@ -364,7 +364,7 @@ struct Escrow_test : public beast::unit_test::suite
using namespace std::chrono;
{ // Unconditional
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
env.fund(XRP(5000), "alice", "bob");
auto const seq = env.seq("alice");
env(lockup("alice", "alice", XRP(1000), env.now() + 1s));
@@ -379,7 +379,7 @@ struct Escrow_test : public beast::unit_test::suite
}
{ // Conditional
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
env.fund(XRP(5000), "alice", "bob");
auto const seq = env.seq("alice");
env(lockup("alice", "alice", XRP(1000), makeSlice(cb2), env.now() + 1s));
@@ -412,7 +412,7 @@ struct Escrow_test : public beast::unit_test::suite
{ // Test cryptoconditions
Env env(*this,
- with_features(featureEscrow));
+ with_only_features(featureEscrow));
auto T = [&env](NetClock::duration const& d)
{ return env.now() + d; };
env.fund(XRP(5000), "alice", "bob", "carol");
@@ -460,7 +460,7 @@ struct Escrow_test : public beast::unit_test::suite
{ // Test cancel when condition is present
Env env(*this,
- with_features(featureEscrow));
+ with_only_features(featureEscrow));
auto T = [&env](NetClock::duration const& d)
{ return env.now() + d; };
env.fund(XRP(5000), "alice", "bob", "carol");
@@ -477,7 +477,7 @@ struct Escrow_test : public beast::unit_test::suite
}
{
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
auto T = [&env](NetClock::duration const& d)
{ return env.now() + d; };
env.fund(XRP(5000), "alice", "bob", "carol");
@@ -497,7 +497,7 @@ struct Escrow_test : public beast::unit_test::suite
}
{ // Test long & short conditions during creation
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
auto T = [&env](NetClock::duration const& d)
{ return env.now() + d; };
env.fund(XRP(5000), "alice", "bob", "carol");
@@ -538,7 +538,7 @@ struct Escrow_test : public beast::unit_test::suite
{ // Test long and short conditions & fulfillments during finish
Env env(*this,
- with_features(featureEscrow));
+ with_only_features(featureEscrow));
auto T = [&env](NetClock::duration const& d)
{ return env.now() + d; };
env.fund(XRP(5000), "alice", "bob", "carol");
@@ -623,7 +623,7 @@ struct Escrow_test : public beast::unit_test::suite
{ // Test empty condition during creation and
// empty condition & fulfillment during finish
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
auto T = [&env](NetClock::duration const& d)
{ return env.now() + d; };
env.fund(XRP(5000), "alice", "bob", "carol");
@@ -663,7 +663,7 @@ struct Escrow_test : public beast::unit_test::suite
{ // Test a condition other than PreimageSha256, which
// would require a separate amendment
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
auto T = [&env](NetClock::duration const& d)
{ return env.now() + d; };
env.fund(XRP(5000), "alice", "bob", "carol");
@@ -696,7 +696,7 @@ struct Escrow_test : public beast::unit_test::suite
{
testcase ("Metadata & Ownership (without fix1523)");
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
env.fund(XRP(5000), alice, bruce, carol);
auto const seq = env.seq(alice);
@@ -718,7 +718,7 @@ struct Escrow_test : public beast::unit_test::suite
{
testcase ("Metadata (with fix1523, to self)");
- Env env(*this, with_features(featureEscrow, fix1523));
+ Env env(*this, with_only_features(featureEscrow, fix1523));
env.fund(XRP(5000), alice, bruce, carol);
auto const aseq = env.seq(alice);
auto const bseq = env.seq(bruce);
@@ -777,7 +777,7 @@ struct Escrow_test : public beast::unit_test::suite
{
testcase ("Metadata (with fix1523, to other)");
- Env env(*this, with_features(featureEscrow, fix1523));
+ Env env(*this, with_only_features(featureEscrow, fix1523));
env.fund(XRP(5000), alice, bruce, carol);
auto const aseq = env.seq(alice);
auto const bseq = env.seq(bruce);
@@ -856,7 +856,7 @@ struct Escrow_test : public beast::unit_test::suite
using namespace jtx;
using namespace std::chrono;
- Env env(*this, with_features(featureEscrow));
+ Env env(*this, with_only_features(featureEscrow));
env.memoize("alice");
env.memoize("bob");
diff --git a/src/test/app/Flow_test.cpp b/src/test/app/Flow_test.cpp
index 43e719cee..39ed53e0d 100644
--- a/src/test/app/Flow_test.cpp
+++ b/src/test/app/Flow_test.cpp
@@ -82,7 +82,7 @@ struct Flow_test : public beast::unit_test::suite
auto const USD = gw["USD"];
{
// Pay USD, trivial path
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, gw);
env.trust (USD (1000), alice, bob);
@@ -92,7 +92,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// XRP transfer
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob);
env (pay (alice, bob, XRP (100)));
@@ -101,7 +101,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// Partial payments
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, gw);
env.trust (USD (1000), alice, bob);
@@ -115,7 +115,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// Pay by rippling through accounts, use path finder
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, dan);
env.trust (USDA (10), bob);
@@ -130,7 +130,7 @@ struct Flow_test : public beast::unit_test::suite
{
// Pay by rippling through accounts, specify path
// and charge a transfer fee
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, dan);
env.trust (USDA (10), bob);
@@ -148,7 +148,7 @@ struct Flow_test : public beast::unit_test::suite
{
// Pay by rippling through accounts, specify path and transfer fee
// Test that the transfer fee is not charged when alice issues
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, dan);
env.trust (USDA (10), bob);
@@ -164,7 +164,7 @@ struct Flow_test : public beast::unit_test::suite
{
// test best quality path is taken
// Paths: A->B->D->E ; A->C->D->E
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, dan, erin);
env.trust (USDA (10), bob, carol);
@@ -185,7 +185,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// Limit quality
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol);
env.trust (USDA (10), bob);
@@ -222,7 +222,7 @@ struct Flow_test : public beast::unit_test::suite
if (!hasFeature(featureFlow, fs) && bobDanQIn < 100 &&
bobAliceQOut < 100)
continue; // Bug in flow v1
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol, dan);
env(trust(bob, USDD(100)), qualityInPercent(bobDanQIn));
env(trust(bob, USDA(100)), qualityOutPercent(bobAliceQOut));
@@ -245,7 +245,7 @@ struct Flow_test : public beast::unit_test::suite
// bob -> alice -> carol; vary carolAliceQIn
for (auto carolAliceQIn : {80, 100, 120})
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol);
env(trust(bob, USDA(10)));
env(trust(carol, USDA(10)), qualityInPercent(carolAliceQIn));
@@ -261,7 +261,7 @@ struct Flow_test : public beast::unit_test::suite
// bob -> alice -> carol; bobAliceQOut varies.
for (auto bobAliceQOut : {80, 100, 120})
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol);
env(trust(bob, USDA(10)), qualityOutPercent(bobAliceQOut));
env(trust(carol, USDA(10)));
@@ -290,7 +290,7 @@ struct Flow_test : public beast::unit_test::suite
{
// simple IOU/IOU offer
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env.trust (USD (1000), alice, bob, carol);
@@ -311,7 +311,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// simple IOU/XRP XRP/IOU offer
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env.trust (USD (1000), alice, bob, carol);
@@ -335,7 +335,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// simple XRP -> USD through offer and sendmax
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env.trust (USD (1000), alice, bob, carol);
@@ -356,7 +356,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// simple USD -> XRP through offer and sendmax
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env.trust (USD (1000), alice, bob, carol);
@@ -377,7 +377,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// test unfunded offers are removed when payment succeeds
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env.trust (USD (1000), alice, bob, carol);
@@ -423,7 +423,7 @@ struct Flow_test : public beast::unit_test::suite
// offer. When the payment fails `flow` should return the unfunded
// offer. This test is intentionally similar to the one that removes
// unfunded offers when the payment succeeds.
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env.trust (USD (1000), alice, bob, carol);
@@ -498,7 +498,7 @@ struct Flow_test : public beast::unit_test::suite
// Without limits, the 0.4 USD would produce 1000 EUR in the forward
// pass. This test checks that the payment produces 1 EUR, as expected.
- Env env (*this, with_features (fs));
+ Env env (*this, with_only_features (fs));
auto const closeTime = STAmountSO::soTime2 +
100 * env.closed ()->info ().closeTimeResolution;
@@ -541,7 +541,7 @@ struct Flow_test : public beast::unit_test::suite
{
// Simple payment through a gateway with a
// transfer rate
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env(rate(gw, 1.25));
@@ -553,7 +553,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// transfer rate is not charged when issuer is src or dst
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env(rate(gw, 1.25));
@@ -565,7 +565,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// transfer fee on an offer
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env(rate(gw, 1.25));
@@ -583,7 +583,7 @@ struct Flow_test : public beast::unit_test::suite
{
// Transfer fee two consecutive offers
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, carol, gw);
env(rate(gw, 1.25));
@@ -606,7 +606,7 @@ struct Flow_test : public beast::unit_test::suite
{
// First pass through a strand redeems, second pass issues, no offers
// limiting step is not an endpoint
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
auto const USDA = alice["USD"];
auto const USDB = bob["USD"];
@@ -626,7 +626,7 @@ struct Flow_test : public beast::unit_test::suite
{
// First pass through a strand redeems, second pass issues, through an offer
// limiting step is not an endpoint
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
auto const USDA = alice["USD"];
auto const USDB = bob["USD"];
Account const dan ("dan");
@@ -653,7 +653,7 @@ struct Flow_test : public beast::unit_test::suite
{
// Offer where the owner is also the issuer, owner pays fee
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, gw);
env(rate(gw, 1.25));
@@ -668,7 +668,7 @@ struct Flow_test : public beast::unit_test::suite
if (!hasFeature(featureOwnerPaysFee, fs))
{
// Offer where the owner is also the issuer, sender pays fee
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
env.fund (XRP (10000), alice, bob, gw);
env(rate(gw, 1.25));
@@ -696,7 +696,7 @@ struct Flow_test : public beast::unit_test::suite
Account const bob ("bob");
Account const carol ("carol");
- Env env (*this, with_features (fs));
+ Env env (*this, with_only_features (fs));
auto const closeTime = fix1141Time() +
100 * env.closed ()->info ().closeTimeResolution;
@@ -810,7 +810,7 @@ struct Flow_test : public beast::unit_test::suite
auto const USD = gw1["USD"];
auto const EUR = gw2["EUR"];
- Env env (*this, with_features (fs));
+ Env env (*this, with_only_features (fs));
auto const closeTime =
fix1141Time () + 100 * env.closed ()->info ().closeTimeResolution;
@@ -884,7 +884,7 @@ struct Flow_test : public beast::unit_test::suite
auto const USD = gw1["USD"];
auto const EUR = gw2["EUR"];
- Env env (*this, with_features (fs));
+ Env env (*this, with_only_features (fs));
auto const closeTime =
fix1141Time () + 100 * env.closed ()->info ().closeTimeResolution;
@@ -952,7 +952,7 @@ struct Flow_test : public beast::unit_test::suite
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
// Need new behavior from `accountHolds`
auto const closeTime = fix1141Time() +
@@ -983,7 +983,7 @@ struct Flow_test : public beast::unit_test::suite
using namespace jtx;
{
// Test reverse
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto closeTime = fix1298Time();
if (withFix)
closeTime += env.closed()->info().closeTimeResolution;
@@ -1015,7 +1015,7 @@ struct Flow_test : public beast::unit_test::suite
}
{
// Test forward
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto closeTime = fix1298Time();
if (withFix)
closeTime += env.closed()->info().closeTimeResolution;
@@ -1055,7 +1055,7 @@ struct Flow_test : public beast::unit_test::suite
testcase("ReexecuteDirectStep");
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto const alice = Account("alice");
auto const bob = Account("bob");
@@ -1111,7 +1111,7 @@ struct Flow_test : public beast::unit_test::suite
testcase("ripd1443");
using namespace jtx;
- Env env(*this, with_features(featureFlow));
+ Env env(*this, with_only_features(featureFlow));
auto const timeDelta = env.closed ()->info ().closeTimeResolution;
auto const d = withFix ? 100*timeDelta : -100*timeDelta;
auto closeTime = fix1443Time() + d;
@@ -1164,7 +1164,7 @@ struct Flow_test : public beast::unit_test::suite
testcase("ripd1449");
using namespace jtx;
- Env env(*this, with_features(featureFlow));
+ Env env(*this, with_only_features(featureFlow));
auto const timeDelta = env.closed ()->info ().closeTimeResolution;
auto const d = withFix ? 100*timeDelta : -100*timeDelta;
auto closeTime = fix1449Time() + d;
@@ -1210,7 +1210,7 @@ struct Flow_test : public beast::unit_test::suite
using namespace jtx;
- Env env(*this, with_features (fs));
+ Env env(*this, with_only_features (fs));
auto const ann = Account("ann");
auto const gw = Account("gateway");
@@ -1244,7 +1244,7 @@ struct Flow_test : public beast::unit_test::suite
auto const alice = Account("alice");
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice);
diff --git a/src/test/app/Freeze_test.cpp b/src/test/app/Freeze_test.cpp
index c79816c0f..87f76d171 100644
--- a/src/test/app/Freeze_test.cpp
+++ b/src/test/app/Freeze_test.cpp
@@ -58,7 +58,7 @@ class Freeze_test : public beast::unit_test::suite
testcase("RippleState Freeze");
using namespace test::jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
Account G1 {"G1"};
Account alice {"alice"};
@@ -212,7 +212,7 @@ class Freeze_test : public beast::unit_test::suite
testcase("Global Freeze");
using namespace test::jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
Account G1 {"G1"};
Account A1 {"A1"};
@@ -370,7 +370,7 @@ class Freeze_test : public beast::unit_test::suite
testcase("No Freeze");
using namespace test::jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
Account G1 {"G1"};
Account A1 {"A1"};
@@ -424,7 +424,7 @@ class Freeze_test : public beast::unit_test::suite
testcase("Offers for Frozen Trust Lines");
using namespace test::jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
Account G1 {"G1"};
Account A2 {"A2"};
diff --git a/src/test/app/MultiSign_test.cpp b/src/test/app/MultiSign_test.cpp
index 23fdebaf6..f7bfe1ca6 100644
--- a/src/test/app/MultiSign_test.cpp
+++ b/src/test/app/MultiSign_test.cpp
@@ -39,7 +39,7 @@ public:
void test_noReserve()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::secp256k1};
// Pay alice enough to meet the initial reserve, but not enough to
@@ -87,7 +87,7 @@ public:
void test_signerListSet()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::ed25519};
env.fund(XRP(1000), alice);
@@ -132,7 +132,7 @@ public:
void test_phantomSigners()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::ed25519};
env.fund(XRP(1000), alice);
env.close();
@@ -233,7 +233,7 @@ public:
void test_fee ()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::ed25519};
env.fund(XRP(1000), alice);
env.close();
@@ -283,7 +283,7 @@ public:
void test_misorderedSigners()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::ed25519};
env.fund(XRP(1000), alice);
env.close();
@@ -305,7 +305,7 @@ public:
void test_masterSigners()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::ed25519};
Account const becky {"becky", KeyType::secp256k1};
Account const cheri {"cheri", KeyType::ed25519};
@@ -357,7 +357,7 @@ public:
void test_regularSigners()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::secp256k1};
Account const becky {"becky", KeyType::ed25519};
Account const cheri {"cheri", KeyType::secp256k1};
@@ -415,7 +415,7 @@ public:
void test_regularSignersUsingSubmitMulti()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::secp256k1};
Account const becky {"becky", KeyType::ed25519};
Account const cheri {"cheri", KeyType::secp256k1};
@@ -618,7 +618,7 @@ public:
void test_heterogeneousSigners()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::secp256k1};
Account const becky {"becky", KeyType::ed25519};
Account const cheri {"cheri", KeyType::secp256k1};
@@ -733,7 +733,7 @@ public:
void test_keyDisable()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::ed25519};
env.fund(XRP(1000), alice);
@@ -808,7 +808,7 @@ public:
void test_regKey()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::secp256k1};
env.fund(XRP(1000), alice);
@@ -840,7 +840,7 @@ public:
void test_txTypes()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice", KeyType::secp256k1};
Account const becky {"becky", KeyType::ed25519};
Account const zelda {"zelda", KeyType::secp256k1};
@@ -924,7 +924,7 @@ public:
// Verify that the text returned for signature failures is correct.
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
// lambda that submits an STTx and returns the resulting JSON.
auto submitSTTx = [&env] (STTx const& stx)
@@ -1058,7 +1058,7 @@ public:
void test_noMultiSigners()
{
using namespace jtx;
- Env env {*this, with_features(featureMultiSign)};
+ Env env {*this, with_only_features(featureMultiSign)};
Account const alice {"alice", KeyType::ed25519};
Account const becky {"becky", KeyType::secp256k1};
env.fund(XRP(1000), alice, becky);
diff --git a/src/test/app/Offer_test.cpp b/src/test/app/Offer_test.cpp
index 1cab2f87f..ff28ba8ca 100644
--- a/src/test/app/Offer_test.cpp
+++ b/src/test/app/Offer_test.cpp
@@ -120,7 +120,7 @@ public:
// not used for the payment.
using namespace jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -171,7 +171,7 @@ public:
testcase ("Removing Canceled Offers");
using namespace jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -241,7 +241,7 @@ public:
auto const USD = gw["USD"];
auto const EUR = gw["EUR"];
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
env.fund (XRP (10000), alice, bob, carol, gw);
env.trust (USD (1000), alice, bob, carol);
@@ -310,7 +310,7 @@ public:
if (!withFix && fs.size())
continue;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
auto closeTime = [&]
{
@@ -391,7 +391,7 @@ public:
{
// No ripple with an implied account step after an offer
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -420,7 +420,7 @@ public:
}
{
// Make sure payment works with default flags
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -475,7 +475,7 @@ public:
// No crossing:
{
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -500,7 +500,7 @@ public:
// Partial cross:
{
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -534,7 +534,7 @@ public:
// if an offer were added. Attempt to sell IOUs to
// buy XRP. If it fully crosses, we succeed.
{
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -600,7 +600,7 @@ public:
// Fill or Kill - unless we fully cross, just charge
// a fee and not place the offer on the books:
{
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -645,7 +645,7 @@ public:
// Immediate or Cancel - cross as much as possible
// and add nothing on the books:
{
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -701,7 +701,7 @@ public:
// tfPassive -- place the offer without crossing it.
{
- Env env (*this, with_features (fs));
+ Env env (*this, with_only_features (fs));
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -758,7 +758,7 @@ public:
// tfPassive -- cross only offers of better quality.
{
- Env env (*this, with_features (fs));
+ Env env (*this, with_only_features (fs));
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -810,7 +810,7 @@ public:
auto const alice = Account {"alice"};
auto const USD = gw["USD"];
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -914,7 +914,7 @@ public:
Json::StaticString const key ("Expiration");
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -987,7 +987,7 @@ public:
auto const usdOffer = USD (1000);
auto const xrpOffer = XRP (1000);
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1053,7 +1053,7 @@ public:
auto const USD = gw["USD"];
auto const BTC = gw["BTC"];
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1168,7 +1168,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1255,7 +1255,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1315,7 +1315,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1365,7 +1365,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1398,7 +1398,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1432,7 +1432,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1497,7 +1497,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1530,7 +1530,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1622,7 +1622,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1666,7 +1666,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1718,7 +1718,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1788,7 +1788,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1846,7 +1846,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1886,7 +1886,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1932,7 +1932,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -1980,7 +1980,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -2089,7 +2089,7 @@ public:
auto const gw = Account("gateway");
auto const USD = gw["USD"];
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -2251,7 +2251,7 @@ public:
auto const usdOffer = USD(1000);
auto const xrpOffer = XRP(1000);
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -2336,7 +2336,7 @@ public:
auto const usdOffer = USD(1000);
auto const eurOffer = EUR(1000);
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -2433,7 +2433,7 @@ public:
auto const usdOffer = USD(1000);
auto const eurOffer = EUR(1000);
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -2531,7 +2531,7 @@ public:
auto const gw = Account("gateway");
auto const USD = gw["USD"];
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -2708,7 +2708,7 @@ public:
auto const bob = Account("bob");
auto const USD = gw["USD"];
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -2788,7 +2788,7 @@ public:
auto const gw1 = Account("gateway1");
auto const USD = gw1["USD"];
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3113,7 +3113,7 @@ public:
auto const gw = Account("gateway");
auto const USD = gw["USD"];
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3176,7 +3176,7 @@ public:
auto const USD = gw1["USD"];
auto const EUR = gw2["EUR"];
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3297,7 +3297,7 @@ public:
// correctly now.
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3349,7 +3349,8 @@ public:
// The problem was identified when featureOwnerPaysFee was enabled,
// so make sure that gets included.
- Env env {*this, with_features(fs) | with_features(featureOwnerPaysFee)};
+ Env env {*this,
+ with_only_features(fs) | with_only_features(featureOwnerPaysFee)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3427,7 +3428,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3482,7 +3483,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3522,7 +3523,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3571,7 +3572,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3625,7 +3626,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time () +
100 * env.closed ()->info ().closeTimeResolution;
@@ -3684,7 +3685,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time() +
100 * env.closed()->info().closeTimeResolution;
@@ -3767,7 +3768,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time() +
100 * env.closed()->info().closeTimeResolution;
@@ -3919,7 +3920,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time() +
100 * env.closed()->info().closeTimeResolution;
@@ -4048,7 +4049,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time() +
100 * env.closed()->info().closeTimeResolution;
@@ -4120,7 +4121,7 @@ public:
using namespace jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
auto const closeTime =
fix1449Time() +
100 * env.closed()->info().closeTimeResolution;
@@ -4242,7 +4243,7 @@ public:
testcase("RippleConnect Smoketest payment flow");
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time() +
100 * env.closed()->info().closeTimeResolution;
@@ -4335,7 +4336,7 @@ public:
using namespace jtx;
- Env env {*this, with_features (fs)};
+ Env env {*this, with_only_features (fs)};
auto const closeTime =
fix1449Time() +
100 * env.closed()->info().closeTimeResolution;
@@ -4413,7 +4414,7 @@ public:
// Try to set tick size without enabling feature
{
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
auto const gw = Account {"gateway"};
env.fund (XRP(10000), gw);
@@ -4422,7 +4423,8 @@ public:
env(txn, ter(temDISABLED));
}
- auto const fsPlus = with_features(fs) | with_features(featureTickSize);
+ auto const fsPlus =
+ with_only_features(fs) | with_only_features(featureTickSize);
// Try to set tick size out of range
{
diff --git a/src/test/app/Path_test.cpp b/src/test/app/Path_test.cpp
index c119fa3b4..4e768650b 100644
--- a/src/test/app/Path_test.cpp
+++ b/src/test/app/Path_test.cpp
@@ -1025,7 +1025,7 @@ public:
{
testcase("Path Find: CNY");
using namespace jtx;
- Env env{*this, all_features_except(featureFlow)};
+ Env env{*this, supported_features_except(featureFlow)};
Account A1 {"A1"};
Account A2 {"A2"};
diff --git a/src/test/app/PayStrand_test.cpp b/src/test/app/PayStrand_test.cpp
index 083a70091..c344d25ed 100644
--- a/src/test/app/PayStrand_test.cpp
+++ b/src/test/app/PayStrand_test.cpp
@@ -632,7 +632,7 @@ struct PayStrandAllPairs_test : public beast::unit_test::suite
using RippleCalc = ::ripple::path::RippleCalc;
ExistingElementPool eep;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto const closeTime = fix1298Time() +
100 * env.closed()->info().closeTimeResolution;
@@ -910,7 +910,7 @@ struct PayStrand_test : public beast::unit_test::suite
};
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, gw);
env.trust(USD(1000), alice, bob);
env.trust(EUR(1000), alice, bob);
@@ -951,7 +951,7 @@ struct PayStrand_test : public beast::unit_test::suite
};
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol, gw);
test(env, USD, boost::none, STPath(), terNO_LINE);
@@ -1134,7 +1134,7 @@ struct PayStrand_test : public beast::unit_test::suite
// cannot have more than one offer with the same output issue
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol, gw);
env.trust(USD(10000), alice, bob, carol);
@@ -1156,7 +1156,7 @@ struct PayStrand_test : public beast::unit_test::suite
}
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, noripple(gw));
env.trust(USD(1000), alice, bob);
env(pay(gw, alice, USD(100)));
@@ -1165,7 +1165,7 @@ struct PayStrand_test : public beast::unit_test::suite
{
// check global freeze
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, gw);
env.trust(USD(1000), alice, bob);
env(pay(gw, alice, USD(100)));
@@ -1190,7 +1190,7 @@ struct PayStrand_test : public beast::unit_test::suite
}
{
// Freeze between gw and alice
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, gw);
env.trust(USD(1000), alice, bob);
env(pay(gw, alice, USD(100)));
@@ -1203,7 +1203,7 @@ struct PayStrand_test : public beast::unit_test::suite
// check no auth
// An account may require authorization to receive IOUs from an
// issuer
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, gw);
env(fset(gw, asfRequireAuth));
env.trust(USD(1000), alice, bob);
@@ -1231,7 +1231,7 @@ struct PayStrand_test : public beast::unit_test::suite
}
{
// Check path with sendMax and node with correct sendMax already set
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, gw);
env.trust(USD(1000), alice, bob);
env.trust(EUR(1000), alice, bob);
@@ -1246,7 +1246,7 @@ struct PayStrand_test : public beast::unit_test::suite
{
// last step xrp from offer
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, gw);
env.trust(USD(1000), alice, bob);
env(pay(gw, alice, USD(100)));
@@ -1287,7 +1287,7 @@ struct PayStrand_test : public beast::unit_test::suite
if (hasFeature(fix1373, fs))
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, gw);
env.trust(USD(1000), alice, bob);
@@ -1319,7 +1319,7 @@ struct PayStrand_test : public beast::unit_test::suite
}
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol, gw);
env.trust(USD(10000), alice, bob, carol);
@@ -1337,7 +1337,7 @@ struct PayStrand_test : public beast::unit_test::suite
}
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol, gw);
env.trust(USD(10000), alice, bob, carol);
@@ -1371,7 +1371,7 @@ struct PayStrand_test : public beast::unit_test::suite
auto const CNY = gw["CNY"];
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol, gw);
env.trust(USD(10000), alice, bob, carol);
@@ -1396,7 +1396,7 @@ struct PayStrand_test : public beast::unit_test::suite
ter(expectedResult));
}
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, carol, gw);
env.trust(USD(10000), alice, bob, carol);
@@ -1431,7 +1431,7 @@ struct PayStrand_test : public beast::unit_test::suite
auto const gw = Account("gw");
auto const USD = gw["USD"];
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(10000), alice, bob, gw);
STAmount sendMax{USD.issue(), 100, 1};
diff --git a/src/test/app/SetAuth_test.cpp b/src/test/app/SetAuth_test.cpp
index 25f8b149e..930f34ee4 100644
--- a/src/test/app/SetAuth_test.cpp
+++ b/src/test/app/SetAuth_test.cpp
@@ -52,13 +52,13 @@ struct SetAuth_test : public beast::unit_test::suite
auto const gw = Account("gw");
auto const USD = gw["USD"];
{
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
env.fund(XRP(100000), "alice", gw);
env(fset(gw, asfRequireAuth));
env(auth(gw, "alice", "USD"), ter(tecNO_LINE_REDUNDANT));
}
{
- Env env(*this, with_features(featureTrustSetAuth));
+ Env env(*this, with_only_features(featureTrustSetAuth));
env.fund(XRP(100000), "alice", "bob", gw);
env(fset(gw, asfRequireAuth));
env(auth(gw, "alice", "USD"));
diff --git a/src/test/app/Ticket_test.cpp b/src/test/app/Ticket_test.cpp
index 3af7db0d7..6d275103c 100644
--- a/src/test/app/Ticket_test.cpp
+++ b/src/test/app/Ticket_test.cpp
@@ -126,7 +126,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Cancel Nonexistent");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
env (ticket::cancel (env.master, idOne), ter (tecNO_ENTRY));
}
@@ -135,7 +135,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create/Cancel Ticket with Bad Fee, Fail Preflight");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
env (ticket::create (env.master), fee (XRP (-1)), ter (temBAD_FEE));
env (ticket::cancel (env.master, idOne), fee (XRP (-1)), ter (temBAD_FEE));
@@ -146,7 +146,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Tickets with Nonexistent Accounts");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
Account alice {"alice"};
env.memoize (alice);
@@ -162,7 +162,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Tickets with Same Account and Target");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
env (ticket::create (env.master, env.master));
auto cr = checkTicketMeta (env);
@@ -183,7 +183,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Ticket and Then Cancel by Creator");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
// create and verify
env (ticket::create (env.master));
@@ -215,7 +215,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Ticket Insufficient Reserve");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
Account alice {"alice"};
env.fund (env.current ()->fees ().accountReserve (0), alice);
@@ -229,7 +229,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Ticket and Then Cancel by Target");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
Account alice {"alice"};
env.fund (XRP (10000), alice);
@@ -275,7 +275,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Ticket with Future Expiration");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
// create and verify
uint32_t expire =
@@ -300,7 +300,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Ticket with Zero Expiration");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
// create and verify
env (ticket::create (env.master, 0u), ter (temBAD_EXPIRATION));
@@ -311,7 +311,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Ticket with Past Expiration");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
env.timeKeeper ().adjustCloseTime (days {2});
env.close ();
@@ -340,7 +340,7 @@ class Ticket_test : public beast::unit_test::suite
testcase ("Create Ticket and Allow to Expire");
using namespace test::jtx;
- Env env {*this, with_features (featureTickets)};
+ Env env {*this, with_only_features (featureTickets)};
// create and verify
uint32_t expire =
diff --git a/src/test/app/TrustAndBalance_test.cpp b/src/test/app/TrustAndBalance_test.cpp
index 7e81c3b35..4f405deb6 100644
--- a/src/test/app/TrustAndBalance_test.cpp
+++ b/src/test/app/TrustAndBalance_test.cpp
@@ -51,7 +51,7 @@ class TrustAndBalance_test : public beast::unit_test::suite
testcase ("Payment to Nonexistent Account");
using namespace test::jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
env (pay (env.master, "alice", XRP(1)), ter(tecNO_DST_INSUF_XRP));
env.close();
}
@@ -167,7 +167,7 @@ class TrustAndBalance_test : public beast::unit_test::suite
testcase ("Direct Payment, Ripple");
using namespace test::jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
Account alice {"alice"};
Account bob {"bob"};
@@ -210,7 +210,7 @@ class TrustAndBalance_test : public beast::unit_test::suite
(subscribe ? "With " : "Without ") + " Subscribe");
using namespace test::jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
auto wsc = test::makeWSClient(env.app().config());
Account gw {"gateway"};
Account alice {"alice"};
@@ -288,7 +288,7 @@ class TrustAndBalance_test : public beast::unit_test::suite
testcase ("Payments With Paths and Fees");
using namespace test::jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
Account gw {"gateway"};
Account alice {"alice"};
Account bob {"bob"};
@@ -336,7 +336,7 @@ class TrustAndBalance_test : public beast::unit_test::suite
testcase ("Indirect Payment");
using namespace test::jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
Account gw {"gateway"};
Account alice {"alice"};
Account bob {"bob"};
@@ -378,7 +378,7 @@ class TrustAndBalance_test : public beast::unit_test::suite
(with_rate ? "With " : "Without ") + " Xfer Fee, ");
using namespace test::jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
Account gw {"gateway"};
Account amazon {"amazon"};
Account alice {"alice"};
@@ -443,7 +443,7 @@ class TrustAndBalance_test : public beast::unit_test::suite
testcase ("Set Invoice ID on Payment");
using namespace test::jtx;
- Env env {*this, with_features(fs)};
+ Env env {*this, with_only_features(fs)};
Account alice {"alice"};
auto wsc = test::makeWSClient(env.app().config());
diff --git a/src/test/app/TxQ_test.cpp b/src/test/app/TxQ_test.cpp
index a11b678ae..f1dd4c5a7 100644
--- a/src/test/app/TxQ_test.cpp
+++ b/src/test/app/TxQ_test.cpp
@@ -36,12 +36,6 @@
namespace ripple {
-namespace detail {
-extern
-std::vector
-supportedAmendments ();
-}
-
namespace test {
class TxQ_test : public beast::unit_test::suite
@@ -1568,7 +1562,7 @@ public:
{
using namespace jtx;
using namespace std::chrono;
- Env env(*this, with_features(featureTickets));
+ Env env(*this, with_only_features(featureTickets));
auto const alice = Account("alice");
env.memoize(alice);
env.memoize("bob");
diff --git a/src/test/jtx/Env.h b/src/test/jtx/Env.h
index f3f0c3fd1..757e1c746 100644
--- a/src/test/jtx/Env.h
+++ b/src/test/jtx/Env.h
@@ -56,13 +56,6 @@
namespace ripple {
-
-namespace detail {
-extern
-std::vector
-supportedAmendments ();
-}
-
namespace test {
namespace jtx {
@@ -84,7 +77,7 @@ noripple (Account const& account, Args const&... args)
*/
template
FeatureBitset
-with_features (uint256 const& key, Args const&... args)
+with_only_features (uint256 const& key, Args const&... args)
{
return makeFeatureBitset(
std::array{{key, args...}});
@@ -100,7 +93,7 @@ with_features (uint256 const& key, Args const&... args)
*/
template
FeatureBitset
-with_features (Col&& keys)
+with_only_features (Col&& keys)
{
return makeFeatureBitset(std::forward(keys));
}
@@ -109,7 +102,7 @@ constexpr FeatureBitset no_features = {};
inline
FeatureBitset
-all_amendments()
+supported_amendments()
{
static const FeatureBitset ids = []{
auto const& sa = ripple::detail::supportedAmendments();
@@ -137,9 +130,9 @@ all_amendments()
*/
template
FeatureBitset
-all_features_except (Col const& keys)
+supported_features_except (Col const& keys)
{
- return all_amendments() & ~makeFeatureBitset(keys);
+ return supported_amendments() & ~makeFeatureBitset(keys);
}
/**
@@ -152,9 +145,9 @@ all_features_except (Col const& keys)
*/
template
FeatureBitset
-all_features_except (uint256 const& key, Args const&... args)
+supported_features_except (uint256 const& key, Args const&... args)
{
- return all_features_except(
+ return supported_features_except(
std::array{{key, args...}});
}
@@ -250,8 +243,8 @@ public:
* @param suite_ the current unit_test::suite
* @param config The desired Config - ownership will be taken by moving
* the pointer. See envconfig and related functions for common config tweaks.
- * @param args with_features() to explicitly enable or all_features_except() to
- * enable all and disable specific features
+ * @param args with_only_features() to explicitly enable or
+ * supported_features_except() to enable all and disable specific features.
*/
// VFALCO Could wrap the suite::log in a Journal here
Env (beast::unit_test::suite& suite_,
@@ -277,9 +270,9 @@ public:
* features.
*
* This constructor will create an Env with the standard Env configuration
- * (from envconfig()) and features explicitly specified. Use with_features(...)
- * or all_features_except(...) to create a collection of features appropriate
- * for passing here.
+ * (from envconfig()) and features explicitly specified. Use
+ * with_only_features(...) or supported_features_except(...) to create a
+ * collection of features appropriate for passing here.
*
* @param suite_ the current unit_test::suite
* @param args collection of features
@@ -305,7 +298,8 @@ public:
Env (beast::unit_test::suite& suite_,
std::unique_ptr config,
std::unique_ptr logs = nullptr)
- : Env(suite_, std::move(config), all_amendments(), std::move(logs))
+ : Env(suite_, std::move(config),
+ supported_amendments(), std::move(logs))
{
}
diff --git a/src/test/jtx/Env_test.cpp b/src/test/jtx/Env_test.cpp
index 407d8d110..9408b2c2d 100644
--- a/src/test/jtx/Env_test.cpp
+++ b/src/test/jtx/Env_test.cpp
@@ -301,7 +301,7 @@ public:
env(pay(env.master, "alice", XRP(1000)), fee(none), ter(temMALFORMED));
env(pay(env.master, "alice", XRP(1000)), fee(1), ter(telINSUF_FEE_P));
env(pay(env.master, "alice", XRP(1000)), seq(none), ter(temMALFORMED));
- env(pay(env.master, "alice", XRP(1000)), seq(20), ter(terPRE_SEQ));
+ env(pay(env.master, "alice", XRP(1000)), seq(20), ter(terPRE_SEQ));
env(pay(env.master, "alice", XRP(1000)), sig(none), ter(temMALFORMED));
env(pay(env.master, "alice", XRP(1000)), sig("bob"), ter(tefBAD_AUTH_MASTER));
@@ -355,7 +355,7 @@ public:
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
env.fund(XRP(10000), "alice");
env(signers("alice", 1,
{ { "alice", 1 }, { "bob", 2 } }), ter(temBAD_SIGNER));
@@ -384,7 +384,7 @@ public:
ticket::create("alice", 60, "bob");
{
- Env env(*this, with_features(featureTickets));
+ Env env(*this, with_only_features(featureTickets));
env.fund(XRP(10000), "alice");
env(noop("alice"), require(owners("alice", 0), tickets("alice", 0)));
env(ticket::create("alice"), require(owners("alice", 1), tickets("alice", 1)));
@@ -632,7 +632,7 @@ public:
{
testcase("Env features");
using namespace jtx;
- auto const supported = all_amendments();
+ auto const supported = supported_amendments();
// this finds a feature that is not in
// the supported amendments list and tests that it can be
@@ -655,7 +655,7 @@ public:
return;
}
- auto const neverSupported = with_features(*neverSupportedFeat);
+ auto const neverSupported = with_only_features(*neverSupportedFeat);
auto hasFeature = [](Env& env, uint256 const& f)
{
@@ -674,22 +674,23 @@ public:
}
{
- // a Env with_features has *only* those features
- Env env{*this, with_features(featureEscrow, featureTickets)};
+ // a Env with_only_features has *only* those features
+ Env env{*this, with_only_features(featureEscrow, featureFlow)};
BEAST_EXPECT(env.app().config().features.size() == 2);
foreachFeature(supported, [&](uint256 const& f) {
- bool const has = (f == featureEscrow || f == featureTickets);
+ bool const has = (f == featureEscrow || f == featureFlow);
this->BEAST_EXPECT(has == hasFeature(env, f));
});
}
{
- // a Env all_features_except is missing *only* those features
- Env env{*this, all_features_except(featureEscrow, featureTickets)};
+ // a Env supported_features_except is missing *only* those features
+ Env env{*this,
+ supported_features_except(featureEscrow, featureFlow)};
BEAST_EXPECT(
env.app().config().features.size() == (supported.count() - 2));
foreachFeature(supported, [&](uint256 const& f) {
- bool hasnot = (f == featureEscrow || f == featureTickets);
+ bool hasnot = (f == featureEscrow || f == featureFlow);
this->BEAST_EXPECT(hasnot != hasFeature(env, f));
});
}
@@ -701,7 +702,8 @@ public:
// the two supported ones
Env env{
*this,
- with_features(featureEscrow, featureTickets) | neverSupported};
+ with_only_features(
+ featureEscrow, featureFlow) | neverSupported};
// this app will have just 2 supported amendments and
// one additional never supported feature flag
@@ -709,7 +711,7 @@ public:
BEAST_EXPECT(hasFeature(env, *neverSupportedFeat));
foreachFeature(supported, [&](uint256 const& f) {
- bool has = (f == featureEscrow || f == featureTickets);
+ bool has = (f == featureEscrow || f == featureFlow);
this->BEAST_EXPECT(has == hasFeature(env, f));
});
}
@@ -719,7 +721,7 @@ public:
// and omit a few standard amendments
// the unsupported features should be enabled
Env env{*this,
- all_features_except(featureEscrow, featureTickets) |
+ supported_features_except(featureEscrow, featureFlow) |
neverSupported};
// this app will have all supported amendments minus 2 and then the
@@ -729,7 +731,7 @@ public:
(supported.count() - 2 + 1));
BEAST_EXPECT(hasFeature(env, *neverSupportedFeat));
foreachFeature(supported, [&](uint256 const& f) {
- bool hasnot = (f == featureEscrow || f == featureTickets);
+ bool hasnot = (f == featureEscrow || f == featureFlow);
this->BEAST_EXPECT(hasnot != hasFeature(env, f));
});
}
@@ -738,7 +740,7 @@ public:
// add a feature that is NOT in the supported amendments list
// along with all supported amendments
// the unsupported features should be enabled
- Env env{*this, all_amendments() | neverSupported};
+ Env env{*this, supported_amendments() | neverSupported};
// this app will have all supported amendments and then the
// one additional never supported feature flag
diff --git a/src/test/ledger/BookDirs_test.cpp b/src/test/ledger/BookDirs_test.cpp
index 933f24d74..216322c25 100644
--- a/src/test/ledger/BookDirs_test.cpp
+++ b/src/test/ledger/BookDirs_test.cpp
@@ -28,7 +28,7 @@ struct BookDirs_test : public beast::unit_test::suite
void test_bookdir(std::initializer_list fs)
{
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto gw = Account("gw");
auto USD = gw["USD"];
env.fund(XRP(1000000), "alice", "bob", "gw");
diff --git a/src/test/ledger/Directory_test.cpp b/src/test/ledger/Directory_test.cpp
index 0261c5de0..fe5b5ea13 100644
--- a/src/test/ledger/Directory_test.cpp
+++ b/src/test/ledger/Directory_test.cpp
@@ -88,7 +88,7 @@ struct Directory_test : public beast::unit_test::suite
{
testcase ("Directory Ordering (without 'SortedDirectories' amendment");
- Env env(*this, all_features_except(featureSortedDirectories));
+ Env env(*this, supported_features_except(featureSortedDirectories));
env.fund(XRP(10000000), alice, bob, gw);
// Insert 400 offers from Alice, then one from Bob:
@@ -116,7 +116,7 @@ struct Directory_test : public beast::unit_test::suite
{
testcase ("Directory Ordering (with 'SortedDirectories' amendment)");
- Env env(*this, with_features(featureSortedDirectories));
+ Env env(*this, with_only_features(featureSortedDirectories));
env.fund(XRP(10000000), alice, gw);
for (std::size_t i = 1; i <= 400; ++i)
@@ -184,7 +184,8 @@ struct Directory_test : public beast::unit_test::suite
beast::xor_shift_engine eng;
- Env env(*this, with_features(featureSortedDirectories, featureMultiSign));
+ Env env(*this,
+ with_only_features(featureSortedDirectories, featureMultiSign));
env.fund(XRP(1000000), alice, charlie, gw);
env.close();
@@ -288,7 +289,7 @@ struct Directory_test : public beast::unit_test::suite
testcase("RIPD-1353 Empty Offer Directories");
using namespace jtx;
- Env env(*this, with_features(featureSortedDirectories));
+ Env env(*this, with_only_features(featureSortedDirectories));
auto const gw = Account{"gateway"};
auto const alice = Account{"alice"};
@@ -348,7 +349,7 @@ struct Directory_test : public beast::unit_test::suite
testcase("Empty Chain on Delete");
using namespace jtx;
- Env env(*this, with_features(featureSortedDirectories));
+ Env env(*this, with_only_features(featureSortedDirectories));
auto const gw = Account{"gateway"};
auto const alice = Account{"alice"};
diff --git a/src/test/ledger/PaymentSandbox_test.cpp b/src/test/ledger/PaymentSandbox_test.cpp
index 0ab0efef2..49dc515e8 100644
--- a/src/test/ledger/PaymentSandbox_test.cpp
+++ b/src/test/ledger/PaymentSandbox_test.cpp
@@ -60,7 +60,7 @@ class PaymentSandbox_test : public beast::unit_test::suite
testcase ("selfFunding");
using namespace jtx;
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
Account const gw1 ("gw1");
Account const gw2 ("gw2");
Account const snd ("snd");
@@ -101,7 +101,7 @@ class PaymentSandbox_test : public beast::unit_test::suite
testcase ("subtractCredits");
using namespace jtx;
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
Account const gw1 ("gw1");
Account const gw2 ("gw2");
Account const alice ("alice");
@@ -266,7 +266,7 @@ class PaymentSandbox_test : public beast::unit_test::suite
using namespace jtx;
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
Account const gw ("gw");
Account const alice ("alice");
@@ -312,7 +312,7 @@ class PaymentSandbox_test : public beast::unit_test::suite
return env.current ()->fees ().accountReserve (count);
};
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
Account const alice ("alice");
env.fund (reserve(env, 1), alice);
@@ -340,7 +340,7 @@ class PaymentSandbox_test : public beast::unit_test::suite
testcase ("balanceHook");
using namespace jtx;
- Env env (*this, with_features(fs));
+ Env env (*this, with_only_features(fs));
Account const gw ("gw");
auto const USD = gw["USD"];
diff --git a/src/test/rpc/AccountInfo_test.cpp b/src/test/rpc/AccountInfo_test.cpp
index 1dc29004d..c1d83d94c 100644
--- a/src/test/rpc/AccountInfo_test.cpp
+++ b/src/test/rpc/AccountInfo_test.cpp
@@ -59,7 +59,7 @@ public:
void testSignerLists()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice"};
env.fund(XRP(1000), alice);
@@ -165,7 +165,7 @@ public:
void testSignerListsV2()
{
using namespace jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice {"alice"};
env.fund(XRP(1000), alice);
diff --git a/src/test/rpc/AccountSet_test.cpp b/src/test/rpc/AccountSet_test.cpp
index 7ff5426dc..88312b767 100644
--- a/src/test/rpc/AccountSet_test.cpp
+++ b/src/test/rpc/AccountSet_test.cpp
@@ -237,7 +237,7 @@ public:
{
testcase ("Setting transfer rate (without fix1201)");
- doTests (all_features_except(fix1201),
+ doTests (supported_features_except(fix1201),
{
{ 1.0, tesSUCCESS, 1.0 },
{ 1.1, tesSUCCESS, 1.1 },
@@ -250,7 +250,7 @@ public:
{
testcase ("Setting transfer rate (with fix1201)");
- doTests (all_amendments(),
+ doTests (supported_amendments(),
{
{ 1.0, tesSUCCESS, 1.0 },
{ 1.1, tesSUCCESS, 1.1 },
@@ -290,16 +290,16 @@ public:
};
// Test gateway with allowed transfer rates
- runTest (Env{*this, all_features_except(fix1201)}, 1.02);
- runTest (Env{*this, all_features_except(fix1201)}, 1);
- runTest (Env{*this, all_features_except(fix1201)}, 2);
- runTest (Env{*this, all_features_except(fix1201)}, 2.1);
- runTest (Env{*this, all_amendments()}, 1.02);
- runTest (Env{*this, all_amendments()}, 2);
+ runTest (Env{*this, supported_features_except(fix1201)}, 1.02);
+ runTest (Env{*this, supported_features_except(fix1201)}, 1);
+ runTest (Env{*this, supported_features_except(fix1201)}, 2);
+ runTest (Env{*this, supported_features_except(fix1201)}, 2.1);
+ runTest (Env{*this, supported_amendments()}, 1.02);
+ runTest (Env{*this, supported_amendments()}, 2);
// Test gateway when amendment is set after transfer rate
{
- Env env (*this, all_features_except(fix1201));
+ Env env (*this, supported_features_except(fix1201));
Account const alice ("alice");
Account const bob ("bob");
Account const gw ("gateway");
@@ -371,7 +371,7 @@ public:
void testRequireAuthWithDir()
{
using namespace test::jtx;
- Env env(*this, with_features(featureMultiSign));
+ Env env(*this, with_only_features(featureMultiSign));
Account const alice ("alice");
Account const bob ("bob");
diff --git a/src/test/rpc/Feature_test.cpp b/src/test/rpc/Feature_test.cpp
index 7fa2aa12a..61d4939a0 100644
--- a/src/test/rpc/Feature_test.cpp
+++ b/src/test/rpc/Feature_test.cpp
@@ -116,7 +116,7 @@ class Feature_test : public beast::unit_test::suite
using namespace test::jtx;
Env env {*this,
- with_features(featureEscrow, featureCryptoConditions)};
+ with_only_features(featureEscrow, featureCryptoConditions)};
// The amendment table has to be modified
// since that is what feature RPC actually checks
env.app().getAmendmentTable().enable(featureEscrow);
@@ -220,7 +220,7 @@ class Feature_test : public beast::unit_test::suite
using namespace test::jtx;
Env env {*this,
- with_features(featureCryptoConditions)};
+ with_only_features(featureCryptoConditions)};
// The amendment table has to be modified
// since that is what feature RPC actually checks
env.app().getAmendmentTable().enable(featureCryptoConditions);
diff --git a/src/test/rpc/GatewayBalances_test.cpp b/src/test/rpc/GatewayBalances_test.cpp
index 73bfa6db7..500e700d4 100644
--- a/src/test/rpc/GatewayBalances_test.cpp
+++ b/src/test/rpc/GatewayBalances_test.cpp
@@ -34,7 +34,7 @@ public:
{
using namespace std::chrono_literals;
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
// Gateway account and assets
Account const alice {"alice"};
diff --git a/src/test/rpc/JSONRPC_test.cpp b/src/test/rpc/JSONRPC_test.cpp
index 8056ef9f3..807a38fcf 100644
--- a/src/test/rpc/JSONRPC_test.cpp
+++ b/src/test/rpc/JSONRPC_test.cpp
@@ -2254,7 +2254,8 @@ public:
// "b" (not in the ledger) is rDg53Haik2475DJx8bjMDSDPj4VX7htaMd.
// "c" (phantom signer) is rPcNzota6B8YBokhYtcTNqQVCngtbnWfux.
- test::jtx::Env env(*this, test::jtx::with_features(featureMultiSign));
+ test::jtx::Env env(*this,
+ test::jtx::with_only_features(featureMultiSign));
env.fund(test::jtx::XRP(100000), a, ed, g);
env.close();
diff --git a/src/test/rpc/LedgerData_test.cpp b/src/test/rpc/LedgerData_test.cpp
index dbede8d2e..2191a642a 100644
--- a/src/test/rpc/LedgerData_test.cpp
+++ b/src/test/rpc/LedgerData_test.cpp
@@ -268,7 +268,7 @@ public:
using namespace test::jtx;
using namespace std::chrono;
Env env { *this, envconfig(validator, ""),
- with_features(featureMultiSign, featureTickets,
+ with_only_features(featureMultiSign, featureTickets,
featureEscrow, featurePayChan) };
Account const gw { "gateway" };
auto const USD = gw["USD"];
diff --git a/src/test/rpc/NoRipple_test.cpp b/src/test/rpc/NoRipple_test.cpp
index cbd7067e1..02bdc1a61 100644
--- a/src/test/rpc/NoRipple_test.cpp
+++ b/src/test/rpc/NoRipple_test.cpp
@@ -72,7 +72,7 @@ public:
testcase("Set noripple on a line with negative balance");
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto const gw = Account("gateway");
auto const alice = Account("alice");
@@ -118,7 +118,7 @@ public:
testcase("pairwise NoRipple");
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto const alice = Account("alice");
auto const bob = Account("bob");
@@ -155,7 +155,7 @@ public:
testcase("Set default ripple on an account and check new trustlines");
using namespace jtx;
- Env env(*this, with_features(fs));
+ Env env(*this, with_only_features(fs));
auto const gw = Account("gateway");
auto const alice = Account("alice");