Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
e5b21f0
Merge pull request #692 from Xahau/sync-2.4.0-rebased
RichardAH Feb 24, 2026
65837f4
fix: Add AMMv1_3 amendment (#5203)
gregtatcam Jun 2, 2025
ec65e62
Merge fixAMMv1_3 amendment into featureAMM amendment
tequdev Feb 19, 2026
8673599
fixAMMClawbackRounding: adjust last holder's LPToken balance (#5513)
yinyiqian1 Jul 11, 2025
8cfee6c
Merge fixAMMClawbackRounding amendment into featureAMMClawback amendment
tequdev Feb 19, 2026
78173fd
retire fixXahauV1, fixXahauV2 Amendments
tequdev Mar 17, 2026
f96d9b6
Add tests for Hooks fee
tequdev Jan 20, 2026
1ba444a
Updated tests to align with the changes merged into the dev branch.
tequdev Feb 17, 2026
9bfca63
Update util_keylet fee test
tequdev Feb 24, 2026
2d29518
fix: typo `SignersListSet`
tequdev Mar 5, 2026
8c4c158
output ccache configuration in release-builder
tequdev Nov 27, 2025
f90ed41
enable ccache direct_mode
tequdev Nov 27, 2025
25123b3
chore: replace levelization shell script with python
sublimator Mar 13, 2026
4150f03
chore: use improved levelization script with threading and argparse
sublimator Mar 13, 2026
7f6ac75
Revert "chore: use improved levelization script with threading and ar…
sublimator Mar 13, 2026
66f7294
Test: hint build_test_hooks.sh when hook wasm is empty in hso()
tequdev Apr 1, 2026
05a3e04
Fix BEAST_ENHANCED_LOGGING not working and restore original behavior
tequdev Mar 6, 2026
cd00ed7
change build instructions url
alloynetworks Mar 13, 2026
b384f53
Merge branch 'dev' into retire-fixXahauV1V2
tequdev Apr 24, 2026
997bc0d
Merge branch 'dev' into retire-fixXahauV1V2
tequdev Apr 29, 2026
b0f76b7
Merge branch 'dev' into retire-fixXahauV1V2
tequdev Apr 29, 2026
108473a
Merge branch 'dev' into retire-fixXahauV1V2
tequdev Apr 30, 2026
eca1ed0
Merge branch 'dev' into retire-fixXahauV1V2
tequdev May 21, 2026
95a9e2f
Merge branch 'dev' into retire-fixXahauV1V2
RichardAH May 25, 2026
dd1d4a6
Merge branch 'dev' into retire-fixXahauV1V2
tequdev Jun 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions cfg/xahaud-standalone.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,6 @@ D686F2538F410C9D0D856788E98E3579595DAF7B38D38887F81ECAC934B06040 HooksUpdate1
3C43D9A973AA4443EF3FC38E42DD306160FBFFDAB901CD8BAA15D09F2597EB87 NonFungibleTokensV1
0285B7E5E08E1A8E4C15636F0591D87F73CB6A7B6452A932AD72BBC8E5D1CBE3 fixNFTokenDirV1
36799EA497B1369B170805C078AEFE6188345F9B3E324C21E9CA3FF574E3C3D6 fixNFTokenNegOffer
4C499D17719BB365B69010A436B64FD1A82AAB199FC1CEB06962EBD01059FB09 fixXahauV1
215181D23BF5C173314B5FDB9C872C92DE6CC918483727DE037C0C13E7E6EE9D fixXahauV2
0D8BF22FF7570D58598D1EF19EBB6E142AD46E59A223FD3816262FBB69345BEA Remit
7CA0426E7F411D39BB014E57CD9E08F61DE1750F0D41FCD428D9FB80BB7596B0 ZeroB2M
4B8466415FAB32FFA89D9DCBE166A42340115771DF611A7160F8D7439C87ECD8 fixNSDelete
Expand Down
4 changes: 2 additions & 2 deletions include/xrpl/protocol/detail/features.macro
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,6 @@ XRPL_FIX (240819, Supported::yes, VoteBehavior::DefaultYe
XRPL_FIX (NSDelete, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FEATURE(ZeroB2M, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FEATURE(Remit, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FIX (XahauV2, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FIX (XahauV1, Supported::yes, VoteBehavior::DefaultNo)
XRPL_FEATURE(HooksUpdate1, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(XahauGenesis, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(Import, Supported::yes, VoteBehavior::DefaultYes)
Expand Down Expand Up @@ -159,6 +157,8 @@ XRPL_FEATURE(CryptoConditionsSuite, Supported::yes, VoteBehavior::Obsolete)
// pre-amendment code has been removed and the identifiers are deprecated.
// All known amendments and amendments that may appear in a validated
// ledger must be registered either here or above with the "active" amendments
XRPL_RETIRE(fixXahauV2)
XRPL_RETIRE(fixXahauV1)
XRPL_RETIRE(MultiSign)
XRPL_RETIRE(TrustSetAuth)
XRPL_RETIRE(FeeEscalation)
Expand Down
111 changes: 28 additions & 83 deletions src/test/app/BaseFee_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = fset(account, asfTshCollect);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -112,9 +110,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = acctdelete(account, bene);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "200000" : "200000";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "200000");
}

static uint256
Expand Down Expand Up @@ -142,9 +138,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = check::cancel(account, checkId);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -167,9 +161,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = check::cash(dest, checkId, XRP(100));

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -191,9 +183,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = check::create(account, dest, XRP(100));

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -214,9 +204,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = reward::claim(account);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -238,9 +226,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = deposit::auth(account, authed);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -262,9 +248,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = cancel(account, account, seq1);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -286,8 +270,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = escrow(account, dest, XRP(10));

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
std::string const feeResult = "16";
testRPCCall(env, tx, feeResult);
}

Expand All @@ -310,9 +293,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = finish(account, account, seq1);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -334,9 +315,7 @@ class BaseFee_test : public beast::unit_test::suite
account, import::loadXpop(ImportTCAccountSet::w_seed));

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "106" : "100";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "106");
}

void
Expand All @@ -357,9 +336,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = invoke::invoke(account);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "16";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -381,9 +358,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = offer_cancel(account, offerSeq);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -406,9 +381,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = offer(account, USD(1000), XRP(1000));

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -430,9 +403,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = pay(account, dest, XRP(1));

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

static uint256
Expand Down Expand Up @@ -468,9 +439,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = paychan::claim(account, chan, reqBal, authAmt);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -494,9 +463,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = paychan::create(account, dest, XRP(10), settleDelay, pk);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -519,9 +486,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = paychan::fund(account, chan, XRP(1));

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand Down Expand Up @@ -552,9 +517,7 @@ class BaseFee_test : public beast::unit_test::suite
hookParams[jss::HookParameter][jss::HookParameterValue] = "DEADBEEF";

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "73022" : "73016";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "73022");
}

