Commit Graph

9595 Commits

Author SHA1 Message Date
JCW
6ab02caa22 Optimise
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:03 +01:00
JCW
284b825a5f Optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:02 +01:00
JCW
f7c043bd04 Optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:02 +01:00
JCW
dbb14191cb Improve performance
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:02 +01:00
JCW
37aa933462 Fix
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:02 +01:00
JCW
ddfcf49e2b Optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:02 +01:00
JCW
1f3f2a1dc5 Fix issues
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:01 +01:00
JCW
71b568d355 Fix issues
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:01 +01:00
JCW
53c0e7cace Optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:01 +01:00
JCW
dc344e4114 Fix issues
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:01 +01:00
JCW
fbacf83334 performance optimisation
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:01 +01:00
JCW
8f37c8a52e Fix issues 2025-09-03 16:26:00 +01:00
JCW
98c671cc78 Fix issues 2025-09-03 16:26:00 +01:00
JCW
1de3fb0450 Fix issues 2025-09-03 16:26:00 +01:00
JCW
257ea88396 Performance improvement 2025-09-03 16:26:00 +01:00
JCW
6e88693caa Hardcode the log style as json
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:00 +01:00
JCW
c4464f5122 Fix PR comments
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:26:00 +01:00
JCW
bade7a9a10 Fix formatting
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:59 +01:00
JCW
bb7e7ad430 Improve coverage
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:59 +01:00
JCW
57d57705a3 Remove unneeded file
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:59 +01:00
JCW
6ae1ad0c52 Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:59 +01:00
JCW
e5978a388c Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:59 +01:00
JCW
9d8243200f Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:59 +01:00
JCW
c742c669e7 Fix formatting
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:58 +01:00
JCW
7806cac657 Fix to_string error
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:58 +01:00
JCW
ea04c71579 Fix errors
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:58 +01:00
JCW
3cf201de6a Fix formatting
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:57 +01:00
JCW
9d98389df6 Support structured logs
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:57 +01:00
JCW
f18a37f65d Support structured logs
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:57 +01:00
JCW
0dca5025f1 Support structured logs
Signed-off-by: JCW <a1q123456@users.noreply.github.com>
2025-09-03 16:25:53 +01:00
Jingchen
ceb0ce5634 refactor: Decouple net from xrpld and move rpc-related classes to the rpc folder (#5477)
As a step of modularisation, this change moves code from `xrpld` to `libxrpl`.
2025-08-15 23:27:13 +00:00
Michael Legleux
fb89213d4d Set version to 2.6.0-rc2 2025-08-15 14:50:35 -07:00
Elliot.
a14551b151 fix: Change log to debug level for AMM offer retrieval and IOU payment check (#5686)
Reduce log noise by changing two log statements from error/warn level to debug level. These logs occur during normal operation when AMM offers are not available or when IOU authorization checks fail, which are expected scenarios that don't require an elevated log level.
2025-08-14 12:28:01 -04:00
Michael Legleux
da82e52613 Set version to 2.6.0-rc1 2025-08-12 13:40:34 -07:00
Vito Tumas
c9d73b6135 fix: Improve logging of the reason to refuse a peer connection (#5664)
Currently, all peer connection rejections are logged with the reason "slots full". This is inaccurate, as the PeerFinder can also reject connections if they are a duplicate. This change updates the logging logic to correctly report the specific reason (full or duplicate) for a rejected peer connection, providing more accurate diagnostic information.
2025-08-11 18:52:47 +00:00
Oleksandr Hrabar
b7ed99426b fix: Make test suite names match the directory name (#5597)
This change fixes the suite names all around the test files, to make them match to the folder name in which this test files are located. Also, the RCL test files are relocated to the consensus folder, because they are testing consensus functionality.
2025-08-11 14:12:36 -04:00
Mayukha Vadari
97f0747e10 chore: Run prettier on all files (#5657) 2025-08-11 16:15:42 +00:00
Jingchen
b40a3684ae perf: Optimize hash performance by avoiding allocating hash state object (#5469)
We're currently calling `XXH3_createState` and `XXH3_freeState` when hashing an object. However, it may be slow because they call `malloc` and `free`, which may affect the performance. This change avoids the use of the streaming API as much as possible by using an internal buffer.
2025-08-11 06:21:26 -04:00
Ed Hennis
86ef16dbeb Fix: Don't flag consensus as stalled prematurely (#5627)
Fix stalled consensus detection to prevent false positives in situations where there are no disputed transactions.

Stalled consensus detection was added to 2.5.0 in response to a network consensus halt that caused a round to run for over an hour. However, it has a flaw that makes it very easy to have false positives. Those false positives are usually mitigated by other checks that prevent them from having an effect, but there have been several instances of validators "running ahead" because there are circumstances where the other checks are "successful", allowing the stall state to be checked.
2025-08-08 17:13:32 -04:00
Valentin Balaschenko
94decc753b perf: Move mutex to the partition level (#5486)
This change introduces two key optimizations:
* Mutex scope reduction: Limits the lock to individual partitions within `TaggedCache`, reducing contention.
* Decoupling: Removes the tight coupling between `LedgerHistory` and `TaggedCache`, improving modularity and testability.

Lock contention analysis based on eBPF showed significant improvements as a result of this change.
2025-08-07 17:04:07 -04:00
tequ
4eae037fee fix: Ensures canonical order for PriceDataSeries upon PriceOracle creation (#5485)
This change fixes an issue where the order of `PriceDataSeries` was out of sync between when `PriceOracle` was created and when it was updated. Although they are registered in the canonical order when updated, they are created using the order specified in the transaction; this change ensures that they are also registered in the canonical order when created.
2025-08-05 13:08:59 -04:00
Jingchen
b5a63b39d3 refactor: Decouple ledger from xrpld/app (#5492)
This change decouples `ledger` from `xrpld/app`, and therefore fully clears the path to the modularisation of the ledger component. Before this change, `View.cpp` relied on `MPTokenAuthorize::authorize; this change moves `MPTokenAuthorize::authorize` to `View.cpp` to invert the dependency, making ledger a standalone module.
2025-08-05 15:28:56 +00:00
Bronek Kozicki
d835e97490 Fix crash in Slot::deletePeer (#5635)
Fix crash due to recurrent call to `Slot::deletePeer` (via `OverlayImpl::unsquelch`) when a peer is disconnected at just the wrong moment.
2025-07-31 13:08:34 -04:00
Shawn Xie
baf4b8381f fix DeliveredAmount and delivered_amount in transaction metadata for direct MPT transfer (#5569)
The Payment transaction metadata is missing the `DeliveredAmount` field that displays the actual amount delivered to the destination excluding transfer fees. This amendment fixes this problem.
2025-07-29 17:02:33 +00:00
Bronek Kozicki
7179ce9c58 Build options cleanup (#5581)
As we no longer support old compiler versions, we are bringing back some warnings by removing no longer relevant `-Wno-...` options.
2025-07-25 15:48:22 -04:00
Bart
921aef9934 Updates Conan dependencies: Boost 1.86 (#5264) 2025-07-25 11:54:02 -04:00
Bronek Kozicki
e7a7bb83c1 VaultWithdraw destination account bugfix (#5572)
#5224 added (among other things) a `VaultWithdraw` transaction that allows setting the recipient of the withdrawn funds in the `Destination` transaction field. This technically turns this transaction into a payment, and in some respect the implementation does follow payment rules, e.g. enforcement of `lsfRequireDestTag` or `lsfDepositAuth`, or that MPT transfer has destination `MPToken`. However for IOUs, it missed verification that the destination account has a trust line to the asset issuer. Since the default behavior of `accountSendIOU` is to create this trust line (if missing), this is what `VaultWithdraw` currently does. This is incorrect, since the `Destination` might not be interested in holding the asset in question; this basically enables spammy transfers. This change, therefore, removes automatic creation of a trust line to the `Destination` account in `VaultWithdraw`.
2025-07-25 13:53:25 +00:00
Chenna Keshava B S
60e340d356 Include network_id in validations and subscription stream responses (#5579)
This change includes `network_id` data in the validations and ledger subscription stream responses, as well as unit tests to validate the response fields. Fixes #4783
2025-07-23 17:53:18 +00:00
Bronek Kozicki
80d82c5b2b Add support for DomainID in MPTokenIssuance transactions (#5509)
This change adds support for `DomainID` to existing transactions `MPTokenIssuanceCreate` and `MPTokenIssuanceSet`.

In #5224 `DomainID` was added as an access control mechanism for `SingleAssetVault`. The actual implementation of this feature lies in `MPToken` and `MPTokenIssuance`, hence it makes sense to enable the use of `DomainID` also in `MPTokenIssuanceCreate` and `MPTokenIssuanceSet`, following same rules as in Vault:

* `MPTokenIssuanceCreate` and `MPTokenIssuanceSet` can only set `DomainID` if flag `MPTRequireAuth` is set.
* `MPTokenIssuanceCreate` requires that `DomainID` be a non-zero, uint256 number.
* `MPTokenIssuanceSet` allows `DomainID` to be zero (or empty) in which case it will remove `DomainID` from the `MPTokenIssuance` object.

The change is amendment-gated by `SingleAssetVault`. This is a non-breaking change because `SingleAssetVault` amendment is `Supported::no`, i.e. at this moment considered a work in progress, which cannot be enabled on the network.
2025-07-23 13:21:30 -04:00
Vlad
433eeabfa5 chore: Remove unused code after flow cross retirement (#5575)
After the `FlowCross` amendment was retired (#5562), there was still some unused code left. This change removes the remaining remnants.
2025-07-23 13:57:51 +00:00