refactor: Retire fixQualityUpperBound amendment (#5960)

Amendments activated for more than 2 years can be retired. This change retires the fixQualityUpperBound amendment.
This commit is contained in:
Pratik Mankawde
2025-10-30 18:47:47 +00:00
committed by GitHub
parent b0910e359e
commit b39d7a6519
2 changed files with 5 additions and 21 deletions

View File

@@ -97,7 +97,6 @@ XRPL_FEATURE(NegativeUNL, Supported::yes, VoteBehavior::DefaultYe
XRPL_FIX (AmendmentMajorityCalc, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(HardenedValidations, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(RequireFullyCanonicalSig, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FIX (QualityUpperBound, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(DeletableAccounts, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FIX (PayChanRecipientOwnerDir, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FIX (MasterKeyAsRegularKey, Supported::yes, VoteBehavior::DefaultYes)
@@ -125,8 +124,10 @@ XRPL_FEATURE(CryptoConditionsSuite, Supported::yes, VoteBehavior::Obsolete)
// The following amendments have been active for at least two years. Their
// 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
// All known amendments and amendments that may appear in a validated ledger
// must be registered either here or above with the "active" amendments
//
// Please keep this list sorted alphabetically for convenience.
XRPL_RETIRE(fix1201)
XRPL_RETIRE(fix1368)
XRPL_RETIRE(fix1373)
@@ -141,6 +142,7 @@ XRPL_RETIRE(fix1578)
XRPL_RETIRE(fix1623)
XRPL_RETIRE(fix1781)
XRPL_RETIRE(fixCheckThreading)
XRPL_RETIRE(fixQualityUpperBound)
XRPL_RETIRE(fixRmSmallIncreasedQOffers)
XRPL_RETIRE(fixSTAmountCanonicalize)
XRPL_RETIRE(fixTakerDryOfferRemoval)

View File

@@ -844,24 +844,6 @@ DirectStepI<TDerived>::qualityUpperBound(
{
auto const dir = this->debtDirection(v, StrandDirection::forward);
if (!v.rules().enabled(fixQualityUpperBound))
{
std::uint32_t const srcQOut = [&]() -> std::uint32_t {
if (redeems(prevStepDir) && issues(dir))
return transferRate(v, src_).value;
return QUALITY_ONE;
}();
auto dstQIn = static_cast<TDerived const*>(this)->quality(
v, QualityDirection::in);
if (isLast_ && dstQIn > QUALITY_ONE)
dstQIn = QUALITY_ONE;
Issue const iss{currency_, src_};
return {
Quality(getRate(STAmount(iss, srcQOut), STAmount(iss, dstQIn))),
dir};
}
auto const [srcQOut, dstQIn] = redeems(dir)
? qualitiesSrcRedeems(v)
: qualitiesSrcIssues(v, prevStepDir);