Commit Graph

442 Commits

Author SHA1 Message Date
Alex Kremer
ad2ff82ab1 fix: Align error messages and rpc-spec 0.1.17 (#3223) 2026-09-23 13:29:57 +01:00
Peter Chen
4a96b6612b fix: Delete limit from MPT Holder output when filtering by account_id (#3222) 2026-09-21 19:39:11 +01:00
Alex Kremer
114ad9c788 chore: Upgrade to libxrpl 3.4.0 (#3217) 2026-09-21 15:02:33 +01:00
Peter Chen
1621ac353c feat: Add accounts filter to mpt_holders (#3180) 2026-09-18 17:07:55 +01:00
Alex Kremer
35000059d9 refactor: Migrate handlers to rpc-spec (H) (#3214) 2026-09-18 16:34:21 +01:00
Alex Kremer
1cb6f29b40 refactor: Migrate handlers to rpc-spec (G) (#3213) 2026-09-17 16:33:22 +01:00
Alex Kremer
0e8ee75caf refactor: Migrate handlers to rpc-spec (F) (#3212) 2026-09-16 14:16:25 +01:00
Alex Kremer
0c69a582ed refactor: Migrate handlers to rpc-spec (E) (#3210) 2026-09-15 22:43:39 +01:00
Alex Kremer
bd666f4b3a refactor: Migrate handlers to rpc-spec (D) (#3209) 2026-09-15 19:33:27 +01:00
Alex Kremer
b33364d144 refactor: Migrate handlers to rpc-spec (C) (#3208) 2026-09-15 14:42:14 +01:00
Alex Kremer
994afeaa65 refactor: Migrate handlers to rpc-spec (B) (#3207) 2026-09-14 23:20:30 +01:00
Alex Kremer
a64aa5c6f6 refactor: Migrate handlers to rpc-spec (A) (#3206) 2026-09-14 14:31:49 +01:00
Alex Kremer
899661e05e refactor: Migrate first handlers to rpc-spec (#3199) 2026-09-11 21:45:21 +01:00
Alex Kremer
1a421b4145 chore: Upgrade to libxrpl-3.4.0-rc1 (#3203) 2026-09-10 16:48:10 +01:00
Alex Kremer
81efb226ac refactor: Dual path for rpc handlers (#3198) 2026-09-09 14:57:01 +01:00
Alex Kremer
08255c4f9e refactor: Use shared ledger and tx type tables from rpcspec (#3174) 2026-09-08 17:23:30 +01:00
Alex Kremer
db12445b50 refactor: Use error types from rpc-spec (#3173) 2026-09-08 14:45:42 +01:00
github-actions[bot]
a1d7ff7831 style: Update pre-commit hooks (#3197)
Co-authored-by: mathbunnyru <12270691+mathbunnyru@users.noreply.github.com>
2026-09-01 16:43:38 +01:00
Alex Kremer
9cd44a06dd fix: Internal error in account_info with pseudo account (#3196) 2026-08-28 16:32:50 +01:00
Alex Kremer
e5f11df558 fix: Rare race in cluster tests (#3194) 2026-08-28 16:32:29 +01:00
Ayaz Salikhov
58d8f12ba3 test: Use credentialTypeValidator in LedgerEntry (#3195) 2026-08-27 16:40:19 +01:00
Ayaz Salikhov
7d33ecac0f feat: Accept MPT issuance IDs in book_offers (MPTokensV2) (#3190)
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com>
2026-08-25 13:20:55 +01:00
Alex Kremer
f41d533cf7 fix: Internal error on warning injection (#3177) 2026-08-25 13:19:57 +01:00
Peter Chen
96f56edb01 feat: Add delegate filter param's to account_tx RPC (#2827)
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-08-24 18:49:55 +01:00
Alex Kremer
2e7f303b7a fix: WebServer NG send queue (#3181) 2026-08-24 18:03:55 +01:00
Alex Kremer
292d55aa1c fix: Rare deadlock in subscriptions (#3176) 2026-08-24 17:00:09 +01:00
Alex Kremer
3ad2ccddaa fix: Output format for MPT Issuance ID (#3178) 2026-08-24 15:15:50 +01:00
Alex Kremer
bdfbb78115 fix: Fiber suspension during exception (#3187) 2026-08-24 15:15:26 +01:00
Alex Kremer
74f5dcc95e chore: Add back reverted feature adding mptoken_issuance_history RPC (#3188) 2026-08-24 15:15:01 +01:00
Alex Kremer
4f884e3b4b fix: Better validator for issuer (#3184) 2026-08-20 15:57:46 +01:00
Ayaz Salikhov
8e091871cb chore: Revert "feat: Add mptoken_issuance_history RPC" (#3183) 2026-08-20 15:42:22 +01:00
Bryan
e8e0478333 feat: Add mptoken_issuance_history RPC (#3141)
feat: add mptoken_issuance_history RPC

Summary

Adds mptoken_issuance_history, a Clio-only method that returns the
transaction history for a given MPT issuance — the MPT-scoped sibling of
nft_history. You can optionally filter by account and/or tx_type.

The index tables, backend fetch methods, and live ETL indexing landed
earlier; this wires up the handler on top of them.

The handler

- Routes to fetchMPTokenIssuanceTransactions or
fetchAccountMPTokenIssuanceTransactions depending on whether account is
set. When tx_type is given, it filters on TransactionType post-fetch,
exactly like account_tx.
- Follows the nft_history/account_tx conventions for ledger ranges,
markers, binary, forward, and limit ([1,100], default 50), including
api-version response branching.
- Gated on backfill completion so it never returns partial history:
until this node's MPTTransactionHistoryMigrator reports Migrated,
requests get notReady with a message pointing at the --migrate command.
Once migrated, the result is cached and the check is skipped — the
method turns on automatically, no restart.

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 09:43:06 -07:00
Ayaz Salikhov
62428a2d91 chore: Update libxrpl to 3.3.0 (#3170) 2026-08-12 09:57:52 +01:00
Alex Kremer
dbdbe4ea1f fix: Introduce retry for transient errors from DB (#3167) 2026-08-10 14:39:15 +01:00
Peter Chen
f490117cfb fix: Remove clio_etl from rpc cmake (#3166) 2026-08-05 10:57:31 -04:00
Peter Chen
466b60f8ea feat: Support filtering txns by mpt_issuance_id (#3153)
Adds an optional `mpt_issuance_id ` field to Account_tx so that users
can filter Account transactions if the transaction is involved in a
specific `mpt_issuance_id `
2026-08-04 12:22:43 -04:00
Peter Chen
24ce768ba8 feat: Support Confidential Transfer Fields (#3152)
Add Confidential Transfer Fields to MPToken, MPToken Issuance, and
mpt_holders API
2026-07-23 15:31:15 -07:00
Alex Kremer
55657fd1e9 fix: Amendment block initial ledger load and cache load (#3149) 2026-07-22 16:13:47 +01:00
Chenna Keshava B S
30f8a227b1 fix: Serialize MPToken UInt64 amounts as base-10 strings (#3139) 2026-07-22 13:31:21 +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
Ayaz Salikhov
bc556fa0e7 build: Use apple-clang 21; remove SourceLocation stub (#3123) 2026-06-30 18:13:03 +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
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
373a883840 fix: Add pragma once checker (#3111) 2026-06-19 17:23:03 +01:00