Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
055be78
refactor: Remove unused and add missing includes (#5293)
bthomee Mar 11, 2025
b797843
refactor: Calculate numFeatures automatically (#5324)
ximinez Mar 12, 2025
5c80b1e
refactor: Improve ordering of headers with clang-format (#5343)
ximinez Mar 12, 2025
a132d5e
Rename "deadlock" to "stall" in `LoadManager` (#5341)
Bronek Mar 14, 2025
8b05b07
fix: Error message for ledger_entry rpc (#5344)
kuznetsss Mar 17, 2025
62c0dd2
fix: Handle invalid marker parameter in grpc call (#5317)
cindyyan317 Mar 18, 2025
6f104a4
fix: trust line RPC no ripple flag (#5345)
vvysokikh1 Mar 18, 2025
32e8f49
refactor: Updates Conan dependencies: RocksDB (#5335)
bthomee Mar 18, 2025
e719716
fix: Remove null pointer deref, just do abort (#5338)
Bronek Mar 18, 2025
a3911fd
chore: Update link to ripple-binary-codec (#5355)
godexsoft Mar 19, 2025
dd085e5
Prevent consensus from getting stuck in the establish phase (#5277)
ximinez Mar 20, 2025
c1031ca
test: enable TxQ unit tests work with variable reference fee (#5118)
vvysokikh1 Mar 24, 2025
80b6aec
test: enable unit tests to work with variable reference fee (#5145)
vvysokikh1 Mar 25, 2025
e6f91b7
Intrusive SHAMap smart pointers for efficient memory use and lock-fre…
vlntb Mar 25, 2025
a736ad6
refactor: Move integration tests from 'examples/' into 'tests/' (#5367)
bthomee Mar 27, 2025
5a37252
test: enable compile time param to change reference fee value (#5159)
vvysokikh1 Mar 27, 2025
bef58ca
Fix undefined uint128_t type on Windows non-unity builds (#5377)
bthomee Apr 1, 2025
2aab17f
fix: uint128 ambiguousness breaking macos unity build (#5386)
vvysokikh1 Apr 4, 2025
1578dbd
Fix to correct memory ordering for compare_exchange_weak and wait in …
vlntb Apr 4, 2025
c73b621
fix: disable `channel_authorize` when `signing_support` is disabled (…
mvadari Apr 5, 2025
7d7afd1
Remove UNREACHABLE from `NetworkOPsImp::processTrustedProposal` (#5387)
Bronek Apr 8, 2025
4990e99
Instrument proposal, validation and transaction messages (#5348)
Tapanito Apr 9, 2025
bee9360
refactor(trivial): reorganize ledger entry tests and helper functions…
mvadari Apr 9, 2025
62e6211
fix: `fixPayChanV1` (#4717)
dangell7 Apr 9, 2025
69aaa78
Fix: admin RPC webhook queue limit removal and timeout reduction (#5163)
WietseWind Apr 10, 2025
7b57921
fix: Adds CTID to RPC tx and updates error (#4738)
dangell7 Apr 10, 2025
b02e2ce
refactor: Clean up test logging to make it easier to search (#5396)
mvadari Apr 11, 2025
c8b169c
fix: CTID to use correct ledger_index (#5408)
dangell7 Apr 24, 2025
6a62cd0
chore: Small clarification to lsfDefaultRipple comment (#5410)
vvysokikh1 Apr 25, 2025
8562440
fix: Replaces random endpoint resolution with sequential (#5365)
Tapanito Apr 28, 2025
3cafbcb
Improve transaction relay logic (#4985)
ximinez May 1, 2025
3096f44
Enable passive squelching (#5358)
Tapanito May 2, 2025
cebf599
Add PermissionDelegation feature (#5354)
yinyiqian1 May 8, 2025
e406cb1
refactor: use east const convention (#5409)
Tapanito May 8, 2025
0a825f0
fix: enable LedgerStateFix for delegation (#5427)
yinyiqian1 May 10, 2025
3d96b66
Fix: Resolve slow test on macOS pipeline (#5392)
vlntb May 16, 2025
b78c20d
Add single asset vault (XLS-65d) (#5224)
Bronek May 20, 2025
fdb7bfe
Fix initializer list initialization for GCC-15 (#5443)
oleks-rip May 21, 2025
0095dd5
fix: Fix pseudo-account ID calculation (#5447)
Bronek May 23, 2025
d7219c3
Add Batch feature (XLS-56) (#5060)
dangell7 May 23, 2025
a7602b1
Add test for Emitting Batch from Hook (comment outed)
tequdev Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 7 additions & 1 deletion .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ DerivePointerAlignment: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
ForEachMacros: [ Q_FOREACH, BOOST_FOREACH ]
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^<(test)/'
Priority: 0
Expand All @@ -53,8 +54,12 @@ IncludeCategories:
Priority: 2
- Regex: '^<(boost)/'
Priority: 3
- Regex: '.*'
- Regex: '^.*/'
Priority: 4
- Regex: '^.*\.h'
Priority: 5
- Regex: '.*'
Priority: 6
IncludeIsMainRegex: '$'
IndentCaseLabels: true
IndentFunctionDeclarationAfterType: false
Expand Down Expand Up @@ -89,3 +94,4 @@ SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 8
UseTab: Never
QualifierAlignment: Right
2 changes: 1 addition & 1 deletion .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
sudo apt-get update
sudo apt-get install clang-format-${CLANG_VERSION}
- name: Format first-party sources
run: find include src -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -not -path "src/magic/magic_enum.h" -exec clang-format-${CLANG_VERSION} -i {} +
run: find include src tests -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -not -path "src/magic/magic_enum.h" -exec clang-format-${CLANG_VERSION} -i {} +
- name: Check for differences
id: assert
run: |
Expand Down
10 changes: 9 additions & 1 deletion API-CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,17 @@ The [commandline](https://xrpl.org/docs/references/http-websocket-apis/api-conve

The `network_id` field was added in the `server_info` response in version 1.5.0 (2019), but it is not returned in [reporting mode](https://xrpl.org/rippled-server-modes.html#reporting-mode). However, use of reporting mode is now discouraged, in favor of using [Clio](https://github.com/XRPLF/clio) instead.

## XRP Ledger server version 2.5.0

As of 2025-04-04, version 2.5.0 is in development. You can use a pre-release version by building from source or [using the `nightly` package](https://xrpl.org/docs/infrastructure/installation/install-rippled-on-ubuntu).

### Additions and bugfixes in 2.5.0

- `channel_authorize`: If `signing_support` is not enabled in the config, the RPC is disabled.

## XRP Ledger server version 2.4.0

As of 2025-01-28, version 2.4.0 is in development. You can use a pre-release version by building from source or [using the `nightly` package](https://xrpl.org/docs/infrastructure/installation/install-rippled-on-ubuntu).
[Version 2.4.0](https://github.com/XRPLF/rippled/releases/tag/2.4.0) was released on March 4, 2025.

### Additions and bugfixes in 2.4.0

Expand Down
4 changes: 2 additions & 2 deletions Builds/levelization/results/loops.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Loop: xrpld.app xrpld.overlay
xrpld.overlay ~= xrpld.app

Loop: xrpld.app xrpld.peerfinder
xrpld.app > xrpld.peerfinder
xrpld.peerfinder ~= xrpld.app

Loop: xrpld.app xrpld.rpc
xrpld.rpc > xrpld.app
Expand All @@ -44,7 +44,7 @@ Loop: xrpld.core xrpld.perflog
xrpld.perflog == xrpld.core

Loop: xrpld.net xrpld.rpc
xrpld.rpc > xrpld.net
xrpld.rpc ~= xrpld.net

Loop: xrpld.overlay xrpld.rpc
xrpld.rpc ~= xrpld.overlay
Expand Down
5 changes: 2 additions & 3 deletions Builds/levelization/results/ordering.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ libxrpl.protocol > xrpl.hook
libxrpl.protocol > xrpl.json
libxrpl.protocol > xrpl.protocol
libxrpl.resource > xrpl.basics
libxrpl.resource > xrpl.json
libxrpl.resource > xrpl.resource
libxrpl.server > xrpl.basics
libxrpl.server > xrpl.json
Expand Down Expand Up @@ -43,6 +44,7 @@ test.consensus > xrpld.app
test.consensus > xrpld.consensus
test.consensus > xrpld.core
test.consensus > xrpld.ledger
test.consensus > xrpl.json
test.consensus > xrpl.protocol
test.core > test.jtx
test.core > test.toplevel
Expand All @@ -60,7 +62,6 @@ test.json > test.jtx
test.json > xrpl.json
test.jtx > xrpl.basics
test.jtx > xrpld.app
test.jtx > xrpld.consensus
test.jtx > xrpld.core
test.jtx > xrpld.ledger
test.jtx > xrpld.net
Expand Down Expand Up @@ -167,7 +168,6 @@ xrpld.core > xrpl.basics
xrpld.core > xrpl.json
xrpld.core > xrpl.protocol
xrpld.ledger > xrpl.basics
xrpld.ledger > xrpld.core
xrpld.ledger > xrpl.json
xrpld.ledger > xrpl.protocol
xrpld.net > xrpl.basics
Expand All @@ -192,7 +192,6 @@ xrpld.peerfinder > xrpld.core
xrpld.peerfinder > xrpl.protocol
xrpld.perflog > xrpl.basics
xrpld.perflog > xrpl.json
xrpld.perflog > xrpl.protocol
xrpld.rpc > xrpl.basics
xrpld.rpc > xrpld.core
xrpld.rpc > xrpld.ledger
Expand Down
12 changes: 12 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,18 @@ endif()
project (xrpl)
set(Boost_NO_BOOST_CMAKE ON)

if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
# GCC-specific fixes
add_compile_options(-Wno-unknown-pragmas -Wno-subobject-linkage)
# -Wno-subobject-linkage can be removed when we upgrade GCC version to at least 13.3
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
# Clang-specific fixes
add_compile_options(-Wno-unknown-warning-option) # Ignore unknown warning options
elseif(MSVC)
# MSVC-specific fixes
add_compile_options(/wd4068) # Ignore unknown pragmas
endif()

# make GIT_COMMIT_HASH define available to all sources
find_package(Git)
if(Git_FOUND)
Expand Down
3 changes: 3 additions & 0 deletions cmake/RippledCore.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,9 @@ if(xrpld)
add_executable(rippled)
if(tests)
target_compile_definitions(rippled PUBLIC ENABLE_TESTS)
target_compile_definitions(rippled PRIVATE
UNIT_TEST_REFERENCE_FEE=${UNIT_TEST_REFERENCE_FEE}
)
endif()
target_include_directories(rippled
PRIVATE
Expand Down
6 changes: 6 additions & 0 deletions cmake/RippledSettings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ option(assert "Enables asserts, even in release builds" OFF)
option(xrpld "Build xrpld" ON)

option(tests "Build tests" ON)
if(tests)
# This setting allows making a separate workflow to test fees other than default 10
if(NOT UNIT_TEST_REFERENCE_FEE)
set(UNIT_TEST_REFERENCE_FEE "10" CACHE STRING "")
endif()
endif()

option(unity "Creates a build using UNITY support in cmake. This is the default" ON)
if(unity)
Expand Down
2 changes: 1 addition & 1 deletion conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ def requirements(self):
if self.options.jemalloc:
self.requires('jemalloc/5.3.0')
if self.options.rocksdb:
self.requires('rocksdb/6.29.5')
self.requires('rocksdb/9.7.3')

exports_sources = (
'CMakeLists.txt',
Expand Down
29 changes: 7 additions & 22 deletions external/rocksdb/conandata.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,12 @@
sources:
"6.29.5":
url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.29.5.tar.gz"
sha256: "ddbf84791f0980c0bbce3902feb93a2c7006f6f53bfd798926143e31d4d756f0"
"6.27.3":
url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.27.3.tar.gz"
sha256: "ee29901749b9132692b26f0a6c1d693f47d1a9ed8e3771e60556afe80282bf58"
"6.20.3":
url: "https://github.com/facebook/rocksdb/archive/refs/tags/v6.20.3.tar.gz"
sha256: "c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca"
"8.8.1":
url: "https://github.com/facebook/rocksdb/archive/refs/tags/v8.8.1.tar.gz"
sha256: "056c7e21ad8ae36b026ac3b94b9d6e0fcc60e1d937fc80330921e4181be5c36e"
"9.7.3":
url: "https://github.com/facebook/rocksdb/archive/refs/tags/v9.7.3.tar.gz"
sha256: "acfabb989cbfb5b5c4d23214819b059638193ec33dad2d88373c46448d16d38b"
patches:
"6.29.5":
- patch_file: "patches/6.29.5-0001-add-include-cstdint-for-gcc-13.patch"
patch_description: "Fix build with gcc 13 by including cstdint"
patch_type: "portability"
patch_source: "https://github.com/facebook/rocksdb/pull/11118"
- patch_file: "patches/6.29.5-0002-exclude-thirdparty.patch"
"9.7.3":
- patch_file: "patches/9.x.x-0001-exclude-thirdparty.patch"
patch_description: "Do not include thirdparty.inc"
patch_type: "portability"
"6.27.3":
- patch_file: "patches/6.27.3-0001-add-include-cstdint-for-gcc-13.patch"
patch_description: "Fix build with gcc 13 by including cstdint"
- patch_file: "patches/9.7.3-0001-memory-leak.patch"
patch_description: "Fix a leak of obsolete blob files left open until DB::Close()"
patch_type: "portability"
patch_source: "https://github.com/facebook/rocksdb/pull/11118"
24 changes: 13 additions & 11 deletions external/rocksdb/conanfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@

class RocksDBConan(ConanFile):
name = "rocksdb"
homepage = "https://github.com/facebook/rocksdb"
description = "A library that provides an embeddable, persistent key-value store for fast storage"
license = ("GPL-2.0-only", "Apache-2.0")
url = "https://github.com/conan-io/conan-center-index"
description = "A library that provides an embeddable, persistent key-value store for fast storage"
homepage = "https://github.com/facebook/rocksdb"
topics = ("database", "leveldb", "facebook", "key-value")
package_type = "library"
settings = "os", "arch", "compiler", "build_type"
Expand Down Expand Up @@ -58,12 +58,12 @@ def _min_cppstd(self):
@property
def _compilers_minimum_version(self):
return {} if self._min_cppstd == "11" else {
"apple-clang": "10",
"clang": "7",
"gcc": "7",
"msvc": "191",
"Visual Studio": "15",
}
"apple-clang": "10",
"clang": "7",
"gcc": "7",
"msvc": "191",
"Visual Studio": "15",
}

def export_sources(self):
export_conandata_patches(self)
Expand Down Expand Up @@ -115,9 +115,9 @@ def validate(self):
check_min_vs(self, "191")

if self.version == "6.20.3" and \
self.settings.os == "Linux" and \
self.settings.compiler == "gcc" and \
Version(self.settings.compiler.version) < "5":
self.settings.os == "Linux" and \
self.settings.compiler == "gcc" and \
Version(self.settings.compiler.version) < "5":
raise ConanInvalidConfiguration("Rocksdb 6.20.3 is not compilable with gcc <5.") # See https://github.com/facebook/rocksdb/issues/3522

def source(self):
Expand Down Expand Up @@ -163,6 +163,8 @@ def generate(self):
if self.options.with_jemalloc:
deps.set_property("jemalloc", "cmake_file_name", "JeMalloc")
deps.set_property("jemalloc", "cmake_target_name", "JeMalloc::JeMalloc")
if self.options.with_zstd:
deps.set_property("zstd", "cmake_target_name", "zstd::zstd")
deps.generate()

def build(self):
Expand Down

This file was deleted.

16 changes: 0 additions & 16 deletions external/rocksdb/patches/6.29.5-0002-exclude-thirdparty.patch

This file was deleted.

Loading
Loading