Ed Hennis
764be7f20f
Merge remote-tracking branch 'XRPLF/develop' into ximinez/number-round-maxrep-down
...
* XRPLF/develop:
test: Add null check unit test for `Oracle::aggregatePrice` (7306)
ci: Patch conan recipe for Nix to be able to use on macOS (7532)
ci: Run sanitizers on release builds too (7527)
fix: Correct hybrid offer deletion on credential expiry (6843)
ci: Make sanitizer flags lists in the profile, not a string (7449)
ci: Make configurations launch on certain event types (7447)
fix: Add [[maybe_unused]] to fix320Enabled for assert=OFF builds (7446)
ci: Add `gh` and `file` to nix packages (7444)
fix: Disable transaction invariants (7409)
perf: Dispatch "hasInvalidAmount()" on type tag instead of dynamic_cast (7402)
refactor: Retire fixUniversalNumber amendment (5962)
test: Do not create data directory for memory databases (7323)
ci: Launch upload-conan-deps on profile change (7442)
2026-06-11 19:39:47 -04:00
Ed Hennis
a1cfa89e15
test: Add more Number edge case tests, showing failures
...
- NumberAddDirectedSignWrong
- Addition of two negative numbers with the same exponent rounds
ToNearest in the wrong direction.
- Also include unit test cases with same exponent, and mixed signs.
- No rounding issues in any combination, because the exponent can't
change.
- NumberAddToNearestPicksFarther
- In scenarios where the two operands have different signs, and
significantly different exponents, you can end up in a situation
where the rounding looks like 0.5, which may round down to even, but
is actually 0.5....nnn, which should always round up, you get the
wrong result.
2026-06-11 19:38:21 -04:00
Ed Hennis
5c62c15ad8
Future proofing: Rename Large and Enabled to Large330 and Enabled330
...
- If more fixes need to be made in the future, they can be added after,
instead of needing to do the "rename dance", I had to do with this PR.
2026-06-11 19:38:20 -04:00
Ed Hennis
772e0c30f7
clang-tidy: rename MantissaScale enums from "3_2_0" to "320"
2026-06-11 19:38:20 -04:00
Ed Hennis
182ca1c12f
Clean up the "New" names
2026-06-11 19:38:20 -04:00
Ed Hennis
2e97056b40
Update to use a new amendment, since this PR will not be part of 3.2.0
...
- This requires creating yet another MantissaScale, and CuspRoundingFix
option.
2026-06-11 19:38:03 -04:00
Ed Hennis
1162ccf7f4
Clean up tests
2026-06-11 19:37:57 -04:00
Ed Hennis
07ae5fa867
Reorganize the subtraction tests
2026-06-11 19:37:56 -04:00
Ed Hennis
6cc45297d7
Fix formatting, add an assert
2026-06-11 19:37:56 -04:00
Ed Hennis
e77b154edc
Include rounding in failed unit tests
2026-06-11 19:37:56 -04:00
Ed Hennis
64cb53629d
Rework subtraction rounding (again) for more accuracy
...
- Go back to the old method of computing the mantissa, but when post
processing, expand the mantissa to slightly larger than maxMantissa,
then in doRoundDown, if the result is not exact, subtract one.
Finally, let doNormalize figure out the rounding of the result.
2026-06-11 19:37:55 -04:00
Ed Hennis
0a24023797
clang-tidy: template param names, const correctness, braces
2026-06-11 19:37:55 -04:00
Ed Hennis
73bd964917
Remove the kMaxRep+1 rounding tests
2026-06-11 19:37:54 -04:00
Ed Hennis
48e0ca72b0
Improve accuracy of Number::operator+=
...
- Use more of the available range of the uint128 operands.
- Also refactor Number::Guard::round() to return an enum.
2026-06-11 19:37:54 -04:00
Ed Hennis
6d89fbef7a
Experimental: Scale addition operands up to preserve accuracy
2026-06-11 19:37:54 -04:00
Ed Hennis
b624b2eeae
Include upward, write tests based on "expected" behavior
2026-06-11 19:37:54 -04:00
Ed Hennis
f255ef6214
test: Add another rounding unit test
2026-06-11 19:37:53 -04:00
Pratik Mankawde
df395d6851
test: Add null check unit test for Oracle::aggregatePrice ( #7306 )
...
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
2026-06-11 18:05:36 +00:00
Zhiyuan Wang
09c36d066e
fix: Correct hybrid offer deletion on credential expiry ( #6843 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-06-10 20:42:41 +00:00
Pratik Mankawde
8a4bf2dee6
refactor: Retire fixUniversalNumber amendment ( #5962 )
...
Signed-off-by: Pratik Mankawde <pmankawde@ripple.com >
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-06-10 10:16:03 +00:00
Ed Hennis
2cbc3c139e
fix: Fix Number comparison operator ( #7406 )
2026-06-09 17:46:56 +00:00
Ayaz Salikhov
fccb109e48
feat: Use C++ 23 standard ( #7431 )
2026-06-09 17:36:17 +00:00
Bart
c552eb333f
refactor: Change config section and key string literals into constants ( #7095 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-06-09 14:58:21 +00:00
Bart
c9769d1add
refactor: Use std::move and std::string_view where possible ( #7424 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-06-09 13:56:32 +00:00
Ayaz Salikhov
2111bb4b95
ci: Update clang-tidy to nix-based v22 ( #7412 )
2026-06-05 14:11:47 +00:00
yinyiqian1
e5cf1a0985
fix: Add zero NFT Offer ID check for NFTokenCancelOffer ( #7391 )
2026-06-03 19:30:20 +00:00
Vito Tumas
225ed204ad
test: Suppress invariant-failure logs in Vault and LoanBroker bug-regression tests ( #7379 )
2026-06-02 17:12:09 +00:00
Vito Tumas
109b649106
refactor: Use STLedgerEntry type aliases instead of std::shared_ptr ( #7282 )
2026-06-01 15:27:13 +00:00
Vito Tumas
99431d7833
fix: Pin overpayment principal reduction to exact on-grid value ( #7360 )
2026-05-31 22:54:23 +00:00
Ed Hennis
47365f4220
fix: Improve upward rounding edge cases for Number::operator/= ( #7328 )
...
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 >
2026-05-31 00:23:29 +00:00
Bart
1599c1a672
refactor: Revert "perf: Remove unnecessary caches ( #5439 )" ( #7359 )
...
Co-authored-by: Bart <11445373+bthomee@users.noreply.github.com >
2026-05-30 18:48:59 +00:00
yinyiqian1
763dd503be
fix: Add zero domainID check for permissionedDomain ( #7362 )
2026-05-30 00:16:25 +00:00
Ed Hennis
7da643d864
fix: Fix a rounding error at the Number::maxRep cusp ( #7051 )
...
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 >
2026-05-27 15:19:20 +00:00
Vito Tumas
49567e7283
fix: Fix edge-case where vault-depositor may get stuck ( #7139 )
2026-05-26 18:18:40 +00:00
Vito Tumas
633ef4706f
fix: Fix VaultInvariant and VaultDeposit precision bugs at IOU scale boundaries ( #7272 )
...
Co-authored-by: Bart <bthomee@users.noreply.github.com >
2026-05-26 16:32:44 +00:00
Vito Tumas
22a21b175e
fix: Include management-fee delta in doOverpayment assertion ( #7039 )
2026-05-26 14:01:52 +00:00
Jingchen
a911f9089e
fix: Use consistent scale for debtTotal ( #7093 )
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-24 20:44:29 +00:00
Peter Chen
e34c2667d7
fix: Skip deleted book directories and non-root modifications in ValidBookDirectory invariant ( #7312 )
2026-05-24 20:37:16 +00:00
Gregory Tsipenyuk
dcd2ff0b5f
fix: Fix non-canonical MPT amount ( #7117 )
...
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-05-23 06:40:26 +00:00
Jingchen
179e73594a
fix: Check if the MPT first loss cover can be sent to the broker before deleting the broker ( #7125 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
2026-05-22 11:58:48 +00:00
Gregory Tsipenyuk
3547a9335f
fix: Add assorted MPT/DEX fixes ( #7040 )
...
Co-authored-by: xrplf-ai-reviewer[bot] <266832837+xrplf-ai-reviewer[bot]@users.noreply.github.com>
Co-authored-by: Shawn Xie <35279399+shawnxie999@users.noreply.github.com >
2026-05-21 18:29:53 +00:00
Vito Tumas
7fdaa0a5ef
fix: Fix IOU precision issues in LoanBrokerCover transactions ( #7274 )
2026-05-21 14:51:58 +00:00
Vito Tumas
795dc5e364
fix: Avoid principal-zeroing in non-final loan payments at coarse scale ( #7050 )
...
Co-authored-by: Ed Hennis <ed@ripple.com >
2026-05-21 14:46:26 +00:00
Shawn Xie
28cc20c816
fix: Fix wrong hybrid offer orderbook placement and update LedgerStateFix to amend ExchangeRate meta ( #7087 )
...
Co-authored-by: Peter Chen <ychen@ripple.com >
2026-05-21 06:19:04 +00:00
Alex Kremer
a830ab10ef
style: More clang-tidy identifier renaming ( #7290 )
2026-05-20 21:31:15 +00:00
Shawn Xie
8c0080020f
fix: Update pDEX invariant firing under a valid offer deletion ( #7118 )
...
Co-authored-by: Peter Chen <ychen@ripple.com >
2026-05-20 21:10:04 +00:00
yinyiqian1
9cb0740673
fix: Fix multisign and signfor to check for delegate ( #7064 )
2026-05-20 20:24:09 +00:00
Mayukha Vadari
242ce3e9e4
refactor: Fix sfGeneric and sfInvalid field names ( #7300 )
2026-05-20 19:47:59 +00:00
box4wangjing
a5d238e7d4
docs: Fix some comments to improve readability ( #7122 )
...
Signed-off-by: box4wangjing <box4wangjing@outlook.com >
Co-authored-by: Mayukha Vadari <mvadari@ripple.com >
2026-05-20 19:46:45 +00:00
Vito Tumas
9cb049276d
feat: Propagate underlying MPT flags to vault shares ( #7077 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: Denis Angell <dangell@transia.co >
Co-authored-by: Fomo <508629+shortthefomo@users.noreply.github.com >
Co-authored-by: Bart <bthomee@users.noreply.github.com >
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-20 19:44:09 +00:00