Timur Ialymov
ecca139447
test: Cover the broker fee leg and ledger state on repayment
...
The exemption covers vault and loan broker pseudo-accounts, but the test
only exercised the vault. LoanPay pays the broker fee into the broker's own
pseudo-account whenever the owner cannot take it, and that reaches the same
authorization check on the other pseudo-account, so drive that path with a
deep-frozen owner.
Two more things the test was silent about: the issuer can repair either line
by hand with TrustSet, because the line already exists, and a repayment that
is refused has to leave every balance where it was. Both are asserted now,
along with the balances and AssetsAvailable moving on the runs that succeed.
2026-08-18 18:58:33 +01:00
Timur Ialymov
bea11fad42
refactor: Hoist the pseudo-account field filter out of the auth check
...
The filter is constant, but building it inline meant a fresh std::set on
every IOU authorization check that reached the unauthorized-line branch,
including the ones on the trading paths. Build it once instead.
It is a function-local static rather than a namespace-scope one because the
SFields it points at are defined in another translation unit.
2026-08-18 18:58:28 +01:00
Timur Ialymov
a83944428f
Merge remote-tracking branch 'origin/develop' into tialymov/FN-85-vault_iou_require_auth
2026-08-18 18:05:46 +01: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
Timur Ialymov
d5cd5d5727
fix: Include the jtx flags header directly in LoanPay_test.cpp
...
The new repayment test calls fset, which was reaching the file only
transitively through LoanTestBase.h, so misc-include-cleaner rejected it.
2026-08-12 14:56:10 +01: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
Timur Ialymov
b43df72c63
fix: Exempt vault and loan broker accounts from IOU authorization
...
A vault whose asset is an IOU from an issuer with RequireAuth owns a trust
line that nobody can authorize. VaultCreate opens it without the auth flag,
and the pseudo-account has no signing key to authorize itself. Deposits and
loan origination never look at that line, so the vault works right up to the
first repayment, the one step that has to credit the vault back. LoanPay
checks authorization there and fails with tecNO_AUTH.
Treat a trust line that a vault or loan broker pseudo-account already owns as
authorized, which is the rule MPT applies today. The exemption covers only
the authorization flag, so a missing line still fails, and it leaves AMM
accounts alone so trading paths keep enforcing RequireAuth unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-12 14:33:52 +01: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
Gregory Tsipenyuk
94bccb3a5a
fix: Fix MPT/DEX Audit/Attackathon reports (Phase 2) ( #7537 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Andrzej Budzanowski <andrzej.budzanowski@neti-soft.com >
Co-authored-by: Marek Foss <marek.foss@neti-soft.com >
Co-authored-by: Alex Kremer <akremer@ripple.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-07 21:53:54 +00:00
Mayukha Vadari
0fb92c3194
refactor: Use SeqProxy instead of uint32 for all sequence-based keylets ( #7890 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-08-07 21:29:11 +00:00