Pratik Mankawde
06c5d36f03
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
2026-09-03 16:50:41 +01:00
Pratik Mankawde
f68cf0d009
refactor(telemetry): name the traces endpoint for its signal
...
[telemetry] endpoint carried one OTLP signal while its name implied it
covered every signal. That asymmetry is what let the metrics URL be
guessed later by rewriting this one's path suffix, so anything not
ending /v1/traces silently posted metrics to the traces path.
Renames the key to traces_endpoint and Setup::exporterEndpoint to
tracesEndpoint. The default value is unchanged and the URL is still used
verbatim, with no path derived from it. The startup log line and the
compose-file example name the new key, the latter being where an
operator copies it from.
No metrics_endpoint is added here: this branch has no metrics pipeline,
so the key would parse into a member nothing reads.
2026-09-03 15:09:19 +01:00
Pratik Mankawde
9d71dea972
refactor(telemetry): mark the telemetry accessors nodiscard
...
getInstance(), getTracer(), both startSpan() overloads and networkTypeFromId()
return values that a caller must use. A discarded startSpan() result destroys
the returned span immediately, so the span opens and closes with no content.
Six methods in Telemetry.h already carried the attribute, on the base and on
every override. The new attributes follow that: the overrides in Telemetry.cpp
and NullTelemetry.cpp get it too, because [[nodiscard]] is not inherited and a
call bound to the derived type would otherwise be unchecked.
No caller anywhere in the chain discards any of these results.
2026-09-03 15:00:28 +01:00
Pratik Mankawde
488617cc0b
refactor(telemetry): mark the unused setter parameter [[maybe_unused]]
...
The default setServiceInstanceId() body ignores its argument. Use the
attribute rather than a (void) cast: the codebase already uses it 104 times
and the build is C++23.
2026-09-03 10:51:47 +01:00
Chenna Keshava B S
636d2d4851
fix: Reinforce the priority of AMMClawback in case of insufficient reserves ( #7796 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-09-02 20:48:53 +00:00
Timur Yalymov
5d8fd9824e
fix: Revert credential cleanup for pseudo-accounts ( #8161 )
2026-09-02 15:00:50 +00:00
Vito Tumas
8809bdf3f0
fix: Treat an existing IOU line as a no-op in addEmptyHolding ( #8154 )
2026-09-02 12:15:29 +00:00
Vito Tumas
7863ac8cf6
fix: Add 60s buffer before closed-ended vault redemption ( #8151 )
2026-09-01 18:27:05 +00:00
Vito Tumas
b3b38e4416
fix: Correct fee-payer XRP delta in ValidVault for sponsored VaultWithdraw ( #8141 )
2026-09-01 14:43:11 +00:00
Vito Tumas
ccd5dc5e06
fix: Keep LoanBrokerDelete valid for auth-required MPT cover ( #8144 )
2026-09-01 14:40:53 +00:00
Copilot
fac20a06f3
refactor: Add common helper function for injected metadata fields in RPCs ( #5706 )
...
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 >
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-31 17:21:25 +00:00
Jingchen
7281e0606a
feat: Add vault invariants ( #7732 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-27 17:15:17 +00:00
Pratik Mankawde
fff4124d9b
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
2026-08-27 16:00:25 +01:00
Jingchen
71f5555873
feat: Remove pseudo account field filter ( #8042 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-27 13:52:23 +00:00
Gregory Tsipenyuk
dc3bd9cf00
fix: Fix MPT/DEX Audit/Attackathon reports (Phase 1) ( #7334 )
2026-08-26 18:09:46 +00:00
Vito Tumas
1e8b136bfb
feat: Enable LendingProtocolV1_1 amendment ( #8125 )
2026-08-26 17:35:54 +00:00
Pratik Mankawde
05d500d755
fix(telemetry): guard the includes only the telemetry build uses
...
With telemetry compiled out, <string_view> in Telemetry.h and <memory> in
SpanGuard.h are named only by declarations that are themselves guarded, so
clang-tidy's include-cleaner reports them unused and warnings-as-errors fails
the build. NullTelemetry.cpp has the mirror problem: it names beast::Journal
only in the compiled-out makeTelemetry(), reaching the type transitively.
Guard each include to match the configuration that uses it, and correct three
comments that overstated what the empty destructors cost.
2026-08-26 18:07:12 +01:00
Vito Tumas
3c47af779c
fix: Clamp Vault Deposit, Withdraw, and Clawback to assetsTotal grid ( #8057 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-26 17:02:05 +00:00
Pratik Mankawde
095a702fbe
fix(telemetry): keep the compiled-out span guards non-trivially destructible
...
The compiled-out ScopedActivation, SpanGuard and ScopedSpanGuard each used a
defaulted destructor. A defaulted destructor on an empty class is trivial, so
compilers report any guard held only for its scope as an unused variable. With
telemetry compiled out that produced seven -Wunused-variable errors under
-Werror, across the ledger acquire, consensus, ledger master and overlay paths.
Write the three destructors by hand so destruction is not trivial, matching the
telemetry-enabled types, and assert that property so it cannot quietly regress
to `= default`. The bodies are empty, so no code is generated either way.
Also move <memory> inside the telemetry guard: only the telemetry-enabled types
hold a unique_ptr, so the include is unused when telemetry is compiled out.
2026-08-26 15:46:06 +01:00
Vito Tumas
36c165f74d
fix: Prevent early loan impairment and due-date manipulation ( #6557 )
...
Co-authored-by: Ed Hennis <ed@ripple.com >
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
2026-08-26 13:38:24 +00:00
Jingchen
c5dc408596
fix: Remove explicit from std/boost hash specialisation default constructors ( #8100 )
2026-08-25 14:13:02 +00:00
Jingchen
f137d71510
test: Split Invariants_test.cpp into per-topic files ( #8077 )
2026-08-24 16:17:33 +00:00
Ed Hennis
764cbe7c29
perf: Pause online delete if there any gaps in recent ledger history ( #5531 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-24 14:16:03 +00:00
Timur Yalymov
520650081b
fix: Remove credentials pinned to Vault, LoanBroker, and AMM pseudo-accounts ( #7877 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-24 13:06:44 +00:00
Timur Yalymov
a097ccebae
fix: Tighten destination checks on vault withdrawal ( #7977 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-24 12:50:57 +00:00
Mayukha Vadari
85512541ad
refactor: Collapse transactions.macro settings into a TxSettings struct ( #8001 )
...
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-20 19:25:27 +00:00
Kassaking7
d0dbf9163c
fix: Prevent AMM auction slots from being acquired at zero cost when trading fee is zero ( #7430 )
2026-08-20 19:04:04 +00:00
Shawn Xie
e3ba569187
fix: Check credential for LoanBrokerCoverWithdraw and VaultWithdraw ( #7107 )
...
Co-authored-by: Peter Chen <ychen@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-20 15:33:46 +00:00
Pratik Mankawde
8c9a79e4ae
Merge branch 'pratik/otel-phase1a-plan-docs' into pratik/otel-phase1b-telemetry-infra
...
# Conflicts:
# .gitignore
# conan.lock
2026-08-20 12:05:03 +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
Bart
ca39bff3c8
refactor: Add SHAMapNodeID::isPrefixOf ( #7939 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-08-18 12:35:32 +00:00
Copilot
820ca5b332
refactor: Convert boost::beast::string_view to std::string_view ( #6306 )
...
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: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
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 >
2026-08-17 23:19:56 +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
Bart
5337d028a2
refactor: Use unsigned int for branch-related operations ( #7938 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-17 10:07:14 +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
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
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
Mayukha Vadari
6ca2fb84d4
refactor: Replace Boost trim and to_lower with libxrpl helpers ( #7995 )
2026-08-11 18:15:35 +00:00
klemenfn
a3147740f2
build: Fix GCC 14 compilation ( #7981 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-11 13:24:56 +00:00
Alex Kremer
0a572833ea
chore: Gtest migration followups second pass ( #7888 )
2026-08-11 12:38:40 +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
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
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