mirror of
https://github.com/XRPLF/rippled.git
synced 2025-12-06 17:27:55 +00:00
Mark featureSingleAssetVault as Supported::no
This commit is contained in:
@@ -32,7 +32,7 @@
|
|||||||
// If you add an amendment here, then do not forget to increment `numFeatures`
|
// If you add an amendment here, then do not forget to increment `numFeatures`
|
||||||
// in include/xrpl/protocol/Feature.h.
|
// 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
|
// Check flags in Credential transactions
|
||||||
XRPL_FIX (InvalidTxFlags, Supported::yes, VoteBehavior::DefaultNo)
|
XRPL_FIX (InvalidTxFlags, Supported::yes, VoteBehavior::DefaultNo)
|
||||||
XRPL_FIX (FrozenLPTokenTransfer, Supported::yes, VoteBehavior::DefaultNo)
|
XRPL_FIX (FrozenLPTokenTransfer, Supported::yes, VoteBehavior::DefaultNo)
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
#include <test/jtx.h>
|
#include <test/jtx.h>
|
||||||
#include <test/jtx/AMM.h>
|
#include <test/jtx/AMM.h>
|
||||||
#include <test/jtx/AMMTest.h>
|
#include <test/jtx/AMMTest.h>
|
||||||
|
#include <test/jtx/Env.h>
|
||||||
#include <test/jtx/amount.h>
|
#include <test/jtx/amount.h>
|
||||||
#include <test/jtx/sendmax.h>
|
#include <test/jtx/sendmax.h>
|
||||||
|
|
||||||
@@ -30,6 +31,7 @@
|
|||||||
#include <xrpl/basics/Number.h>
|
#include <xrpl/basics/Number.h>
|
||||||
#include <xrpl/protocol/AMMCore.h>
|
#include <xrpl/protocol/AMMCore.h>
|
||||||
#include <xrpl/protocol/Feature.h>
|
#include <xrpl/protocol/Feature.h>
|
||||||
|
#include <xrpl/protocol/TER.h>
|
||||||
|
|
||||||
#include <boost/regex.hpp>
|
#include <boost/regex.hpp>
|
||||||
|
|
||||||
@@ -7146,31 +7148,44 @@ private:
|
|||||||
void
|
void
|
||||||
testFailedPseudoAccount()
|
testFailedPseudoAccount()
|
||||||
{
|
{
|
||||||
testcase("Failed pseudo-account allocation");
|
|
||||||
using namespace test::jtx;
|
using namespace test::jtx;
|
||||||
|
|
||||||
Env env{*this};
|
auto const testCase = [&](std::string suffix, FeatureBitset features) {
|
||||||
env.fund(XRP(30'000), gw, alice);
|
testcase("Failed pseudo-account allocation " + suffix);
|
||||||
env.close();
|
Env env{*this, features};
|
||||||
env(trust(alice, gw["USD"](30'000), 0));
|
env.fund(XRP(30'000), gw, alice);
|
||||||
env(pay(gw, alice, USD(10'000)));
|
env.close();
|
||||||
env.close();
|
env(trust(alice, gw["USD"](30'000), 0));
|
||||||
|
env(pay(gw, alice, USD(10'000)));
|
||||||
|
env.close();
|
||||||
|
|
||||||
STAmount amount = XRP(10'000);
|
STAmount amount = XRP(10'000);
|
||||||
STAmount amount2 = USD(10'000);
|
STAmount amount2 = USD(10'000);
|
||||||
auto const keylet = keylet::amm(amount.issue(), amount2.issue());
|
auto const keylet = keylet::amm(amount.issue(), amount2.issue());
|
||||||
for (int i = 0; i < 256; ++i)
|
for (int i = 0; i < 256; ++i)
|
||||||
{
|
{
|
||||||
AccountID const accountId =
|
AccountID const accountId =
|
||||||
ripple::pseudoAccountAddress(*env.current(), keylet.key);
|
ripple::pseudoAccountAddress(*env.current(), keylet.key);
|
||||||
|
|
||||||
env(pay(env.master.id(), accountId, XRP(1000)),
|
env(pay(env.master.id(), accountId, XRP(1000)),
|
||||||
seq(autofill),
|
seq(autofill),
|
||||||
fee(autofill),
|
fee(autofill),
|
||||||
sig(autofill));
|
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
|
void
|
||||||
|
|||||||
@@ -421,7 +421,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
Account const& owner,
|
Account const& owner,
|
||||||
Account const& depositor,
|
Account const& depositor,
|
||||||
Account const& charlie)> setup) {
|
Account const& charlie)> setup) {
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account issuer{"issuer"};
|
Account issuer{"issuer"};
|
||||||
Account owner{"owner"};
|
Account owner{"owner"};
|
||||||
Account depositor{"depositor"};
|
Account depositor{"depositor"};
|
||||||
@@ -502,7 +502,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
Account const& depositor,
|
Account const& depositor,
|
||||||
Asset const& asset,
|
Asset const& asset,
|
||||||
Vault& vault)> test) {
|
Vault& vault)> test) {
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account issuer{"issuer"};
|
Account issuer{"issuer"};
|
||||||
Account owner{"owner"};
|
Account owner{"owner"};
|
||||||
Account depositor{"depositor"};
|
Account depositor{"depositor"};
|
||||||
@@ -724,7 +724,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
testCreateFailIOU()
|
testCreateFailIOU()
|
||||||
{
|
{
|
||||||
using namespace test::jtx;
|
using namespace test::jtx;
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account issuer{"issuer"};
|
Account issuer{"issuer"};
|
||||||
Account owner{"owner"};
|
Account owner{"owner"};
|
||||||
Account depositor{"depositor"};
|
Account depositor{"depositor"};
|
||||||
@@ -745,7 +745,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
testCreateFailMPT()
|
testCreateFailMPT()
|
||||||
{
|
{
|
||||||
using namespace test::jtx;
|
using namespace test::jtx;
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account issuer{"issuer"};
|
Account issuer{"issuer"};
|
||||||
Account owner{"owner"};
|
Account owner{"owner"};
|
||||||
Account depositor{"depositor"};
|
Account depositor{"depositor"};
|
||||||
@@ -766,7 +766,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
testNonTransferableShares()
|
testNonTransferableShares()
|
||||||
{
|
{
|
||||||
using namespace test::jtx;
|
using namespace test::jtx;
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account issuer{"issuer"};
|
Account issuer{"issuer"};
|
||||||
Account owner{"owner"};
|
Account owner{"owner"};
|
||||||
Account depositor{"depositor"};
|
Account depositor{"depositor"};
|
||||||
@@ -885,7 +885,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
Asset const& asset,
|
Asset const& asset,
|
||||||
Vault& vault,
|
Vault& vault,
|
||||||
MPTTester& mptt)> test) {
|
MPTTester& mptt)> test) {
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account issuer{"issuer"};
|
Account issuer{"issuer"};
|
||||||
Account owner{"owner"};
|
Account owner{"owner"};
|
||||||
Account depositor{"depositor"};
|
Account depositor{"depositor"};
|
||||||
@@ -1033,7 +1033,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
{
|
{
|
||||||
testcase("private vault");
|
testcase("private vault");
|
||||||
|
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account issuer{"issuer"};
|
Account issuer{"issuer"};
|
||||||
Account owner{"owner"};
|
Account owner{"owner"};
|
||||||
Account depositor{"depositor"};
|
Account depositor{"depositor"};
|
||||||
@@ -1212,7 +1212,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
testWithIOU()
|
testWithIOU()
|
||||||
{
|
{
|
||||||
testcase("IOU");
|
testcase("IOU");
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account const owner{"owner"};
|
Account const owner{"owner"};
|
||||||
Account const issuer{"issuer"};
|
Account const issuer{"issuer"};
|
||||||
Account const charlie{"charlie"};
|
Account const charlie{"charlie"};
|
||||||
@@ -1315,7 +1315,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
using namespace test::jtx;
|
using namespace test::jtx;
|
||||||
|
|
||||||
testcase("failed pseudo-account allocation");
|
testcase("failed pseudo-account allocation");
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account const owner{"owner"};
|
Account const owner{"owner"};
|
||||||
Vault vault{env};
|
Vault vault{env};
|
||||||
env.fund(XRP(1000), owner);
|
env.fund(XRP(1000), owner);
|
||||||
@@ -1342,7 +1342,7 @@ class Vault_test : public beast::unit_test::suite
|
|||||||
testRPC()
|
testRPC()
|
||||||
{
|
{
|
||||||
testcase("RPC");
|
testcase("RPC");
|
||||||
Env env{*this};
|
Env env{*this, supported_amendments() | featureSingleAssetVault};
|
||||||
Account const owner{"owner"};
|
Account const owner{"owner"};
|
||||||
Account const issuer{"issuer"};
|
Account const issuer{"issuer"};
|
||||||
Vault vault{env};
|
Vault vault{env};
|
||||||
|
|||||||
@@ -78,8 +78,8 @@ class Invariants_test : public beast::unit_test::suite
|
|||||||
Preclose const& preclose = {})
|
Preclose const& preclose = {})
|
||||||
{
|
{
|
||||||
using namespace test::jtx;
|
using namespace test::jtx;
|
||||||
FeatureBitset amendments =
|
FeatureBitset amendments = supported_amendments() |
|
||||||
supported_amendments() | featureInvariantsV1_1;
|
featureInvariantsV1_1 | featureSingleAssetVault;
|
||||||
Env env{*this, amendments};
|
Env env{*this, amendments};
|
||||||
|
|
||||||
Account const A1{"A1"};
|
Account const A1{"A1"};
|
||||||
|
|||||||
Reference in New Issue
Block a user