Commit Graph

1969 Commits

Author SHA1 Message Date
Ayaz Salikhov
c073c4dfd3 ci: Update XRPLF/actions (#3148) nightly-20260722 2026-07-21 18:20:00 +01:00
dependabot[bot]
aaf7416730 ci: [DEPENDABOT] bump actions/checkout from 7.0.0 to 7.0.1 (#3146)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-21 16:30:06 +01:00
Ayaz Salikhov
2bd9d63f07 ci: Use in-house image for pre-commit (#3147) 2026-07-21 15:59:10 +01:00
Bart
a0dc98e5e1 chore: Add CODEOWNERS for CI-related changes (#3145) 2026-07-20 21:24:41 +01:00
Ayaz Salikhov
0b15620d87 chore: Use libxrpl 3.3.0-rc1 (#3144) 2026-07-20 20:19:16 +01:00
Ayaz Salikhov
50f9bc2bea style: Unify style for all Doxygen comments (#3142) 2026-07-13 12:45:05 +01:00
Bryan
52d28f8389 feat: Add ETL Indexing for mpt_issuance_history (#3104)
## Summary

Adds live ETL indexing for mptoken_issuance_history by extracting MPT
issuance references from transaction metadata and transaction fields,
then writing both MPT transaction index shapes during the existing MPT
ETL pass. Successful transactions are indexed from affected MPT ledger
objects; failed transactions are indexed only when they carry an
attached MPT issuance reference.

## Changes

- Adds `getMPTokenIssuanceTxsFromTx` to extract issuance transaction
index records from `tesSUCCESS` transactions.
- Scans `AffectedNodes` generically for `MPToken` and `MPTokenIssuance`
ledger objects instead of relying on a transaction-type allowlist.
- Reconstructs issuance IDs for `MPTokenIssuance` objects with
`makeMptID(sequence, issuer)`, avoiding the hashed ledger-key trap.
- Deduplicates distinct issuances per transaction and attaches the
transaction’s affected accounts for account-level fanout.
- Extends `MPTExt` so live and initial ETL data writes:
  - existing MPT holder index data
  - `mptoken_issuance_transactions`
  - `account_mptoken_issuance_transactions`
- Adds a Prometheus counter for MPT issuance transaction index rows
written by ETL.
- Logs unexpectedly large per-transaction fanout.

## Tests

Adds unit coverage for:

- failed transactions producing no records
- `MPTokenIssuanceCreate`, `Destroy`, `Set`, and `MPTokenAuthorize`
- generic transaction-type coverage through `Payment`, `Clawback`,
`OfferCreate`, and `AMMDeposit`
- ID reconstruction from issuance nodes
- multi-issuance fanout and deduplication
- affected-account propagation
- ETL extension writes to both backend index paths while preserving
existing holder indexing

---------

Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com>
2026-07-07 08:40:06 -07:00
Alex Kremer
92bd0963e3 fix: Shared SSL context (#3137) 2026-07-07 16:12:40 +01:00
dependabot[bot]
5a08158e9c ci: [DEPENDABOT] bump docker/metadata-action from 6.1.0 to 6.2.0 in /.github/actions/build-docker-image (#3135)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-07 13:53:24 +01:00
dependabot[bot]
c0a8e9e5ef ci: [DEPENDABOT] bump docker/setup-buildx-action from 4.1.0 to 4.2.0 in /.github/actions/build-docker-image (#3132)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 11:18:38 +01:00
dependabot[bot]
bace6328ec ci: [DEPENDABOT] bump docker/build-push-action from 7.2.0 to 7.3.0 in /.github/actions/build-docker-image (#3133)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 11:18:31 +01:00
dependabot[bot]
ffc0298cd7 ci: [DEPENDABOT] bump docker/login-action from 4.2.0 to 4.4.0 in /.github/actions/build-docker-image (#3134)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 11:18:25 +01:00
dependabot[bot]
6783fd11e4 ci: [DEPENDABOT] bump docker/setup-qemu-action from 4.1.0 to 4.2.0 in /.github/actions/build-docker-image (#3136)
Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 11:17:58 +01:00
Ayaz Salikhov
57dc63e210 build: Don't reuse binaries between different C++ versions (#3131) 2026-07-01 16:34:54 +01:00
github-actions[bot]
e7b3f9156a style: Update pre-commit hooks (#3130)
Co-authored-by: mathbunnyru <12270691+mathbunnyru@users.noreply.github.com>
2026-07-01 12:31:50 +01:00
Ayaz Salikhov
9cf2d52fbb build: Compile all dependencies with C++23 (#3129) 2026-06-30 21:03:31 +01:00
Ayaz Salikhov
bc556fa0e7 build: Use apple-clang 21; remove SourceLocation stub (#3123) 2026-06-30 18:13:03 +01:00
Ayaz Salikhov
d7cd049ccc ci: Add body for nightly issue (#3125) 2026-06-30 17:35:11 +01:00
Ayaz Salikhov
c2b129b2f6 ci: Pin scylladb docker to fix integration tests (#3126) 2026-06-30 16:43:24 +01:00
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
e8fa51c0d5 build: Switch to new XRPLF Conan remote (#3118) 2026-06-29 13:13:55 +01:00
Ayaz Salikhov
36ec74415a chore: Update tidy with new v22 checks (#3119) 2026-06-29 11:57:24 +01:00
Ayaz Salikhov
9da5f7a995 build: Link libatomic statically on Linux aarch64 (#3120) 2026-06-29 10:57:54 +01:00
dependabot[bot]
6bc8ad1def ci: [DEPENDABOT] bump actions/cache/restore from 5.0.5 to 6.1.0 (#3122) 2026-06-29 09:42:31 +01:00
dependabot[bot]
4a51a5e8d2 ci: [DEPENDABOT] bump actions/cache/save from 5.0.5 to 6.1.0 (#3121) 2026-06-29 09:42:04 +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
dependabot[bot]
3673586be3 ci: [DEPENDABOT] bump actions/checkout from 6.0.3 to 7.0.0 (#3112)
Signed-off-by: dependabot[bot] <support@github.com>
2026-06-22 13:41:04 +01:00
Ayaz Salikhov
373a883840 fix: Add pragma once checker (#3111) 2026-06-19 17:23:03 +01:00
Ayaz Salikhov
a7502033f5 ci: Fix docs workflow && build on PRs (#3109) 2026-06-17 23:53:28 +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
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