Mark featureSingleAssetVault as Supported::no

This commit is contained in:
Bronek Kozicki
2025-04-03 14:13:21 +01:00
parent af8ea3fb40
commit 591437b914
4 changed files with 48 additions and 33 deletions

View File

@@ -32,7 +32,7 @@
// If you add an amendment here, then do not forget to increment `numFeatures`
// in include/xrpl/protocol/Feature.h.
XRPL_FEATURE(SingleAssetVault, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FEATURE(SingleAssetVault, Supported::no, VoteBehavior::DefaultNo)
// Check flags in Credential transactions
XRPL_FIX (InvalidTxFlags, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FIX (FrozenLPTokenTransfer, Supported::yes, VoteBehavior::DefaultNo)

View File

@@ -20,6 +20,7 @@
#include <test/jtx.h>
#include <test/jtx/AMM.h>
#include <test/jtx/AMMTest.h>
#include <test/jtx/Env.h>
#include <test/jtx/amount.h>
#include <test/jtx/sendmax.h>
@@ -30,6 +31,7 @@
#include <xrpl/basics/Number.h>
#include <xrpl/protocol/AMMCore.h>
#include <xrpl/protocol/Feature.h>
#include <xrpl/protocol/TER.h>
#include <boost/regex.hpp>
@@ -7146,10 +7148,11 @@ private:
void
testFailedPseudoAccount()
{
testcase("Failed pseudo-account allocation");
using namespace test::jtx;
Env env{*this};
auto const testCase = [&](std::string suffix, FeatureBitset features) {
testcase("Failed pseudo-account allocation " + suffix);
Env env{*this, features};
env.fund(XRP(30'000), gw, alice);
env.close();
env(trust(alice, gw["USD"](30'000), 0));
@@ -7170,7 +7173,19 @@ private:
sig(autofill));
}
AMM ammAlice(env, alice, amount, amount2, ter(terADDRESS_COLLISION));
AMM ammAlice(
env,
alice,
amount,
amount2,
features[featureSingleAssetVault] ? ter{terADDRESS_COLLISION}
: ter{tecDUPLICATE});
};
testCase("tecDUPLICATE", supported_amendments());
testCase(
"terADDRESS_COLLISION",
supported_amendments() | featureSingleAssetVault);
}
void

View File

@@ -421,7 +421,7 @@ class Vault_test : public beast::unit_test::suite
Account const& owner,
Account const& depositor,
Account const& charlie)> setup) {
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account issuer{"issuer"};
Account owner{"owner"};
Account depositor{"depositor"};
@@ -502,7 +502,7 @@ class Vault_test : public beast::unit_test::suite
Account const& depositor,
Asset const& asset,
Vault& vault)> test) {
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account issuer{"issuer"};
Account owner{"owner"};
Account depositor{"depositor"};
@@ -724,7 +724,7 @@ class Vault_test : public beast::unit_test::suite
testCreateFailIOU()
{
using namespace test::jtx;
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account issuer{"issuer"};
Account owner{"owner"};
Account depositor{"depositor"};
@@ -745,7 +745,7 @@ class Vault_test : public beast::unit_test::suite
testCreateFailMPT()
{
using namespace test::jtx;
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account issuer{"issuer"};
Account owner{"owner"};
Account depositor{"depositor"};
@@ -766,7 +766,7 @@ class Vault_test : public beast::unit_test::suite
testNonTransferableShares()
{
using namespace test::jtx;
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account issuer{"issuer"};
Account owner{"owner"};
Account depositor{"depositor"};
@@ -885,7 +885,7 @@ class Vault_test : public beast::unit_test::suite
Asset const& asset,
Vault& vault,
MPTTester& mptt)> test) {
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account issuer{"issuer"};
Account owner{"owner"};
Account depositor{"depositor"};
@@ -1033,7 +1033,7 @@ class Vault_test : public beast::unit_test::suite
{
testcase("private vault");
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account issuer{"issuer"};
Account owner{"owner"};
Account depositor{"depositor"};
@@ -1212,7 +1212,7 @@ class Vault_test : public beast::unit_test::suite
testWithIOU()
{
testcase("IOU");
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account const owner{"owner"};
Account const issuer{"issuer"};
Account const charlie{"charlie"};
@@ -1315,7 +1315,7 @@ class Vault_test : public beast::unit_test::suite
using namespace test::jtx;
testcase("failed pseudo-account allocation");
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account const owner{"owner"};
Vault vault{env};
env.fund(XRP(1000), owner);
@@ -1342,7 +1342,7 @@ class Vault_test : public beast::unit_test::suite
testRPC()
{
testcase("RPC");
Env env{*this};
Env env{*this, supported_amendments() | featureSingleAssetVault};
Account const owner{"owner"};
Account const issuer{"issuer"};
Vault vault{env};

View File

@@ -78,8 +78,8 @@ class Invariants_test : public beast::unit_test::suite
Preclose const& preclose = {})
{
using namespace test::jtx;
FeatureBitset amendments =
supported_amendments() | featureInvariantsV1_1;
FeatureBitset amendments = supported_amendments() |
featureInvariantsV1_1 | featureSingleAssetVault;
Env env{*this, amendments};
Account const A1{"A1"};