From 710dd81e8368479fd680e00d7b7edbe41d7cb415 Mon Sep 17 00:00:00 2001 From: JCW Date: Sat, 6 Jun 2026 21:41:24 +0100 Subject: [PATCH] Update the feature flag --- include/xrpl/protocol/detail/features.macro | 1 + src/libxrpl/tx/invariants/LoanBrokerInvariant.cpp | 2 +- .../tx/transactors/lending/LoanBrokerSet.cpp | 15 ++++++++------- src/libxrpl/tx/transactors/lending/LoanSet.cpp | 6 ++++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/include/xrpl/protocol/detail/features.macro b/include/xrpl/protocol/detail/features.macro index c99c1e5ce8..911bfd05f5 100644 --- a/include/xrpl/protocol/detail/features.macro +++ b/include/xrpl/protocol/detail/features.macro @@ -15,6 +15,7 @@ // Add new amendments to the top of this list. // Keep it sorted in reverse chronological order. +XRPL_FEATURE(LendingPermissionedDomain, Supported::No, VoteBehavior::DefaultNo) XRPL_FIX (Cleanup3_2_0, Supported::Yes, VoteBehavior::DefaultNo) XRPL_FEATURE(MPTokensV2, Supported::No, VoteBehavior::DefaultNo) XRPL_FIX (Cleanup3_1_3, Supported::Yes, VoteBehavior::DefaultYes) diff --git a/src/libxrpl/tx/invariants/LoanBrokerInvariant.cpp b/src/libxrpl/tx/invariants/LoanBrokerInvariant.cpp index ab4b3f4d6d..43947e8eb3 100644 --- a/src/libxrpl/tx/invariants/LoanBrokerInvariant.cpp +++ b/src/libxrpl/tx/invariants/LoanBrokerInvariant.cpp @@ -140,7 +140,7 @@ ValidLoanBroker::finalize( auto const& before = broker.brokerBefore; - if (view.rules().enabled(fixCleanup3_2_0)) + if (view.rules().enabled(featureLendingPermissionedDomain)) { if (after->at(~sfDomainID) && !after->isFlag(lsfLoanBrokerPrivate)) { diff --git a/src/libxrpl/tx/transactors/lending/LoanBrokerSet.cpp b/src/libxrpl/tx/transactors/lending/LoanBrokerSet.cpp index 3ee0378f95..4b65abf181 100644 --- a/src/libxrpl/tx/transactors/lending/LoanBrokerSet.cpp +++ b/src/libxrpl/tx/transactors/lending/LoanBrokerSet.cpp @@ -53,7 +53,7 @@ LoanBrokerSet::preflight(PreflightContext const& ctx) if (!validNumericRange(tx[~sfDebtMaximum], Number(kMaxMpTokenAmount), Number(0))) return temINVALID; - if (!ctx.rules.enabled(fixCleanup3_2_0)) + if (!ctx.rules.enabled(featureLendingPermissionedDomain)) { if (tx.isFlag(tfLoanBrokerPrivate) || tx.isFieldPresent(sfDomainID)) { @@ -73,7 +73,7 @@ LoanBrokerSet::preflight(PreflightContext const& ctx) if (tx[sfLoanBrokerID] == beast::kZero) return temINVALID; - if (ctx.rules.enabled(fixCleanup3_2_0)) + if (ctx.rules.enabled(featureLendingPermissionedDomain)) { // Cannot change private flag on existing broker if (tx.isFlag(tfLoanBrokerPrivate)) @@ -85,7 +85,7 @@ LoanBrokerSet::preflight(PreflightContext const& ctx) else { // We're creating a new LoanBroker. - if (ctx.rules.enabled(fixCleanup3_2_0)) + if (ctx.rules.enabled(featureLendingPermissionedDomain)) { auto const domainID = tx.at(~sfDomainID); if (domainID) @@ -163,7 +163,7 @@ LoanBrokerSet::preclaim(PreclaimContext const& ctx) return tecNO_PERMISSION; } - if (ctx.view.rules().enabled(fixCleanup3_2_0)) + if (ctx.view.rules().enabled(featureLendingPermissionedDomain)) { auto const domainID = tx[~sfDomainID]; if (domainID && *domainID != beast::kZero) @@ -209,7 +209,7 @@ LoanBrokerSet::preclaim(PreclaimContext const& ctx) } } - if (ctx.view.rules().enabled(fixCleanup3_2_0)) + if (ctx.view.rules().enabled(featureLendingPermissionedDomain)) { auto const domainID = tx[~sfDomainID]; if (!sleBroker->isFlag(lsfLoanBrokerPrivate) && domainID) @@ -273,7 +273,8 @@ LoanBrokerSet::doApply() if (auto const debtMax = tx[~sfDebtMaximum]) broker->at(sfDebtMaximum) = *debtMax; - if (ctx_.view().rules().enabled(fixCleanup3_2_0) && broker->isFlag(lsfLoanBrokerPrivate)) + if (ctx_.view().rules().enabled(featureLendingPermissionedDomain) && + broker->isFlag(lsfLoanBrokerPrivate)) { if (auto const domainID = tx[~sfDomainID]) { @@ -359,7 +360,7 @@ LoanBrokerSet::doApply() if (auto const coverLiq = tx[~sfCoverRateLiquidation]) broker->at(sfCoverRateLiquidation) = *coverLiq; - if (ctx_.view().rules().enabled(fixCleanup3_2_0)) + if (ctx_.view().rules().enabled(featureLendingPermissionedDomain)) { if (tx.isFlag(tfLoanBrokerPrivate)) { diff --git a/src/libxrpl/tx/transactors/lending/LoanSet.cpp b/src/libxrpl/tx/transactors/lending/LoanSet.cpp index d075e0e6e9..3f93aa50b3 100644 --- a/src/libxrpl/tx/transactors/lending/LoanSet.cpp +++ b/src/libxrpl/tx/transactors/lending/LoanSet.cpp @@ -363,7 +363,8 @@ LoanSet::preclaim(PreclaimContext const& ctx) return ret; } - if (ctx.view.rules().enabled(fixCleanup3_2_0) && brokerSle->isFlag(lsfLoanBrokerPrivate)) + if (ctx.view.rules().enabled(featureLendingPermissionedDomain) && + brokerSle->isFlag(lsfLoanBrokerPrivate)) { auto const domainID = brokerSle->at(~sfDomainID); if (!domainID) @@ -424,7 +425,8 @@ LoanSet::doApply() return tefBAD_LEDGER; // LCOV_EXCL_LINE } - if (ctx_.view().rules().enabled(fixCleanup3_2_0) && brokerSle->isFlag(lsfLoanBrokerPrivate)) + if (ctx_.view().rules().enabled(featureLendingPermissionedDomain) && + brokerSle->isFlag(lsfLoanBrokerPrivate)) { auto const domainID = brokerSle->at(~sfDomainID); if (!domainID)