Commit Graph

13661 Commits

Author SHA1 Message Date
Ed Hennis
2e7920cd1a Merge remote-tracking branch 'XRPLF/develop' into ximinez/lending-number-simple
* XRPLF/develop:
  Implement Lending Protocol (unsupported) (5270)
2025-12-02 21:34:14 -05:00
Ed Hennis
a538f0e438 Add test case line numbers for Number_test::test_limits()
- Aid tracking down tests that are only failing under certain
  configurations.
2025-12-02 17:14:56 -05:00
Ed Hennis
6c67f1f525 Implement Lending Protocol (unsupported) (#5270)
- Spec: XLS-66
- Introduces amendment "LendingProtocol", but leaves it UNSUPPORTED to
  allow for standalone testing, future development work, and potential
  bug fixes.
- AccountInfo RPC will indicate the type of pseudo-account when
  appropriate.
- Refactors and improves several existing classes and functional areas,
  including Number, STAmount, STObject, json_value, Asset, directory
  handling, View helper functions, and unit test helpers.
2025-12-02 16:38:17 +00:00
Ed Hennis
639d6a953c Refactor the "scaleNumber" conversion functions
- Rename to "fromNumber".
- Instead of returning a pair or tuple, returns a constructed object
  (IOUAmount, STAmount).
2025-12-01 20:22:15 -05:00
Ed Hennis
748888533e Remove trailing zeros from scientific notation Number strings
- Update tests. This has the happy side effect of making some of the string
  representations _more_ consistent between the small and large
  mantissa ranges.
2025-12-01 19:43:40 -05:00
Ed Hennis
8c43a0db93 Clean up some loose ends
- Get rid of commented and unused code.
- Add some asserts and static asserts.
- Use the range_ when possible.
2025-12-01 18:36:18 -05:00
Ed Hennis
cc05e407c2 Force small mantissas in testAMM() 2025-12-01 17:53:23 -05:00
Ed Hennis
aaaf43237c Merge branch 'develop' into ximinez/lending-number-simple 2025-12-01 14:41:41 -05:00
Mayukha Vadari
c9f17dd85d docs: Update CONTRIBUTING.md for XLS submission guidelines (#6065)
This change clarifies the status of XLS in the pull request process.
2025-12-01 12:46:50 -05:00
Ed Hennis
8921f798f0 fixup! fixup! Update several unit tests to work with the new number rules 2025-11-28 22:27:57 -05:00
Ed Hennis
4ad3e9f8e8 fixup! Update several unit tests to work with the new number rules 2025-11-28 21:37:36 -05:00
Ed Hennis
3f87aeb6b5 Update several unit tests to work with the new number rules
- For AMM tests, just disable the SAV amendment because there are
  a boatload of results that depend on the old math. Those will be
  updated later.
2025-11-28 18:43:50 -05:00
Ed Hennis
db52b34f3f Merge branch 'develop' into ximinez/lending-number-simple 2025-11-28 15:53:18 -05:00
Bart
b33b506b90 refactor: Replaces ed25519-donna source by Conan package (#6088)
This change substitutes the `ed25519-donna` source code copy by the Conan recipe added in https://github.com/XRPLF/conan-center-index/pull/23.
2025-11-27 16:51:32 +00:00
Ed Hennis
ae919ad5b7 Start fixing the AMMExtended tests 2025-11-27 02:00:11 -05:00
Ed Hennis
eaaea43f80 Refactor Number internals away from int128 to uint64 & a sign flag 2025-11-27 01:47:31 -05:00
Ed Hennis
a87460b89f Restore the original Number interface
- ctors and accessors return `rep`. Very few things expose
  `internalrep`.
- An exception is "unchecked" and the new "normalized", which explicitly
  take an internalrep. But with those special control flags, it's easier
  to distinguish and control when they are used.
- The goal is to get as much of the non-number code back to the previous
  state as possible.
2025-11-26 18:32:26 -05:00
Ayaz Salikhov
f399749ee2 chore: Add black pre-commit hook (#6086)
This change adds Black as a pre-commit hook to format Python files.
2025-11-26 19:14:17 +00:00
Ayaz Salikhov
2ed4047840 chore: Make conan lockfile generation commands into a script (#6085)
This change moves the lockfile instructions into a script, and instead of removing packages it sets the Conan home directory to a temporary directory.

There are several advantages, such as:
* Not affecting the user's Conan home directory, so there is no need to remove packages.
* Only the script needs to be run, rather than several commands.
2025-11-26 18:43:14 +00:00
Ayaz Salikhov
4e25dc9291 chore: Update lockfile (#6083)
This change update recipes, to make sure we have the best compatibility with latest compilers and so on.
2025-11-26 17:54:36 +00:00
Bart
a18b30b765 docs: Update instructions how to (re)generate conan.lock file (#6070)
This change updates the instructions for how to generate a Conan lockfile that is compatible with Linux, macOS, and Windows.

Whenever Conan dependencies change, the Conan lock file needs to be regenerated. However, different OSes have slightly different requirements, and thus require slightly different dependencies. Luckily a single `conan.lock` file can be used, as long as the union of dependencies is included.

The current instructions in the `BUILD.md` file are insufficient to regenerate the lock file such that it is compatible with all OSes, which this change addresses. The three profiles contain the bare minimum needed to generate the lockfile; it does not particularly matter whether the build type is Debug or Release, for instance.
2025-11-26 17:28:06 +00:00
Bart
856470203a ci: Trigger clio pipeline on PRs targeting release branches (#6080)
This change triggers the Clio pipeline on PRs that target any of the `release*` branches (in addition to the `master` branch), as opposed to only the `release` branch.
2025-11-25 21:03:17 +00:00
Jingchen
b124c9f7e3 refactor: Retire Flow and FlowSortStrands amendments (#6054)
Amendments activated for more than 2 years can be retired. This change retires the Flow and FlowSortStrands amendments.
2025-11-25 14:21:17 +00:00
Ed Hennis
59e6a8107a Merge branch 'develop' into ximinez/lending-number-simple 2025-11-24 21:49:58 -05:00
Bart
b550dc00ed ci: Remove missing commits check (#6077)
This change removes the CI check for missing commits, as well as a stray path to the publish-docs workflow that isn't used in the on-trigger workflow.
2025-11-24 21:43:39 -05:00
Jingchen
21c02232a5 refactor: Retire RequireFullyCanonicalSig amendment (#6035)
Amendments activated for more than 2 years can be retired. This change retires the RequireFullyCanonicalSig amendment.
2025-11-24 13:58:37 +00:00
Jingchen
a791c03dc1 refactor: Retire DeletableAccounts amendment (#6056)
Amendments activated for more than 2 years can be retired. This change retires the DeletableAccounts amendment.
2025-11-24 11:52:08 +00:00
Jingchen
800a315383 refactor: Retire CryptoConditionsSuite amendment (#6036)
Amendments activated for more than 2 years can be retired. This change retires the CryptoConditionsSuite amendment.
2025-11-24 06:23:16 -05:00
Olek
8449c6c365 Fix: nullptr resolving without db config (#6029)
If the config disables SQL db usage, such as a validator:

```
[ledger_tx_tables]
use_tx_tables = 0
```

then the pointer to DB engine is null, but it was still resolved during startup. Although it didn't crash in Release mode, possibly due to the compiler optimizing it away, it did crash in Debug mode. This change explicitly checks for the validity of the pointer and generates a runtime error if not set.
2025-11-21 22:20:45 +00:00
Vito Tumas
58e03190ac docs: Improve VaultWithdraw documentation (#6068) 2025-11-21 16:59:12 -05:00
Ed Hennis
92388c4491 Merge branch 'develop' into ximinez/lending-number-simple 2025-11-21 14:38:58 -05:00
Jingchen
fb74dc28e1 chore: Clean up comment in NetworkOps_test.cpp (#6066)
This change removes a copyright notice that was accidentally copied over from another file.
2025-11-21 17:11:00 +00:00
Pratik Mankawde
e4dccfd49b refactor: Retire DisallowIncoming amendment (#6045)
Amendments activated for more than 2 years can be retired. This change retires the DisallowIncoming amendment.
2025-11-21 15:18:00 +00:00
Jingchen
57f4b4eb7f refactor: Retire Checks amendment (#6055)
Amendments activated for more than 2 years can be retired. This change retires the Checks amendment.
2025-11-21 14:19:43 +00:00
Ayaz Salikhov
adbeb94c2b ci: Only upload artifacts in XRPLF repo owner (#6060)
This change prevents uploading too many artifacts in non-public repositories.
2025-11-20 18:09:03 +00:00
Mayukha Vadari
a3d4be4eaf fix: Set correct index for limit in book_offers CLI (#6043)
This change fixes an indexing typo in the `book_offers` CLI processing, and does not affect the HTTPS/WS RPC processing.
2025-11-20 06:37:28 -05:00
Olek
6ff495fd9b Fix: Perform array size check (#6030)
The `ledger_entry` and `deposit_preauth` requests require an array of credentials. However, the array size is not checked before is gets processing. This fix adds checks and return errors in case array size is too big.
2025-11-19 16:58:18 +00:00
Ed Hennis
e45d847558 Merge branch 'develop' into ximinez/lending-number-simple 2025-11-18 22:51:51 -05:00
sunnyraindy
ad37461ab2 chore: Fix some typos in comments (#6040) 2025-11-18 20:21:35 -05:00
Mayukha Vadari
d9c27da529 refactor: split up RPCHelpers.h into two (#6047)
This PR splits `RPCHelpers.h` into two files, by moving out all the ledger-fetching-related functions into a separate file, `RPCLedgerHelpers.h`. It also moves `getAccountObjects` to `AccountObjects.h`, since it is only used in that one place.
2025-11-18 15:44:39 -05:00
Bart
3fb6acd29e ci: Fix filtering out of Clang 20+ on ARM (#6046)
This change fixes the strategy matrix check to filter out the Clang 20+ on ARM, which still fail due to problems with Boost.
2025-11-17 21:54:13 +00:00
Bart
77b7cef5a7 ci: Use new Debian Trixie images (#6034)
This change uses the new Debian Trixie CI images added by XRPLF/ci#83.
2025-11-17 19:31:19 +00:00
Jingchen
2c187461cc refactor: Retire NegativeUNL amendment (#6033)
Amendments activated for more than 2 years can be retired. This change retires the NegativeUNL amendment.
2025-11-17 14:02:10 +00:00
Ed Hennis
546bfa89d8 For now, skip the larger mantissas in AMM transactions and tests 2025-11-16 20:59:17 -05:00
Ed Hennis
470c9c3936 Fix root2, and add tests for it 2025-11-16 00:18:51 -05:00
Ed Hennis
9f50cc033e Merge branch 'develop' into ximinez/lending-number-simple 2025-11-15 03:13:10 -05:00
Ed Hennis
a5f43fb59b Fix some build errors - unused variables, large constants 2025-11-15 02:59:56 -05:00
Ed Hennis
3451d15e12 Step 3: Automatically switch precision in the transaction engine
- Default Number outside of transaction processing to be "large" so RPC
  will work.
2025-11-15 02:55:48 -05:00
Ed Hennis
595a5ee220 Step 2.5cont: Make some updates to STNumber
- Added test cases min int64.
- Updated numberFromJson range checking to use the larger range
  available from Number.
2025-11-15 00:50:59 -05:00
Ed Hennis
c9ad49faf3 Step 2.5: Run the STNumber tests using both mantissa sizes
- Nothing really needed to be changed in the tests, but I added a couple
  of test cases for the min and max int64.
2025-11-14 19:41:26 -05:00