Commit Graph

13510 Commits

Author SHA1 Message Date
JCW
feae1d6e15 Optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:23 +01:00
JCW
7debf3e9f4 Optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:23 +01:00
JCW
90f970be46 Improve performance
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:23 +01:00
JCW
5e060a9e7b Fix
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:22 +01:00
JCW
dca000a60f Optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:22 +01:00
JCW
7500d635bb Fix issues
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:22 +01:00
JCW
3181042f15 Fix issues
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:22 +01:00
JCW
157aa367f2 Fix issues
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:22 +01:00
JCW
48cf042258 Optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:22 +01:00
JCW
61ff2ba0e7 Fix issues
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:21 +01:00
JCW
e19d770b86 performance optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 14:02:21 +01:00
JCW
a128571ab5 Fix issues 2025-09-26 14:02:21 +01:00
JCW
76bb517eb8 Fix issues 2025-09-26 14:02:21 +01:00
JCW
dc221de60c Fix issues 2025-09-26 14:02:21 +01:00
JCW
cdf1109558 Performance improvement 2025-09-26 14:02:18 +01:00
JCW
0fe8f3f62d Hardcode the log style as json
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:55 +01:00
JCW
ab9e6563e4 Fix PR comments
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:54 +01:00
Jingchen
d0f0789490 Update include/xrpl/basics/Log.h
Co-authored-by: Vito Tumas <5780819+Tapanito@users.noreply.github.com>
2025-09-26 13:55:54 +01:00
JCW
d36ef0cd18 Fix formatting
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:54 +01:00
JCW
a90bf169bf Improve coverage
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:54 +01:00
JCW
b3f389d918 Remove unneeded file
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:54 +01:00
JCW
d68f87f968 Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:54 +01:00
JCW
34127593e6 Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:53 +01:00
JCW
9e09595db0 Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:53 +01:00
JCW
856b36d0a5 Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:53 +01:00
JCW
9edba67e64 Fix formatting
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:53 +01:00
JCW
0e4f9a7ccf Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:51 +01:00
JCW
eda9bf1f1a Fix formatting
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:41 +01:00
JCW
43c6e202af Fix to_string error
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:41 +01:00
JCW
e4db80f61d Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:39 +01:00
JCW
af9dde4f75 Fix formatting
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:19 +01:00
JCW
f6d7b90b70 Support structured logs
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:18 +01:00
JCW
1774769226 Support structured logs
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:18 +01:00
JCW
92312801f1 Support structured logs
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-26 13:55:16 +01:00
Jingchen
cfd26f444c fix: Address http header case sensitivity (#5767)
This change makes the regex in `HttpClient.cpp` that matches the content-length http header case insensitive to improve compatibility, as http headers are case insensitive.
2025-09-26 11:40:43 +00:00
tequ
2c3024716b change fixPriceOracleOrder to Supported::yes (#5749) 2025-09-26 12:07:48 +01:00
Bart
a12f5de68d chore: Pin all CI Docker tags (#5813)
To avoid surprises and ensure reproducibility, this change pins all CI Docker image tags to the latest version in the XRPLF/CI repo.
2025-09-25 16:08:07 +00:00
Bronek Kozicki
51c5f2bfc9 Improve ValidatorList invalid UNL manifest logging (#5804)
This change raises logging severity from `INFO` to `WARN` when handling UNL manifest signed with an unexpected / invalid key. It also changes the internal error code for an invalid format of UNL manifest to `invalid` (from `untrusted`).

This is a follow up to problems experienced by an UNL node due to old manifest key configured in `validators.txt`, which would be easier to diagnose with improved logging.

It also replaces a log line with `UNREACHABLE` for an impossible situation when we match UNL manifest key against a configured key which has an invalid type (we cannot configure such a key because of checks when loading configured keys).
2025-09-25 16:14:29 +02:00
Valentin Balaschenko
73ff54143d docs: Add warning about using std::counting_semaphore (#5595)
This adds a comment to avoid using `std::counting_semaphore` until the minimum compiler versions of GCC and Clang have been updated to no longer contain the bug that is present in older compilers.
2025-09-23 13:26:26 +02:00
Bart
08b136528e Revert "Update Conan dependencies: OpenSSL" (#5807)
This change reverts #5617, because it will require extensive testing that will take up more time than we have before the next scheduled release.

Reverting this change does not mean we are abandoning it. We aim to pick it back up once there's a sufficient time window to allow for testing on multiple distros running a mixture of OpenSSL 1.x and 3.x.
2025-09-22 18:27:02 +00:00
Mayukha Vadari
6b8a589447 test: Add STInteger and STParsedJSON tests (#5726)
This change is to improve code coverage (and to simplify #5720 and #5725); there is otherwise no change in functionality. The change adds basic tests for `STInteger` and `STParsedJSON`, so it becomes easier to test smaller changes to the types, as well as removes `STParsedJSONArray`, since it is not used anywhere (including in Clio).
2025-09-22 20:00:31 +02:00
Ed Hennis
ffeabc9642 refactor: Simplify STParsedJSON with some helper functions (#5591)
- Add code coverage for STParsedJSON edge cases

Co-authored-by: Denis Angell <dangell@transia.co>
2025-09-18 19:04:40 +00:00
Ed Hennis
3cbdf818a7 Miscellaneous refactors and updates (#5590)
- Added a new Invariant: `ValidPseudoAccounts` which checks that all pseudo-accounts behave consistently through creation and updates, and that no "real" accounts look like pseudo-accounts (which means they don't have a 0 sequence). 
- `to_short_string(base_uint)`. Like `to_string`, but only returns the first 8 characters. (Similar to how a git commit ID can be abbreviated.) Used as a wrapped sink to prefix most transaction-related messages. More can be added later.
- `XRPL_ASSERT_PARTS`. Convenience wrapper for `XRPL_ASSERT`, which takes the `function` and `description` as separate parameters.
- `SField::sMD_PseudoAccount`. Metadata option for `SField` definitions to indicate that the field, if set in an `AccountRoot` indicates that account is a pseudo-account. Removes the need for hard-coded field lists all over the place. Added the flag to `AMMID` and `VaultID`.
- Added functionality to `SField` ctor to detect both code and name collisions using asserts. And require all SFields to have a name
- Convenience type aliases `STLedgerEntry::const_pointer` and `STLedgerEntry::const_ref`. (`SLE` is an alias to `STLedgerEntry`.)
- Generalized `feeunit.h` (`TaggedFee`) into `unit.h` (`ValueUnit`) and added new "BIPS"-related tags for future use. Also refactored the type restrictions to use Concepts.
- Restructured `transactions.macro` to do two big things
	1. Include the `#include` directives for transactor header files directly in the macro file. Removes the need to update `applySteps.cpp` and the resulting conflicts.
	2. Added a `privileges` parameter to the `TRANSACTION` macro, which specifies some of the operations a transaction is allowed to do. These `privileges` are enforced by invariant checks. Again, removed the need to update scattered lists of transaction types in various checks.
- Unit tests:
	1.  Moved more helper functions into `TestHelpers.h` and `.cpp`. 
	2. Cleaned up the namespaces to prevent / mitigate random collisions and ambiguous symbols, particularly in unity builds.
	3. Generalized `Env::balance` to add support for `MPTIssue` and `Asset`.
	4. Added a set of helper classes to simplify `Env` transaction parameter classes: `JTxField`, `JTxFieldWrapper`, and a bunch of classes derived or aliased from it. For an example of how awesome it is, check the changes `src/test/jtx/escrow.h` for how much simpler the definitions are for `finish_time`, `cancel_time`, `condition`, and `fulfillment`. 
	5. Generalized several of the amount-related helper classes to understand `Asset`s.
     6. `env.balance` for an MPT issuer will return a negative number (or 0) for consistency with IOUs.
2025-09-18 17:55:49 +00:00
Ed Hennis
bd834c87e0 Merge tag '2.6.1-rc1' into ximinez/merge-261rc1
2.6.1-rc1

* tag '2.6.1-rc1':
  Set version to 2.6.1-rc1
  Downgrade to boost 1.83
2025-09-18 11:46:22 -04:00
Jingchen
dc8b37a524 refactor: Modularise ledger (#5493)
This change moves the ledger code to libxrpl.
2025-09-18 11:12:24 -04:00
Bronek Kozicki
617a895af5 chore: Add unit tests dir to code coverage excludes (#5803)
This change excludes unit test code from code coverage reporting.
2025-09-18 06:30:34 -04:00
Bart
1af1048c58 chore: Build and test all configs for daily scheduled run (#5801)
This change re-enables building and testing all configurations, but only for the daily scheduled run. Previously all configurations were run for each merge into the develop branch, but that overwhelmed both the GitHub runners and the Conan remote, and thus they were limited to just a subset of configurations. Now that the number of jobs is limited via `max-parallel: 10`, we should be able to safely enable building all configurations again. However, building them all once a day instead of for each PR merge should be sufficient.
2025-09-17 19:17:48 -04:00
Ed Hennis
f07ba87e51 Merge tag '2.5.1' into upstream--develop
- Ensures the commits don't get orphaned, even though the relevant code
  changes are already included.

* tag '2.5.1':
  Set version to 2.5.1
  Fix: Don't flag consensus as stalled prematurely (#5658)
2025-09-17 19:05:14 -04:00
Bart
e66558a883 chore: Limits CI build and test parallelism to reduce resource contention (#5799)
GitHub runners have a limit on how many concurrent jobs they can actually process (even though they will try to run them all at the same time), and similarly the Conan remote cannot handle hundreds of concurrent requests. Previously, the Conan dependency uploading was already limited to max 10 jobs running in parallel, and this change makes the same change to the build+test workflow.
2025-09-17 22:55:00 +00:00
Mayukha Vadari
510314d344 fix(amendment): Add missing fields for keylets to ledger objects (#5646)
This change adds a fix amendment (`fixIncludeKeyletFields`) that adds:
* `sfSequence` to `Escrow` and `PayChannel`
* `sfOwner` to `SignerList`
* `sfOracleDocumentID` to `Oracle`

This ensures that all ledger entries hold all the information needed to determine their keylet.
2025-09-17 21:34:47 +00:00