Bryan
e24216c8a9
feat: Add storage and backend for mpt_issuance_history ( #3091 )
...
Why
This is the first PR in the broader `mptoken_issuance_history` plan. It
lands the additive schema/backend layer first so later PRs can safely
add live ETL indexing, historical backfill, and finally the RPC handler
gated on backfill completion. Keeping this step dark avoids exposing
partial history while still making the stack reviewable in small pieces.
Summary
Adds the storage and backend primitives for MPT transaction-history
filtering.
- Adds Cassandra tables:
- mpt_transactions
- account_mpt_transactions
- Adds MPTTransactionsData and backend interface methods for
writing/fetching both MPT index shapes.
Implements Cassandra write/fetch paths with forward/reverse pagination,
raw-page cursor behavior, and case-insensitive tx_type filtering before
transaction hydration.
- Adds MockBackend coverage for the new pure-virtual methods.
- Adds Cassandra integration tests for round-trip behavior, ordering,
pagination, missing transaction blobs, sparse tx_type filtering, account
fanout, and account-side filtering.
2026-06-16 12:15:45 -07: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
dependabot[bot]
b8ac68c6d5
ci: [DEPENDABOT] bump actions/checkout from 6.0.2 to 6.0.3 ( #3097 )
2026-06-08 09:42:04 +01:00
dependabot[bot]
c53a538a59
ci: [DEPENDABOT] bump codecov/codecov-action from 6.0.1 to 7.0.0 ( #3096 )
2026-06-08 09:41:09 +01:00
github-actions[bot]
eaf770ccca
style: Update pre-commit hooks ( #3087 )
...
Co-authored-by: mathbunnyru <12270691+mathbunnyru@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-06-01 11:57:14 +01:00
dependabot[bot]
ffca7f9de0
ci: [DEPENDABOT] bump docker/setup-qemu-action from 4.0.0 to 4.1.0 in /.github/actions/build-docker-image ( #3088 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-06-01 11:44:22 +01:00
Ayaz Salikhov
16c0a64394
chore: Rewrite verify-commits script ( #3086 )
2026-05-28 11:20:19 +01:00
Ayaz Salikhov
267fe05a8f
style: Run shfmt on workflows and actions ( #3085 )
2026-05-28 11:03:38 +01:00
Ayaz Salikhov
25c0dc6f1c
ci: Only push to DockerHub in main repo ( #3084 )
2026-05-27 14:38:37 +01:00
dependabot[bot]
76043d607f
ci: [DEPENDABOT] bump docker/build-push-action from 7.1.0 to 7.2.0 in /.github/actions/build-docker-image ( #3083 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-26 11:33:12 +01:00
dependabot[bot]
8e7f07d1cf
ci: [DEPENDABOT] bump docker/login-action from 4.1.0 to 4.2.0 in /.github/actions/build-docker-image ( #3082 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-26 11:33:03 +01:00
dependabot[bot]
43c3732116
ci: [DEPENDABOT] bump docker/metadata-action from 6.0.0 to 6.1.0 in /.github/actions/build-docker-image ( #3081 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-26 11:32:52 +01:00
dependabot[bot]
13f65b6c3c
ci: [DEPENDABOT] bump docker/setup-buildx-action from 4.0.0 to 4.1.0 in /.github/actions/build-docker-image ( #3080 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-26 11:32:40 +01:00
dependabot[bot]
aed2240cbd
ci: [DEPENDABOT] bump codecov/codecov-action from 6.0.0 to 6.0.1 ( #3079 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-26 11:32:32 +01:00
dependabot[bot]
4da9de304e
ci: [DEPENDABOT] bump docker/setup-buildx-action from 4.0.0 to 4.1.0 ( #3078 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-26 11:32:22 +01:00
dependabot[bot]
f189dbf950
ci: [DEPENDABOT] bump docker/login-action from 4.1.0 to 4.2.0 ( #3077 )
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-05-26 11:32:16 +01:00
Alex Kremer
cc4f204d9e
style: More clang-tidy identifier renaming ( #3076 )
2026-05-19 15:25:47 +01:00
Ayaz Salikhov
f4dcfe20e9
ci: Run actions/configure-pages only in the main repo ( #3075 )
2026-05-14 18:14:48 +01:00
Ayaz Salikhov
3112a3d214
ci: Fix how workflows behave in forks ( #3074 )
2026-05-14 17:59:33 +01:00
Alex Kremer
dbc98894ba
refactor: Rename static constants ( #3073 )
2026-05-13 12:09:06 +01:00
Sergey Kuznetsov
d056c72212
test: Fix integration tests ( #3072 )
...
Fix 2 issues in integration tests:
- `127.0.0.2` is forwarded to localhost on macos
- Keyspace is always dropped in test's destructor but it may not exist
2026-05-12 13:49:39 +01:00
Sergey Kuznetsov
a1112bf318
chore: Update libxrpl to 3.1.3 ( #3070 )
2026-05-11 14:13:22 +01:00
Sergey Kuznetsov
e974e1899f
fix: Don't cache responses to admin's requests ( #3058 )
2026-05-05 17:00:59 +01:00
Ayaz Salikhov
a7090f5b19
ci: Print tidy errors ( #3068 )
2026-05-05 16:30:49 +01:00
Ayaz Salikhov
f2158cd2d9
ci: Make clang-tidy work on individual files in PRs ( #3067 )
2026-05-05 15:51:25 +01:00
Alex Kremer
e96ef39857
chore: Fix clang-tidy issues after introducing new checks ( #3061 )
2026-05-05 15:21:54 +01:00
Ayaz Salikhov
5fe7c4407b
ci: Use XRPLF/create-issue ( #3066 )
2026-05-05 14:21:36 +01:00
Ayaz Salikhov
9b20f1871e
style: Update pre-commit hooks ( #3057 )
2026-05-01 15:32:13 +01:00
Alex Kremer
51244feb4a
chore: Enable more clang-tidy checks ( #3054 )
2026-05-01 15:31:45 +01:00
Ayaz Salikhov
d6bae6c12b
ci: Rename print-env -> print-build-env ( #3056 )
2026-05-01 11:07:32 +01:00
Ayaz Salikhov
fe30c87e2c
ci: Use print-env from XRLPF/actions ( #3053 )
2026-04-29 18:28:45 +01:00
Ayaz Salikhov
c88ffa7c92
chore: Use LLVM tools 21 ( #3051 )
2026-04-29 16:34:21 +01:00
Ayaz Salikhov
32aeda0ce7
chore: Fix clang-tidy 21 issues ( #3052 )
2026-04-29 16:17:32 +01:00
Ayaz Salikhov
f174b47f49
ci: Build image with LLVM tools 21 ( #3049 )
2026-04-29 14:25:10 +01:00
Ayaz Salikhov
80cdb3234a
ci: Upload clang-tidy git diff ( #3050 )
2026-04-29 13:28:46 +01:00
Sergey Kuznetsov
f1460de5d3
feat: Optional log rotation ( #3016 )
...
This PR adds an option to disable log rotation.
2.8.0-rc1
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.
2.8.0-b1
2026-04-22 16:01:18 +01:00
dependabot[bot]
e091175be7
ci: [DEPENDABOT] Bump actions/cache from 5.0.4 to 5.0.5 ( #3039 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-20 11:06:27 +01:00
dependabot[bot]
6dae9fb093
ci: [DEPENDABOT] Bump tj-actions/changed-files from 47.0.5 to 47.0.6 ( #3040 )
...
Co-authored-by: github-actions[bot]
Co-authored-by: Tonye Jack <a
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-20 11:05:25 +01:00
Mayukha Vadari
9c4b631925
chore: Add more AI folders to .gitignore ( #3038 )
2026-04-17 22:04:39 +01:00
Ayaz Salikhov
dc78915e13
chore: Update XRPLF/actions ( #3023 )
2026-04-13 14:37:08 +01:00
dependabot[bot]
4eb929ab54
ci: [DEPENDABOT] Bump actions/upload-artifact from 7.0.0 to 7.0.1 ( #3031 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 13:42:18 +01:00
dependabot[bot]
016c82e26e
ci: [DEPENDABOT] Bump actions/upload-artifact from 7.0.0 to 7.0.1 in /.github/actions/code-coverage ( #3035 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 13:42:08 +01:00
dependabot[bot]
6c96b1d059
ci: [DEPENDABOT] Bump docker/build-push-action from 7.0.0 to 7.1.0 in /.github/actions/build-docker-image ( #3034 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 13:42:00 +01:00
dependabot[bot]
7b897b5a87
ci: [DEPENDABOT] Bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 ( #3033 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 13:41:51 +01:00
dependabot[bot]
a44c6064dd
ci: [DEPENDABOT] Bump actions/upload-pages-artifact from 4.0.0 to 5.0.0 ( #3032 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 13:40:55 +01:00
dependabot[bot]
9cbec5ef45
ci: [DEPENDABOT] Bump docker/login-action from 4.0.0 to 4.1.0 ( #3024 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-06 11:29:16 +01:00
dependabot[bot]
ecfaae3efd
ci: [DEPENDABOT] Bump docker/login-action from 4.0.0 to 4.1.0 in /.github/actions/build-docker-image ( #3025 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-06 11:29:10 +01:00