void
Expand All @@ -576,9 +539,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = regkey(account, dest);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "0" : "0";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "0");
}

void
Expand All @@ -601,9 +562,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = signers(account, 2, {{signer1, 1}, {signer2, 1}});

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -624,9 +583,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = ticket::create(account, 2);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -649,9 +606,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = trust(account, USD(1000));

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -675,9 +630,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = uritoken::burn(issuer, hexid);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -702,9 +655,7 @@ class BaseFee_test : public beast::unit_test::suite
tx[jss::Amount] = "1000000";

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -728,9 +679,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = uritoken::cancel(issuer, hexid);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand All @@ -757,8 +706,7 @@ class BaseFee_test : public beast::unit_test::suite
tx[jss::Amount] = "1000000";

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
std::string const feeResult = "16";
testRPCCall(env, tx, feeResult);
}

Expand All @@ -781,9 +729,7 @@ class BaseFee_test : public beast::unit_test::suite
auto tx = uritoken::mint(account, uri);

// verify hooks fee
std::string const feeResult =
env.current()->rules().enabled(fixXahauV1) ? "16" : "10";
testRPCCall(env, tx, feeResult);
testRPCCall(env, tx, "16");
}

void
Expand Down Expand Up @@ -827,7 +773,6 @@ class BaseFee_test : public beast::unit_test::suite
using namespace test::jtx;
auto const sa = supported_amendments();
testWithFeats(sa);
testWithFeats(sa - fixXahauV1);
}
};

Expand Down
Loading
Loading