Commit Graph

14616 Commits

Author SHA1 Message Date
Vito
509c00f4fa chore: Apply clang-tidy include and const-correctness fixes
Keep the develop-merge tree tidy-clean for headers and tests that
include-cleaner and braces checks flagged.
2026-09-02 12:12:02 +02:00
Vito
0d8cd55c3f fix: Align lending tests and holding checks after develop merge
Existing-line LoanSet/LoanAccept paths must skip canAddHolding after
fixCleanup3_4_0, and tests must follow pre-V1.1 VaultID and closed-ended
broker rules so the merged PRs stay green on develop.
2026-09-02 12:09:59 +02:00
Vito
5b832250c8 Merge remote-tracking branch 'origin/tapanito/empty-holding' into ripple/lending-protocol-fv 2026-09-02 11:07:29 +02:00
Vito
6db6e7379a Merge remote-tracking branch 'origin/tapanito/vault-zero-delta' into ripple/lending-protocol-fv 2026-09-02 11:05:38 +02:00
Vito
f9bbf77d86 Merge remote-tracking branch 'origin/tapanito/vault-block-deposit' into ripple/lending-protocol-fv 2026-09-02 11:05:29 +02:00
Vito
9b7efc1e01 Merge remote-tracking branch 'origin/tapanito/loan-broker-set' into ripple/lending-protocol-fv 2026-09-02 11:03:41 +02:00
Vito
d45382bf26 Merge remote-tracking branch 'origin/a1q123456/split-loan-set-and-loan-accept-implementation' into ripple/lending-protocol-fv 2026-09-02 11:03:18 +02:00
Vito
d0108ee9c2 Merge remote-tracking branch 'origin/tapanito/vault-donation' into ripple/lending-protocol-fv 2026-09-02 11:01:43 +02:00
Vito
6428435882 fix: Skip canAddHolding in LoanSet when the holding already exists 2026-09-02 10:55:57 +02:00
Vito
692567078a test: Align zero-withdraw comments with missing-recipient path
ValidVault only allows a missing destination delta when zeroDeltaIsLegitimate; a present zero delta is still rejected.
2026-09-02 10:40:36 +02:00
Vito
5acab52b09 fix: Keep zero-withdraw destination deltas strict
Remove the redundant present-delta exemption so an unsolicited empty holding cannot pass the vault invariant, and cover missing IOU trust lines plus the relevant pre-amendment MPT path.
2026-09-02 10:37:12 +02:00
Vito
02b6e2b653 chore: Use exists() for addEmptyHolding trust-line presence 2026-09-02 10:32:53 +02:00
Vito
8720fa025a test: Assert freeze and payout deltas for addEmptyHolding self-withdraw 2026-09-02 10:04:56 +02:00
Vito
81ace99a75 Merge remote-tracking branch 'origin/develop' into tapanito/vault-zero-delta 2026-09-02 01:47:44 +02:00
Vito
46cb380950 Merge remote-tracking branch 'origin/develop' into tapanito/empty-holding 2026-09-02 01:47:31 +02: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
d4f67f9647 Merge remote-tracking branch 'origin/develop' into tapanito/vault-zero-delta 2026-09-01 21:02:48 +02:00
Vito
b56c7f0a1b Merge remote-tracking branch 'origin/develop' into tapanito/empty-holding 2026-09-01 21:02:39 +02:00
Vito Tumas
7863ac8cf6 fix: Add 60s buffer before closed-ended vault redemption (#8151) 2026-09-01 18:27:05 +00:00
Vito
c68bacc8da test: Describe XRP zero-withdraw SUCCESS as collapse-to-absence
The sponsored leftover-share case is the missing-recipient-delta arm after
economically-zero XRP is collapsed, not the present-delta ternary.
2026-09-01 18:30:15 +02:00
Vito
e7be3cde8e test: Cover sponsored XRP zero-payout vault withdraw
MPT cases never record a destination delta. An XRP vault with a sponsored fee
touches the sender AccountRoot with no economic change, which is the path
ValidVault's zeroDeltaIsLegitimate disjunct is for.
2026-09-01 17:36:29 +02:00
Vito
ea08af56d4 Merge remote-tracking branch 'origin/develop' into tapanito/vault-zero-delta
# Conflicts:
#	src/test/app/vault/VaultBugs_test.cpp
2026-09-01 17:18:59 +02:00
Vito
616e66d44c Merge remote-tracking branch 'origin/develop' into tapanito/empty-holding
# Conflicts:
#	src/test/app/vault/VaultBugs_test.cpp
2026-09-01 17:18:55 +02:00
Vito
389eac40c7 test: Name boolean arguments at MPT zero-withdraw scenario calls 2026-09-01 17:02:58 +02:00
Vito
7fa67ac2eb Merge remote-tracking branch 'origin/develop' into tapanito/empty-holding 2026-09-01 16:48:17 +02:00
Vito
5e97b0ecfe Merge remote-tracking branch 'origin/develop' into tapanito/vault-zero-delta 2026-09-01 16:48:17 +02: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
07f51ca935 fix: Clarify zeroDeltaIsLegitimate comment for post-amendment withdraw
The old wording tied the backstop to pre-amendment empty holding insert, which doWithdraw no longer does once fixCleanup3_4_0 is on.
2026-09-01 16:14:34 +02:00
Vito
249e6133e2 chore: Include base_uint.h for uint256 to_string
clang-tidy include-cleaner requires a direct include for to_string(domainId) in the private-vault DefaultRipple test.
2026-09-01 16:10:02 +02:00
Vito
f5fd243601 fix: Treat an existing IOU line as a no-op in addEmptyHolding
Self-destination VaultWithdraw and LoanBrokerCoverWithdraw called addEmptyHolding and only tolerated tecDUPLICATE, so an issuer clearing asfDefaultRipple made those payouts fail with tecINTERNAL even when the destination already held the asset.
2026-09-01 16:09:11 +02:00
Vito Tumas
b2453b626e fix: Unblock VaultSet and cash-basis LoanSet at AssetsMaximum (#8143) 2026-09-01 14:06:17 +00:00
Vito
cc698452e3 fix: Allow zero-value MPT vault withdraw when the asset holding is missing
A fully impaired pool can legitimately pay nothing for a share burn.
doWithdraw used to insert an empty self-destination MPToken for that
zero payout, which tripped ValidVault and ValidMPTIssuance.
2026-09-01 15:51:59 +02:00
Vito Tumas
de6e5d3a94 fix: Keep VaultDeposit share count after the assetsTotal clamp (#8140) 2026-09-01 13:51:39 +00:00
Copilot
fac20a06f3 refactor: Add common helper function for injected metadata fields in RPCs (#5706)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Mayukha Vadari <mvadari@gmail.com>
Co-authored-by: Mayukha Vadari <mvadari@ripple.com>
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-31 17:21:25 +00:00
Ayaz Salikhov
9a7c5ea593 chore: Bump version to 3.4.0-b3 (#8132) 3.4.0-b3 2026-08-27 17:26:55 +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
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
Ayaz Salikhov
3967ed6d54 build: Update release-info to get better pkg_release (#8131) 2026-08-27 13:34:38 +00:00
Vito Tumas
e0151229b6 fix: Waive unrealized-loss discount on sole-holder VaultClawback (#8119) 2026-08-27 08:15:38 +00:00
Ayaz Salikhov
b6a899583b build: Make packaging reusable (#8126) 2026-08-26 19:44:31 +00:00
Gregory Tsipenyuk
dc3bd9cf00 fix: Fix MPT/DEX Audit/Attackathon reports (Phase 1) (#7334) 2026-08-26 18:09:46 +00:00
Vito Tumas
1e8b136bfb feat: Enable LendingProtocolV1_1 amendment (#8125) 2026-08-26 17:35:54 +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
Ayaz Salikhov
c28d389e0e build: Refactor generate.py to make packaging_config part of config (#8115) 2026-08-26 14:04:58 +00:00
Ayaz Salikhov
d83a84510e chore: Bump version to 3.4.0-b2 (#8120) 3.4.0-b2 2026-08-26 14:03:01 +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
Sergey Kuznetsov
42502e4263 ci: Update CI image (#8121) 2026-08-26 13:42:19 +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