Ayaz Salikhov
30732882f1
fix: Make Loan and LoanBroker filterable in account_objects/ledger_data ( #3124 )
2026-06-29 17:34:38 +01:00
Ayaz Salikhov
36ec74415a
chore: Update tidy with new v22 checks ( #3119 )
2026-06-29 11:57:24 +01:00
Sergey Kuznetsov
87f0b480bf
fix: Don't cache requests with params ( #3113 )
...
`ResponseExpirationCache` is using only `method` (or `command`) as a
key, but responses might be different with different params. This may
lead to a client getting incorrect response because of caching. This PR
fixes it by caching only requests without any additional params.
2026-06-26 12:33:27 +01:00
Sergey Kuznetsov
0b20dc728a
chore: Don't include fwd headers ( #3117 )
2026-06-25 16:06:13 +01:00
Sergey Kuznetsov
9b04d64a0e
chore: Update libxrpl to 3.2.0 ( #3114 )
2026-06-25 11:19:12 +01:00
Ayaz Salikhov
52af23fe77
chore: Fixes after tidy v22 update ( #3108 )
2026-06-17 11:33:39 +01:00
Ayaz Salikhov
fa057bd876
ci: Use Nix-based images for all workflows except pre-commit ( #3098 )
2026-06-16 22:50:43 +01:00
Shawn Xie
0aa7ed4919
feat: Update MPToken ETL to support all transactions types ( #3102 )
...
## Summary
Fixes incomplete MPT holder indexing in ETL.
Previously, Clio only indexed MPT holders when an `ltMPTOKEN` ledger
node was created by an `MPTokenAuthorize` transaction. However, with
future amendments, XRPL can also create `ltMPTOKEN` nodes as part of
other successful transactions, such as `Payment`, when a holder receives
an MPT. Those holders were silently skipped and therefore missing from
the `mpt_holders` RPC results.
This change makes MPT holder indexing metadata-driven instead of
transaction-type-driven. ETL now scans successful transaction metadata
for newly created `ltMPTOKEN` nodes and writes every holder it finds.
## What Changed
- MPT holder extraction now works for any successful transaction that
creates an `ltMPTOKEN`.
- Multiple MPT holders created in a single transaction are all indexed.
- The `mpt_holders` table is kept consistent with ledger metadata
instead of relying on assumptions about which transaction types can
create holder nodes.
- Added regression coverage for MPT holders created by a `Payment`
transaction.
## Testing
- `build/clio_tests '--gtest_filter=MPTExtTests.*'`
- `clang-tidy -p build src/etl/MPTHelpers.cpp src/etl/MPTHelpers.hpp
src/etl/impl/ext/MPT.cpp tests/unit/etl/ext/MPTTests.cpp`
2026-06-15 11:46:55 +01:00
Alex Kremer
dbc98894ba
refactor: Rename static constants ( #3073 )
2026-05-13 12:09:06 +01:00
Sergey Kuznetsov
e974e1899f
fix: Don't cache responses to admin's requests ( #3058 )
2026-05-05 17:00:59 +01:00
Alex Kremer
e96ef39857
chore: Fix clang-tidy issues after introducing new checks ( #3061 )
2026-05-05 15:21:54 +01:00
Alex Kremer
51244feb4a
chore: Enable more clang-tidy checks ( #3054 )
2026-05-01 15:31:45 +01:00
Ayaz Salikhov
32aeda0ce7
chore: Fix clang-tidy 21 issues ( #3052 )
2026-04-29 16:17:32 +01:00
Sergey Kuznetsov
f1460de5d3
feat: Optional log rotation ( #3016 )
...
This PR adds an option to disable log rotation.
2026-04-27 15:30:53 +01:00
github-actions[bot]
198773f86a
style: clang-tidy auto fixes ( #3047 )
...
Fixes #3046 . Please review and commit clang-tidy fixes.
Co-authored-by: godexsoft <385326+godexsoft@users.noreply.github.com >
2026-04-27 13:02:05 +01:00
Sergey Kuznetsov
fe0bf736fb
refactor: Use error code in make_address() calls ( #3044 )
...
Function `ip::make_address()` throws an exception on an invalid IP.
Refactor to a better error handling without exceptions.
2026-04-27 11:32:07 +01:00
Sergey Kuznetsov
d7bcf6e726
fix: Client IP resolving when proxy reusing TCP connection ( #3043 )
...
Proxy may reuse TCP connections to send HTTP requests from different
clients. This PR fixes bug when Clio resolves client IP only once per
connection.
2026-04-22 16:01:18 +01:00
Ayaz Salikhov
fb8d648a08
test: Don't hardcode apiVersion where possible ( #3017 )
2026-03-27 16:02:19 +00:00
github-actions[bot]
0beaff15cd
style: clang-tidy auto fixes ( #3015 )
...
Fixes #3014 . Please review and commit clang-tidy fixes.
Co-authored-by: godexsoft <385326+godexsoft@users.noreply.github.com >
2026-03-25 10:27:59 +00:00
Alex Kremer
4b37493bc0
fix: Forwarded stream ignores specified api_version ( #3010 )
2026-03-24 15:34:44 +00:00
Alex Kremer
7238cc8799
fix: Allow deleted libXRPL amendments to still be queried via feature ( #3011 )
2026-03-24 15:34:02 +00:00
Alex Kremer
4e85398aed
chore: Remove more copyrights from code ( #3012 )
...
More copyrights detected following #2975
2026-03-24 15:33:12 +00:00
Alex Kremer
21066d16e9
chore: Remove copyright from all source files ( #2975 )
2026-03-24 15:25:32 +00:00
github-actions[bot]
6ecca9e19c
style: clang-tidy auto fixes ( #3004 )
...
Fixes #3003 .
2026-03-17 11:43:07 +00:00
Sergey Kuznetsov
2316cced64
feat: Recover from fallback writer state ( #3000 )
...
Add a timer and new `FallbackRecovery` state to try to recover from
`Fallback` writer state every hour.
Fixes #2997
2026-03-16 14:09:26 +00:00
github-actions[bot]
4f0a983195
style: clang-tidy auto fixes ( #2999 )
2026-03-10 10:11:29 +00:00
Ayaz Salikhov
2b8a7b95e4
chore: Remove explicit accountNotFound message ( #2978 )
...
I searched rippled code, and there is no `accountNotFound` anywhere.
So, we should probably stick to the default, it looks reasonable
2026-03-09 17:17:09 +00:00
Sergey Kuznetsov
fbdd6d6105
feat: Limit cache loading in cluster ( #2985 )
...
This PR adds an option to limit simultaneous cache loading in a cluster
to one node at a time.
Fixes #2707
2026-03-09 17:11:20 +00:00
Sergey Kuznetsov
05e52ee7a4
fix: Start without cache file ( #2976 )
...
#2830 introduced a bug that clio couldn't start without having a cache
file. This PR fixes the problem.
2026-03-06 15:59:27 +00:00
Ayaz Salikhov
3737459d09
style: Apply custom cmake definitions ( #2983 )
2026-03-06 14:28:13 +00:00
Ayaz Salikhov
967590e639
style: Use gersemi instead of ancient cmake-format ( #2980 )
2026-03-06 12:21:01 +00:00
github-actions[bot]
a4d6caf8a7
style: Update pre-commit hooks ( #2968 )
...
Co-authored-by: mathbunnyru <12270691+mathbunnyru@users.noreply.github.com >
2026-03-03 15:58:30 +00:00
Ayaz Salikhov
f9c89264da
chore: Enable debug symbols ( #2967 )
2026-02-25 16:42:23 +00:00
Ayaz Salikhov
1220d632b5
style: Fix lint comments due to style changes ( #2963 )
2026-02-23 16:24:27 +00:00
github-actions[bot]
af736717fc
style: clang-tidy auto fixes ( #2958 )
...
Co-authored-by: godexsoft <385326+godexsoft@users.noreply.github.com >
2026-02-23 13:54:07 +00:00
Sergey Kuznetsov
2d6f82c27f
feat: Metrics for requested ledger age ( #2947 )
...
Adding metrics to be able to analyse requested ledger age distribution.
---------
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-02-20 18:01:15 +00:00
Ayaz Salikhov
6ba58f42f0
style: Set clang-format width 100 ( #2953 )
2026-02-20 15:56:03 +00:00
Ayaz Salikhov
584d2bb5f2
feat: Support Lending Protocol ( #2945 )
2026-02-17 22:54:24 +00:00
emrearıyürek
9d3dbce73b
fix: Remove RpcEntryNotFound from ClioError ( #2661 )
...
Since rippled has its own error codes, all occurrences have been
replaced except for [PR2549](https://github.com/XRPLF/clio/pull/2549 ),
and the entry has also been removed entirely from Clio’s error enum.
This modification follows the feedback provided in this comment:
https://github.com/XRPLF/clio/pull/2549#discussion_r2394840688
Pending compatible libxrpl — temporarily on hold
---------
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-02-06 15:33:18 +00:00
Alex Kremer
9fd15eb08b
chore: Enable TSAN without ignoring errors ( #2828 )
2026-01-30 19:14:36 +00:00
Ayaz Salikhov
cf77a10555
style: Adopt cmake-format from xrpld ( #2938 )
2026-01-29 16:44:04 +00:00
github-actions[bot]
3bb3e0b9f9
style: clang-tidy auto fixes ( #2930 )
...
Fixes #2929 .
2026-01-22 11:34:04 +00:00
Sergey Kuznetsov
a72e5a180f
feat: Choose writer by cluster communication ( #2830 )
...
Fixes #1974
2026-01-21 11:41:26 +00:00
Ayaz Salikhov
b983aea15d
chore: Delete duplicate etlng tests ( #2920 )
2026-01-14 15:28:31 +00:00
github-actions[bot]
2b473c8613
style: clang-tidy auto fixes ( #2917 )
2026-01-14 09:50:38 +00:00
Alex Kremer
c6be761f33
fix: Faster implementation of work queue ( #2887 )
2026-01-13 12:21:20 +00:00
Alex Kremer
f33f15c02d
fix: Workaround an edge case exception in AmendmentCenter ( #2897 )
...
Fixes #2881
Better fix, including removal of exceptions for control flow will be done in #2895
2026-01-13 12:20:13 +00:00
github-actions[bot]
b0abe14057
style: clang-tidy auto fixes ( #2891 )
2026-01-09 10:07:21 +00:00
Alex Kremer
a9787b131e
feat: Basic support for channels ( #2859 )
...
This PR implements go-like channels wrapper (on top of asio experimental
channels).
In the future this will be integrated into the AsyncFramework.
---------
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com >
2026-01-08 14:21:46 +00:00
Sergey Kuznetsov
9f76eabf0a
feat: Option to save cache asyncronously ( #2883 )
...
This PR adds an option to save cache to file asynchronously in parallel
with shutting down the rest of Clio services.
2026-01-07 17:20:56 +00:00