Skip to content

Commit 065f717

Browse files
authored
Merge branch 'ximinez/develop-nolending' into ximinez/lending-XLS-66-2
2 parents af43572 + d95e0e5 commit 065f717

File tree

175 files changed

+58
-68334
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+58
-68334
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,3 +111,6 @@ bld.rippled/
111111

112112
# Suggested in-tree build directory
113113
/.build*/
114+
115+
# Locally patched Conan recipes
116+
external/conan-center-index/

BUILD.md

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -141,19 +141,37 @@ Alternatively, you can pull the patched recipes into the repository and use them
141141
locally:
142142

143143
```bash
144+
# Extract the version number from the lockfile.
145+
function extract_version {
146+
version=$(cat conan.lock | sed -nE "s@.+${1}/(.+)#.+@\1@p" | head -n1)
147+
echo ${version}
148+
}
149+
150+
# Define which recipes to export.
151+
recipes=(ed25519 grpc secp256k1 snappy soci)
152+
153+
# Selectively check out the recipes from our CCI fork.
144154
cd external
155+
mkdir -p conan-center-index
156+
cd conan-center-index
145157
git init
146158
git remote add origin [email protected]:XRPLF/conan-center-index.git
147159
git sparse-checkout init
148-
git sparse-checkout set recipes/ed25519
149-
git sparse-checkout add recipes/snappy
150-
git sparse-checkout add recipes/soci
160+
for recipe in ${recipes[@]}; do
161+
echo "Checking out ${recipe}..."
162+
git sparse-checkout add recipes/${recipe}/all
163+
done
151164
git fetch origin master
152165
git checkout master
153-
conan export --version 2015.03 recipes/ed25519/all
154-
conan export --version 1.1.10 recipes/snappy/all
155-
conan export --version 4.0.3 recipes/soci/all
156-
rm -rf .git
166+
cd ../..
167+
168+
# Export the recipes into the local cache.
169+
for recipe in ${recipes[@]}; do
170+
version=$(extract_version ${recipe})
171+
echo "Exporting ${recipe}/${version}..."
172+
conan export --version $(extract_version ${recipe}) \
173+
external/conan-center-index/recipes/${recipe}/all
174+
done
157175
```
158176

159177
In the case we switch to a newer version of a dependency that still requires a
@@ -383,19 +401,6 @@ tools.build:cxxflags=['-DBOOST_ASIO_DISABLE_CONCEPTS']
383401
`--settings build_type=$BUILD_TYPE` or in the profile itself,
384402
under the section `[settings]` with the key `build_type`.
385403
386-
If you are using a Microsoft Visual C++ compiler,
387-
then you will need to ensure consistency between the `build_type` setting
388-
and the `compiler.runtime` setting.
389-
390-
When `build_type` is `Release`, `compiler.runtime` should be `MT`.
391-
392-
When `build_type` is `Debug`, `compiler.runtime` should be `MTd`.
393-
394-
```
395-
conan install .. --output-folder . --build missing --settings build_type=Release --settings compiler.runtime=MT
396-
conan install .. --output-folder . --build missing --settings build_type=Debug --settings compiler.runtime=MTd
397-
```
398-
399404
3. Configure CMake and pass the toolchain file generated by Conan, located at
400405
`$OUTPUT_FOLDER/build/generators/conan_toolchain.cmake`.
401406

CMakeLists.txt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,7 @@ find_package(OpenSSL 1.1.1 REQUIRED)
8989
set_target_properties(OpenSSL::SSL PROPERTIES
9090
INTERFACE_COMPILE_DEFINITIONS OPENSSL_NO_SSL2
9191
)
92-
set(SECP256K1_INSTALL TRUE)
93-
set(SECP256K1_BUILD_BENCHMARK FALSE)
94-
set(SECP256K1_BUILD_TESTS FALSE)
95-
set(SECP256K1_BUILD_EXHAUSTIVE_TESTS FALSE)
96-
set(SECP256K1_BUILD_CTIME_TESTS FALSE)
97-
set(SECP256K1_BUILD_EXAMPLES FALSE)
98-
add_subdirectory(external/secp256k1)
99-
add_library(secp256k1::secp256k1 ALIAS secp256k1)
92+
10093
add_subdirectory(external/antithesis-sdk)
10194
find_package(gRPC REQUIRED)
10295
find_package(lz4 REQUIRED)
@@ -119,6 +112,7 @@ endif()
119112
find_package(date REQUIRED)
120113
find_package(ed25519 REQUIRED)
121114
find_package(nudb REQUIRED)
115+
find_package(secp256k1 REQUIRED)
122116
find_package(xxHash REQUIRED)
123117

