Commit Graph

1022 Commits

Author SHA1 Message Date
Alex Kremer
157e17ae85 Remove forwarders 2026-09-01 13:44:14 +01:00
Alex Kremer
b3635e1b64 Merge branch 'develop' into refactor/consteval-specs-shared-leaf-util 2026-08-28 16:33:44 +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
e88b4679f6 Merge branch 'refactor/consteval-specs-move-errors' into refactor/consteval-specs-shared-leaf-util 2026-08-27 13:43:55 +01:00
Alex Kremer
30621e6467 Rename to RpcForwarding errors and move back to rpc-spec 2026-08-27 13:12:53 +01:00
Alex Kremer
577bc40827 Fix clang-tidy 2026-08-26 18:02:45 +01:00
Alex Kremer
389cecb012 Fix merge conflicts 2026-08-26 17:55:14 +01:00
Alex Kremer
ece36bdf64 Merge branch 'refactor/consteval-specs-move-errors' into refactor/consteval-specs-shared-leaf-util 2026-08-26 17:28:10 +01:00
Alex Kremer
5ab47a96e5 Merge branch 'develop' of github.com:XRPLF/clio into refactor/consteval-specs-move-errors 2026-08-26 16:52:52 +01:00
Alex Kremer
866deeaa7d Merge branch 'develop' into refactor/consteval-specs-move-errors 2026-08-26 16:27:37 +01:00
Alex Kremer
4afc3fdb76 chore: Introduce xrpl-rpc-spec 0.1.6 dependency (#3171) 2026-08-26 16:20:30 +01:00
Alex Kremer
8a91ba85c4 refactor: Separate handler registry (#3169) 2026-08-26 14:07:58 +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
Ayaz Salikhov
e6c91a1572 fix: Use credentialTypeValidator in LedgerEntry (#3185) 2026-08-20 15:57:56 +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
Alex Kremer
7f02a67e2c Use some utils from spec instead 2026-08-12 22:23:44 +01:00
Alex Kremer
48faa0cf27 Fix more clang-tidy 2026-08-12 15:04:38 +01:00
Alex Kremer
9d4ee75bd0 Fix doxy 2026-08-12 14:34:10 +01:00
Alex Kremer
aef5b353a2 Fix precommit 2026-08-12 14:26:01 +01:00
Alex Kremer
e31d7b530c Fix clang-tidy 2026-08-12 14:22:37 +01:00
Alex Kremer
95b28f73af Remove dead code 2026-08-12 13:59:11 +01:00
Alex Kremer
3196ef59c1 Use errors from rpcspec 2026-08-12 13:47:44 +01:00
Alex Kremer
0cf14ab07c Resolve conflicts 2026-08-12 11:51:40 +01:00
Ayaz Salikhov
62428a2d91 chore: Update libxrpl to 3.3.0 (#3170) 2026-08-12 09:57:52 +01:00
Alex Kremer
2601f8d688 Introduce rpcspec 0.1.3 dependency 2026-08-11 18:13:47 +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