Commit Graph

13405 Commits

Author SHA1 Message Date
Bronek Kozicki
e3d5be39ed Merge branch 'develop' into Bronek/upgrades_rolled_up 2025-08-04 11:33:20 +01:00
Ayaz Salikhov
31c99caa65 Revert "ci: Build all conan dependencies from source for now (#5623)" (#5639)
This reverts commit 9b45b6888b.
2025-07-31 14:01:43 -04: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
Bronek Kozicki
482315fc42 Merge branch 'develop' into Bronek/upgrades_rolled_up 2025-07-29 18:04:25 +01: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
Ayaz Salikhov
9b45b6888b ci: Build all conan dependencies from source for now (#5623) 2025-07-29 15:29:38 +00:00
Bronek Kozicki
4e3810e0b2 Revert "Set 24 jobs for windows"
This reverts commit ad184d9ef8.
2025-07-26 21:34:51 +01:00
Bronek Kozicki
ed2fa19997 Disable CONAN_URL 2025-07-26 21:33:28 +01:00
Bronek Kozicki
ad184d9ef8 Set 24 jobs for windows 2025-07-26 17:14:38 +01:00
Bronek Kozicki
597de4dbb0 Reduce number of jobs for windows build again 2025-07-26 14:46:14 +01:00
Bronek Kozicki
804614e2a0 Suppress warning "operands are different enum types" in grpc 2025-07-26 14:45:05 +01:00
Bronek Kozicki
f8a9886ece Disable verbosity, reduce number of jobs for windows build 2025-07-26 09:56:35 +01: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
Bronek Kozicki
de54c7ead3 Change dependencies conan options to explicitly apply to xrpl only 2025-07-25 17:08:31 +01:00
Bronek Kozicki
3a94f22da7 Merge branch 'develop' into Bronek/upgrades_rolled_up 2025-07-25 17:02:04 +01:00
Bart
921aef9934 Updates Conan dependencies: Boost 1.86 (#5264) 2025-07-25 11:54:02 -04:00
Bronek Kozicki
9169b58c08 Switch Windows build to dynamic, for grpc_cpp_plugin 2025-07-25 15:03:57 +01: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
Bronek Kozicki
3c3bc8fa21 Remove BOOST_ASIO_DISABLE_CONCEPTS from default profile 2025-07-25 12:54:20 +01:00
Bronek Kozicki
ab857068ed Merge branch 'develop' into Bronek/upgrades_rolled_up 2025-07-25 09:16:49 +01:00
Bart
5c2a3a2779 refactor: Update rocksdb (#5568)
This change updates RocksDB to its latest version. RocksDB is backward-compatible, so even though this is a major version bump, databases created with previous versions will continue to function.

The external RocksDB folder is removed, as the latest version available via Conan Center no longer needs custom patches.
2025-07-24 14:53:14 -04:00
Bronek Kozicki
7f60624ccd Switch to clang-16 2025-07-24 16:49:52 +01:00
Bronek Kozicki
759d6a3f2b Switch instrumentation build to clang-17 2025-07-24 15:34:53 +01:00
Bronek Kozicki
6cb1ae6666 Fix grpc error: No target 'grpc_cpp_plugin' 2025-07-24 15:29:32 +01:00
Bronek Kozicki
47875cee52 Disable grpc plugins 2025-07-24 15:22:40 +01:00
Bronek Kozicki
8b50263c2b Merge branch 'Bronek/external_protobuf' into Bronek/upgrades_rolled_up 2025-07-24 15:11:32 +01:00
Bronek Kozicki
64233c9f47 Merge branch 'develop' into Bronek/upgrades_rolled_up 2025-07-24 14:43:11 +01:00
Bronek Kozicki
b2960b9e7f Switch instrumentation workflow to use dependencies (#5607)
Before `XRPLF/ci` images, we did not have a `dependencies:` job for clang-16, so `instrumentation:` had to build its own dependencies. Now we have clang-16 Conan dependencies built in a separate job that can be used.
2025-07-24 09:20:50 -04:00
Bronek Kozicki
2ea247bb9c Add workarounds for instrumentation step 2025-07-24 12:44:39 +01:00
Bronek Kozicki
bd8242d805 Add conan export to workflows 2025-07-24 12:22:08 +01:00
Bronek Kozicki
1043388407 Document new external/protobuf 2025-07-24 12:21:11 +01:00
Bronek Kozicki
6ba0ec479b Add external/protobuf
Only needed until this PR is merged
https://github.com/conan-io/conan-center-index/pull/27982
2025-07-24 12:21:05 +01:00
Bronek Kozicki
b527194743 Fix link error due to duplicate __cxxabiv1::__cxa_allocate_exception 2025-07-24 12:06:59 +01:00
Bronek Kozicki
5713f9782a chore: Rename conan profile to default (#5599)
This change renames the `libxrpl` profile to `default` to make it more usable.
2025-07-24 10:35:47 +00:00
Bronek Kozicki
615e380fab Updates Conan dependencies: Boost #5264 2025-07-24 09:40:55 +01:00
Bronek Kozicki
901654a966 refactor: Update rocksdb #5568 2025-07-24 09:39:42 +01:00
Bronek Kozicki
8ad9f4b768 Updates protobuf and grpc #5589 2025-07-24 09:37:35 +01:00
Bronek Kozicki
dd68fe0e2c Add external/protobuf
Only needed until this PR is merged
https://github.com/conan-io/conan-center-index/pull/27982
2025-07-24 09:33:35 +01: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
Jingchen
faa781b71f Remove obsolete owner pays fee feature and XRPL_ABANDON stanza (#5550)
If a feature was never voted on then it is safe to remove.
2025-07-23 13:27:41 +00:00
Valentin Balaschenko
c233df720a refactor: Makes HashRouter flags more type-safe (#5371)
This change addresses the issue #5336: Refactor HashRouter flags to be more type-safe.

* Switched numeric flags to enum type.
* Updated unit tests
2025-07-23 12:03:12 +00:00
Bronek Kozicki
7ff4f79d30 Fix clang-format CI job (#5598)
For jobs running in containers, $GITHUB_WORKSPACE and ${{ github.workspace }} might not be the same directory. The actions/checkout step is supposed to checkout into `$GITHUB_WORKSPACE` and then add it to safe.directory (see instructions at https://github.com/actions/checkout), but that's apparently not happening for some container images. We can't be sure what is actually happening, so we preemptively add both directories to `safe.directory`. See also the GitHub issue opened in 2022 that still has not been resolved https://github.com/actions/runner/issues/2058.
2025-07-23 10:44:18 +00:00
Luc des Trois Maisons
60909655d3 Restructure beast::rngfill (#5563)
The current implementation of rngfill is prone to false warnings from GCC about array bounds violations. Looking at the code, the implementation naively manipulates both the bytes count and the buffer pointer directly to ensure the trailing memcpy doesn't overrun the buffer. As expressed, there is a data dependency on both fields between loop iterations.

Now, ideally, an optimizing compiler would realize that these dependencies were unnecessary and end up restructuring its intermediate representation into a functionally equivalent form with them absent. However, the point at which this occurs may be disjoint from when warning analyses are performed, potentially rendering them more difficult to
determine precisely.

In addition, it may also consume a portion of the budget the optimizer has allocated to attempting to improve a translation unit's performance. Given this is a function template which requires context-sensitive instantiation, this code would be more prone than most to being inlined, with a decrease in optimization budget corresponding to the effort the optimizer has already expended, having already optimized one or more calling functions. Thus, the scope for impacting the the ultimate quality of the code generated is elevated.

For this change, we rearrange things so that the location and contents of each memcpy can be computed independently, relying on a simple loop iteration counter as the only changing input between iterations.
2025-07-22 11:42:43 -04:00
Bart Thomee
95a8d84f1f Temporarily compile using Clang 17 2025-07-22 10:44:19 -04:00
Bart Thomee
5a2004332b Temporarily compile using Clang 17 2025-07-22 10:32:26 -04:00
Bart Thomee
9a56a5b788 Temporarily disable ripple remote 2025-07-21 17:45:16 -04:00
Bart Thomee
605c8bd377 Temporarily disable ripple remote 2025-07-21 17:10:19 -04:00
Bart Thomee
900131d09f Temporarily disable ripple remote 2025-07-21 16:36:24 -04:00