Merge branch 'develop' into pratik/Add-sanitizers-to-CI-builds

This commit is contained in:
Pratik Mankawde
2025-11-05 12:25:47 +00:00
4 changed files with 14 additions and 19 deletions

View File

@@ -68,7 +68,6 @@ XRPL_FEATURE(CheckCashMakesTrustLine, Supported::yes, VoteBehavior::DefaultNo
XRPL_FEATURE(FlowSortStrands, Supported::yes, VoteBehavior::DefaultYes) XRPL_FEATURE(FlowSortStrands, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(TicketBatch, Supported::yes, VoteBehavior::DefaultYes) XRPL_FEATURE(TicketBatch, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(NegativeUNL, Supported::yes, VoteBehavior::DefaultYes) XRPL_FEATURE(NegativeUNL, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(HardenedValidations, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(RequireFullyCanonicalSig, Supported::yes, VoteBehavior::DefaultYes) XRPL_FEATURE(RequireFullyCanonicalSig, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FEATURE(DeletableAccounts, Supported::yes, VoteBehavior::DefaultYes) XRPL_FEATURE(DeletableAccounts, Supported::yes, VoteBehavior::DefaultYes)
XRPL_FIX (PayChanRecipientOwnerDir, Supported::yes, VoteBehavior::DefaultYes) XRPL_FIX (PayChanRecipientOwnerDir, Supported::yes, VoteBehavior::DefaultYes)
@@ -125,6 +124,7 @@ XRPL_RETIRE(Escrow)
XRPL_RETIRE(EnforceInvariants) XRPL_RETIRE(EnforceInvariants)
XRPL_RETIRE(FeeEscalation) XRPL_RETIRE(FeeEscalation)
XRPL_RETIRE(FlowCross) XRPL_RETIRE(FlowCross)
XRPL_RETIRE(HardenedValidations)
XRPL_RETIRE(ImmediateOfferKilled) XRPL_RETIRE(ImmediateOfferKilled)
XRPL_RETIRE(MultiSign) XRPL_RETIRE(MultiSign)
XRPL_RETIRE(NonFungibleTokensV1_1) XRPL_RETIRE(NonFungibleTokensV1_1)

View File

@@ -51,7 +51,6 @@ STValidation::validationFormat()
{sfSigningPubKey, soeREQUIRED}, {sfSigningPubKey, soeREQUIRED},
{sfSignature, soeREQUIRED}, {sfSignature, soeREQUIRED},
{sfConsensusHash, soeOPTIONAL}, {sfConsensusHash, soeOPTIONAL},
// featureHardenedValidations
{sfCookie, soeDEFAULT}, {sfCookie, soeDEFAULT},
{sfValidatedHash, soeOPTIONAL}, {sfValidatedHash, soeOPTIONAL},
{sfServerVersion, soeOPTIONAL}, {sfServerVersion, soeOPTIONAL},

View File

@@ -831,21 +831,17 @@ RCLConsensus::Adaptor::validate(
if (proposing) if (proposing)
v.setFlag(vfFullValidation); v.setFlag(vfFullValidation);
if (ledger.ledger_->rules().enabled(featureHardenedValidations)) // Attest to the hash of what we consider to be the last fully
{ // validated ledger. This may be the hash of the ledger we are
// Attest to the hash of what we consider to be the last fully // validating here, and that's fine.
// validated ledger. This may be the hash of the ledger we are if (auto const vl = ledgerMaster_.getValidatedLedger())
// validating here, and that's fine. v.setFieldH256(sfValidatedHash, vl->info().hash);
if (auto const vl = ledgerMaster_.getValidatedLedger())
v.setFieldH256(sfValidatedHash, vl->info().hash);
v.setFieldU64(sfCookie, valCookie_); v.setFieldU64(sfCookie, valCookie_);
// Report our server version every flag ledger: // Report our server version every flag ledger:
if (ledger.ledger_->isVotingLedger()) if (ledger.ledger_->isVotingLedger())
v.setFieldU64( v.setFieldU64(sfServerVersion, BuildInfo::getEncodedVersion());
sfServerVersion, BuildInfo::getEncodedVersion());
}
// Report our load // Report our load
{ {

View File

@@ -993,10 +993,10 @@ LedgerMaster::checkAccept(std::shared_ptr<Ledger const> const& ledger)
// Check if the majority of validators run a higher version rippled // Check if the majority of validators run a higher version rippled
// software. If so print a warning. // software. If so print a warning.
// //
// Once the HardenedValidations amendment is enabled, validators include // Validators include their rippled software version in the validation
// their rippled software version in the validation messages of every // messages of every (flag - 1) ledger. We wait for one ledger time
// (flag - 1) ledger. We wait for one ledger time before checking the // before checking the version information to accumulate more validation
// version information to accumulate more validation messages. // messages.
auto currentTime = app_.timeKeeper().now(); auto currentTime = app_.timeKeeper().now();
bool needPrint = false; bool needPrint = false;