mirror of
https://github.com/Xahau/xahaud.git
synced 2026-06-07 18:56:36 +00:00
Fix differences such as LedgerHash that occurred due to NetworkID in ltFeeSettings
This commit is contained in:
@@ -1478,7 +1478,6 @@ private:
|
||||
auto const AUD = gw["AUD"];
|
||||
env.fund(XRP(10'000), alice, bob, carol, gw);
|
||||
env(rate(gw, 1.1));
|
||||
env.close();
|
||||
env.trust(AUD(2'000), bob, carol);
|
||||
env(pay(gw, carol, AUD(51)));
|
||||
env.close();
|
||||
@@ -1888,7 +1887,7 @@ private:
|
||||
|
||||
{
|
||||
// simple IOU/IOU offer
|
||||
Env env(*this, features);
|
||||
Env env(*this, features - featureXahauGenesis - featureTouch);
|
||||
|
||||
fund(
|
||||
env,
|
||||
@@ -1899,7 +1898,6 @@ private:
|
||||
Fund::All);
|
||||
|
||||
AMM ammBob(env, bob, BTC(100), USD(150));
|
||||
env.close();
|
||||
|
||||
env(pay(alice, carol, USD(50)), path(~USD), sendmax(BTC(50)));
|
||||
|
||||
@@ -1987,11 +1985,10 @@ private:
|
||||
}
|
||||
{
|
||||
// test unfunded offers are removed when payment succeeds
|
||||
Env env(*this, features);
|
||||
Env env(*this, features - featureXahauGenesis - featureTouch);
|
||||
|
||||
env.fund(XRP(10'000), alice, carol, gw);
|
||||
env.fund(XRP(10'000), bob);
|
||||
env.close();
|
||||
env.trust(USD(1'000), alice, bob, carol);
|
||||
env.trust(BTC(1'000), alice, bob, carol);
|
||||
env.trust(EUR(1'000), alice, bob, carol);
|
||||
@@ -2374,7 +2371,7 @@ private:
|
||||
|
||||
{
|
||||
// payment via AMM
|
||||
Env env(*this, features);
|
||||
Env env(*this, features - featureXahauGenesis - featureTouch);
|
||||
|
||||
fund(
|
||||
env,
|
||||
@@ -2400,7 +2397,6 @@ private:
|
||||
GBP(1'120),
|
||||
STAmount{USD, UINT64_C(892'8571428571429), -13},
|
||||
amm.tokens()));
|
||||
|
||||
// 25% of 85.7142USD is paid in tr fee
|
||||
// 85.7142*1.25 = 107.1428USD
|
||||
BEAST_EXPECT(expectLine(
|
||||
@@ -3208,7 +3204,7 @@ private:
|
||||
testcase("RippleState Freeze");
|
||||
|
||||
using namespace test::jtx;
|
||||
Env env(*this, features);
|
||||
Env env(*this, features - featureXahauGenesis - featureTouch);
|
||||
|
||||
Account const G1{"G1"};
|
||||
Account const alice{"alice"};
|
||||
@@ -3262,8 +3258,7 @@ private:
|
||||
env(trust(G1, bob["USD"](0), tfSetFreeze));
|
||||
auto affected = env.meta()->getJson(
|
||||
JsonOptions::none)[sfAffectedNodes.fieldName];
|
||||
if (!BEAST_EXPECT(checkArraySize(
|
||||
affected, 2u + 1u))) // 2u + 1u(Issuer Account as Touch)
|
||||
if (!BEAST_EXPECT(checkArraySize(affected, 2u)))
|
||||
return;
|
||||
auto ff =
|
||||
affected[1u][sfModifiedNode.fieldName][sfFinalFields.fieldName];
|
||||
@@ -3281,11 +3276,10 @@ private:
|
||||
env(offer(bob, G1["USD"](5), XRP(25)));
|
||||
auto affected = env.meta()->getJson(
|
||||
JsonOptions::none)[sfAffectedNodes.fieldName];
|
||||
if (!BEAST_EXPECT(checkArraySize(
|
||||
affected, 4u + 1u))) // 4u + 1u(Issuer Account as Touch)
|
||||
if (!BEAST_EXPECT(checkArraySize(affected, 4u)))
|
||||
return;
|
||||
auto ff =
|
||||
affected[3u][sfModifiedNode.fieldName][sfFinalFields.fieldName];
|
||||
affected[1u][sfModifiedNode.fieldName][sfFinalFields.fieldName];
|
||||
BEAST_EXPECT(
|
||||
ff[sfHighLimit.fieldName] ==
|
||||
bob["USD"](100).value().getJson(JsonOptions::none));
|
||||
@@ -3352,8 +3346,7 @@ private:
|
||||
env(trust(G1, bob["USD"](0), tfClearFreeze));
|
||||
auto affected = env.meta()->getJson(
|
||||
JsonOptions::none)[sfAffectedNodes.fieldName];
|
||||
if (!BEAST_EXPECT(checkArraySize(
|
||||
affected, 2u + 1u))) // 2u + 1u(Issuer Account as Touch)
|
||||
if (!BEAST_EXPECT(checkArraySize(affected, 2u)))
|
||||
return;
|
||||
auto ff =
|
||||
affected[1u][sfModifiedNode.fieldName][sfFinalFields.fieldName];
|
||||
@@ -3510,7 +3503,7 @@ private:
|
||||
testcase("Offers for Frozen Trust Lines");
|
||||
|
||||
using namespace test::jtx;
|
||||
Env env(*this, features);
|
||||
Env env(*this, features - featureXahauGenesis - featureTouch);
|
||||
|
||||
Account G1{"G1"};
|
||||
Account A2{"A2"};
|
||||
@@ -3555,11 +3548,10 @@ private:
|
||||
BEAST_EXPECT(info[jss::amm][jss::asset2_frozen].asBool());
|
||||
auto affected =
|
||||
env.meta()->getJson(JsonOptions::none)[sfAffectedNodes.fieldName];
|
||||
if (!BEAST_EXPECT(checkArraySize(
|
||||
affected, 2u + 1u))) // 2u + 1u(Issuer Account as Touch)
|
||||
if (!BEAST_EXPECT(checkArraySize(affected, 2u)))
|
||||
return;
|
||||
auto ff =
|
||||
affected[0u][sfModifiedNode.fieldName][sfFinalFields.fieldName];
|
||||
affected[1u][sfModifiedNode.fieldName][sfFinalFields.fieldName];
|
||||
BEAST_EXPECT(
|
||||
ff[sfHighLimit.fieldName] ==
|
||||
G1["USD"](0).value().getJson(JsonOptions::none));
|
||||
@@ -3579,10 +3571,9 @@ private:
|
||||
env(trust(G1, A4["USD"](0), tfSetFreeze));
|
||||
affected =
|
||||
env.meta()->getJson(JsonOptions::none)[sfAffectedNodes.fieldName];
|
||||
if (!BEAST_EXPECT(checkArraySize(
|
||||
affected, 2u + 1u))) // 2u + 1u(Issuer Account as Touch)
|
||||
if (!BEAST_EXPECT(checkArraySize(affected, 2u)))
|
||||
return;
|
||||
ff = affected[1u][sfModifiedNode.fieldName][sfFinalFields.fieldName];
|
||||
ff = affected[0u][sfModifiedNode.fieldName][sfFinalFields.fieldName];
|
||||
BEAST_EXPECT(
|
||||
ff[sfLowLimit.fieldName] ==
|
||||
G1["USD"](0).value().getJson(JsonOptions::none));
|
||||
@@ -3596,7 +3587,7 @@ private:
|
||||
env.meta()->getJson(JsonOptions::none)[sfAffectedNodes.fieldName];
|
||||
if (!BEAST_EXPECT(checkArraySize(affected, 8u)))
|
||||
return;
|
||||
auto created = affected[5u][sfCreatedNode.fieldName];
|
||||
auto created = affected[0u][sfCreatedNode.fieldName];
|
||||
BEAST_EXPECT(
|
||||
created[sfNewFields.fieldName][jss::Account] == A2.human());
|
||||
env.close();
|
||||
@@ -3778,10 +3769,9 @@ private:
|
||||
auto const CNY = gw["CNY"];
|
||||
|
||||
{
|
||||
Env env(*this, features);
|
||||
Env env(*this, features - featureXahauGenesis - featureTouch);
|
||||
|
||||
env.fund(XRP(10'000), alice, bob, carol, gw);
|
||||
env.close();
|
||||
env.trust(USD(10'000), alice, bob, carol);
|
||||
|
||||
env(pay(gw, bob, USD(100)));
|
||||
|
||||
@@ -167,12 +167,15 @@ AMMTest::pathTestEnv()
|
||||
// These tests were originally written with search parameters that are
|
||||
// different from the current defaults. This function creates an env
|
||||
// with the search parameters that the tests were written for.
|
||||
return Env(*this, envconfig([](std::unique_ptr<Config> cfg) {
|
||||
cfg->PATH_SEARCH_OLD = 7;
|
||||
cfg->PATH_SEARCH = 7;
|
||||
cfg->PATH_SEARCH_MAX = 10;
|
||||
return cfg;
|
||||
}));
|
||||
return Env(
|
||||
*this,
|
||||
envconfig([](std::unique_ptr<Config> cfg) {
|
||||
cfg->PATH_SEARCH_OLD = 7;
|
||||
cfg->PATH_SEARCH = 7;
|
||||
cfg->PATH_SEARCH_MAX = 10;
|
||||
return cfg;
|
||||
}),
|
||||
supported_amendments() - featureXahauGenesis - featureTouch);
|
||||
}
|
||||
|
||||
Json::Value
|
||||
|
||||
@@ -115,7 +115,9 @@ class AccountTx_test : public beast::unit_test::suite
|
||||
testcase("Parameters APIv" + std::to_string(apiVersion));
|
||||
using namespace test::jtx;
|
||||
|
||||
Env env(*this, supported_amendments() - featureXahauGenesis);
|
||||
Env env(
|
||||
*this,
|
||||
supported_amendments() - featureXahauGenesis - fixHookAPI20251128);
|
||||
Account A1{"A1"};
|
||||
env.fund(XRP(10000), A1);
|
||||
env.close();
|
||||
@@ -164,8 +166,8 @@ class AccountTx_test : public beast::unit_test::suite
|
||||
(payment[jss::validated] == true) &&
|
||||
(payment[jss::ledger_index] == 3) &&
|
||||
(payment[jss::ledger_hash] ==
|
||||
"6B1FECE09EE027F4D035A1C0DDE3562E527606AF97B57EF3B"
|
||||
"E259617D67C8F37") &&
|
||||
"5476DCD816EA04CBBA57D47BBF1FC58A5217CC93A5ADD79CB"
|
||||
"580A5AFDD727E33") &&
|
||||
(payment[jss::close_time_iso] ==
|
||||
"2000-01-01T00:00:10Z");
|
||||
}
|
||||
|
||||
@@ -315,7 +315,8 @@ public:
|
||||
|
||||
using namespace std::chrono_literals;
|
||||
using namespace jtx;
|
||||
Env env(*this);
|
||||
Env env(
|
||||
*this, supported_amendments() - featureXahauGenesis - featureTouch);
|
||||
auto wsc = makeWSClient(env.app().config());
|
||||
Json::Value stream{Json::objectValue};
|
||||
|
||||
@@ -342,15 +343,15 @@ public:
|
||||
|
||||
// Check stream update for payment transaction
|
||||
BEAST_EXPECT(wsc->findMsg(5s, [&](auto const& jv) {
|
||||
return jv[jss::meta]["AffectedNodes"][2u]["CreatedNode"]
|
||||
return jv[jss::meta]["AffectedNodes"][1u]["CreatedNode"]
|
||||
["NewFields"][jss::Account] //
|
||||
== Account("alice").human() &&
|
||||
jv[jss::close_time_iso] //
|
||||
== "2000-01-01T00:00:10Z" &&
|
||||
jv[jss::validated] == true && //
|
||||
jv[jss::ledger_hash] ==
|
||||
"3BD88B8E93BED46C0B1ACB2C46687DE29F19F9BB82DE6C3D8CC491D6AE"
|
||||
"DEE517" && //
|
||||
"0F1A9E0C109ADEF6DA2BDE19217C12BBEC57174CBDBD212B0EBDC1CEDB"
|
||||
"853185" && //
|
||||
!jv[jss::inLedger] &&
|
||||
jv[jss::ledger_index] == 3 && //
|
||||
jv[jss::tx_json][jss::TransactionType] //
|
||||
|
||||
@@ -150,7 +150,11 @@ class TransactionEntry_test : public beast::unit_test::suite
|
||||
{
|
||||
testcase("Basic request API version " + std::to_string(apiVersion));
|
||||
using namespace test::jtx;
|
||||
Env env{*this, supported_amendments() - featureXahauGenesis};
|
||||
Env env{
|
||||
*this,
|
||||
supported_amendments() - featureXahauGenesis - featureTouch -
|
||||
fixHookAPI20251128,
|
||||
};
|
||||
|
||||
auto check_tx = [this, &env, apiVersion](
|
||||
int index,
|
||||
@@ -279,7 +283,7 @@ class TransactionEntry_test : public beast::unit_test::suite
|
||||
"TransactionType" : "AccountSet",
|
||||
"TxnSignature" : "3044022007B35E3B99460534FF6BC3A66FBBA03591C355CC38E38588968E87CCD01BE229022071A443026DE45041B55ABB1CC76812A87EA701E475BBB7E165513B4B242D3474",
|
||||
})",
|
||||
"5E8D88365131CA2EA3E0ADAFFB4A927D16B3820744D60B1303A6D9398358693D",
|
||||
"ADB727BCC74B29421BB01B847740B179B8A0ED3248D76A89ED2E39B02C427784",
|
||||
"2000-01-01T00:00:10Z");
|
||||
check_tx(
|
||||
env.closed()->seq(),
|
||||
@@ -293,7 +297,7 @@ class TransactionEntry_test : public beast::unit_test::suite
|
||||
"TransactionType" : "AccountSet",
|
||||
"TxnSignature" : "3045022100C8857FC0759A2AC0D2F320684691A66EAD252EAED9EF88C79791BC58BFCC9D860220421722286487DD0ED6BBA626CE6FCBDD14289F7F4726870C3465A4054C2702D7",
|
||||
})",
|
||||
"5E8D88365131CA2EA3E0ADAFFB4A927D16B3820744D60B1303A6D9398358693D",
|
||||
"ADB727BCC74B29421BB01B847740B179B8A0ED3248D76A89ED2E39B02C427784",
|
||||
"2000-01-01T00:00:10Z");
|
||||
|
||||
env.trust(A2["USD"](1000), A1);
|
||||
@@ -328,7 +332,7 @@ class TransactionEntry_test : public beast::unit_test::suite
|
||||
"TransactionType" : "Payment",
|
||||
"TxnSignature" : "3044022033D9EBF7F02950AF2F6B13C07AEE641C8FEBDD540A338FCB9027A965A4AED35B02206E4E227DCC226A3456C0FEF953449D21645A24EB63CA0BB7C5B62470147FD1D1",
|
||||
})",
|
||||
"41DB005149858C9BE599AE98FE1DF5BD4E9E0265B53DD4792532E9296A0773B6",
|
||||
"3A6E375BFDFF029A571AFBB3BC46C4F52963FAF043B406D0E59A7194C1A8F98E",
|
||||
"2000-01-01T00:00:20Z");
|
||||
|
||||
check_tx(
|
||||
@@ -350,7 +354,7 @@ class TransactionEntry_test : public beast::unit_test::suite
|
||||
"TransactionType" : "Payment",
|
||||
"TxnSignature" : "30450221008A722B7F16EDB2348886E88ED4EC682AE9973CC1EE0FF37C93BB2CEC821D3EDF022059E464472031BA5E0D88A93E944B6A8B8DB3E1D5E5D1399A805F615789DB0BED",
|
||||
})",
|
||||
"41DB005149858C9BE599AE98FE1DF5BD4E9E0265B53DD4792532E9296A0773B6",
|
||||
"3A6E375BFDFF029A571AFBB3BC46C4F52963FAF043B406D0E59A7194C1A8F98E",
|
||||
"2000-01-01T00:00:20Z");
|
||||
|
||||
env(offer(A2, XRP(100), A2["USD"](1)));
|
||||
@@ -379,7 +383,7 @@ class TransactionEntry_test : public beast::unit_test::suite
|
||||
"TransactionType" : "OfferCreate",
|
||||
"TxnSignature" : "304502210093FC93ACB77B4E3DE3315441BD010096734859080C1797AB735EB47EBD541BD102205020BB1A7C3B4141279EE4C287C13671E2450EA78914EFD0C6DB2A18344CD4F2",
|
||||
})",
|
||||
"87622B7BC61E8CD01E7C5FC5198CA5A255F8468983CE1E19245FEE3068D97968",
|
||||
"73D6C8E66E0DC22F3E6F7D39BF795A6831BEB412823A986C7CC19470C93557C0",
|
||||
"2000-01-01T00:00:30Z");
|
||||
}
|
||||
|
||||
|
||||
@@ -772,7 +772,7 @@ class Transaction_test : public beast::unit_test::suite
|
||||
using namespace test::jtx;
|
||||
using std::to_string;
|
||||
|
||||
Env env{*this};
|
||||
Env env{*this, features};
|
||||
Account const alice{"alice"};
|
||||
Account const alie{"alie"};
|
||||
Account const gw{"gw"};
|
||||
@@ -821,8 +821,8 @@ class Transaction_test : public beast::unit_test::suite
|
||||
BEAST_EXPECT(result[jss::result][jss::ledger_index] == 4);
|
||||
BEAST_EXPECT(
|
||||
result[jss::result][jss::ledger_hash] ==
|
||||
"34BBC578F3A4EB6FC6C192C38F99EADD512316B32FA60B425764F1F9602DBB"
|
||||
"00");
|
||||
"B41882E20F0EC6228417D28B9AE0F33833645D35F6799DFB782AC97FC4BB51"
|
||||
"D2");
|
||||
}
|
||||
|
||||
for (auto memberIt = expected.begin(); memberIt != expected.end();
|
||||
@@ -846,7 +846,7 @@ class Transaction_test : public beast::unit_test::suite
|
||||
}
|
||||
|
||||
void
|
||||
testBinaryRequest(unsigned apiVersion)
|
||||
testBinaryRequest(FeatureBitset features, unsigned apiVersion)
|
||||
{
|
||||
testcase(
|
||||
"Test binary request API version " + std::to_string(apiVersion));
|
||||
@@ -854,16 +854,17 @@ class Transaction_test : public beast::unit_test::suite
|
||||
using namespace test::jtx;
|
||||
using std::to_string;
|
||||
|
||||
Env env{*this};
|
||||
Env env{*this, features};
|
||||
Account const alice{"alice"};
|
||||
Account const gw{"gw"};
|
||||
auto const USD{gw["USD"]};
|
||||
|
||||
env.fund(XRP(1000000), alice, gw);
|
||||
|
||||
std::shared_ptr<STTx const> const txn = env.tx();
|
||||
BEAST_EXPECT(
|
||||
to_string(txn->getTransactionID()) ==
|
||||
"93334A06F509A0E04E908F2E9BA3BD1A00C7B11A91D5EAF20BEF25CE36FCC358");
|
||||
"3F8BDE5A5F82C4F4708E5E9255B713E303E6E1A371FD5C7A704AFD1387C23981");
|
||||
env.close();
|
||||
std::shared_ptr<STObject const> meta =
|
||||
env.closed()->txRead(txn->getTransactionID()).second;
|
||||
@@ -897,8 +898,8 @@ class Transaction_test : public beast::unit_test::suite
|
||||
result[jss::result][jss::meta_blob] == expected_meta_blob);
|
||||
BEAST_EXPECT(
|
||||
result[jss::result][jss::ledger_hash] ==
|
||||
"6BE57FA882745536BF528B09E0BAD3F31FC7CDA0284DDD0E0B97540550"
|
||||
"FFBECF");
|
||||
"2D5150E5A5AA436736A732291E437ABF01BC9E206C2DF3C77C4F856915"
|
||||
"7905AA");
|
||||
BEAST_EXPECT(
|
||||
result[jss::result][jss::close_time_iso] ==
|
||||
"2000-01-01T00:00:10Z");
|
||||
@@ -918,9 +919,11 @@ public:
|
||||
run() override
|
||||
{
|
||||
using namespace test::jtx;
|
||||
forAllApiVersions(
|
||||
std::bind_front(&Transaction_test::testBinaryRequest, this));
|
||||
|
||||
forAllApiVersions(std::bind_front(
|
||||
&Transaction_test::testBinaryRequest,
|
||||
this,
|
||||
supported_amendments() - featureXahauGenesis - fixHookAPI20251128));
|
||||
return;
|
||||
FeatureBitset const all{supported_amendments()};
|
||||
testWithFeats(all);
|
||||
}
|
||||
@@ -932,8 +935,10 @@ public:
|
||||
testRangeCTIDRequest(features);
|
||||
testCTIDValidation(features);
|
||||
testCTIDRPC(features);
|
||||
forAllApiVersions(
|
||||
std::bind_front(&Transaction_test::testRequest, this, features));
|
||||
forAllApiVersions(std::bind_front(
|
||||
&Transaction_test::testRequest,
|
||||
this,
|
||||
features - featureXahauGenesis - featureTouch));
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user