Vito Tumas
2095ae8de6
Merge branch 'develop' into tapanito/refactor-lending-helpers
2026-07-16 12:53:35 +02:00
Vito
6e26766681
refactor: Avoid repeated sfPaymentRemaining lookups in makeRegularPayment
...
Cache the sfPaymentRemaining proxy once instead of re-fetching it at
each of the three places it's read in the loop condition, the final-
payment assert, and the overpayment guard. It's a write-through proxy,
so it still reflects doPayment's mutations each iteration.
Also explicitly zero-initialize totalPaid so the starting baseline
isn't left implicit.
2026-07-16 12:53:07 +02:00
Mayukha Vadari
b42cde3e85
refactor: Remove redundant enable checks in ConfidentialMPT txs ( #7809 )
2026-07-16 09:51:19 +00:00
Vito Tumas
6d60b12e55
Merge branch 'develop' into tapanito/refactor-lending-helpers
2026-07-16 10:46:19 +02:00
Vlad
433e5f6896
fix: Reject zero CheckID in CheckCancel and CheckCash ( #7685 )
2026-07-15 22:08:45 +00:00
Vito
13c9800448
refactor: Address review feedback on payment-type split
...
Extract loanRatesFor() to replace the identical 4-line
managementFeeRate/interestRate/periodicRate preamble repeated in
makeFullPayment, makeLatePayment, and makeRegularPayment.
Clarify the constructLoanState(SLE::const_ref) doc comment to note
it's an overload of the 3-Number constructLoanState() above it,
rather than reading as a standalone function.
2026-07-15 14:56:57 +02:00
Vito
91ecdc8383
refactor: Split loanMakePayment into per-payment-type functions
...
loanMakePayment mixed shared guard checks with the full logic for
each of the four payment types in one large function. Split the
type-specific logic into makeFullPayment, makeLatePayment, and
makeRegularPayment (covering both Regular and Overpayment, which
share the same amortization loop), leaving loanMakePayment as a thin
dispatcher: run the shared guards, then switch on paymentType.
Each new function derives the loan-scale/periodic-rate/management-fee
values it needs from the Loan and LoanBroker SLEs directly rather than
having them threaded in, consistent with the rest of this refactor.
2026-07-15 14:47:18 +02:00
Vito
fa7d72d2a7
refactor: Dedupe interest rounding and drop dead payment branches
...
Extract roundAndSplitInterest to replace three identical inline
lambdas in computeLatePayment, computeFullPayment, and
computeOverpaymentComponents that round raw interest and split it
into net interest and management fee.
Also drop the UNREACHABLE fallback in loanMakePayment's Full and Late
branches: computeFullPayment and computeLatePayment only ever fail
with a genuine error TER, never tesSUCCESS, so the "no-op" outcome
that pattern guards against (needed for the Overpayment path, where
it's real) can't happen here.
2026-07-15 14:26:31 +02:00
Vito
89347cf091
refactor: Pass Loan SLE directly into payment-computation helpers
...
doPayment, doOverpayment, computeFullPayment, and computeLatePayment
each took a long list of individually-fetched proxy/value parameters
that were always sourced from the same Loan ledger object at their
single call site. Take SLE::ref/const_ref directly instead and unwrap
fields internally, cutting parameter counts and removing threading
duplication in loanMakePayment. computePaymentComponents gains a thin
SLE-unwrapping overload alongside its existing value-based form, which
stays for direct exercise by the unit test model-based checks.
Also renames constructRoundedLoanState to a constructLoanState
overload for consistency with the other overload.
2026-07-15 13:51:54 +02:00
Sophia Xie
a0fd1cce54
fix: Re-store nodes missing from both backends during online_delete rotation ( #7763 )
...
Co-authored-by: Valentin Balaschenko <13349202+vlntb@users.noreply.github.com >
2026-07-14 23:42:40 +00:00
Kassaking7
cda63d00a2
fix: Add amendment sponsor for AccountRootsDeletedClean ( #7801 )
2026-07-14 19:41:53 +00:00
Ed Hennis
530e09dbe8
fix: Update base_uint and test changes released in 3.1.3 ( #7570 )
...
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
2026-07-14 18:48:10 +00:00
Ed Hennis
f10dd7b450
fix: Handle rounding just above kMaxRep more accurately ( #7389 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-07-14 18:47:41 +00:00
Ed Hennis
0a4676d947
fix: Document and assert "after" is never null in invariants ( #7354 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-07-14 18:16:46 +00:00
Gregory Tsipenyuk
2403670da9
fix: Strengthen Clawback invariant checks for MPT balances ( #7285 )
2026-07-14 14:31:06 +00:00
Jingchen
c621136748
test: Add unit tests for IP address related functions ( #7744 )
...
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Ed Hennis <ed@ripple.com >
2026-07-14 14:29:18 +00:00
Alex Kremer
73e97b8b84
test: Add JSON array size tests ( #7592 )
2026-07-14 12:35:04 +00:00
Ayaz Salikhov
e1d4f357dc
chore: Enable most readability checks ( #7772 )
2026-07-14 12:21:40 +00:00
Peter Chen
752dab8b30
feat: Add delegate filter param for account_tx RPC ( #6126 )
2026-07-13 18:44:59 +00:00
Mayukha Vadari
86583bc34e
refactor: Move jss.h include out of Indexes.h ( #7799 )
2026-07-13 17:44:47 +00:00
Ayaz Salikhov
73b6852a12
style: Unify style for all Doxygen comments ( #7776 )
2026-07-13 10:40:40 +00:00
Ed Hennis
8306ac7710
fix: Improve Number addition/subtraction rounding ( #7369 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-11 00:18:31 +00:00
Olek
fd2cc6dcb3
feat: XLS-68: Sponsor, #5887 continuation ( #7350 )
...
Co-authored-by: tequ <git@tequ.dev >
Co-authored-by: yinyiqian1 <yqian@ripple.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Mayukha Vadari <mvadari@gmail.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Peter Chen <34582813+PeterChen13579@users.noreply.github.com >
Co-authored-by: Zhiyuan Wang <96991820+Kassaking7@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <asalikhov@ripple.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Zhiyuan Wang <1830604455@qq.com >
2026-07-10 21:58:19 +00:00
Ayaz Salikhov
58af1e6f18
release: Bump version to 3.3.0-b1 ( #7755 )
2026-07-08 12:40:24 +00:00
Ayaz Salikhov
e372c45836
chore: Enable most performance checks ( #7727 )
2026-07-07 21:03:56 +00:00
Ayaz Salikhov
2ebc96a4a6
perf: Use std::from/to_chars for JSON double parsing/formating ( #7735 )
2026-07-07 21:02:39 +00:00
Ayaz Salikhov
c5a6de6ef7
chore: Enable most cppcoreguidelines checks ( #7660 )
2026-07-07 13:12:52 +00:00
Marek Foss
f5e63f8a91
test: Migrate basics Beast tests to GTest ( #7136 )
...
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-06 19:48:36 +00:00
Marek Foss
7a153a2bce
test: Migrate resource, shamap Beast tests to GTest ( #7133 )
...
Co-authored-by: Alex Kremer <akremer@ripple.com >
2026-07-06 17:26:19 +00:00
Ayaz Salikhov
f59d5c0894
chore: Enable most misc checks ( #7663 )
2026-07-06 15:22:11 +00:00
Ayaz Salikhov
d07d2aba2e
chore: Enable most modernize checks ( #7664 )
2026-07-06 12:19:52 +00:00
Ayaz Salikhov
c92285f10d
chore: Delete dead code ( #7718 )
2026-07-03 15:59:20 +00:00
Ayaz Salikhov
53649cc298
chore: Enable modernize-use-constraints ( #7715 )
2026-07-03 14:28:15 +00:00
Ayaz Salikhov
f151293e8a
chore: Enable modernize-avoid-bind ( #7711 )
2026-07-03 11:17:03 +00:00
Ayaz Salikhov
7ba1d76d05
chore: Enable modernize-use-auto ( #7707 )
2026-07-02 20:02:55 +00:00
yinyiqian1
6003fd03fc
feat: Enable ConfidentialTransfer and BatchV1_1 ( #7698 )
2026-07-02 18:37:37 +00:00
Ayaz Salikhov
41622b87ae
chore: Enable modernize-unary-static-assert ( #7705 )
2026-07-02 18:30:59 +00:00
Ayaz Salikhov
6f0f5b8bb3
chore: Make clang-tidy happy on macOS ( #7701 )
2026-07-02 16:26:09 +00:00
Timothy Banks
4c619e8a85
refactor: Retire DisallowIncomingV1 fix ( #7364 )
2026-07-02 14:17:32 +00:00
Ayaz Salikhov
8e378c4f47
build: Add verify-headers target to cleanup headers ( #7670 )
2026-07-01 23:14:17 +00:00
Timothy Banks
c53aafa6bf
refactor: Retire InnerObjTemplate fix ( #7368 )
2026-07-01 15:36:28 +00:00
Vito Tumas
0d149ba5b6
fix: Disable AMM creation with Vault shares ( #7666 )
2026-07-01 15:04:38 +00:00
Ayaz Salikhov
d1ff948244
test: Add tests for TMProofPathResponse and TMReplayDeltaResponse invalid hash/key sizes ( #7593 )
2026-07-01 13:30:03 +00:00
Vito Tumas
ea13be81b7
feat: Add an invariant to ensure object deletion also deletes its pseudo-account ( #7445 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-07-01 13:21:23 +00:00
Denis Angell
86d8b244d6
feat: Add Batch (XLS-56) V1_1 ( #6446 )
...
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
2026-07-01 12:47:14 +00:00
Vito Tumas
ecf7f805c9
feat: Introduce lending 1.1 amendment and add MemoData field to VaultDelete transaction ( #6324 )
2026-06-30 23:51:41 +00:00
Ayaz Salikhov
8abbd1ba3a
chore: Use std::ranges where possible ( #7634 )
2026-06-30 11:03:19 +00:00
Ayaz Salikhov
74b55a59b2
chore: Enable most bugprone checks ( #7643 )
2026-06-29 13:20:17 +00:00
Shawn Xie
768d7603b1
feat: Confidential Transfer for MPT ( #5860 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: chuanshanjida <chuanshanjida@outlook.com >
Co-authored-by: Ed Hennis <ed@ripple.com >
Co-authored-by: Jingchen <a1q123456@users.noreply.github.com >
Co-authored-by: Denis Angell <dangell@transia.co >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
Co-authored-by: yinyiqian1 <yqian@ripple.com >
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com >
Co-authored-by: Bronek Kozicki <brok@incorrekt.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
Co-authored-by: Valentin Balaschenko <13349202+vlntb@users.noreply.github.com >
Co-authored-by: tequ <git@tequ.dev >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: Peter Chen <34582813+PeterChen13579@users.noreply.github.com >
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
Co-authored-by: Zhiyuan Wang <96991820+Kassaking7@users.noreply.github.com >
Co-authored-by: Alex Kremer <akremer@ripple.com >
Co-authored-by: Sergey Kuznetsov <skuznetsov@ripple.com >
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gregory Tsipenyuk <gregtatcam@users.noreply.github.com >
Co-authored-by: chuanshanjida <chuanshanjida@outlook.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Peter Chen <ychen@ripple.com >
Co-authored-by: Timothy Banks <timothyaaronbanks@gmail.com >
Co-authored-by: Timothy Banks <tbanks@ripple.com >
2026-06-27 01:20:38 +00:00
yinyiqian1
fd8a915243
fix: Use trustline balance direction to validate IOU PaymentMint/PaymentBurn ( #7584 )
2026-06-26 22:26:53 +00:00