Pratik Mankawde
5ce2bad4a9
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
...
# Conflicts:
# .cspell.config.yaml
# src/tests/libxrpl/nodestore/NuDBFactory.cpp
2026-08-20 12:14:58 +01:00
Vito Tumas
d1dc7a6ccf
refactor: Extract invariant invocation into free checkInvariants runner ( #7404 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-19 14:10:11 +00:00
Timur Yalymov
368ff1afce
fix: Exempt loan default from asset freeze ( #7932 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-19 13:43:40 +00:00
Vito Tumas
3adf2d40b5
fix: Reject VaultWithdraw fixed-share amounts that round to zero ( #7950 )
2026-08-19 13:09:38 +00:00
Olek
7442ff2dec
fix: Enable reserve checking on ending sponsorship ( #8044 )
2026-08-18 22:39:32 +00:00
Kassaking7
666e77b22c
fix: Add ValidPermissionedDEX invariant track for fully consumed offer ( #6736 )
2026-08-18 21:08:02 +00:00
Vito Tumas
8c12de6c56
test: Split Vault_test into topical suites under src/test/app/vault/ ( #8041 )
2026-08-18 17:57:12 +00:00
Shawn Xie
b21fd86f6e
fix: Fix assorted NFT and pDEX bugs ( #7749 )
2026-08-18 17:56:33 +00:00
Vito Tumas
dd0edc19a0
fix: Conserve funds correctly when LoanPay fee payee is below reserve ( #7843 )
2026-08-18 11:09:33 +00:00
Gregory Tsipenyuk
1b226c8b2e
perf: Optimize MPT freeze checks to reduce redundant state reads ( #7411 )
...
Co-authored-by: Chenna Keshava B S <21219765+ckeshava@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-17 21:15:16 +00:00
Gregory Tsipenyuk
ca6121c5b3
feat: Enforce MPT CanTransfer on AMM LPTokens transfers ( #7418 )
2026-08-17 20:58:46 +00:00
Gregory Tsipenyuk
c49789086a
fix: Extend locked-MPToken unauthorize check to fixCleanup3_4_0 ( #8004 )
2026-08-17 12:52:20 +00:00
Bart
2adffaef72
refactor: Remove support for protocol version 2.1 ( #7432 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-14 15:36:47 +00:00
Mayukha Vadari
d34aa37b3c
refactor: Use std::format instead of boost::format where it fits ( #7996 )
...
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-14 13:49:08 +00:00
Pratik Mankawde
df85d43d8a
test: Make Drop50 message drop deterministic in LedgerReplayer test ( #7964 )
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-08-13 16:54:58 +00:00
Jingchen
8e9b1791c5
feat: Add a new closed ended vault to extend SAV ( #7921 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-12 17:07:43 +00:00
Vito Tumas
91360c5126
test: Fix LoanBatch broker cover rates and schedule overflow ( #7967 )
2026-08-12 12:11:28 -04:00
Timur Yalymov
af36890c11
test: Verify private-vault DEX permissions survive domain loss ( #7937 )
2026-08-12 12:11:28 -04:00
Copilot
153b7839a7
refactor: Replace boost::filesystem with std::filesystem across the codebase ( #7012 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: mathbunnyru <12270691+mathbunnyru@users.noreply.github.com >
2026-08-12 13:40:39 +00:00
Gregory Tsipenyuk
26cc683ec1
fix: Assorted MPT/DEX fixes ( #7299 )
...
Co-authored-by: Valentin Balaschenko <13349202+vlntb@users.noreply.github.com >
2026-08-11 18:15:51 +00:00
luisfernandomendozav
d43e5acaa7
fix: Validate account/ident type in gateway_balances ( #7655 )
2026-08-11 13:23:07 +00:00
Chenna Keshava B S
639943123c
fix: Validate buy/sell flag in nft RPC input ( #7725 )
2026-08-11 00:49:02 +00:00
Bryan
909cc5bba9
fix: Prevent silent zero AMM clawbacks due to integer MPT rounding ( #7704 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-08-10 21:37:53 +00:00
Kassaking7
60291c3ed6
fix: Allow OverrideFreeze to bypass individual/deep freeze on AMM trust lines ( #6959 )
2026-08-10 21:34:28 +00:00
Braedon Klock
4173f7e499
fix: Validate account_lines peer field type ( #7728 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-10 21:30:06 +00:00
yinyiqian1
b19c3c64f2
fix: Add zero keylet check in credential ( #7971 )
2026-08-10 17:47:16 +00:00
Mayukha Vadari
a0e1e578a0
refactor: Remove operator!= overloads that C++20 synthesizes ( #7994 )
2026-08-10 17:23:02 +00:00
Mayukha Vadari
07aa97fda4
test: Use std::string::starts_with/ends_with instead of Boost ( #7992 )
2026-08-10 17:22:40 +00:00
Mayukha Vadari
4f8819565a
fix: Assorted cleanup fixes ( #7988 )
2026-08-10 17:18:22 +00:00
Mayukha Vadari
6580b200db
refactor: Replace boost::lexical_cast with existing alternatives ( #7991 )
2026-08-10 17:10:18 +00:00
Mayukha Vadari
71e972cbed
refactor: Act on TODOs that are unblocked by C++23 ( #7990 )
2026-08-10 17:05:18 +00:00
Gregory Tsipenyuk
94bccb3a5a
fix: Fix MPT/DEX Audit/Attackathon reports (Phase 2) ( #7537 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Andrzej Budzanowski <andrzej.budzanowski@neti-soft.com >
Co-authored-by: Marek Foss <marek.foss@neti-soft.com >
Co-authored-by: Alex Kremer <akremer@ripple.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-07 21:53:54 +00:00
Mayukha Vadari
0fb92c3194
refactor: Use SeqProxy instead of uint32 for all sequence-based keylets ( #7890 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-08-07 21:29:11 +00:00
Matt Van Horn
798e889ec4
fix: Deduplicate oracle entries in get_aggregate_price RPC ( #6586 )
...
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-08-07 20:24:45 +00:00
Timur Yalymov
abf5511d07
fix: Correct sign-check wording in lending protocol messages ( #7913 )
2026-08-07 19:41:23 +00:00
Pratik Mankawde
c42874467c
fix(nodestore): accumulate read and write latency in nanoseconds
...
The fetch and store duration counters converted each sample to
microseconds before adding it, so any backend call finishing in under a
microsecond contributed zero. A warm nudb read answers in a few hundred
nanoseconds, so on fast hardware every read floored and the totals stayed
at zero no matter how many reads happened -- the same loss of resolution
the microsecond report was introduced to avoid, one decade lower.
Both accumulators now hold nanoseconds, the clock's own resolution, and
convert once in getFetchDurationUs() and getStoreDurationUs(). The public
accessors, the node_reads_duration_us and node_writes_duration_us JSON
fields, and the metrics that read them all keep microseconds, so nothing
downstream changes unit. storeDurationStats() takes the raw duration
instead of a pre-converted integer so no caller can round early, and
updateFetchMetrics() scales its microsecond input to match.
FetchReport::elapsed stays microseconds: it carries one fetch, not a
total, and that is the unit it declares. The reported sum is therefore the
accumulated total minus a sub-microsecond remainder per fetch, so the two
tests that asserted exact equality between them now assert that bound.
Both had assertions that depended on how fast the host reads; the bound
holds on any hardware.
2026-08-07 16:51:05 +01:00
Ayaz Salikhov
9859e5ceda
Merge remote-tracking branch 'upstream/release/3.3.x' into mathbunnyru/merge-3.3.0-to-develop
...
* upstream/release/3.3.x: (41 commits)
chore: Bump version to 3.3.0
chore: Bump version to 3.3.0-rc7
fix: Increase manifest protocol message size cap and fix manifests relay
fix: Cap untrusted manifests per message and drop oversized ones
chore: Bump version to 3.2.1
chore: Bump version to 3.2.1-rc1
fix: Cap untrusted manifests per message and drop oversized ones
fix: Reject oversized validator manifest before decoding
fix: Reduce untrusted manifest cache cap to 100
fix: Bound untrusted manifest cache
chore: Bump version to 3.3.0-rc6
feat: Package validator-keys inside rippled
chore: Bump version to 3.3.0-rc5
fix: Switch SponsorshipSet to use a delta for sfFeeAmount
fix: Re-revert "fix: Set request size limits and differential pricing for get-object-by-hash calls"
chore: Bump version to 3.3.0-rc4
fix: Revert "fix: Set request size limits and differential pricing for get-object-by-hash calls"
chore: Bump version to 3.3.0-rc3
fix: Reduce untrusted manifest cache cap to 100
fix: Revert "fix: Reject oversized SHAMap nodes in gotStaleData and fetch-pack path"
...
2026-08-07 16:00:25 +01:00
Pratik Mankawde
dd9c8cbd86
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
2026-08-07 14:36:20 +01:00
Gregory Tsipenyuk
8d7524f03b
fix: Use consistent endianness serializing MPT STIssue sequence ( #7429 )
...
Co-authored-by: Ed Hennis <ed@ripple.com >
Co-authored-by: David Fuelling <sappenin@gmail.com >
2026-08-05 17:54:44 +00:00
Pratik Mankawde
5ed32063f5
Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
...
Resolve conflicts by keeping phase-9's getobject_* metric instrumentation
and applying develop's snake_case namespace rename (#7933 ) to it:
Resource:: -> resource::, Tuning:: -> tuning::, BuildInfo:: -> build_info::.
2026-08-05 15:54:33 +01:00
Pratik Mankawde
54cfdda00b
fix: Increase manifest protocol message size cap and fix manifests relay
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-08-04 17:08:43 -04:00
Vito Tumas
c3ee602002
test: Split Loan_test.cpp into topical suites ( #7864 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-04 15:43:59 +00:00
Alex Kremer
06488c1318
chore: Rename CamelCase namespaces to snake_case ( #7933 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-04 13:46:55 +00:00
Timur Yalymov
765babb20d
fix: Add VaultInvariant check that lossUnrealized is non-negative ( #7863 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-03 21:11:33 +00:00
Pratik Mankawde
8461ded0d8
fix: Cap untrusted manifests per message and drop oversized ones
2026-08-03 12:00:11 -04:00
Bart
21cd615407
perf: Replace node ID by depth in TMLedgerNode ( #6353 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-07-30 15:02:05 +00:00
Olek
3c0659d26b
test: Add confidential mpt bulletproof tests ( #7816 )
2026-07-30 12:18:33 +00:00
Copilot
532506541f
fix: Apply asfDisallowIncomingTrustline blocker to OfferCreate ( #6307 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
2026-07-30 12:17:32 +00:00
Vito Tumas
8a5eded4f1
feat: Implement LoanBroker cash-basis accounting ( #7817 )
2026-07-30 11:55:39 +00:00
Alex Kremer
6ddad54985
chore: Move lexical cast tests to gtest ( #7873 )
2026-07-29 22:54:46 +00:00