You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
OfferCreateCrossing.Cross finds the offer OfferSequence cancels in the snapshot's index instead of scanning every offer of the snapshot (#306). DexIndex.Offers compares ledger indexes ignoring case, as the scan did
LedgerChanges.Collect reads only the offers the transaction wrote (DexView.TouchedOffers), still in the snapshot's order, instead of reading every offer of the snapshot, which allocated an offer state for each. On a snapshot of 4,000 offers a cancel-and-replace OfferCreate takes 0.13 ms instead of 0.46 ms and allocates 35 KiB instead of 658 KiB (p50)
Tests: TestUDexGaps cancels an offer whose index the snapshot spells in lower case, and cancels nothing when the snapshot does not hold the offer or another account owns an offer under its index; BenchmarkDexWorld measures a cancel-and-replace
LedgerRules.FromNodeAsync sets FixFillOrKill whatever the feature command reports: rippled develop retired the amendment (XRPL_RETIRE_FIX(FillOrKill), XRPLF/rippled#7366). Docs: Amounts-Guide (both languages) says so; StandaloneNode-Guide (both languages) explains how feature reports a retired or removed amendment and uses AMMClawback as its example
Tests: TestULedgerRules.RetiredFixFillOrKillIsOnWhateverTheNodeReports. AmendmentGuard reads AMM, XRPFees, fixFillOrKill, fixAMMOverflowOffer and fixAMMv1_1 as active when feature reports them vetoed as obsolete, and AmendmentGuard.RequireXChainBridgeAsync skips TestIBatchInnerTypes.Batch_Inner_XChain_CreateBridge_Modify_ClaimID_Commit_AccountCreateCommit and TestISponsoredTypes.Sponsored_XChain_CreateBridge_Modify_ClaimID_Commit_AccountCreateCommit where the bridge is gone (XRPLF/rippled#8255)
CI: .ci-config/wait-genesis-amendments.sh waits until any [amendments] entry of a stand's config is enabled; dotnet.test.yml, release-watch.yml and nightly-pin-watch.yml use it instead of polling the AMM amendment, which a retired AMM never reports enabled