124118
target_link_libraries(xrpl_libs INTERFACE

conan.lock

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,43 +6,44 @@
66
"sqlite3/3.49.1#8631739a4c9b93bd3d6b753bac548a63%1756234266.869",
77
"soci/4.0.3#a9f8d773cd33e356b5879a4b0564f287%1756234262.318",
88
"snappy/1.1.10#968fef506ff261592ec30c574d4a7809%1756234314.246",
9+
"secp256k1/0.7.0#9210e4c655d0a665400378a663960d17%1764261276.764",
910
"rocksdb/10.5.1#4a197eca381a3e5ae8adf8cffa5aacd0%1762797952.535",
1011
"re2/20230301#ca3b241baec15bd31ea9187150e0b333%1764175362.029",
11-
"protobuf/3.21.12#44ee56c0a6eea0c19aeeaca680370b88%1764175361.456",
12+
"protobuf/6.32.1#f481fd276fc23a33b85a3ed1e898b693%1759134873.45",
1213
"openssl/3.5.4#a1d5835cc6ed5c5b8f3cd5b9b5d24205%1760106486.594",
1314
"nudb/2.0.9#fb8dfd1a5557f5e0528114c2da17721e%1763150366.909",
1415
"lz4/1.10.0#59fc63cac7f10fbe8e05c7e62c2f3504%1756234228.999",
1516
"libiconv/1.17#1e65319e945f2d31941a9d28cc13c058%1756223727.64",
1617
"libbacktrace/cci.20210118#a7691bfccd8caaf66309df196790a5a1%1756230911.03",
1718
"libarchive/3.8.1#ffee18995c706e02bf96e7a2f7042e0d%1764175360.142",
1819
"jemalloc/5.3.0#e951da9cf599e956cebc117880d2d9f8%1729241615.244",
19-
"grpc/1.50.1#02291451d1e17200293a409410d1c4e1%1756234248.958",
20-
"ed25519/2015.03#17c1f1910e769f368025267a53c23c13%1764259445.491",
20+
"grpc/1.72.0#f244a57bff01e708c55a1100b12e1589%1763158050.628",
21+
"ed25519/2015.03#ae761bdc52730a843f0809bdf6c1b1f6%1764270189.893",
2122
"doctest/2.4.12#eb9fb352fb2fdfc8abb17ec270945165%1762797941.757",
2223
"date/3.0.4#862e11e80030356b53c2c38599ceb32b%1763584497.32",
2324
"c-ares/1.34.5#5581c2b62a608b40bb85d965ab3ec7c8%1764175359.429",
2425
"bzip2/1.0.8#c470882369c2d95c5c77e970c0c7e321%1764175359.429",
2526
"boost/1.88.0#8852c0b72ce8271fb8ff7c53456d4983%1756223752.326",
26-
"abseil/20230802.1#90ba607d4ee8fb5fb157c3db540671fc%1764175359.429"
27+
"abseil/20250127.0#9e8e8cfc89a1324139fc0ee3bd4d8c8c%1753819045.301"
2728
],
2829
"build_requires": [
2930
"zlib/1.3.1#b8bc2603263cf7eccbd6e17e66b0ed76%1756234269.497",
3031
"strawberryperl/5.32.1.1#707032463aa0620fa17ec0d887f5fe41%1756234281.733",
31-
"protobuf/3.21.12#44ee56c0a6eea0c19aeeaca680370b88%1764175361.456",
32+
"protobuf/6.32.1#f481fd276fc23a33b85a3ed1e898b693%1759134873.45",
3233
"nasm/2.16.01#31e26f2ee3c4346ecd347911bd126904%1756234232.901",
3334
"msys2/cci.latest#5b73b10144f73cc5bfe0572ed9be39e1%1751977009.857",
3435
"m4/1.4.19#70dc8bbb33e981d119d2acc0175cf381%1763158052.846",
3536
"cmake/4.2.0#ae0a44f44a1ef9ab68fd4b3e9a1f8671%1764175359.44",
3637
"cmake/3.31.10#313d16a1aa16bbdb2ca0792467214b76%1764175359.429",
3738
"b2/5.3.3#107c15377719889654eb9a162a673975%1756234226.28",
3839
"automake/1.16.5#b91b7c384c3deaa9d535be02da14d04f%1755524470.56",
39-
"autoconf/2.71#51077f068e61700d65bb05541ea1e4b0%1731054366.86"
40+
"autoconf/2.71#51077f068e61700d65bb05541ea1e4b0%1731054366.86",
41+
"abseil/20250127.0#9e8e8cfc89a1324139fc0ee3bd4d8c8c%1753819045.301"
4042
],
4143
"python_requires": [],
4244
"overrides": {
43-
"protobuf/3.21.12": [
44-
null,
45-
"protobuf/3.21.12"
45+
"protobuf/5.27.0": [
46+
"protobuf/6.32.1"
4647
],
4748
"lz4/1.9.4": [
4849
"lz4/1.10.0"

conan/profiles/default

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,6 @@ compiler.libcxx={{detect_api.detect_libcxx(compiler, version, compiler_exe)}}
2020
{% endif %}
2121

2222
[conf]
23-
{% if compiler == "clang" and compiler_version >= 19 %}
24-
grpc/1.50.1:tools.build:cxxflags+=['-Wno-missing-template-arg-list-after-template-kw']
25-
{% endif %}
26-
{% if compiler == "apple-clang" and compiler_version >= 17 %}
27-
grpc/1.50.1:tools.build:cxxflags+=['-Wno-missing-template-arg-list-after-template-kw']
28-
{% endif %}
2923
{% if compiler == "gcc" and compiler_version < 13 %}
3024
tools.build:cxxflags+=['-Wno-restrict']
3125
{% endif %}

conanfile.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ class Xrpl(ConanFile):
2929

3030
requires = [
3131
"ed25519/2015.03",
32-
"grpc/1.50.1",
32+
"grpc/1.72.0",
3333
"libarchive/3.8.1",
3434
"nudb/2.0.9",
3535
"openssl/3.5.4",
36+
"secp256k1/0.7.0",
3637
"soci/4.0.3",
3738
"zlib/1.3.1",
3839
]
@@ -42,7 +43,7 @@ class Xrpl(ConanFile):
4243
]
4344

4445
tool_requires = [
45-
"protobuf/3.21.12",
46+
"protobuf/6.32.1",
4647
]
4748

4849
default_options = {
@@ -57,8 +58,19 @@ class Xrpl(ConanFile):
5758
"unity": False,
5859
"xrpld": False,
5960
"date/*:header_only": True,
61+
"ed25519/*:shared": False,
6062
"grpc/*:shared": False,
6163
"grpc/*:secure": True,
64+
"grpc/*:codegen": True,
65+
"grpc/*:cpp_plugin": True,
66+
"grpc/*:csharp_ext": False,
67+
"grpc/*:csharp_plugin": False,
68+
"grpc/*:node_plugin": False,
69+
"grpc/*:objective_c_plugin": False,
70+
"grpc/*:php_plugin": False,
71+
"grpc/*:python_plugin": False,
72+
"grpc/*:ruby_plugin": False,
73+
"grpc/*:otel_plugin": False,
6274
"libarchive/*:shared": False,
6375
"libarchive/*:with_acl": False,
6476
"libarchive/*:with_bzip2": False,
@@ -85,6 +97,7 @@ class Xrpl(ConanFile):
8597
"rocksdb/*:with_jemalloc": False,
8698
"rocksdb/*:with_lz4": True,
8799
"rocksdb/*:with_snappy": True,
100+
"secp256k1/*:shared": False,
88101
"snappy/*:shared": False,
89102
"soci/*:shared": False,
90103
"soci/*:with_sqlite3": True,
@@ -115,7 +128,7 @@ def requirements(self):
115128
self.requires("boost/1.88.0", force=True, **transitive_headers_opt)
116129
self.requires("date/3.0.4", **transitive_headers_opt)
117130
self.requires("lz4/1.10.0", force=True)
118-
self.requires("protobuf/3.21.12", force=True)
131+
self.requires("protobuf/6.32.1", force=True)
119132
self.requires("sqlite3/3.49.1", force=True)
120133
if self.options.jemalloc:
121134
self.requires("jemalloc/5.3.0")
@@ -197,6 +210,7 @@ def package_info(self):
197210
"openssl::crypto",
198211
"protobuf::libprotobuf",
199212
"soci::soci",
213+
"secp256k1::secp256k1",
200214
"sqlite3::sqlite",
201215
"xxhash::xxhash",
202216
"zlib::zlib",

external/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,3 @@ The subdirectories in this directory contain external libraries used by rippled.
55
| Folder | Upstream | Description |
66
| :--------------- | :------------------------------------------------------------- | :------------------------------------------------------------------------------------------- |
77
| `antithesis-sdk` | [Project](https://github.com/antithesishq/antithesis-sdk-cpp/) | [Antithesis](https://antithesis.com/docs/using_antithesis/sdk/cpp/overview.html) SDK for C++ |
8-
| `secp256k1` | [Project](https://github.com/bitcoin-core/secp256k1) | ECDSA digital signatures using the **secp256k1** curve |

external/secp256k1/.cirrus.yml

Lines changed: 0 additions & 101 deletions
This file was deleted.

external/secp256k1/.gitattributes

Lines changed: 0 additions & 2 deletions
This file was deleted.

0 commit comments

Comments
 (0)