Pratik Mankawde
334d2346b0
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-09-23 18:39:12 +01:00
yinyiqian1
8b1a2282c3
feat: Support ConfidentialMPTMirrorUpdate ( #8192 )
2026-09-22 17:56:52 +00:00
yinyiqian1
0219c01b33
fix: Check zero object id in SponsorshipTransfer preflight ( #8254 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-09-22 17:02:59 +00:00
Pratik Mankawde
870367d71e
merge: bring develop forward into phase-3 tx tracing
...
Resolved src/libxrpl/tx/applySteps.cpp. calculateBaseFee now returns
std::expected<XRPAmount, TER>, so invokePreclaim rejects the transaction when
the fee cannot be computed. Kept that inside this branch's preclaimTer wrapper,
so the returned error also reaches the span's ter_result attribute.
2026-09-21 12:45:45 +01:00
yinyiqian1
24be48ee84
fix: Reject PaymentBurn payments that cross zero balance
2026-09-17 13:33:08 +02:00
Vito Tumas
f6c80fef68
fix: Relax MPT authorize cap for LoanSet and VaultWithdraw
2026-09-17 13:33:07 +02:00
Gregory Tsipenyuk
a0c12420b5
fix: Skip CheckCash limit waiver for the issuer
2026-09-17 13:33:06 +02:00
Jingchen
b60636169a
fix: Make calculateBaseFee exception-safe
2026-09-17 13:33:06 +02:00
Vito Tumas
da260fa42b
fix: Relax Loan Invariants to allow zero-principal LoanPay transaction
2026-09-17 13:33:04 +02:00
Mayukha Vadari
54e62a621f
fix: Prevent simulate from updating the orderbook db
2026-09-17 13:33:02 +02:00
Vito Tumas
6fec2c11bf
refactor: Rename vault accrual accounting to instant interest recognition ( #8237 )
2026-09-17 10:27:44 +00:00
Pratik Mankawde
b14c537df1
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-09-15 16:17:43 +01:00
yinyiqian1
7f55dd390c
feat: Support mirror key epochs in confidential MPT transactions for Key Rotation amendment ( #8210 )
2026-09-14 18:23:38 +00:00
Mayukha Vadari
028783661d
feat: Apply .macro changes from ripple/smart-escrow ( #8157 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-09-09 20:05:58 +00:00
Pratik Mankawde
0fd7ce9f8b
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-09-08 16:02:54 +01:00
yinyiqian1
d5bfe94f15
feat: Support key rotation in MPTokenIssuanceSet ( #7915 )
2026-09-03 21:13:06 +00:00
Mayukha Vadari
58a59c37ed
fix: Add signature prefixes for sfCounterpartySignature and sfSponsorSignature ( #8162 )
2026-09-03 17:19:07 +00:00
Pratik Mankawde
406f9f486c
merge: bring develop forward from phase2-rpc-tracing
...
NetworkOPs.cpp include block: develop replaced DeliveredAmount.h,
MPTokenIssuanceID.h and NFTSyntheticSerializer.h with the single
rpc/detail/SyntheticFields.h. Kept that and this branch's two telemetry
includes.
2026-09-03 17:33:20 +01:00
Denis Angell
37cb4cdbe3
fix: Recycle the escrow reserve in EscrowCancel and EscrowFinish ( #8142 )
2026-09-03 16:27:45 +00:00
Pratik Mankawde
255a4134e7
fix(telemetry): record preclaim errors and apply-stage exceptions
...
The three apply-pipeline stages disagreed on span status. preflight set
Error on any non-success TER, preclaim never set it at all, and the apply
stage recorded nothing when a transaction threw.
- preclaim now sets Error for any non-success result, matching preflight.
Routine retryable results (terPRE_SEQ, telINSUF_FEE_P) are included, so
stage=preclaim error rates will rise and track normal queueing.
- The apply span no longer keys Error on canApply. A dry run reports
tesSUCCESS with canApply false, which was recorded as an error.
Every other path with canApply false already has a non-success result,
so !isTesSuccess covers them.
- Exceptions escaping the apply stage set ter_result=tefEXCEPTION and
record an exception event, then rethrow unchanged, mirroring what
invokePreflight and invokePreclaim already do. The caller still maps
the exception to tefEXCEPTION, so behaviour is unchanged.
- Two comments claimed every exit funnels through the logger lambda. A
throw does not, so they now say each return path.
2026-09-03 14:51:20 +01:00
Chenna Keshava B S
636d2d4851
fix: Reinforce the priority of AMMClawback in case of insufficient reserves ( #7796 )
...
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-09-02 20:48:53 +00:00
Kassaking7
7d7275847d
fix: PermissionedDEX (CreateOffer/Payment) never deletes expired credentials ( #6827 )
2026-09-02 19:38:01 +00:00
Timur Yalymov
5d8fd9824e
fix: Revert credential cleanup for pseudo-accounts ( #8161 )
2026-09-02 15:00:50 +00:00
Vito Tumas
346ea40f69
fix: Allow zero-value MPT vault withdraw when the asset holding is missing ( #8153 )
2026-09-02 13:45:52 +00:00
Vito Tumas
8809bdf3f0
fix: Treat an existing IOU line as a no-op in addEmptyHolding ( #8154 )
2026-09-02 12:15:29 +00:00
Mayukha Vadari
deaf596494
docs: Add AGENTS.md/CLAUDE.md for AI coding agent guidance ( #8067 )
2026-09-01 21:57:34 +00:00
Vito Tumas
7863ac8cf6
fix: Add 60s buffer before closed-ended vault redemption ( #8151 )
2026-09-01 18:27:05 +00:00
Vito Tumas
b3b38e4416
fix: Correct fee-payer XRP delta in ValidVault for sponsored VaultWithdraw ( #8141 )
2026-09-01 14:43:11 +00:00
Vito Tumas
ccd5dc5e06
fix: Keep LoanBrokerDelete valid for auth-required MPT cover ( #8144 )
2026-09-01 14:40:53 +00:00
Vito Tumas
b2453b626e
fix: Unblock VaultSet and cash-basis LoanSet at AssetsMaximum ( #8143 )
2026-09-01 14:06:17 +00:00
Vito Tumas
de6e5d3a94
fix: Keep VaultDeposit share count after the assetsTotal clamp ( #8140 )
2026-09-01 13:51:39 +00:00
Jingchen
7281e0606a
feat: Add vault invariants ( #7732 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-27 17:15:17 +00:00
Pratik Mankawde
cc24101629
Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing
2026-08-27 16:01:01 +01:00
Jingchen
71f5555873
feat: Remove pseudo account field filter ( #8042 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-27 13:52:23 +00:00
Vito Tumas
e0151229b6
fix: Waive unrealized-loss discount on sole-holder VaultClawback ( #8119 )
2026-08-27 08:15:38 +00:00
Pratik Mankawde
2683a30765
perf(telemetry): only build apply-span attributes when the span is recorded
...
Transactor::operator()() set its apply-stage attributes unconditionally, so
every transaction applied paid for a TxFormats::findByType() lookup and a
64-char string built from the view's parent hash, plus one or two transToken()
lookups in the exit funnel, whether or not anything recorded them.
Guard both blocks on the span being active. This is the pattern the sibling
preflight and preclaim spans already use in applySteps.cpp, with a comment
giving this exact reason -- the apply stage was simply missed.
Behaviour is unchanged where the span is live, and setAttribute on an inactive
guard was already a no-op.
2026-08-26 19:09:47 +01:00
Gregory Tsipenyuk
dc3bd9cf00
fix: Fix MPT/DEX Audit/Attackathon reports (Phase 1) ( #7334 )
2026-08-26 18:09:46 +00:00
Vito Tumas
3c47af779c
fix: Clamp Vault Deposit, Withdraw, and Clawback to assetsTotal grid ( #8057 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-26 17:02:05 +00:00
Timur Yalymov
f8fba079fe
fix: Refuse a pseudo-account as the vault clawback holder ( #8111 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-26 13:55:04 +00:00
Vito Tumas
36c165f74d
fix: Prevent early loan impairment and due-date manipulation ( #6557 )
...
Co-authored-by: Ed Hennis <ed@ripple.com >
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
2026-08-26 13:38:24 +00:00
Peter Chen
f7ea645bf4
fix: AMMClawback exact LP token boundary ( #7373 )
2026-08-26 13:14:53 +00:00
Vito Tumas
421af6db79
fix: Reject open-ended vaults at LoanBrokerSet ( #8076 )
...
Co-authored-by: Kenny Lei <3003853+kennyzlei@users.noreply.github.com >
2026-08-26 00:08:25 +00:00
Vito Tumas
5e3d20b3ed
fix: Prevent vault clawback and withdraw overrun ( #8075 )
2026-08-25 17:59:37 +00:00
Vito Tumas
ec042fefee
fix: Absorb Vault invariant rounding noise ( #8055 )
2026-08-25 17:07:58 +00:00
Timur Yalymov
9d41b1bd1c
fix: Exempt vault and loan broker accounts from IOU authorization ( #8013 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-24 16:23:43 +00:00
Timur Yalymov
520650081b
fix: Remove credentials pinned to Vault, LoanBroker, and AMM pseudo-accounts ( #7877 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-24 13:06:44 +00:00
Timur Yalymov
a097ccebae
fix: Tighten destination checks on vault withdrawal ( #7977 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-24 12:50:57 +00:00
Timur Yalymov
046d4dd4af
fix: Reject vault deposits that move nothing from the depositor ( #8014 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 12:30:17 +00:00
Mayukha Vadari
85512541ad
refactor: Collapse transactions.macro settings into a TxSettings struct ( #8001 )
...
Co-authored-by: Timur Yalymov <36795566+tyalymov@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-20 19:25:27 +00:00
Gregory Tsipenyuk
3ab5288ef2
fix: Enforce MPT balance invariants under the latest cleanup amendment ( #7889 )
2026-08-20 19:05:28 +00:00