Vito
ec8a9cdbf8
fix: Clamp Vault Deposit, Withdraw, and Clawback to assetsTotal grid
...
sfAssetsTotal is stored on a coarser STAmount grid than sfAssetsAvailable
and the vault's trust line, so adding the same amount to all three
quantizes differently on each and leaves the vault's books disagreeing
with its actual holdings by a sub-ULP amount. Fix by clamping the
credited/withdrawn amount to what sfAssetsTotal can represent before
applying it to the other rails, via a shared clampToAssetsTotalScale
helper used by all three transactors.
- Deposit: clamp assetsDeposited downward to the assetsTotal grid, then
re-derive shares from the clamped amount so the depositor cannot
receive shares worth more than they paid. Return tecPRECISION_LOSS if
the clamp rounds the deposit to zero.
- Withdraw: clamp assetsWithdrawn upward (i.e. the vault pays out
slightly less) so it never pays out more than it can account for.
Shares are not re-derived, so the withdrawer receives slightly less
per share, favouring remaining holders.
- Clawback: same pattern as withdraw, guarded on assetsRecovered > 0 and
placed after the existing clamp-to-available.
Gated on fixCleanup3_4_0.
2026-08-19 19:54:50 +02:00
Ayaz Salikhov
a6983f8bf3
build: Use AlmaLinux for the RHEL packaging image ( #8045 )
2026-08-19 00:25:46 +00:00
Ayaz Salikhov
4113b105a5
build: Run nix macos builds in CI; deny nix store references ( #8023 )
2026-08-18 23:34:16 +00:00
Olek
7442ff2dec
fix: Enable reserve checking on ending sponsorship ( #8044 )
2026-08-18 22:39:32 +00:00
Kassaking7
666e77b22c
fix: Add ValidPermissionedDEX invariant track for fully consumed offer ( #6736 )
2026-08-18 21:08:02 +00:00
Vito Tumas
8c12de6c56
test: Split Vault_test into topical suites under src/test/app/vault/ ( #8041 )
2026-08-18 17:57:12 +00:00
Shawn Xie
b21fd86f6e
fix: Fix assorted NFT and pDEX bugs ( #7749 )
2026-08-18 17:56:33 +00:00
Ayaz Salikhov
f5f47f1cf5
chore: Publish debian/rpm packages from GitHub directly ( #8031 )
2026-08-18 15:03:45 +00:00
Bart
ca39bff3c8
refactor: Add SHAMapNodeID::isPrefixOf ( #7939 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-08-18 12:35:32 +00:00
Vito Tumas
dd0edc19a0
fix: Conserve funds correctly when LoanPay fee payee is below reserve ( #7843 )
2026-08-18 11:09:33 +00:00
Copilot
820ca5b332
refactor: Convert boost::beast::string_view to std::string_view ( #6306 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Mayukha Vadari <mvadari@gmail.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 >
2026-08-17 23:19:56 +00:00
Gregory Tsipenyuk
1b226c8b2e
perf: Optimize MPT freeze checks to reduce redundant state reads ( #7411 )
...
Co-authored-by: Chenna Keshava B S <21219765+ckeshava@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-17 21:15:16 +00:00
Gregory Tsipenyuk
ca6121c5b3
feat: Enforce MPT CanTransfer on AMM LPTokens transfers ( #7418 )
2026-08-17 20:58:46 +00:00
Gregory Tsipenyuk
c49789086a
fix: Extend locked-MPToken unauthorize check to fixCleanup3_4_0 ( #8004 )
2026-08-17 12:52:20 +00:00
Bart
5337d028a2
refactor: Use unsigned int for branch-related operations ( #7938 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-17 10:07:14 +00:00
Ed Hennis
43d842926a
refactor: Rewrite Transactor::operator() to early return ( #8003 )
2026-08-14 20:18:33 +00:00
Bart
2adffaef72
refactor: Remove support for protocol version 2.1 ( #7432 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-14 15:36:47 +00:00
Ayaz Salikhov
bd87edfc75
test: Check versioned tools in check-tools & print nicely ( #8030 )
2026-08-14 14:07:55 +00:00
Mayukha Vadari
d34aa37b3c
refactor: Use std::format instead of boost::format where it fits ( #7996 )
...
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-14 13:49:08 +00:00
Ayaz Salikhov
a0074f83d3
build: Fix versioned tools for exec wrappers ( #8027 )
2026-08-14 10:06:49 +00:00
Ayaz Salikhov
028ccea7a1
build: Add curl to packaging images ( #8024 )
2026-08-13 17:48:35 +00:00
Pratik Mankawde
df85d43d8a
test: Make Drop50 message drop deterministic in LedgerReplayer test ( #7964 )
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-08-13 16:54:58 +00:00
Jingchen
8e9b1791c5
feat: Add a new closed ended vault to extend SAV ( #7921 )
...
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
2026-08-12 17:07:43 +00:00
Ayaz Salikhov
946827b9bd
build: Respect lld linker if it gets auto-selected ( #8011 )
2026-08-12 12:11:28 -04:00
Vito Tumas
91360c5126
test: Fix LoanBatch broker cover rates and schedule overflow ( #7967 )
2026-08-12 12:11:28 -04:00
Timur Yalymov
af36890c11
test: Verify private-vault DEX permissions survive domain loss ( #7937 )
2026-08-12 12:11:28 -04:00
Timur Yalymov
1281c7a222
refactor: Drop unnecessary associateAsset calls from loan delete paths ( #7986 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 12:10:17 -04:00
Copilot
153b7839a7
refactor: Replace boost::filesystem with std::filesystem across the codebase ( #7012 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: mvadari <8029314+mvadari@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: mathbunnyru <12270691+mathbunnyru@users.noreply.github.com >
2026-08-12 13:40:39 +00:00
Gregory Tsipenyuk
26cc683ec1
fix: Assorted MPT/DEX fixes ( #7299 )
...
Co-authored-by: Valentin Balaschenko <13349202+vlntb@users.noreply.github.com >
2026-08-11 18:15:51 +00:00
Mayukha Vadari
6ca2fb84d4
refactor: Replace Boost trim and to_lower with libxrpl helpers ( #7995 )
2026-08-11 18:15:35 +00:00
klemenfn
a3147740f2
build: Fix GCC 14 compilation ( #7981 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-08-11 13:24:56 +00:00
luisfernandomendozav
d43e5acaa7
fix: Validate account/ident type in gateway_balances ( #7655 )
2026-08-11 13:23:07 +00:00
Ayaz Salikhov
c74724a719
build: Reimagine linker warnings in different scenarios ( #7974 )
2026-08-11 12:44:01 +00:00
Alex Kremer
0a572833ea
chore: Gtest migration followups second pass ( #7888 )
2026-08-11 12:38:40 +00:00
Chenna Keshava B S
639943123c
fix: Validate buy/sell flag in nft RPC input ( #7725 )
2026-08-11 00:49:02 +00:00
Bryan
909cc5bba9
fix: Prevent silent zero AMM clawbacks due to integer MPT rounding ( #7704 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-08-10 21:37:53 +00:00
Peter Chen
6f5de9067a
chore: Mark unreachable branches in Confidential Transfer with UNREACHABLE ( #7903 )
2026-08-10 21:37:38 +00:00
Kassaking7
60291c3ed6
fix: Allow OverrideFreeze to bypass individual/deep freeze on AMM trust lines ( #6959 )
2026-08-10 21:34:28 +00:00
Braedon Klock
4173f7e499
fix: Validate account_lines peer field type ( #7728 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-08-10 21:30:06 +00:00
Ayaz Salikhov
9c292fbe4f
build: Install conan configuration/profiles inside Nix devshell ( #7997 )
2026-08-10 17:49:29 +00:00
yinyiqian1
b19c3c64f2
fix: Add zero keylet check in credential ( #7971 )
2026-08-10 17:47:16 +00:00
Mayukha Vadari
a0e1e578a0
refactor: Remove operator!= overloads that C++20 synthesizes ( #7994 )
2026-08-10 17:23:02 +00:00
Mayukha Vadari
07aa97fda4
test: Use std::string::starts_with/ends_with instead of Boost ( #7992 )
2026-08-10 17:22:40 +00:00
Mayukha Vadari
4f8819565a
fix: Assorted cleanup fixes ( #7988 )
2026-08-10 17:18:22 +00:00
Mayukha Vadari
6580b200db
refactor: Replace boost::lexical_cast with existing alternatives ( #7991 )
2026-08-10 17:10:18 +00:00
Mayukha Vadari
2967f1f0cc
chore: Remove unreferenced legacy documents ( #7989 )
2026-08-10 17:06:29 +00:00
Mayukha Vadari
71e972cbed
refactor: Act on TODOs that are unblocked by C++23 ( #7990 )
2026-08-10 17:05:18 +00:00
Ayaz Salikhov
a24caaa6ea
docs: Rearrange & simplify build/nix/environment docs ( #7985 )
2026-08-10 15:00:30 +00:00
Ayaz Salikhov
07b9c59b89
build: Remove protobuf dependencies from Nix ( #7984 )
2026-08-10 13:08:15 +00:00
Sergey Kuznetsov
63d8772f69
chore: Remove corrosion from nix ( #7982 )
2026-08-10 11:58:49 +00:00