mirror of
				https://github.com/XRPLF/rippled.git
				synced 2025-11-04 11:15:56 +00:00 
			
		
		
		
	Compare commits
	
		
			78 Commits
		
	
	
		
			aaa2210b69
			...
			develop
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					f3a2ec1fb2 | ||
| 
						 | 
					1d42c4f6de | ||
| 
						 | 
					ada83564d8 | ||
| 
						 | 
					b18dece145 | ||
| 
						 | 
					63a08560ca | ||
| 
						 | 
					8ac8a47c99 | ||
| 
						 | 
					12c4b5a632 | ||
| 
						 | 
					25c5e3b17f | ||
| 
						 | 
					8eb233c2ea | ||
| 
						 | 
					50fc93f742 | ||
| 
						 | 
					ab45a8a737 | ||
| 
						 | 
					dfafb141cc | ||
| 
						 | 
					4e32d2ed98 | ||
| 
						 | 
					fa69918124 | ||
| 
						 | 
					cbbb2b1be0 | ||
| 
						 | 
					cf2d763fa1 | ||
| 
						 | 
					2dd1d682ac | ||
| 
						 | 
					4cb1084c02 | ||
| 
						 | 
					8d1b3b3994 | ||
| 
						 | 
					b39d7a6519 | ||
| 
						 | 
					b0910e359e | ||
| 
						 | 
					44e027e516 | ||
| 
						 | 
					a10f42a3aa | ||
| 
						 | 
					efd4c1b95d | ||
| 
						 | 
					f8b4f692f1 | ||
| 
						 | 
					80a3ae6386 | ||
| 
						 | 
					48d38c1e2c | ||
| 
						 | 
					553fb5be3b | ||
| 
						 | 
					efa917d9f3 | ||
| 
						 | 
					bd3bc917f8 | ||
| 
						 | 
					ed5d6f3e22 | ||
| 
						 | 
					a8e4da0b11 | ||
| 
						 | 
					1dd60242de | ||
| 
						 | 
					76611c3f46 | ||
| 
						 | 
					5efaf0c328 | ||
| 
						 | 
					0aa23933ea | ||
| 
						 | 
					21f3c12d85 | ||
| 
						 | 
					7d5ed0cd8d | ||
| 
						 | 
					d9960d5ba0 | ||
| 
						 | 
					91fa6b2295 | ||
| 
						 | 
					76f774e22d | ||
| 
						 | 
					f4f7618173 | ||
| 
						 | 
					66f16469f9 | ||
| 
						 | 
					1845b1c656 | ||
| 
						 | 
					e192ffe964 | ||
| 
						 | 
					2bf77cc8f6 | ||
| 
						 | 
					5e33ca56fd | ||
| 
						 | 
					7c39c810eb | ||
| 
						 | 
					a7792ebcae | ||
| 
						 | 
					83ee3788e1 | ||
| 
						 | 
					ae719b86d3 | ||
| 
						 | 
					dd722f8b3f | ||
| 
						 | 
					30190a5feb | ||
| 
						 | 
					afb6e0e41b | ||
| 
						 | 
					5523557226 | ||
| 
						 | 
					b64707f53b | ||
| 
						 | 
					0b113f371f | ||
| 
						 | 
					b4c894c1ba | ||
| 
						 | 
					92281a4ede | ||
| 
						 | 
					e80642fc12 | ||
| 
						 | 
					640ce4988f | ||
| 
						 | 
					a422855ea7 | ||
| 
						 | 
					108f90586c | ||
| 
						 | 
					519d1dbc34 | ||
| 
						 | 
					3d44758e5a | ||
| 
						 | 
					97bc94a7f6 | ||
| 
						 | 
					34619f2504 | ||
| 
						 | 
					3509de9c5f | ||
| 
						 | 
					459d0da010 | ||
| 
						 | 
					8637d606a4 | ||
| 
						 | 
					8456b8275e | ||
| 
						 | 
					3c88786bb0 | ||
| 
						 | 
					46ba8a28fe | ||
| 
						 | 
					5ecde3cf39 | ||
| 
						 | 
					620fb26823 | ||
| 
						 | 
					6b6b213cf5 | ||
| 
						 | 
					f61086b43c | ||
| 
						 | 
					176fd2b6e4 | 
							
								
								
									
										20
									
								
								.github/actions/build-deps/action.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/actions/build-deps/action.yml
									
									
									
									
										vendored
									
									
								
							@@ -10,10 +10,17 @@ inputs:
 | 
			
		||||
  build_type:
 | 
			
		||||
    description: 'The build type to use ("Debug", "Release").'
 | 
			
		||||
    required: true
 | 
			
		||||
  build_nproc:
 | 
			
		||||
    description: "The number of processors to use for building."
 | 
			
		||||
    required: true
 | 
			
		||||
  force_build:
 | 
			
		||||
    description: 'Force building of all dependencies ("true", "false").'
 | 
			
		||||
    required: false
 | 
			
		||||
    default: "false"
 | 
			
		||||
  log_verbosity:
 | 
			
		||||
    description: "The logging verbosity."
 | 
			
		||||
    required: false
 | 
			
		||||
    default: "verbose"
 | 
			
		||||
 | 
			
		||||
runs:
 | 
			
		||||
  using: composite
 | 
			
		||||
@@ -22,16 +29,21 @@ runs:
 | 
			
		||||
      shell: bash
 | 
			
		||||
      env:
 | 
			
		||||
        BUILD_DIR: ${{ inputs.build_dir }}
 | 
			
		||||
        BUILD_NPROC: ${{ inputs.build_nproc }}
 | 
			
		||||
        BUILD_OPTION: ${{ inputs.force_build == 'true' && '*' || 'missing' }}
 | 
			
		||||
        BUILD_TYPE: ${{ inputs.build_type }}
 | 
			
		||||
        LOG_VERBOSITY: ${{ inputs.log_verbosity }}
 | 
			
		||||
      run: |
 | 
			
		||||
        echo 'Installing dependencies.'
 | 
			
		||||
        mkdir -p '${{ env.BUILD_DIR }}'
 | 
			
		||||
        cd '${{ env.BUILD_DIR }}'
 | 
			
		||||
        mkdir -p "${BUILD_DIR}"
 | 
			
		||||
        cd "${BUILD_DIR}"
 | 
			
		||||
        conan install \
 | 
			
		||||
          --output-folder . \
 | 
			
		||||
          --build=${{ env.BUILD_OPTION }} \
 | 
			
		||||
          --build="${BUILD_OPTION}" \
 | 
			
		||||
          --options:host='&:tests=True' \
 | 
			
		||||
          --options:host='&:xrpld=True' \
 | 
			
		||||
          --settings:all build_type='${{ env.BUILD_TYPE }}' \
 | 
			
		||||
          --settings:all build_type="${BUILD_TYPE}" \
 | 
			
		||||
          --conf:all tools.build:jobs=${BUILD_NPROC} \
 | 
			
		||||
          --conf:all tools.build:verbosity="${LOG_VERBOSITY}" \
 | 
			
		||||
          --conf:all tools.compilation:verbosity="${LOG_VERBOSITY}" \
 | 
			
		||||
          ..
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/actions/setup-conan/action.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/actions/setup-conan/action.yml
									
									
									
									
										vendored
									
									
								
							@@ -39,8 +39,8 @@ runs:
 | 
			
		||||
        CONAN_REMOTE_NAME: ${{ inputs.conan_remote_name }}
 | 
			
		||||
        CONAN_REMOTE_URL: ${{ inputs.conan_remote_url }}
 | 
			
		||||
      run: |
 | 
			
		||||
        echo "Adding Conan remote '${{ env.CONAN_REMOTE_NAME }}' at '${{ env.CONAN_REMOTE_URL }}'."
 | 
			
		||||
        conan remote add --index 0 --force '${{ env.CONAN_REMOTE_NAME }}' '${{ env.CONAN_REMOTE_URL }}'
 | 
			
		||||
        echo "Adding Conan remote '${CONAN_REMOTE_NAME}' at '${CONAN_REMOTE_URL}'."
 | 
			
		||||
        conan remote add --index 0 --force "${CONAN_REMOTE_NAME}" "${CONAN_REMOTE_URL}"
 | 
			
		||||
 | 
			
		||||
        echo 'Listing Conan remotes.'
 | 
			
		||||
        conan remote list
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,7 @@ Loop: xrpld.app xrpld.rpc
 | 
			
		||||
  xrpld.rpc > xrpld.app
 | 
			
		||||
 | 
			
		||||
Loop: xrpld.app xrpld.shamap
 | 
			
		||||
  xrpld.app > xrpld.shamap
 | 
			
		||||
  xrpld.shamap ~= xrpld.app
 | 
			
		||||
 | 
			
		||||
Loop: xrpld.core xrpld.perflog
 | 
			
		||||
  xrpld.perflog == xrpld.core
 | 
			
		||||
 
 | 
			
		||||
@@ -8,6 +8,10 @@ libxrpl.ledger > xrpl.ledger
 | 
			
		||||
libxrpl.ledger > xrpl.protocol
 | 
			
		||||
libxrpl.net > xrpl.basics
 | 
			
		||||
libxrpl.net > xrpl.net
 | 
			
		||||
libxrpl.nodestore > xrpl.basics
 | 
			
		||||
libxrpl.nodestore > xrpl.json
 | 
			
		||||
libxrpl.nodestore > xrpl.nodestore
 | 
			
		||||
libxrpl.nodestore > xrpl.protocol
 | 
			
		||||
libxrpl.protocol > xrpl.basics
 | 
			
		||||
libxrpl.protocol > xrpl.json
 | 
			
		||||
libxrpl.protocol > xrpl.protocol
 | 
			
		||||
@@ -18,6 +22,9 @@ libxrpl.server > xrpl.basics
 | 
			
		||||
libxrpl.server > xrpl.json
 | 
			
		||||
libxrpl.server > xrpl.protocol
 | 
			
		||||
libxrpl.server > xrpl.server
 | 
			
		||||
libxrpl.shamap > xrpl.basics
 | 
			
		||||
libxrpl.shamap > xrpl.protocol
 | 
			
		||||
libxrpl.shamap > xrpl.shamap
 | 
			
		||||
test.app > test.jtx
 | 
			
		||||
test.app > test.rpc
 | 
			
		||||
test.app > test.toplevel
 | 
			
		||||
@@ -25,11 +32,11 @@ test.app > test.unit_test
 | 
			
		||||
test.app > xrpl.basics
 | 
			
		||||
test.app > xrpld.app
 | 
			
		||||
test.app > xrpld.core
 | 
			
		||||
test.app > xrpld.nodestore
 | 
			
		||||
test.app > xrpld.overlay
 | 
			
		||||
test.app > xrpld.rpc
 | 
			
		||||
test.app > xrpl.json
 | 
			
		||||
test.app > xrpl.ledger
 | 
			
		||||
test.app > xrpl.nodestore
 | 
			
		||||
test.app > xrpl.protocol
 | 
			
		||||
test.app > xrpl.resource
 | 
			
		||||
test.basics > test.jtx
 | 
			
		||||
@@ -86,8 +93,7 @@ test.nodestore > test.toplevel
 | 
			
		||||
test.nodestore > test.unit_test
 | 
			
		||||
test.nodestore > xrpl.basics
 | 
			
		||||
test.nodestore > xrpld.core
 | 
			
		||||
test.nodestore > xrpld.nodestore
 | 
			
		||||
test.nodestore > xrpld.unity
 | 
			
		||||
test.nodestore > xrpl.nodestore
 | 
			
		||||
test.overlay > test.jtx
 | 
			
		||||
test.overlay > test.toplevel
 | 
			
		||||
test.overlay > test.unit_test
 | 
			
		||||
@@ -95,8 +101,8 @@ test.overlay > xrpl.basics
 | 
			
		||||
test.overlay > xrpld.app
 | 
			
		||||
test.overlay > xrpld.overlay
 | 
			
		||||
test.overlay > xrpld.peerfinder
 | 
			
		||||
test.overlay > xrpld.shamap
 | 
			
		||||
test.overlay > xrpl.protocol
 | 
			
		||||
test.overlay > xrpl.shamap
 | 
			
		||||
test.peerfinder > test.beast
 | 
			
		||||
test.peerfinder > test.unit_test
 | 
			
		||||
test.peerfinder > xrpl.basics
 | 
			
		||||
@@ -131,18 +137,21 @@ test.server > xrpl.json
 | 
			
		||||
test.server > xrpl.server
 | 
			
		||||
test.shamap > test.unit_test
 | 
			
		||||
test.shamap > xrpl.basics
 | 
			
		||||
test.shamap > xrpld.nodestore
 | 
			
		||||
test.shamap > xrpld.shamap
 | 
			
		||||
test.shamap > xrpl.nodestore
 | 
			
		||||
test.shamap > xrpl.protocol
 | 
			
		||||
test.shamap > xrpl.shamap
 | 
			
		||||
test.toplevel > test.csf
 | 
			
		||||
test.toplevel > xrpl.json
 | 
			
		||||
test.unit_test > xrpl.basics
 | 
			
		||||
tests.libxrpl > xrpl.basics
 | 
			
		||||
tests.libxrpl > xrpl.json
 | 
			
		||||
tests.libxrpl > xrpl.net
 | 
			
		||||
xrpl.json > xrpl.basics
 | 
			
		||||
xrpl.ledger > xrpl.basics
 | 
			
		||||
xrpl.ledger > xrpl.protocol
 | 
			
		||||
xrpl.net > xrpl.basics
 | 
			
		||||
xrpl.nodestore > xrpl.basics
 | 
			
		||||
xrpl.nodestore > xrpl.protocol
 | 
			
		||||
xrpl.protocol > xrpl.basics
 | 
			
		||||
xrpl.protocol > xrpl.json
 | 
			
		||||
xrpl.resource > xrpl.basics
 | 
			
		||||
@@ -151,17 +160,21 @@ xrpl.resource > xrpl.protocol
 | 
			
		||||
xrpl.server > xrpl.basics
 | 
			
		||||
xrpl.server > xrpl.json
 | 
			
		||||
xrpl.server > xrpl.protocol
 | 
			
		||||
xrpl.shamap > xrpl.basics
 | 
			
		||||
xrpl.shamap > xrpl.nodestore
 | 
			
		||||
xrpl.shamap > xrpl.protocol
 | 
			
		||||
xrpld.app > test.unit_test
 | 
			
		||||
xrpld.app > xrpl.basics
 | 
			
		||||
xrpld.app > xrpld.conditions
 | 
			
		||||
xrpld.app > xrpld.consensus
 | 
			
		||||
xrpld.app > xrpld.nodestore
 | 
			
		||||
xrpld.app > xrpld.perflog
 | 
			
		||||
xrpld.app > xrpl.json
 | 
			
		||||
xrpld.app > xrpl.ledger
 | 
			
		||||
xrpld.app > xrpl.net
 | 
			
		||||
xrpld.app > xrpl.nodestore
 | 
			
		||||
xrpld.app > xrpl.protocol
 | 
			
		||||
xrpld.app > xrpl.resource
 | 
			
		||||
xrpld.app > xrpl.shamap
 | 
			
		||||
xrpld.conditions > xrpl.basics
 | 
			
		||||
xrpld.conditions > xrpl.protocol
 | 
			
		||||
xrpld.consensus > xrpl.basics
 | 
			
		||||
@@ -171,11 +184,6 @@ xrpld.core > xrpl.basics
 | 
			
		||||
xrpld.core > xrpl.json
 | 
			
		||||
xrpld.core > xrpl.net
 | 
			
		||||
xrpld.core > xrpl.protocol
 | 
			
		||||
xrpld.nodestore > xrpl.basics
 | 
			
		||||
xrpld.nodestore > xrpld.core
 | 
			
		||||
xrpld.nodestore > xrpld.unity
 | 
			
		||||
xrpld.nodestore > xrpl.json
 | 
			
		||||
xrpld.nodestore > xrpl.protocol
 | 
			
		||||
xrpld.overlay > xrpl.basics
 | 
			
		||||
xrpld.overlay > xrpld.core
 | 
			
		||||
xrpld.overlay > xrpld.peerfinder
 | 
			
		||||
@@ -191,13 +199,11 @@ xrpld.perflog > xrpl.basics
 | 
			
		||||
xrpld.perflog > xrpl.json
 | 
			
		||||
xrpld.rpc > xrpl.basics
 | 
			
		||||
xrpld.rpc > xrpld.core
 | 
			
		||||
xrpld.rpc > xrpld.nodestore
 | 
			
		||||
xrpld.rpc > xrpl.json
 | 
			
		||||
xrpld.rpc > xrpl.ledger
 | 
			
		||||
xrpld.rpc > xrpl.net
 | 
			
		||||
xrpld.rpc > xrpl.nodestore
 | 
			
		||||
xrpld.rpc > xrpl.protocol
 | 
			
		||||
xrpld.rpc > xrpl.resource
 | 
			
		||||
xrpld.rpc > xrpl.server
 | 
			
		||||
xrpld.shamap > xrpl.basics
 | 
			
		||||
xrpld.shamap > xrpld.nodestore
 | 
			
		||||
xrpld.shamap > xrpl.protocol
 | 
			
		||||
xrpld.shamap > xrpl.shamap
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										36
									
								
								.github/scripts/rename/README.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								.github/scripts/rename/README.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,36 @@
 | 
			
		||||
## Renaming ripple(d) to xrpl(d)
 | 
			
		||||
 | 
			
		||||
In the initial phases of development of the XRPL, the open source codebase was
 | 
			
		||||
called "rippled" and it remains with that name even today. Today, over 1000
 | 
			
		||||
nodes run the application, and code contributions have been submitted by
 | 
			
		||||
developers located around the world. The XRPL community is larger than ever.
 | 
			
		||||
In light of the decentralized and diversified nature of XRPL, we will rename any
 | 
			
		||||
references to `ripple` and `rippled` to `xrpl` and `xrpld`, when appropriate.
 | 
			
		||||
 | 
			
		||||
See [here](https://xls.xrpl.org/xls/XLS-0095-rename-rippled-to-xrpld.html) for
 | 
			
		||||
more information.
 | 
			
		||||
 | 
			
		||||
### Scripts
 | 
			
		||||
 | 
			
		||||
To facilitate this transition, there will be multiple scripts that developers
 | 
			
		||||
can run on their own PRs and forks to minimize conflicts. Each script should be
 | 
			
		||||
run from the repository root.
 | 
			
		||||
 | 
			
		||||
1. `.github/scripts/rename/definitions.sh`: This script will rename all
 | 
			
		||||
   definitions, such as include guards, from `RIPPLE_XXX` and `RIPPLED_XXX` to
 | 
			
		||||
   `XRPL_XXX`.
 | 
			
		||||
2. `.github/scripts/rename/copyright.sh`: This script will remove superflous
 | 
			
		||||
   copyright notices.
 | 
			
		||||
3. `.github/scripts/rename/cmake.sh`: This script will rename all CMake files
 | 
			
		||||
   from `RippleXXX.cmake` or `RippledXXX.cmake` to `XrplXXX.cmake`, and any
 | 
			
		||||
   references to `ripple` and `rippled` (with or without capital letters) to
 | 
			
		||||
   `xrpl` and `xrpld`, respectively. The name of the binary will remain as-is,
 | 
			
		||||
   and will only be renamed to `xrpld` by a later script.
 | 
			
		||||
 | 
			
		||||
You can run all these scripts from the repository root as follows:
 | 
			
		||||
 | 
			
		||||
```shell
 | 
			
		||||
./.github/scripts/rename/definitions.sh .
 | 
			
		||||
./.github/scripts/rename/copyright.sh .
 | 
			
		||||
./.github/scripts/rename/cmake.sh .
 | 
			
		||||
```
 | 
			
		||||
							
								
								
									
										85
									
								
								.github/scripts/rename/cmake.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										85
									
								
								.github/scripts/rename/cmake.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,85 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Exit the script as soon as an error occurs.
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
# On MacOS, ensure that GNU sed and head are installed and available as `gsed`
 | 
			
		||||
# and `ghead`, respectively.
 | 
			
		||||
SED_COMMAND=sed
 | 
			
		||||
HEAD_COMMAND=head
 | 
			
		||||
if [[ "${OSTYPE}" == 'darwin'* ]]; then
 | 
			
		||||
  if ! command -v gsed &> /dev/null; then
 | 
			
		||||
      echo "Error: gsed is not installed. Please install it using 'brew install gnu-sed'."
 | 
			
		||||
      exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  SED_COMMAND=gsed
 | 
			
		||||
  if ! command -v ghead &> /dev/null; then
 | 
			
		||||
      echo "Error: ghead is not installed. Please install it using 'brew install coreutils'."
 | 
			
		||||
      exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  HEAD_COMMAND=ghead
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# This script renames CMake files from `RippleXXX.cmake` or `RippledXXX.cmake`
 | 
			
		||||
# to `XrplXXX.cmake`, and any references to `ripple` and `rippled` (with or
 | 
			
		||||
# without capital letters) to `xrpl` and `xrpld`, respectively. The name of the
 | 
			
		||||
# binary will remain as-is, and will only be renamed to `xrpld` in a different
 | 
			
		||||
# script, but the proto file will be renamed.
 | 
			
		||||
# Usage: .github/scripts/rename/cmake.sh <repository directory>
 | 
			
		||||
 | 
			
		||||
if [ "$#" -ne 1 ]; then
 | 
			
		||||
    echo "Usage: $0 <repository directory>"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
DIRECTORY=$1
 | 
			
		||||
echo "Processing directory: ${DIRECTORY}"
 | 
			
		||||
if [ ! -d "${DIRECTORY}" ]; then
 | 
			
		||||
    echo "Error: Directory '${DIRECTORY}' does not exist."
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
pushd ${DIRECTORY}
 | 
			
		||||
 | 
			
		||||
# Rename the files.
 | 
			
		||||
find cmake -type f -name 'Rippled*.cmake' -exec bash -c 'mv "${1}" "${1/Rippled/Xrpl}"' - {} \;
 | 
			
		||||
find cmake -type f -name 'Ripple*.cmake' -exec bash -c 'mv "${1}" "${1/Ripple/Xrpl}"' - {} \;
 | 
			
		||||
if [ -e cmake/xrpl_add_test.cmake ]; then
 | 
			
		||||
  mv cmake/xrpl_add_test.cmake cmake/XrplAddTest.cmake
 | 
			
		||||
fi
 | 
			
		||||
if [ -e include/xrpl/proto/ripple.proto ]; then
 | 
			
		||||
  mv include/xrpl/proto/ripple.proto include/xrpl/proto/xrpl.proto
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Rename inside the files.
 | 
			
		||||
find cmake -type f -name '*.cmake' | while read -r FILE; do
 | 
			
		||||
    echo "Processing file: ${FILE}"
 | 
			
		||||
    ${SED_COMMAND} -i 's/Rippled/Xrpld/g' "${FILE}"
 | 
			
		||||
    ${SED_COMMAND} -i 's/Ripple/Xrpl/g' "${FILE}"
 | 
			
		||||
    ${SED_COMMAND} -i 's/rippled/xrpld/g' "${FILE}"
 | 
			
		||||
    ${SED_COMMAND} -i 's/ripple/xrpl/g' "${FILE}"
 | 
			
		||||
done
 | 
			
		||||
${SED_COMMAND} -i -E 's/Rippled?/Xrpl/g' CMakeLists.txt
 | 
			
		||||
${SED_COMMAND} -i 's/ripple/xrpl/g' CMakeLists.txt
 | 
			
		||||
${SED_COMMAND} -i 's/include(xrpl_add_test)/include(XrplAddTest)/' src/tests/libxrpl/CMakeLists.txt
 | 
			
		||||
${SED_COMMAND} -i 's/ripple.pb.h/xrpl.pb.h/' include/xrpl/protocol/messages.h
 | 
			
		||||
${SED_COMMAND} -i 's/ripple.pb.h/xrpl.pb.h/' BUILD.md
 | 
			
		||||
${SED_COMMAND} -i 's/ripple.pb.h/xrpl.pb.h/' BUILD.md
 | 
			
		||||
 | 
			
		||||
# Restore the name of the validator keys repository.
 | 
			
		||||
${SED_COMMAND} -i 's@xrpl/validator-keys-tool@ripple/validator-keys-tool@' cmake/XrplValidatorKeys.cmake
 | 
			
		||||
 | 
			
		||||
# Ensure the name of the binary and config remain 'rippled' for now.
 | 
			
		||||
${SED_COMMAND} -i -E 's/xrpld(-example)?\.cfg/rippled\1.cfg/g' cmake/XrplInstall.cmake
 | 
			
		||||
if grep -q '"xrpld"' cmake/XrplCore.cmake; then
 | 
			
		||||
  # The script has been rerun, so just restore the name of the binary.
 | 
			
		||||
  ${SED_COMMAND} -i 's/"xrpld"/"rippled"/' cmake/XrplCore.cmake
 | 
			
		||||
elif ! grep -q '"rippled"' cmake/XrplCore.cmake; then
 | 
			
		||||
  ghead -n -1 cmake/XrplCore.cmake > cmake.tmp
 | 
			
		||||
  echo '  # For the time being, we will keep the name of the binary as it was.' >> cmake.tmp
 | 
			
		||||
  echo '  set_target_properties(xrpld PROPERTIES OUTPUT_NAME "rippled")' >> cmake.tmp
 | 
			
		||||
  tail -1 cmake/XrplCore.cmake >> cmake.tmp
 | 
			
		||||
  mv cmake.tmp cmake/XrplCore.cmake
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
popd
 | 
			
		||||
echo "Renaming complete."
 | 
			
		||||
							
								
								
									
										106
									
								
								.github/scripts/rename/copyright.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										106
									
								
								.github/scripts/rename/copyright.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,106 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Exit the script as soon as an error occurs.
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
# On MacOS, ensure that GNU sed is installed and available as `gsed`.
 | 
			
		||||
SED_COMMAND=sed
 | 
			
		||||
if [[ "${OSTYPE}" == 'darwin'* ]]; then
 | 
			
		||||
  if ! command -v gsed &> /dev/null; then
 | 
			
		||||
      echo "Error: gsed is not installed. Please install it using 'brew install gnu-sed'."
 | 
			
		||||
      exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  SED_COMMAND=gsed
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# This script removes superfluous copyright notices in source and header files
 | 
			
		||||
# in this project. Specifically, it removes all notices referencing Ripple,
 | 
			
		||||
# XRPLF, and certain individual contributors upon mutual agreement, so the one
 | 
			
		||||
# in the LICENSE.md file applies throughout. Copyright notices referencing
 | 
			
		||||
# external contributions, e.g. from Bitcoin, remain as-is.
 | 
			
		||||
# Usage: .github/scripts/rename/copyright.sh <repository directory>
 | 
			
		||||
 | 
			
		||||
if [ "$#" -ne 1 ]; then
 | 
			
		||||
    echo "Usage: $0 <repository directory>"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
DIRECTORY=$1
 | 
			
		||||
echo "Processing directory: ${DIRECTORY}"
 | 
			
		||||
if [ ! -d "${DIRECTORY}" ]; then
 | 
			
		||||
    echo "Error: Directory '${DIRECTORY}' does not exist."
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
pushd ${DIRECTORY}
 | 
			
		||||
 | 
			
		||||
# Prevent sed and echo from removing newlines and tabs in string literals by
 | 
			
		||||
# temporarily replacing them with placeholders. This only affects one file.
 | 
			
		||||
PLACEHOLDER_NEWLINE="__NEWLINE__"
 | 
			
		||||
PLACEHOLDER_TAB="__TAB__"
 | 
			
		||||
${SED_COMMAND} -i -E "s@\\\n@${PLACEHOLDER_NEWLINE}@g" src/test/rpc/ValidatorInfo_test.cpp
 | 
			
		||||
${SED_COMMAND} -i -E "s@\\\t@${PLACEHOLDER_TAB}@g" src/test/rpc/ValidatorInfo_test.cpp
 | 
			
		||||
 | 
			
		||||
# Process the include/ and src/ directories.
 | 
			
		||||
DIRECTORIES=("include" "src")
 | 
			
		||||
for DIRECTORY in "${DIRECTORIES[@]}"; do
 | 
			
		||||
  echo "Processing directory: ${DIRECTORY}"
 | 
			
		||||
 | 
			
		||||
  find "${DIRECTORY}" -type f \( -name "*.h" -o -name "*.hpp" -o -name "*.ipp" -o -name "*.cpp" -o -name "*.macro" \) | while read -r FILE; do
 | 
			
		||||
      echo "Processing file: ${FILE}"
 | 
			
		||||
      # Handle the cases where the copyright notice is enclosed in /* ... */
 | 
			
		||||
      # and usually surrounded by //---- and //======.
 | 
			
		||||
      ${SED_COMMAND} -z -i -E 's@^//-------+\n+@@' "${FILE}"
 | 
			
		||||
      ${SED_COMMAND} -z -i -E 's@^.*Copyright.+(Ripple|Bougalis|Falco|Hinnant|Null|Ritchford|XRPLF).+PERFORMANCE OF THIS SOFTWARE\.\n\*/\n+@@' "${FILE}"
 | 
			
		||||
      ${SED_COMMAND} -z -i -E 's@^//=======+\n+@@' "${FILE}"
 | 
			
		||||
 | 
			
		||||
      # Handle the cases where the copyright notice is commented out with //.
 | 
			
		||||
      ${SED_COMMAND} -z -i -E 's@^//\n// Copyright.+Falco \(vinnie dot falco at gmail dot com\)\n//\n+@@' "${FILE}"
 | 
			
		||||
  done
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Restore copyright notices that were removed from specific files, without
 | 
			
		||||
# restoring the verbiage that is already present in LICENSE.md. Ensure that if
 | 
			
		||||
# the script is run multiple times, duplicate notices are not added.
 | 
			
		||||
if ! grep -q 'Raw Material Software' include/xrpl/beast/core/CurrentThreadName.h; then
 | 
			
		||||
  echo -e "// Portions of this file are from JUCE (http://www.juce.com).\n// Copyright (c) 2013 - Raw Material Software Ltd.\n// Please visit http://www.juce.com\n\n$(cat include/xrpl/beast/core/CurrentThreadName.h)" > include/xrpl/beast/core/CurrentThreadName.h
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Dev Null' src/test/app/NetworkID_test.cpp; then
 | 
			
		||||
  echo -e "// Copyright (c) 2020 Dev Null Productions\n\n$(cat src/test/app/NetworkID_test.cpp)" > src/test/app/NetworkID_test.cpp
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Dev Null' src/test/app/tx/apply_test.cpp; then
 | 
			
		||||
  echo -e "// Copyright (c) 2020 Dev Null Productions\n\n$(cat src/test/app/tx/apply_test.cpp)" > src/test/app/tx/apply_test.cpp
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Dev Null' src/test/app/NetworkOPs_test.cpp; then
 | 
			
		||||
  echo -e "// Copyright (c) 2020 Dev Null Productions\n\n$(cat src/test/app/NetworkOPs_test.cpp)" > src/test/app/NetworkOPs_test.cpp
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Dev Null' src/test/rpc/ManifestRPC_test.cpp; then
 | 
			
		||||
  echo -e "// Copyright (c) 2020 Dev Null Productions\n\n$(cat src/test/rpc/ManifestRPC_test.cpp)" > src/test/rpc/ManifestRPC_test.cpp
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Dev Null' src/test/rpc/ValidatorInfo_test.cpp; then
 | 
			
		||||
  echo -e "// Copyright (c) 2020 Dev Null Productions\n\n$(cat src/test/rpc/ValidatorInfo_test.cpp)" > src/test/rpc/ValidatorInfo_test.cpp
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Dev Null' src/xrpld/rpc/handlers/DoManifest.cpp; then
 | 
			
		||||
  echo -e "// Copyright (c) 2019 Dev Null Productions\n\n$(cat src/xrpld/rpc/handlers/DoManifest.cpp)" > src/xrpld/rpc/handlers/DoManifest.cpp
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Dev Null' src/xrpld/rpc/handlers/ValidatorInfo.cpp; then
 | 
			
		||||
  echo -e "// Copyright (c) 2019 Dev Null Productions\n\n$(cat src/xrpld/rpc/handlers/ValidatorInfo.cpp)" > src/xrpld/rpc/handlers/ValidatorInfo.cpp
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Bougalis' include/xrpl/basics/SlabAllocator.h; then
 | 
			
		||||
  echo -e "// Copyright (c) 2022, Nikolaos D. Bougalis <nikb@bougalis.net>\n\n$(cat include/xrpl/basics/SlabAllocator.h)" > include/xrpl/basics/SlabAllocator.h
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Bougalis' include/xrpl/basics/spinlock.h; then
 | 
			
		||||
  echo -e "// Copyright (c) 2022, Nikolaos D. Bougalis <nikb@bougalis.net>\n\n$(cat include/xrpl/basics/spinlock.h)" > include/xrpl/basics/spinlock.h
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Bougalis' include/xrpl/basics/tagged_integer.h; then
 | 
			
		||||
  echo -e "// Copyright (c) 2014, Nikolaos D. Bougalis <nikb@bougalis.net>\n\n$(cat include/xrpl/basics/tagged_integer.h)" > include/xrpl/basics/tagged_integer.h
 | 
			
		||||
fi
 | 
			
		||||
if ! grep -q 'Ritchford' include/xrpl/beast/utility/Zero.h; then
 | 
			
		||||
  echo -e "// Copyright (c) 2014, Tom Ritchford <tom@swirly.com>\n\n$(cat include/xrpl/beast/utility/Zero.h)" > include/xrpl/beast/utility/Zero.h
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Restore newlines and tabs in string literals in the affected file.
 | 
			
		||||
${SED_COMMAND} -i -E "s@${PLACEHOLDER_NEWLINE}@\\\n@g" src/test/rpc/ValidatorInfo_test.cpp
 | 
			
		||||
${SED_COMMAND} -i -E "s@${PLACEHOLDER_TAB}@\\\t@g" src/test/rpc/ValidatorInfo_test.cpp
 | 
			
		||||
 | 
			
		||||
popd
 | 
			
		||||
echo "Removal complete."
 | 
			
		||||
							
								
								
									
										42
									
								
								.github/scripts/rename/definitions.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								.github/scripts/rename/definitions.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
# Exit the script as soon as an error occurs.
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
# On MacOS, ensure that GNU sed is installed and available as `gsed`.
 | 
			
		||||
SED_COMMAND=sed
 | 
			
		||||
if [[ "${OSTYPE}" == 'darwin'* ]]; then
 | 
			
		||||
  if ! command -v gsed &> /dev/null; then
 | 
			
		||||
      echo "Error: gsed is not installed. Please install it using 'brew install gnu-sed'."
 | 
			
		||||
      exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  SED_COMMAND=gsed
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# This script renames definitions, such as include guards, in this project.
 | 
			
		||||
# Specifically, it renames "RIPPLED_XXX" and "RIPPLE_XXX" to "XRPL_XXX" by
 | 
			
		||||
# scanning all cmake, header, and source files in the specified directory and
 | 
			
		||||
# its subdirectories.
 | 
			
		||||
# Usage: .github/scripts/rename/definitions.sh <repository directory>
 | 
			
		||||
 | 
			
		||||
if [ "$#" -ne 1 ]; then
 | 
			
		||||
    echo "Usage: $0 <repository directory>"
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
DIRECTORY=$1
 | 
			
		||||
echo "Processing directory: ${DIRECTORY}"
 | 
			
		||||
if [ ! -d "${DIRECTORY}" ]; then
 | 
			
		||||
    echo "Error: Directory '${DIRECTORY}' does not exist."
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
find "${DIRECTORY}" -type f \( -name "*.h" -o -name "*.hpp" -o -name "*.ipp" -o -name "*.cpp" \) | while read -r FILE; do
 | 
			
		||||
    echo "Processing file: ${FILE}"
 | 
			
		||||
    ${SED_COMMAND} -i -E 's@#(define|endif|if|ifdef|ifndef)(.*)(RIPPLED_|RIPPLE_)([A-Z0-9_]+)@#\1\2XRPL_\4@g' "${FILE}"
 | 
			
		||||
done
 | 
			
		||||
find "${DIRECTORY}" -type f \( -name "*.cmake" -o -name "*.txt" \) | while read -r FILE; do
 | 
			
		||||
    echo "Processing file: ${FILE}"
 | 
			
		||||
    ${SED_COMMAND} -i -E 's@(RIPPLED_|RIPPLE_)([A-Z0-9_]+)@XRPL_\2@g' "${FILE}"
 | 
			
		||||
done
 | 
			
		||||
echo "Renaming complete."
 | 
			
		||||
							
								
								
									
										8
									
								
								.github/scripts/strategy-matrix/generate.py
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/scripts/strategy-matrix/generate.py
									
									
									
									
										vendored
									
									
								
							@@ -74,14 +74,14 @@ def generate_strategy_matrix(all: bool, config: Config) -> list:
 | 
			
		||||
                    continue
 | 
			
		||||
 | 
			
		||||
            # RHEL:
 | 
			
		||||
            # - 9.4 using GCC 12: Debug and Unity on linux/amd64.
 | 
			
		||||
            # - 9.6 using Clang: Release and no Unity on linux/amd64.
 | 
			
		||||
            # - 9 using GCC 12: Debug and Unity on linux/amd64.
 | 
			
		||||
            # - 10 using Clang: Release and no Unity on linux/amd64.
 | 
			
		||||
            if os['distro_name'] == 'rhel':
 | 
			
		||||
                skip = True
 | 
			
		||||
                if os['distro_version'] == '9.4':
 | 
			
		||||
                if os['distro_version'] == '9':
 | 
			
		||||
                    if f'{os['compiler_name']}-{os['compiler_version']}' == 'gcc-12' and build_type == 'Debug' and '-Dunity=ON' in cmake_args and architecture['platform'] == 'linux/amd64':
 | 
			
		||||
                        skip = False
 | 
			
		||||
                elif os['distro_version'] == '9.6':
 | 
			
		||||
                elif os['distro_version'] == '10':
 | 
			
		||||
                    if f'{os['compiler_name']}-{os['compiler_version']}' == 'clang-any' and build_type == 'Release' and '-Dunity=OFF' in cmake_args and architecture['platform'] == 'linux/amd64':
 | 
			
		||||
                        skip = False
 | 
			
		||||
                if skip:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										122
									
								
								.github/scripts/strategy-matrix/linux.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										122
									
								
								.github/scripts/strategy-matrix/linux.json
									
									
									
									
										vendored
									
									
								
							@@ -14,139 +14,169 @@
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "12"
 | 
			
		||||
      "compiler_version": "12",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "13"
 | 
			
		||||
      "compiler_version": "13",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "14"
 | 
			
		||||
      "compiler_version": "14",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "15"
 | 
			
		||||
      "compiler_version": "15",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "16"
 | 
			
		||||
      "compiler_version": "16",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "17"
 | 
			
		||||
      "compiler_version": "17",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "18"
 | 
			
		||||
      "compiler_version": "18",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "19"
 | 
			
		||||
      "compiler_version": "19",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "debian",
 | 
			
		||||
      "distro_version": "bookworm",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "20"
 | 
			
		||||
      "compiler_version": "20",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9.4",
 | 
			
		||||
      "distro_version": "8",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "12"
 | 
			
		||||
      "compiler_version": "14",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9.4",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "13"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9.4",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "14"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9.6",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "13"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9.6",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "14"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9.4",
 | 
			
		||||
      "distro_version": "8",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "any"
 | 
			
		||||
      "compiler_version": "any",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9.6",
 | 
			
		||||
      "distro_version": "9",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "12",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "13",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "14",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "9",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "any"
 | 
			
		||||
      "compiler_version": "any",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "10",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "14",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "rhel",
 | 
			
		||||
      "distro_version": "10",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "any",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "ubuntu",
 | 
			
		||||
      "distro_version": "jammy",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "12"
 | 
			
		||||
      "compiler_version": "12",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "ubuntu",
 | 
			
		||||
      "distro_version": "noble",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "13"
 | 
			
		||||
      "compiler_version": "13",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "ubuntu",
 | 
			
		||||
      "distro_version": "noble",
 | 
			
		||||
      "compiler_name": "gcc",
 | 
			
		||||
      "compiler_version": "14"
 | 
			
		||||
      "compiler_version": "14",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "ubuntu",
 | 
			
		||||
      "distro_version": "noble",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "16"
 | 
			
		||||
      "compiler_version": "16",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "ubuntu",
 | 
			
		||||
      "distro_version": "noble",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "17"
 | 
			
		||||
      "compiler_version": "17",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "ubuntu",
 | 
			
		||||
      "distro_version": "noble",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "18"
 | 
			
		||||
      "compiler_version": "18",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "distro_name": "ubuntu",
 | 
			
		||||
      "distro_version": "noble",
 | 
			
		||||
      "compiler_name": "clang",
 | 
			
		||||
      "compiler_version": "19"
 | 
			
		||||
      "compiler_version": "19",
 | 
			
		||||
      "image_sha": "97ba375"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "build_type": ["Debug", "Release"],
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								.github/scripts/strategy-matrix/macos.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/scripts/strategy-matrix/macos.json
									
									
									
									
										vendored
									
									
								
							@@ -10,7 +10,8 @@
 | 
			
		||||
      "distro_name": "macos",
 | 
			
		||||
      "distro_version": "",
 | 
			
		||||
      "compiler_name": "",
 | 
			
		||||
      "compiler_version": ""
 | 
			
		||||
      "compiler_version": "",
 | 
			
		||||
      "image_sha": ""
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "build_type": ["Debug", "Release"],
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								.github/scripts/strategy-matrix/windows.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/scripts/strategy-matrix/windows.json
									
									
									
									
										vendored
									
									
								
							@@ -10,7 +10,8 @@
 | 
			
		||||
      "distro_name": "windows",
 | 
			
		||||
      "distro_version": "",
 | 
			
		||||
      "compiler_name": "",
 | 
			
		||||
      "compiler_version": ""
 | 
			
		||||
      "compiler_version": "",
 | 
			
		||||
      "image_sha": ""
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "build_type": ["Debug", "Release"],
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								.github/workflows/on-pr.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/workflows/on-pr.yml
									
									
									
									
										vendored
									
									
								
							@@ -50,7 +50,9 @@ jobs:
 | 
			
		||||
          files: |
 | 
			
		||||
            # These paths are unique to `on-pr.yml`.
 | 
			
		||||
            .github/scripts/levelization/**
 | 
			
		||||
            .github/scripts/rename/**
 | 
			
		||||
            .github/workflows/reusable-check-levelization.yml
 | 
			
		||||
            .github/workflows/reusable-check-rename.yml
 | 
			
		||||
            .github/workflows/reusable-notify-clio.yml
 | 
			
		||||
            .github/workflows/on-pr.yml
 | 
			
		||||
 | 
			
		||||
@@ -98,11 +100,17 @@ jobs:
 | 
			
		||||
    if: ${{ needs.should-run.outputs.go == 'true' }}
 | 
			
		||||
    uses: ./.github/workflows/reusable-check-levelization.yml
 | 
			
		||||
 | 
			
		||||
  check-rename:
 | 
			
		||||
    needs: should-run
 | 
			
		||||
    if: ${{ needs.should-run.outputs.go == 'true' }}
 | 
			
		||||
    uses: ./.github/workflows/reusable-check-rename.yml
 | 
			
		||||
 | 
			
		||||
  build-test:
 | 
			
		||||
    needs: should-run
 | 
			
		||||
    if: ${{ needs.should-run.outputs.go == 'true' }}
 | 
			
		||||
    uses: ./.github/workflows/reusable-build-test.yml
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [linux, macos, windows]
 | 
			
		||||
    with:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								.github/workflows/on-trigger.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/on-trigger.yml
									
									
									
									
										vendored
									
									
								
							@@ -9,9 +9,9 @@ name: Trigger
 | 
			
		||||
on:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - develop
 | 
			
		||||
      - release
 | 
			
		||||
      - master
 | 
			
		||||
      - "develop"
 | 
			
		||||
      - "release*"
 | 
			
		||||
      - "master"
 | 
			
		||||
    paths:
 | 
			
		||||
      # These paths are unique to `on-trigger.yml`.
 | 
			
		||||
      - ".github/workflows/reusable-check-missing-commits.yml"
 | 
			
		||||
@@ -50,7 +50,12 @@ on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.ref }}
 | 
			
		||||
  # When a PR is merged into the develop branch it will be assigned a unique
 | 
			
		||||
  # group identifier, so execution will continue even if another PR is merged
 | 
			
		||||
  # while it is still running. In all other cases the group identifier is shared
 | 
			
		||||
  # per branch, so that any in-progress runs are cancelled when a new commit is
 | 
			
		||||
  # pushed.
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.event_name == 'push' && github.ref == 'refs/heads/develop' && github.sha || github.ref }}
 | 
			
		||||
  cancel-in-progress: true
 | 
			
		||||
 | 
			
		||||
defaults:
 | 
			
		||||
@@ -65,6 +70,7 @@ jobs:
 | 
			
		||||
  build-test:
 | 
			
		||||
    uses: ./.github/workflows/reusable-build-test.yml
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: ${{ github.event_name == 'merge_group' }}
 | 
			
		||||
      matrix:
 | 
			
		||||
        os: [linux, macos, windows]
 | 
			
		||||
    with:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/workflows/pre-commit.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/pre-commit.yml
									
									
									
									
										vendored
									
									
								
							@@ -9,7 +9,7 @@ on:
 | 
			
		||||
jobs:
 | 
			
		||||
  # Call the workflow in the XRPLF/actions repo that runs the pre-commit hooks.
 | 
			
		||||
  run-hooks:
 | 
			
		||||
    uses: XRPLF/actions/.github/workflows/pre-commit.yml@af1b0f0d764cda2e5435f5ac97b240d4bd4d95d3
 | 
			
		||||
    uses: XRPLF/actions/.github/workflows/pre-commit.yml@34790936fae4c6c751f62ec8c06696f9c1a5753a
 | 
			
		||||
    with:
 | 
			
		||||
      runs_on: ubuntu-latest
 | 
			
		||||
      container: '{ "image": "ghcr.io/xrplf/ci/tools-rippled-pre-commit:sha-d1496b8" }'
 | 
			
		||||
      container: '{ "image": "ghcr.io/xrplf/ci/tools-rippled-pre-commit:sha-a8c7be1" }'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								.github/workflows/publish-docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/publish-docs.yml
									
									
									
									
										vendored
									
									
								
							@@ -23,16 +23,24 @@ defaults:
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  BUILD_DIR: .build
 | 
			
		||||
  NPROC_SUBTRACT: 2
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  publish:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    container: ghcr.io/xrplf/ci/tools-rippled-documentation:sha-d1496b8
 | 
			
		||||
    container: ghcr.io/xrplf/ci/tools-rippled-documentation:sha-a8c7be1
 | 
			
		||||
    permissions:
 | 
			
		||||
      contents: write
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout repository
 | 
			
		||||
        uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
 | 
			
		||||
 | 
			
		||||
      - name: Get number of processors
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/get-nproc@046b1620f6bfd6cd0985dc82c3df02786801fe0a
 | 
			
		||||
        id: nproc
 | 
			
		||||
        with:
 | 
			
		||||
          subtract: ${{ env.NPROC_SUBTRACT }}
 | 
			
		||||
 | 
			
		||||
      - name: Check configuration
 | 
			
		||||
        run: |
 | 
			
		||||
          echo 'Checking path.'
 | 
			
		||||
@@ -46,12 +54,16 @@ jobs:
 | 
			
		||||
 | 
			
		||||
          echo 'Checking Doxygen version.'
 | 
			
		||||
          doxygen --version
 | 
			
		||||
 | 
			
		||||
      - name: Build documentation
 | 
			
		||||
        env:
 | 
			
		||||
          BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p ${{ env.BUILD_DIR }}
 | 
			
		||||
          cd ${{ env.BUILD_DIR }}
 | 
			
		||||
          mkdir -p "${BUILD_DIR}"
 | 
			
		||||
          cd "${BUILD_DIR}"
 | 
			
		||||
          cmake -Donly_docs=ON ..
 | 
			
		||||
          cmake --build . --target docs --parallel $(nproc)
 | 
			
		||||
          cmake --build . --target docs --parallel ${BUILD_NPROC}
 | 
			
		||||
 | 
			
		||||
      - name: Publish documentation
 | 
			
		||||
        if: ${{ github.ref_type == 'branch' && github.ref_name == github.event.repository.default_branch }}
 | 
			
		||||
        uses: peaceiris/actions-gh-pages@4f9cc6602d3f66b9c108549d475ec49e8ef4d45e # v4.0.0
 | 
			
		||||
 
 | 
			
		||||
@@ -39,6 +39,12 @@ on:
 | 
			
		||||
        required: true
 | 
			
		||||
        type: string
 | 
			
		||||
 | 
			
		||||
      nproc_subtract:
 | 
			
		||||
        description: "The number of processors to subtract when calculating parallelism."
 | 
			
		||||
        required: false
 | 
			
		||||
        type: number
 | 
			
		||||
        default: 2
 | 
			
		||||
 | 
			
		||||
    secrets:
 | 
			
		||||
      CODECOV_TOKEN:
 | 
			
		||||
        description: "The Codecov token to use for uploading coverage reports."
 | 
			
		||||
@@ -55,6 +61,7 @@ jobs:
 | 
			
		||||
      runs_on: ${{ inputs.runs_on }}
 | 
			
		||||
      image: ${{ inputs.image }}
 | 
			
		||||
      config_name: ${{ inputs.config_name }}
 | 
			
		||||
      nproc_subtract: ${{ inputs.nproc_subtract }}
 | 
			
		||||
    secrets:
 | 
			
		||||
      CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
 | 
			
		||||
 | 
			
		||||
@@ -67,3 +74,4 @@ jobs:
 | 
			
		||||
      runs_on: ${{ inputs.runs_on }}
 | 
			
		||||
      image: ${{ inputs.image }}
 | 
			
		||||
      config_name: ${{ inputs.config_name }}
 | 
			
		||||
      nproc_subtract: ${{ inputs.nproc_subtract }}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								.github/workflows/reusable-build-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/reusable-build-test.yml
									
									
									
									
										vendored
									
									
								
							@@ -42,7 +42,7 @@ jobs:
 | 
			
		||||
      - generate-matrix
 | 
			
		||||
    uses: ./.github/workflows/reusable-build-test-config.yml
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      fail-fast: ${{ github.event_name == 'merge_group' }}
 | 
			
		||||
      matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
 | 
			
		||||
      max-parallel: 10
 | 
			
		||||
    with:
 | 
			
		||||
@@ -52,7 +52,7 @@ jobs:
 | 
			
		||||
      cmake_args: ${{ matrix.cmake_args }}
 | 
			
		||||
      cmake_target: ${{ matrix.cmake_target }}
 | 
			
		||||
      runs_on: ${{ toJSON(matrix.architecture.runner) }}
 | 
			
		||||
      image: ${{ contains(matrix.architecture.platform, 'linux') && format('ghcr.io/xrplf/ci/{0}-{1}:{2}-{3}-sha-5dd7158', matrix.os.distro_name, matrix.os.distro_version, matrix.os.compiler_name, matrix.os.compiler_version) || '' }}
 | 
			
		||||
      image: ${{ contains(matrix.architecture.platform, 'linux') && format('ghcr.io/xrplf/ci/{0}-{1}:{2}-{3}-sha-{4}', matrix.os.distro_name, matrix.os.distro_version, matrix.os.compiler_name, matrix.os.compiler_version, matrix.os.image_sha) || '' }}
 | 
			
		||||
      config_name: ${{ matrix.config_name }}
 | 
			
		||||
    secrets:
 | 
			
		||||
      CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										49
									
								
								.github/workflows/reusable-build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										49
									
								
								.github/workflows/reusable-build.yml
									
									
									
									
										vendored
									
									
								
							@@ -34,6 +34,11 @@ on:
 | 
			
		||||
        required: true
 | 
			
		||||
        type: string
 | 
			
		||||
 | 
			
		||||
      nproc_subtract:
 | 
			
		||||
        description: "The number of processors to subtract when calculating parallelism."
 | 
			
		||||
        required: true
 | 
			
		||||
        type: number
 | 
			
		||||
 | 
			
		||||
    secrets:
 | 
			
		||||
      CODECOV_TOKEN:
 | 
			
		||||
        description: "The Codecov token to use for uploading coverage reports."
 | 
			
		||||
@@ -48,6 +53,7 @@ jobs:
 | 
			
		||||
    name: Build ${{ inputs.config_name }}
 | 
			
		||||
    runs-on: ${{ fromJSON(inputs.runs_on) }}
 | 
			
		||||
    container: ${{ inputs.image != '' && inputs.image || null }}
 | 
			
		||||
    timeout-minutes: 60
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Cleanup workspace
 | 
			
		||||
        if: ${{ runner.os == 'macOS' }}
 | 
			
		||||
@@ -57,13 +63,19 @@ jobs:
 | 
			
		||||
        uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
 | 
			
		||||
 | 
			
		||||
      - name: Prepare runner
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/prepare-runner@638e0dc11ea230f91bd26622fb542116bb5254d5
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/prepare-runner@99685816bb60a95a66852f212f382580e180df3a
 | 
			
		||||
        with:
 | 
			
		||||
          disable_ccache: false
 | 
			
		||||
 | 
			
		||||
      - name: Print build environment
 | 
			
		||||
        uses: ./.github/actions/print-env
 | 
			
		||||
 | 
			
		||||
      - name: Get number of processors
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/get-nproc@046b1620f6bfd6cd0985dc82c3df02786801fe0a
 | 
			
		||||
        id: nproc
 | 
			
		||||
        with:
 | 
			
		||||
          subtract: ${{ inputs.nproc_subtract }}
 | 
			
		||||
 | 
			
		||||
      - name: Setup Conan
 | 
			
		||||
        uses: ./.github/actions/setup-conan
 | 
			
		||||
 | 
			
		||||
@@ -71,7 +83,11 @@ jobs:
 | 
			
		||||
        uses: ./.github/actions/build-deps
 | 
			
		||||
        with:
 | 
			
		||||
          build_dir: ${{ inputs.build_dir }}
 | 
			
		||||
          build_nproc: ${{ steps.nproc.outputs.nproc }}
 | 
			
		||||
          build_type: ${{ inputs.build_type }}
 | 
			
		||||
          # Set the verbosity to "quiet" for Windows to avoid an excessive
 | 
			
		||||
          # amount of logs. For other OSes, the "verbose" logs are more useful.
 | 
			
		||||
          log_verbosity: ${{ runner.os == 'Windows' && 'quiet' || 'verbose' }}
 | 
			
		||||
 | 
			
		||||
      - name: Configure CMake
 | 
			
		||||
        shell: bash
 | 
			
		||||
@@ -83,33 +99,50 @@ jobs:
 | 
			
		||||
          cmake \
 | 
			
		||||
            -G '${{ runner.os == 'Windows' && 'Visual Studio 17 2022' || 'Ninja' }}' \
 | 
			
		||||
            -DCMAKE_TOOLCHAIN_FILE:FILEPATH=build/generators/conan_toolchain.cmake \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
 | 
			
		||||
            ${{ env.CMAKE_ARGS }} \
 | 
			
		||||
            -DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
 | 
			
		||||
            ${CMAKE_ARGS} \
 | 
			
		||||
            ..
 | 
			
		||||
 | 
			
		||||
      - name: Build the binary
 | 
			
		||||
        shell: bash
 | 
			
		||||
        working-directory: ${{ inputs.build_dir }}
 | 
			
		||||
        env:
 | 
			
		||||
          BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
 | 
			
		||||
          BUILD_TYPE: ${{ inputs.build_type }}
 | 
			
		||||
          CMAKE_TARGET: ${{ inputs.cmake_target }}
 | 
			
		||||
        run: |
 | 
			
		||||
          cmake \
 | 
			
		||||
            --build . \
 | 
			
		||||
            --config ${{ env.BUILD_TYPE }} \
 | 
			
		||||
            --parallel $(nproc) \
 | 
			
		||||
            --target ${{ env.CMAKE_TARGET }}
 | 
			
		||||
            --config "${BUILD_TYPE}" \
 | 
			
		||||
            --parallel ${BUILD_NPROC} \
 | 
			
		||||
            --target "${CMAKE_TARGET}"
 | 
			
		||||
 | 
			
		||||
      - name: Put built binaries in one location
 | 
			
		||||
        shell: bash
 | 
			
		||||
        working-directory: ${{ inputs.build_dir }}
 | 
			
		||||
        env:
 | 
			
		||||
          BUILD_TYPE_DIR: ${{ runner.os == 'Windows' && inputs.build_type || '' }}
 | 
			
		||||
          CMAKE_TARGET: ${{ inputs.cmake_target }}
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p ./binaries/doctest/
 | 
			
		||||
 | 
			
		||||
          cp ./${BUILD_TYPE_DIR}/rippled* ./binaries/
 | 
			
		||||
          if [ "${CMAKE_TARGET}" != 'coverage' ]; then
 | 
			
		||||
            cp ./src/tests/libxrpl/${BUILD_TYPE_DIR}/xrpl.test.* ./binaries/doctest/
 | 
			
		||||
          fi
 | 
			
		||||
 | 
			
		||||
      - name: Upload rippled artifact
 | 
			
		||||
        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
 | 
			
		||||
        env:
 | 
			
		||||
          BUILD_DIR: ${{ inputs.build_dir }}
 | 
			
		||||
        with:
 | 
			
		||||
          name: rippled-${{ inputs.config_name }}
 | 
			
		||||
          path: ${{ inputs.build_dir }}/${{ runner.os == 'Windows' && inputs.build_type || '' }}/rippled${{ runner.os == 'Windows' && '.exe' || '' }}
 | 
			
		||||
          path: ${{ env.BUILD_DIR }}/binaries/
 | 
			
		||||
          retention-days: 3
 | 
			
		||||
          if-no-files-found: error
 | 
			
		||||
 | 
			
		||||
      - name: Upload coverage report
 | 
			
		||||
        if: ${{ inputs.cmake_target == 'coverage' }}
 | 
			
		||||
        if: ${{ github.repository_owner == 'XRPLF' && inputs.cmake_target == 'coverage' }}
 | 
			
		||||
        uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
 | 
			
		||||
        with:
 | 
			
		||||
          disable_search: true
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										46
									
								
								.github/workflows/reusable-check-rename.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								.github/workflows/reusable-check-rename.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,46 @@
 | 
			
		||||
# This workflow checks if the codebase is properly renamed, see more info in
 | 
			
		||||
# .github/scripts/rename/README.md.
 | 
			
		||||
name: Check rename
 | 
			
		||||
 | 
			
		||||
# This workflow can only be triggered by other workflows.
 | 
			
		||||
on: workflow_call
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.ref }}-rename
 | 
			
		||||
  cancel-in-progress: true
 | 
			
		||||
 | 
			
		||||
defaults:
 | 
			
		||||
  run:
 | 
			
		||||
    shell: bash
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  rename:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout repository
 | 
			
		||||
        uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
 | 
			
		||||
      - name: Check definitions
 | 
			
		||||
        run: .github/scripts/rename/definitions.sh .
 | 
			
		||||
      - name: Check copyright notices
 | 
			
		||||
        run: .github/scripts/rename/copyright.sh .
 | 
			
		||||
      - name: Check CMake configs
 | 
			
		||||
        run: .github/scripts/rename/cmake.sh .
 | 
			
		||||
      - name: Check for differences
 | 
			
		||||
        env:
 | 
			
		||||
          MESSAGE: |
 | 
			
		||||
 | 
			
		||||
            One or more files contain changes that do not adhere to new naming
 | 
			
		||||
            conventions.
 | 
			
		||||
 | 
			
		||||
            Run the scripts in '.github/scripts/rename/' in your repo, commit
 | 
			
		||||
            and push the changes. See .github/scripts/rename/README.md for
 | 
			
		||||
            more info.
 | 
			
		||||
        run: |
 | 
			
		||||
          DIFF=$(git status --porcelain)
 | 
			
		||||
          if [ -n "${DIFF}" ]; then
 | 
			
		||||
            # Print the differences to give the contributor a hint about what to
 | 
			
		||||
            # expect when running the renaming scripts on their own machine.
 | 
			
		||||
            git diff
 | 
			
		||||
            echo "${MESSAGE}"
 | 
			
		||||
            exit 1
 | 
			
		||||
          fi
 | 
			
		||||
							
								
								
									
										10
									
								
								.github/workflows/reusable-notify-clio.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								.github/workflows/reusable-notify-clio.yml
									
									
									
									
										vendored
									
									
								
							@@ -51,7 +51,7 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          echo 'Generating user and channel.'
 | 
			
		||||
          echo "user=clio" >> "${GITHUB_OUTPUT}"
 | 
			
		||||
          echo "channel=pr_${{ env.PR_NUMBER }}" >> "${GITHUB_OUTPUT}"
 | 
			
		||||
          echo "channel=pr_${PR_NUMBER}" >> "${GITHUB_OUTPUT}"
 | 
			
		||||
          echo 'Extracting version.'
 | 
			
		||||
          echo "version=$(cat src/libxrpl/protocol/BuildInfo.cpp | grep "versionString =" | awk -F '"' '{print $2}')" >> "${GITHUB_OUTPUT}"
 | 
			
		||||
      - name: Calculate conan reference
 | 
			
		||||
@@ -64,13 +64,15 @@ jobs:
 | 
			
		||||
          conan_remote_name: ${{ inputs.conan_remote_name }}
 | 
			
		||||
          conan_remote_url: ${{ inputs.conan_remote_url }}
 | 
			
		||||
      - name: Log into Conan remote
 | 
			
		||||
        run: conan remote login ${{ inputs.conan_remote_name }} "${{ secrets.conan_remote_username }}" --password "${{ secrets.conan_remote_password }}"
 | 
			
		||||
        env:
 | 
			
		||||
          CONAN_REMOTE_NAME: ${{ inputs.conan_remote_name }}
 | 
			
		||||
        run: conan remote login "${CONAN_REMOTE_NAME}" "${{ secrets.conan_remote_username }}" --password "${{ secrets.conan_remote_password }}"
 | 
			
		||||
      - name: Upload package
 | 
			
		||||
        env:
 | 
			
		||||
          CONAN_REMOTE_NAME: ${{ inputs.conan_remote_name }}
 | 
			
		||||
        run: |
 | 
			
		||||
          conan export --user=${{ steps.generate.outputs.user }} --channel=${{ steps.generate.outputs.channel }} .
 | 
			
		||||
          conan upload --confirm --check --remote=${{ env.CONAN_REMOTE_NAME }} xrpl/${{ steps.conan_ref.outputs.conan_ref }}
 | 
			
		||||
          conan upload --confirm --check --remote="${CONAN_REMOTE_NAME}" xrpl/${{ steps.conan_ref.outputs.conan_ref }}
 | 
			
		||||
    outputs:
 | 
			
		||||
      conan_ref: ${{ steps.conan_ref.outputs.conan_ref }}
 | 
			
		||||
 | 
			
		||||
@@ -86,4 +88,4 @@ jobs:
 | 
			
		||||
          gh api --method POST -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" \
 | 
			
		||||
          /repos/xrplf/clio/dispatches -f "event_type=check_libxrpl" \
 | 
			
		||||
          -F "client_payload[conan_ref]=${{ needs.upload.outputs.conan_ref }}" \
 | 
			
		||||
          -F "client_payload[pr_url]=${{ env.PR_URL }}"
 | 
			
		||||
          -F "client_payload[pr_url]=${PR_URL}"
 | 
			
		||||
 
 | 
			
		||||
@@ -38,4 +38,4 @@ jobs:
 | 
			
		||||
        env:
 | 
			
		||||
          GENERATE_CONFIG: ${{ inputs.os != '' && format('--config={0}.json', inputs.os) || '' }}
 | 
			
		||||
          GENERATE_OPTION: ${{ inputs.strategy_matrix == 'all' && '--all' || '' }}
 | 
			
		||||
        run: ./generate.py ${{ env.GENERATE_OPTION }} ${{ env.GENERATE_CONFIG }} >> "${GITHUB_OUTPUT}"
 | 
			
		||||
        run: ./generate.py ${GENERATE_OPTION} ${GENERATE_CONFIG} >> "${GITHUB_OUTPUT}"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										48
									
								
								.github/workflows/reusable-test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										48
									
								
								.github/workflows/reusable-test.yml
									
									
									
									
										vendored
									
									
								
							@@ -26,12 +26,28 @@ on:
 | 
			
		||||
        required: true
 | 
			
		||||
        type: string
 | 
			
		||||
 | 
			
		||||
      nproc_subtract:
 | 
			
		||||
        description: "The number of processors to subtract when calculating parallelism."
 | 
			
		||||
        required: true
 | 
			
		||||
        type: number
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  test:
 | 
			
		||||
    name: Test ${{ inputs.config_name }}
 | 
			
		||||
    runs-on: ${{ fromJSON(inputs.runs_on) }}
 | 
			
		||||
    container: ${{ inputs.image != '' && inputs.image || null }}
 | 
			
		||||
    timeout-minutes: 30
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Cleanup workspace
 | 
			
		||||
        if: ${{ runner.os == 'macOS' }}
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/cleanup-workspace@3f044c7478548e3c32ff68980eeb36ece02b364e
 | 
			
		||||
 | 
			
		||||
      - name: Get number of processors
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/get-nproc@046b1620f6bfd6cd0985dc82c3df02786801fe0a
 | 
			
		||||
        id: nproc
 | 
			
		||||
        with:
 | 
			
		||||
          subtract: ${{ inputs.nproc_subtract }}
 | 
			
		||||
 | 
			
		||||
      - name: Download rippled artifact
 | 
			
		||||
        uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
 | 
			
		||||
        with:
 | 
			
		||||
@@ -61,9 +77,35 @@ jobs:
 | 
			
		||||
        run: |
 | 
			
		||||
          ./rippled --version | grep libvoidstar
 | 
			
		||||
 | 
			
		||||
      - name: Test the binary
 | 
			
		||||
      - name: Run the embedded tests
 | 
			
		||||
        if: ${{ inputs.run_tests }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        env:
 | 
			
		||||
          BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
 | 
			
		||||
        run: |
 | 
			
		||||
          ./rippled --unittest --unittest-jobs $(nproc)
 | 
			
		||||
          ctest -j $(nproc) --output-on-failure
 | 
			
		||||
          ./rippled --unittest --unittest-jobs ${BUILD_NPROC}
 | 
			
		||||
 | 
			
		||||
      - name: Run the separate tests
 | 
			
		||||
        if: ${{ inputs.run_tests }}
 | 
			
		||||
        env:
 | 
			
		||||
          EXT: ${{ runner.os == 'Windows' && '.exe' || '' }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          for test_file in ./doctest/*${EXT}; do
 | 
			
		||||
            echo "Executing $test_file"
 | 
			
		||||
            chmod +x "$test_file"
 | 
			
		||||
            if [[ "${{ runner.os }}" == "Windows" && "$test_file" == "./doctest/xrpl.test.net.exe" ]]; then
 | 
			
		||||
              echo "Skipping $test_file on Windows"
 | 
			
		||||
            else
 | 
			
		||||
              "$test_file"
 | 
			
		||||
            fi
 | 
			
		||||
          done
 | 
			
		||||
 | 
			
		||||
      - name: Debug failure (Linux)
 | 
			
		||||
        if: ${{ failure() && runner.os == 'Linux' && inputs.run_tests }}
 | 
			
		||||
        shell: bash
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "IPv4 local port range:"
 | 
			
		||||
          cat /proc/sys/net/ipv4/ip_local_port_range
 | 
			
		||||
          echo "Netstat:"
 | 
			
		||||
          netstat -an
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										33
									
								
								.github/workflows/upload-conan-deps.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										33
									
								
								.github/workflows/upload-conan-deps.yml
									
									
									
									
										vendored
									
									
								
							@@ -34,17 +34,20 @@ on:
 | 
			
		||||
env:
 | 
			
		||||
  CONAN_REMOTE_NAME: xrplf
 | 
			
		||||
  CONAN_REMOTE_URL: https://conan.ripplex.io
 | 
			
		||||
  NPROC_SUBTRACT: 2
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.ref }}
 | 
			
		||||
  cancel-in-progress: true
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  # Generate the strategy matrix to be used by the following job.
 | 
			
		||||
  generate-matrix:
 | 
			
		||||
    uses: ./.github/workflows/reusable-strategy-matrix.yml
 | 
			
		||||
    with:
 | 
			
		||||
      strategy_matrix: ${{ github.event_name == 'pull_request' && 'minimal' || 'all' }}
 | 
			
		||||
 | 
			
		||||
  # Build and upload the dependencies for each configuration.
 | 
			
		||||
  run-upload-conan-deps:
 | 
			
		||||
    needs:
 | 
			
		||||
      - generate-matrix
 | 
			
		||||
@@ -53,19 +56,29 @@ jobs:
 | 
			
		||||
      matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }}
 | 
			
		||||
      max-parallel: 10
 | 
			
		||||
    runs-on: ${{ matrix.architecture.runner }}
 | 
			
		||||
    container: ${{ contains(matrix.architecture.platform, 'linux') && format('ghcr.io/xrplf/ci/{0}-{1}:{2}-{3}-sha-5dd7158', matrix.os.distro_name, matrix.os.distro_version, matrix.os.compiler_name, matrix.os.compiler_version) || null }}
 | 
			
		||||
 | 
			
		||||
    container: ${{ contains(matrix.architecture.platform, 'linux') && format('ghcr.io/xrplf/ci/{0}-{1}:{2}-{3}-sha-{4}', matrix.os.distro_name, matrix.os.distro_version, matrix.os.compiler_name, matrix.os.compiler_version, matrix.os.image_sha) || null }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Cleanup workspace
 | 
			
		||||
        if: ${{ runner.os == 'macOS' }}
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/cleanup-workspace@3f044c7478548e3c32ff68980eeb36ece02b364e
 | 
			
		||||
 | 
			
		||||
      - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
 | 
			
		||||
      - name: Checkout repository
 | 
			
		||||
        uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
 | 
			
		||||
 | 
			
		||||
      - name: Prepare runner
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/prepare-runner@638e0dc11ea230f91bd26622fb542116bb5254d5
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/prepare-runner@99685816bb60a95a66852f212f382580e180df3a
 | 
			
		||||
        with:
 | 
			
		||||
          disable_ccache: false
 | 
			
		||||
 | 
			
		||||
      - name: Print build environment
 | 
			
		||||
        uses: ./.github/actions/print-env
 | 
			
		||||
 | 
			
		||||
      - name: Get number of processors
 | 
			
		||||
        uses: XRPLF/actions/.github/actions/get-nproc@046b1620f6bfd6cd0985dc82c3df02786801fe0a
 | 
			
		||||
        id: nproc
 | 
			
		||||
        with:
 | 
			
		||||
          subtract: ${{ env.NPROC_SUBTRACT }}
 | 
			
		||||
 | 
			
		||||
      - name: Setup Conan
 | 
			
		||||
        uses: ./.github/actions/setup-conan
 | 
			
		||||
        with:
 | 
			
		||||
@@ -76,15 +89,19 @@ jobs:
 | 
			
		||||
        uses: ./.github/actions/build-deps
 | 
			
		||||
        with:
 | 
			
		||||
          build_dir: .build
 | 
			
		||||
          build_nproc: ${{ steps.nproc.outputs.nproc }}
 | 
			
		||||
          build_type: ${{ matrix.build_type }}
 | 
			
		||||
          force_build: ${{ github.event_name == 'schedule' || github.event.inputs.force_source_build == 'true' }}
 | 
			
		||||
          # Set the verbosity to "quiet" for Windows to avoid an excessive
 | 
			
		||||
          # amount of logs. For other OSes, the "verbose" logs are more useful.
 | 
			
		||||
          log_verbosity: ${{ runner.os == 'Windows' && 'quiet' || 'verbose' }}
 | 
			
		||||
 | 
			
		||||
      - name: Log into Conan remote
 | 
			
		||||
        if: ${{ github.repository_owner == 'XRPLF' && github.event_name != 'pull_request' }}
 | 
			
		||||
        run: conan remote login ${{ env.CONAN_REMOTE_NAME }} "${{ secrets.CONAN_REMOTE_USERNAME }}" --password "${{ secrets.CONAN_REMOTE_PASSWORD }}"
 | 
			
		||||
        if: ${{ github.repository_owner == 'XRPLF' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') }}
 | 
			
		||||
        run: conan remote login "${CONAN_REMOTE_NAME}" "${{ secrets.CONAN_REMOTE_USERNAME }}" --password "${{ secrets.CONAN_REMOTE_PASSWORD }}"
 | 
			
		||||
 | 
			
		||||
      - name: Upload Conan packages
 | 
			
		||||
        if: ${{ github.repository_owner == 'XRPLF' && github.event_name != 'pull_request' && github.event_name != 'schedule' }}
 | 
			
		||||
        if: ${{ github.repository_owner == 'XRPLF' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') }}
 | 
			
		||||
        env:
 | 
			
		||||
          FORCE_OPTION: ${{ github.event.inputs.force_upload == 'true' && '--force' || '' }}
 | 
			
		||||
        run: conan upload "*" --remote='${{ env.CONAN_REMOTE_NAME }}' --confirm ${{ env.FORCE_OPTION }}
 | 
			
		||||
        run: conan upload "*" --remote="${CONAN_REMOTE_NAME}" --confirm ${FORCE_OPTION}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										24
									
								
								BUILD.md
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								BUILD.md
									
									
									
									
									
								
							@@ -39,17 +39,12 @@ found here](./docs/build/environment.md).
 | 
			
		||||
 | 
			
		||||
- [Python 3.11](https://www.python.org/downloads/), or higher
 | 
			
		||||
- [Conan 2.17](https://conan.io/downloads.html)[^1], or higher
 | 
			
		||||
- [CMake 3.22](https://cmake.org/download/)[^2], or higher
 | 
			
		||||
- [CMake 3.22](https://cmake.org/download/), or higher
 | 
			
		||||
 | 
			
		||||
[^1]:
 | 
			
		||||
    It is possible to build with Conan 1.60+, but the instructions are
 | 
			
		||||
    significantly different, which is why we are not recommending it.
 | 
			
		||||
 | 
			
		||||
[^2]:
 | 
			
		||||
    CMake 4 is not yet supported by all dependencies required by this project.
 | 
			
		||||
    If you are affected by this issue, follow [conan workaround for cmake
 | 
			
		||||
    4](#workaround-for-cmake-4)
 | 
			
		||||
 | 
			
		||||
`rippled` is written in the C++20 dialect and includes the `<concepts>` header.
 | 
			
		||||
The [minimum compiler versions][2] required are:
 | 
			
		||||
 | 
			
		||||
@@ -282,21 +277,6 @@ sed -i.bak -e 's|^arch=.*$|arch=x86_64|' $(conan config home)/profiles/default
 | 
			
		||||
sed -i.bak -e 's|^compiler\.runtime=.*$|compiler.runtime=static|' $(conan config home)/profiles/default
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
#### Workaround for CMake 4
 | 
			
		||||
 | 
			
		||||
If your system CMake is version 4 rather than 3, you may have to configure Conan
 | 
			
		||||
profile to use CMake version 3 for dependencies, by adding the following two
 | 
			
		||||
lines to your profile:
 | 
			
		||||
 | 
			
		||||
```text
 | 
			
		||||
[tool_requires]
 | 
			
		||||
!cmake/*: cmake/[>=3 <4]
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
This will force Conan to download and use a locally cached CMake 3 version, and
 | 
			
		||||
is needed because some of the dependencies used by this project do not support
 | 
			
		||||
CMake 4.
 | 
			
		||||
 | 
			
		||||
#### Clang workaround for grpc
 | 
			
		||||
 | 
			
		||||
If your compiler is clang, version 19 or later, or apple-clang, version 17 or
 | 
			
		||||
@@ -610,7 +590,7 @@ you might have generated CMake files for a different `build_type` than the
 | 
			
		||||
`CMAKE_BUILD_TYPE` you passed to Conan.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
/rippled/.build/pb-xrpl.libpb/xrpl/proto/ripple.pb.h:10:10: fatal error: 'google/protobuf/port_def.inc' file not found
 | 
			
		||||
/rippled/.build/pb-xrpl.libpb/xrpl/proto/xrpl.pb.h:10:10: fatal error: 'google/protobuf/port_def.inc' file not found
 | 
			
		||||
   10 | #include <google/protobuf/port_def.inc>
 | 
			
		||||
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | 
			
		||||
1 error generated.
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,7 @@ if(Git_FOUND)
 | 
			
		||||
endif() #git
 | 
			
		||||
 | 
			
		||||
if(thread_safety_analysis)
 | 
			
		||||
  add_compile_options(-Wthread-safety -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -DRIPPLE_ENABLE_THREAD_SAFETY_ANNOTATIONS)
 | 
			
		||||
  add_compile_options(-Wthread-safety -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS -DXRPL_ENABLE_THREAD_SAFETY_ANNOTATIONS)
 | 
			
		||||
  add_compile_options("-stdlib=libc++")
 | 
			
		||||
  add_link_options("-stdlib=libc++")
 | 
			
		||||
endif()
 | 
			
		||||
@@ -62,9 +62,9 @@ if (target)
 | 
			
		||||
  message (FATAL_ERROR "The target option has been removed - use native cmake options to control build")
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
include(RippledSanity)
 | 
			
		||||
include(RippledVersion)
 | 
			
		||||
include(RippledSettings)
 | 
			
		||||
include(XrplSanity)
 | 
			
		||||
include(XrplVersion)
 | 
			
		||||
include(XrplSettings)
 | 
			
		||||
# this check has to remain in the top-level cmake
 | 
			
		||||
# because of the early return statement
 | 
			
		||||
if (packages_only)
 | 
			
		||||
@@ -73,11 +73,11 @@ if (packages_only)
 | 
			
		||||
  endif()
 | 
			
		||||
  return ()
 | 
			
		||||
endif ()
 | 
			
		||||
include(RippledCompiler)
 | 
			
		||||
include(RippledInterface)
 | 
			
		||||
include(XrplCompiler)
 | 
			
		||||
include(XrplInterface)
 | 
			
		||||
 | 
			
		||||
option(only_docs "Include only the docs target?" FALSE)
 | 
			
		||||
include(RippledDocs)
 | 
			
		||||
include(XrplDocs)
 | 
			
		||||
if(only_docs)
 | 
			
		||||
  return()
 | 
			
		||||
endif()
 | 
			
		||||
@@ -112,16 +112,16 @@ option(rocksdb "Enable RocksDB" ON)
 | 
			
		||||
if(rocksdb)
 | 
			
		||||
  find_package(RocksDB REQUIRED)
 | 
			
		||||
  set_target_properties(RocksDB::rocksdb PROPERTIES
 | 
			
		||||
    INTERFACE_COMPILE_DEFINITIONS RIPPLE_ROCKSDB_AVAILABLE=1
 | 
			
		||||
    INTERFACE_COMPILE_DEFINITIONS XRPL_ROCKSDB_AVAILABLE=1
 | 
			
		||||
  )
 | 
			
		||||
  target_link_libraries(ripple_libs INTERFACE RocksDB::rocksdb)
 | 
			
		||||
  target_link_libraries(xrpl_libs INTERFACE RocksDB::rocksdb)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
find_package(nudb REQUIRED)
 | 
			
		||||
find_package(date REQUIRED)
 | 
			
		||||
find_package(xxHash REQUIRED)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(ripple_libs INTERFACE
 | 
			
		||||
target_link_libraries(xrpl_libs INTERFACE
 | 
			
		||||
  ed25519::ed25519
 | 
			
		||||
  lz4::lz4
 | 
			
		||||
  OpenSSL::Crypto
 | 
			
		||||
@@ -139,16 +139,16 @@ elseif(TARGET NuDB::nudb)
 | 
			
		||||
else()
 | 
			
		||||
  message(FATAL_ERROR "unknown nudb target")
 | 
			
		||||
endif()
 | 
			
		||||
target_link_libraries(ripple_libs INTERFACE ${nudb})
 | 
			
		||||
target_link_libraries(xrpl_libs INTERFACE ${nudb})
 | 
			
		||||
 | 
			
		||||
if(coverage)
 | 
			
		||||
  include(RippledCov)
 | 
			
		||||
  include(XrplCov)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
set(PROJECT_EXPORT_SET RippleExports)
 | 
			
		||||
include(RippledCore)
 | 
			
		||||
include(RippledInstall)
 | 
			
		||||
include(RippledValidatorKeys)
 | 
			
		||||
set(PROJECT_EXPORT_SET XrplExports)
 | 
			
		||||
include(XrplCore)
 | 
			
		||||
include(XrplInstall)
 | 
			
		||||
include(XrplValidatorKeys)
 | 
			
		||||
 | 
			
		||||
if(tests)
 | 
			
		||||
  include(CTest)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
ISC License
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2011, Arthur Britto, David Schwartz, Jed McCaleb, Vinnie Falco, Bob Way, Eric Lombrozo, Nikolaos D. Bougalis, Howard Hinnant.
 | 
			
		||||
Copyright (c) 2012-2020, the XRP Ledger developers.
 | 
			
		||||
Copyright (c) 2012-2025, the XRP Ledger developers.
 | 
			
		||||
 | 
			
		||||
Permission to use, copy, modify, and distribute this software for any
 | 
			
		||||
purpose with or without fee is hereby granted, provided that the above
 | 
			
		||||
 
 | 
			
		||||
@@ -975,6 +975,47 @@
 | 
			
		||||
#                           number of ledger records online. Must be greater
 | 
			
		||||
#                           than or equal to ledger_history.
 | 
			
		||||
#
 | 
			
		||||
#   Optional keys for NuDB only:
 | 
			
		||||
#
 | 
			
		||||
#       nudb_block_size     EXPERIMENTAL: Block size in bytes for NuDB storage.
 | 
			
		||||
#                           Must be a power of 2 between 4096 and 32768. Default is 4096.
 | 
			
		||||
#
 | 
			
		||||
#                           This parameter controls the fundamental storage unit
 | 
			
		||||
#                           size for NuDB's internal data structures. The choice
 | 
			
		||||
#                           of block size can significantly impact performance
 | 
			
		||||
#                           depending on your storage hardware and filesystem:
 | 
			
		||||
#
 | 
			
		||||
#                           - 4096 bytes: Optimal for most standard SSDs and
 | 
			
		||||
#                             traditional filesystems (ext4, NTFS, HFS+).
 | 
			
		||||
#                             Provides good balance of performance and storage
 | 
			
		||||
#                             efficiency. Recommended for most deployments.
 | 
			
		||||
#                             Minimizes memory footprint and provides consistent
 | 
			
		||||
#                             low-latency access patterns across diverse hardware.
 | 
			
		||||
#
 | 
			
		||||
#                           - 8192-16384 bytes: May improve performance on
 | 
			
		||||
#                             high-end NVMe SSDs and copy-on-write filesystems
 | 
			
		||||
#                             like ZFS or Btrfs that benefit from larger block
 | 
			
		||||
#                             alignment. Can reduce metadata overhead for large
 | 
			
		||||
#                             databases. Offers better sequential throughput and
 | 
			
		||||
#                             reduced I/O operations at the cost of higher memory
 | 
			
		||||
#                             usage per operation.
 | 
			
		||||
#
 | 
			
		||||
#                           - 32768 bytes (32K): Maximum supported block size
 | 
			
		||||
#                             for high-performance scenarios with very fast
 | 
			
		||||
#                             storage. May increase memory usage and reduce
 | 
			
		||||
#                             efficiency for smaller databases. Best suited for
 | 
			
		||||
#                             enterprise environments with abundant RAM.
 | 
			
		||||
#
 | 
			
		||||
#                           Performance testing is recommended before deploying
 | 
			
		||||
#                           any non-default block size in production environments.
 | 
			
		||||
#
 | 
			
		||||
#                           Note: This setting cannot be changed after database
 | 
			
		||||
#                           creation without rebuilding the entire database.
 | 
			
		||||
#                           Choose carefully based on your hardware and expected
 | 
			
		||||
#                           database size.
 | 
			
		||||
#
 | 
			
		||||
#                           Example: nudb_block_size=4096
 | 
			
		||||
#
 | 
			
		||||
#       These keys modify the behavior of online_delete, and thus are only
 | 
			
		||||
#       relevant if online_delete is defined and non-zero:
 | 
			
		||||
#
 | 
			
		||||
@@ -1471,6 +1512,7 @@ secure_gateway = 127.0.0.1
 | 
			
		||||
[node_db]
 | 
			
		||||
type=NuDB
 | 
			
		||||
path=/var/lib/rippled/db/nudb
 | 
			
		||||
nudb_block_size=4096
 | 
			
		||||
online_delete=512
 | 
			
		||||
advisory_delete=0
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +0,0 @@
 | 
			
		||||
option (validator_keys "Enables building of validator-keys-tool as a separate target (imported via FetchContent)" OFF)
 | 
			
		||||
 | 
			
		||||
if (validator_keys)
 | 
			
		||||
  git_branch (current_branch)
 | 
			
		||||
  # default to tracking VK master branch unless we are on release
 | 
			
		||||
  if (NOT (current_branch STREQUAL "release"))
 | 
			
		||||
    set (current_branch "master")
 | 
			
		||||
  endif ()
 | 
			
		||||
  message (STATUS "tracking ValidatorKeys branch: ${current_branch}")
 | 
			
		||||
 | 
			
		||||
  FetchContent_Declare (
 | 
			
		||||
    validator_keys_src
 | 
			
		||||
    GIT_REPOSITORY https://github.com/ripple/validator-keys-tool.git
 | 
			
		||||
    GIT_TAG        "${current_branch}"
 | 
			
		||||
  )
 | 
			
		||||
  FetchContent_GetProperties (validator_keys_src)
 | 
			
		||||
  if (NOT validator_keys_src_POPULATED)
 | 
			
		||||
    message (STATUS "Pausing to download ValidatorKeys...")
 | 
			
		||||
    FetchContent_Populate (validator_keys_src)
 | 
			
		||||
  endif ()
 | 
			
		||||
  add_subdirectory (${validator_keys_src_SOURCE_DIR} ${CMAKE_BINARY_DIR}/validator-keys)
 | 
			
		||||
endif ()
 | 
			
		||||
@@ -7,7 +7,7 @@ function(xrpl_add_test name)
 | 
			
		||||
  "${CMAKE_CURRENT_SOURCE_DIR}/${name}/*.cpp"
 | 
			
		||||
  "${CMAKE_CURRENT_SOURCE_DIR}/${name}.cpp"
 | 
			
		||||
  )
 | 
			
		||||
  add_executable(${target} EXCLUDE_FROM_ALL ${ARGN} ${sources})
 | 
			
		||||
  add_executable(${target} ${ARGN} ${sources})
 | 
			
		||||
 | 
			
		||||
  isolate_headers(
 | 
			
		||||
    ${target}
 | 
			
		||||
@@ -7,22 +7,25 @@
 | 
			
		||||
   toolchain file, especially the ABI-impacting ones
 | 
			
		||||
#]=========================================================]
 | 
			
		||||
add_library (common INTERFACE)
 | 
			
		||||
add_library (Ripple::common ALIAS common)
 | 
			
		||||
add_library (Xrpl::common ALIAS common)
 | 
			
		||||
# add a single global dependency on this interface lib
 | 
			
		||||
link_libraries (Ripple::common)
 | 
			
		||||
link_libraries (Xrpl::common)
 | 
			
		||||
set_target_properties (common
 | 
			
		||||
  PROPERTIES INTERFACE_POSITION_INDEPENDENT_CODE ON)
 | 
			
		||||
set(CMAKE_CXX_EXTENSIONS OFF)
 | 
			
		||||
target_compile_definitions (common
 | 
			
		||||
  INTERFACE
 | 
			
		||||
    $<$<CONFIG:Debug>:DEBUG _DEBUG>
 | 
			
		||||
    $<$<AND:$<BOOL:${profile}>,$<NOT:$<BOOL:${assert}>>>:NDEBUG>)
 | 
			
		||||
    # ^^^^ NOTE: CMAKE release builds already have NDEBUG
 | 
			
		||||
    # defined, so no need to add it explicitly except for
 | 
			
		||||
    # this special case of (profile ON) and (assert OFF)
 | 
			
		||||
    # -- presumably this is because we don't want profile
 | 
			
		||||
    # builds asserting unless asserts were specifically
 | 
			
		||||
    # requested
 | 
			
		||||
    #[===[
 | 
			
		||||
    NOTE: CMAKE release builds already have NDEBUG defined, so no need to add it
 | 
			
		||||
    explicitly except for the special case of (profile ON) and (assert OFF).
 | 
			
		||||
    Presumably this is because we don't want profile builds asserting unless
 | 
			
		||||
    asserts were specifically requested.
 | 
			
		||||
    ]===]
 | 
			
		||||
    $<$<AND:$<BOOL:${profile}>,$<NOT:$<BOOL:${assert}>>>:NDEBUG>
 | 
			
		||||
    # TODO: Remove once we have migrated functions from OpenSSL 1.x to 3.x.
 | 
			
		||||
    OPENSSL_SUPPRESS_DEPRECATED
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if (MSVC)
 | 
			
		||||
  # remove existing exception flag since we set it to -EHa
 | 
			
		||||
@@ -45,7 +45,7 @@ if (static OR APPLE OR MSVC)
 | 
			
		||||
  set (OPENSSL_USE_STATIC_LIBS ON)
 | 
			
		||||
endif ()
 | 
			
		||||
set (OPENSSL_MSVC_STATIC_RT ON)
 | 
			
		||||
find_dependency (OpenSSL 1.1.1 REQUIRED)
 | 
			
		||||
find_dependency (OpenSSL REQUIRED)
 | 
			
		||||
find_dependency (ZLIB)
 | 
			
		||||
find_dependency (date)
 | 
			
		||||
if (TARGET ZLIB::ZLIB)
 | 
			
		||||
@@ -53,4 +53,4 @@ if (TARGET ZLIB::ZLIB)
 | 
			
		||||
    INTERFACE_LINK_LIBRARIES ZLIB::ZLIB)
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
include ("${CMAKE_CURRENT_LIST_DIR}/RippleTargets.cmake")
 | 
			
		||||
include ("${CMAKE_CURRENT_LIST_DIR}/XrplTargets.cmake")
 | 
			
		||||
@@ -13,7 +13,7 @@ set_target_properties(xrpl.libpb PROPERTIES UNITY_BUILD OFF)
 | 
			
		||||
target_protobuf_sources(xrpl.libpb xrpl/proto
 | 
			
		||||
  LANGUAGE cpp
 | 
			
		||||
  IMPORT_DIRS include/xrpl/proto
 | 
			
		||||
  PROTOS include/xrpl/proto/ripple.proto
 | 
			
		||||
  PROTOS include/xrpl/proto/xrpl.proto
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
file(GLOB_RECURSE protos "include/xrpl/proto/org/*.proto")
 | 
			
		||||
@@ -53,14 +53,15 @@ add_library(xrpl.imports.main INTERFACE)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(xrpl.imports.main
 | 
			
		||||
  INTERFACE
 | 
			
		||||
    LibArchive::LibArchive
 | 
			
		||||
    OpenSSL::Crypto
 | 
			
		||||
    Ripple::boost
 | 
			
		||||
    Ripple::opts
 | 
			
		||||
    Ripple::syslibs
 | 
			
		||||
    absl::random_random
 | 
			
		||||
    date::date
 | 
			
		||||
    ed25519::ed25519
 | 
			
		||||
    LibArchive::LibArchive
 | 
			
		||||
    OpenSSL::Crypto
 | 
			
		||||
    Xrpl::boost
 | 
			
		||||
    Xrpl::libs
 | 
			
		||||
    Xrpl::opts
 | 
			
		||||
    Xrpl::syslibs
 | 
			
		||||
    secp256k1::secp256k1
 | 
			
		||||
    xrpl.libpb
 | 
			
		||||
    xxHash::xxhash
 | 
			
		||||
@@ -111,6 +112,21 @@ target_link_libraries(xrpl.libxrpl.net PUBLIC
 | 
			
		||||
add_module(xrpl server)
 | 
			
		||||
target_link_libraries(xrpl.libxrpl.server PUBLIC xrpl.libxrpl.protocol)
 | 
			
		||||
 | 
			
		||||
add_module(xrpl nodestore)
 | 
			
		||||
target_link_libraries(xrpl.libxrpl.nodestore PUBLIC
 | 
			
		||||
        xrpl.libxrpl.basics
 | 
			
		||||
        xrpl.libxrpl.json
 | 
			
		||||
        xrpl.libxrpl.protocol
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_module(xrpl shamap)
 | 
			
		||||
target_link_libraries(xrpl.libxrpl.shamap PUBLIC
 | 
			
		||||
        xrpl.libxrpl.basics
 | 
			
		||||
        xrpl.libxrpl.crypto
 | 
			
		||||
        xrpl.libxrpl.protocol
 | 
			
		||||
        xrpl.libxrpl.nodestore
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_module(xrpl ledger)
 | 
			
		||||
target_link_libraries(xrpl.libxrpl.ledger PUBLIC
 | 
			
		||||
  xrpl.libxrpl.basics
 | 
			
		||||
@@ -136,6 +152,8 @@ target_link_modules(xrpl PUBLIC
 | 
			
		||||
  protocol
 | 
			
		||||
  resource
 | 
			
		||||
  server
 | 
			
		||||
  nodestore
 | 
			
		||||
  shamap
 | 
			
		||||
  net
 | 
			
		||||
  ledger
 | 
			
		||||
)
 | 
			
		||||
@@ -150,14 +168,14 @@ target_link_modules(xrpl PUBLIC
 | 
			
		||||
#     $<INSTALL_INTERFACE:include>)
 | 
			
		||||
 | 
			
		||||
if(xrpld)
 | 
			
		||||
  add_executable(rippled)
 | 
			
		||||
  add_executable(xrpld)
 | 
			
		||||
  if(tests)
 | 
			
		||||
    target_compile_definitions(rippled PUBLIC ENABLE_TESTS)
 | 
			
		||||
    target_compile_definitions(rippled PRIVATE
 | 
			
		||||
    target_compile_definitions(xrpld PUBLIC ENABLE_TESTS)
 | 
			
		||||
    target_compile_definitions(xrpld PRIVATE
 | 
			
		||||
                                       UNIT_TEST_REFERENCE_FEE=${UNIT_TEST_REFERENCE_FEE}
 | 
			
		||||
    )
 | 
			
		||||
  endif()
 | 
			
		||||
  target_include_directories(rippled
 | 
			
		||||
  target_include_directories(xrpld
 | 
			
		||||
    PRIVATE
 | 
			
		||||
      $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
 | 
			
		||||
  )
 | 
			
		||||
@@ -165,36 +183,36 @@ if(xrpld)
 | 
			
		||||
  file(GLOB_RECURSE sources CONFIGURE_DEPENDS
 | 
			
		||||
    "${CMAKE_CURRENT_SOURCE_DIR}/src/xrpld/*.cpp"
 | 
			
		||||
  )
 | 
			
		||||
  target_sources(rippled PRIVATE ${sources})
 | 
			
		||||
  target_sources(xrpld PRIVATE ${sources})
 | 
			
		||||
 | 
			
		||||
  if(tests)
 | 
			
		||||
    file(GLOB_RECURSE sources CONFIGURE_DEPENDS
 | 
			
		||||
      "${CMAKE_CURRENT_SOURCE_DIR}/src/test/*.cpp"
 | 
			
		||||
    )
 | 
			
		||||
    target_sources(rippled PRIVATE ${sources})
 | 
			
		||||
    target_sources(xrpld PRIVATE ${sources})
 | 
			
		||||
  endif()
 | 
			
		||||
 | 
			
		||||
  target_link_libraries(rippled
 | 
			
		||||
    Ripple::boost
 | 
			
		||||
    Ripple::opts
 | 
			
		||||
    Ripple::libs
 | 
			
		||||
  target_link_libraries(xrpld
 | 
			
		||||
    Xrpl::boost
 | 
			
		||||
    Xrpl::opts
 | 
			
		||||
    Xrpl::libs
 | 
			
		||||
    xrpl.libxrpl
 | 
			
		||||
  )
 | 
			
		||||
  exclude_if_included(rippled)
 | 
			
		||||
  exclude_if_included(xrpld)
 | 
			
		||||
  # define a macro for tests that might need to
 | 
			
		||||
  # be exluded or run differently in CI environment
 | 
			
		||||
  if(is_ci)
 | 
			
		||||
    target_compile_definitions(rippled PRIVATE RIPPLED_RUNNING_IN_CI)
 | 
			
		||||
    target_compile_definitions(xrpld PRIVATE XRPL_RUNNING_IN_CI)
 | 
			
		||||
  endif ()
 | 
			
		||||
 | 
			
		||||
  if(voidstar)
 | 
			
		||||
    target_compile_options(rippled
 | 
			
		||||
    target_compile_options(xrpld
 | 
			
		||||
      PRIVATE
 | 
			
		||||
        -fsanitize-coverage=trace-pc-guard
 | 
			
		||||
    )
 | 
			
		||||
    # rippled requires access to antithesis-sdk-cpp implementation file
 | 
			
		||||
    # xrpld requires access to antithesis-sdk-cpp implementation file
 | 
			
		||||
    # antithesis_instrumentation.h, which is not exported as INTERFACE
 | 
			
		||||
    target_include_directories(rippled
 | 
			
		||||
    target_include_directories(xrpld
 | 
			
		||||
      PRIVATE
 | 
			
		||||
        ${CMAKE_SOURCE_DIR}/external/antithesis-sdk
 | 
			
		||||
    )
 | 
			
		||||
@@ -208,4 +226,6 @@ if(xrpld)
 | 
			
		||||
      src/test/ledger/Invariants_test.cpp
 | 
			
		||||
      PROPERTIES SKIP_UNITY_BUILD_INCLUSION TRUE)
 | 
			
		||||
  endif()
 | 
			
		||||
  # For the time being, we will keep the name of the binary as it was.
 | 
			
		||||
  set_target_properties(xrpld PROPERTIES OUTPUT_NAME "rippled")
 | 
			
		||||
endif()
 | 
			
		||||
@@ -31,10 +31,10 @@ list(APPEND GCOVR_ADDITIONAL_ARGS
 | 
			
		||||
setup_target_for_coverage_gcovr(
 | 
			
		||||
  NAME coverage
 | 
			
		||||
  FORMAT ${coverage_format}
 | 
			
		||||
  EXECUTABLE rippled
 | 
			
		||||
  EXECUTABLE xrpld
 | 
			
		||||
  EXECUTABLE_ARGS --unittest$<$<BOOL:${coverage_test}>:=${coverage_test}> --unittest-jobs ${coverage_test_parallelism} --quiet --unittest-log
 | 
			
		||||
  EXCLUDE "src/test" "src/tests" "include/xrpl/beast/test" "include/xrpl/beast/unit_test" "${CMAKE_BINARY_DIR}/pb-xrpl.libpb"
 | 
			
		||||
  DEPENDENCIES rippled
 | 
			
		||||
  DEPENDENCIES xrpld
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_code_coverage_to_target(opts INTERFACE)
 | 
			
		||||
@@ -8,22 +8,25 @@ install (
 | 
			
		||||
  TARGETS
 | 
			
		||||
    common
 | 
			
		||||
    opts
 | 
			
		||||
    ripple_syslibs
 | 
			
		||||
    ripple_boost
 | 
			
		||||
    xrpl_boost
 | 
			
		||||
    xrpl_libs
 | 
			
		||||
    xrpl_syslibs
 | 
			
		||||
    xrpl.imports.main
 | 
			
		||||
    xrpl.libpb
 | 
			
		||||
    xrpl.libxrpl
 | 
			
		||||
    xrpl.libxrpl.basics
 | 
			
		||||
    xrpl.libxrpl.beast
 | 
			
		||||
    xrpl.libxrpl.crypto
 | 
			
		||||
    xrpl.libxrpl.json
 | 
			
		||||
    xrpl.libxrpl.ledger
 | 
			
		||||
    xrpl.libxrpl.net
 | 
			
		||||
    xrpl.libxrpl.nodestore
 | 
			
		||||
    xrpl.libxrpl.protocol
 | 
			
		||||
    xrpl.libxrpl.resource
 | 
			
		||||
    xrpl.libxrpl.ledger
 | 
			
		||||
    xrpl.libxrpl.server
 | 
			
		||||
    xrpl.libxrpl.net
 | 
			
		||||
    xrpl.libxrpl
 | 
			
		||||
    xrpl.libxrpl.shamap
 | 
			
		||||
    antithesis-sdk-cpp
 | 
			
		||||
  EXPORT RippleExports
 | 
			
		||||
  EXPORT XrplExports
 | 
			
		||||
  LIBRARY DESTINATION lib
 | 
			
		||||
  ARCHIVE DESTINATION lib
 | 
			
		||||
  RUNTIME DESTINATION bin
 | 
			
		||||
@@ -38,22 +41,22 @@ install(CODE "
 | 
			
		||||
  set(CMAKE_MODULE_PATH \"${CMAKE_MODULE_PATH}\")
 | 
			
		||||
  include(create_symbolic_link)
 | 
			
		||||
  create_symbolic_link(xrpl \
 | 
			
		||||
    \${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/ripple)
 | 
			
		||||
    \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/xrpl)
 | 
			
		||||
")
 | 
			
		||||
 | 
			
		||||
install (EXPORT RippleExports
 | 
			
		||||
  FILE RippleTargets.cmake
 | 
			
		||||
  NAMESPACE Ripple::
 | 
			
		||||
  DESTINATION lib/cmake/ripple)
 | 
			
		||||
install (EXPORT XrplExports
 | 
			
		||||
  FILE XrplTargets.cmake
 | 
			
		||||
  NAMESPACE Xrpl::
 | 
			
		||||
  DESTINATION lib/cmake/xrpl)
 | 
			
		||||
include (CMakePackageConfigHelpers)
 | 
			
		||||
write_basic_package_version_file (
 | 
			
		||||
  RippleConfigVersion.cmake
 | 
			
		||||
  VERSION ${rippled_version}
 | 
			
		||||
  XrplConfigVersion.cmake
 | 
			
		||||
  VERSION ${xrpld_version}
 | 
			
		||||
  COMPATIBILITY SameMajorVersion)
 | 
			
		||||
 | 
			
		||||
if (is_root_project AND TARGET rippled)
 | 
			
		||||
  install (TARGETS rippled RUNTIME DESTINATION bin)
 | 
			
		||||
  set_target_properties(rippled PROPERTIES INSTALL_RPATH_USE_LINK_PATH ON)
 | 
			
		||||
if (is_root_project AND TARGET xrpld)
 | 
			
		||||
  install (TARGETS xrpld RUNTIME DESTINATION bin)
 | 
			
		||||
  set_target_properties(xrpld PROPERTIES INSTALL_RPATH_USE_LINK_PATH ON)
 | 
			
		||||
  # sample configs should not overwrite existing files
 | 
			
		||||
  # install if-not-exists workaround as suggested by
 | 
			
		||||
  # https://cmake.org/Bug/view.php?id=12646
 | 
			
		||||
@@ -71,13 +74,13 @@ if (is_root_project AND TARGET rippled)
 | 
			
		||||
  install(CODE "
 | 
			
		||||
    set(CMAKE_MODULE_PATH \"${CMAKE_MODULE_PATH}\")
 | 
			
		||||
    include(create_symbolic_link)
 | 
			
		||||
    create_symbolic_link(rippled${suffix} \
 | 
			
		||||
      \${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/xrpld${suffix})
 | 
			
		||||
    create_symbolic_link(xrpld${suffix} \
 | 
			
		||||
       \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}/xrpld${suffix})
 | 
			
		||||
  ")
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
install (
 | 
			
		||||
  FILES
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/cmake/RippleConfig.cmake
 | 
			
		||||
    ${CMAKE_CURRENT_BINARY_DIR}/RippleConfigVersion.cmake
 | 
			
		||||
  DESTINATION lib/cmake/ripple)
 | 
			
		||||
    ${CMAKE_CURRENT_SOURCE_DIR}/cmake/XrplConfig.cmake
 | 
			
		||||
    ${CMAKE_CURRENT_BINARY_DIR}/XrplConfigVersion.cmake
 | 
			
		||||
  DESTINATION lib/cmake/xrpl)
 | 
			
		||||
@@ -1,9 +1,9 @@
 | 
			
		||||
#[===================================================================[
 | 
			
		||||
   rippled compile options/settings via an interface library
 | 
			
		||||
   xrpld compile options/settings via an interface library
 | 
			
		||||
#]===================================================================]
 | 
			
		||||
 | 
			
		||||
add_library (opts INTERFACE)
 | 
			
		||||
add_library (Ripple::opts ALIAS opts)
 | 
			
		||||
add_library (Xrpl::opts ALIAS opts)
 | 
			
		||||
target_compile_definitions (opts
 | 
			
		||||
  INTERFACE
 | 
			
		||||
    BOOST_ASIO_DISABLE_HANDLER_TYPE_REQUIREMENTS
 | 
			
		||||
@@ -21,7 +21,7 @@ target_compile_definitions (opts
 | 
			
		||||
    >
 | 
			
		||||
    $<$<BOOL:${beast_no_unit_test_inline}>:BEAST_NO_UNIT_TEST_INLINE=1>
 | 
			
		||||
    $<$<BOOL:${beast_disable_autolink}>:BEAST_DONT_AUTOLINK_TO_WIN32_LIBRARIES=1>
 | 
			
		||||
    $<$<BOOL:${single_io_service_thread}>:RIPPLE_SINGLE_IO_SERVICE_THREAD=1>
 | 
			
		||||
    $<$<BOOL:${single_io_service_thread}>:XRPL_SINGLE_IO_SERVICE_THREAD=1>
 | 
			
		||||
    $<$<BOOL:${voidstar}>:ENABLE_VOIDSTAR>)
 | 
			
		||||
target_compile_options (opts
 | 
			
		||||
  INTERFACE
 | 
			
		||||
@@ -59,12 +59,12 @@ if (san)
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
#[===================================================================[
 | 
			
		||||
   rippled transitive library deps via an interface library
 | 
			
		||||
   xrpld transitive library deps via an interface library
 | 
			
		||||
#]===================================================================]
 | 
			
		||||
 | 
			
		||||
add_library (ripple_syslibs INTERFACE)
 | 
			
		||||
add_library (Ripple::syslibs ALIAS ripple_syslibs)
 | 
			
		||||
target_link_libraries (ripple_syslibs
 | 
			
		||||
add_library (xrpl_syslibs INTERFACE)
 | 
			
		||||
add_library (Xrpl::syslibs ALIAS xrpl_syslibs)
 | 
			
		||||
target_link_libraries (xrpl_syslibs
 | 
			
		||||
  INTERFACE
 | 
			
		||||
    $<$<BOOL:${MSVC}>:
 | 
			
		||||
      legacy_stdio_definitions.lib
 | 
			
		||||
@@ -89,9 +89,9 @@ target_link_libraries (ripple_syslibs
 | 
			
		||||
if (NOT MSVC)
 | 
			
		||||
  set (THREADS_PREFER_PTHREAD_FLAG ON)
 | 
			
		||||
  find_package (Threads)
 | 
			
		||||
  target_link_libraries (ripple_syslibs INTERFACE Threads::Threads)
 | 
			
		||||
  target_link_libraries (xrpl_syslibs INTERFACE Threads::Threads)
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
add_library (ripple_libs INTERFACE)
 | 
			
		||||
add_library (Ripple::libs ALIAS ripple_libs)
 | 
			
		||||
target_link_libraries (ripple_libs INTERFACE Ripple::syslibs)
 | 
			
		||||
add_library (xrpl_libs INTERFACE)
 | 
			
		||||
add_library (Xrpl::libs ALIAS xrpl_libs)
 | 
			
		||||
target_link_libraries (xrpl_libs INTERFACE Xrpl::syslibs)
 | 
			
		||||
@@ -61,8 +61,8 @@ if (MSVC AND CMAKE_GENERATOR_PLATFORM STREQUAL "Win32")
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
if (NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
 | 
			
		||||
  message (FATAL_ERROR "Rippled requires a 64 bit target architecture.\n"
 | 
			
		||||
    "The most likely cause of this warning is trying to build rippled with a 32-bit OS.")
 | 
			
		||||
  message (FATAL_ERROR "Xrpld requires a 64 bit target architecture.\n"
 | 
			
		||||
    "The most likely cause of this warning is trying to build xrpld with a 32-bit OS.")
 | 
			
		||||
endif ()
 | 
			
		||||
 | 
			
		||||
if (APPLE AND NOT HOMEBREW)
 | 
			
		||||
@@ -49,7 +49,7 @@ else()
 | 
			
		||||
  set(wextra OFF CACHE BOOL "gcc/clang only" FORCE)
 | 
			
		||||
endif()
 | 
			
		||||
if(is_linux)
 | 
			
		||||
  option(BUILD_SHARED_LIBS "build shared ripple libraries" OFF)
 | 
			
		||||
  option(BUILD_SHARED_LIBS "build shared xrpl libraries" OFF)
 | 
			
		||||
  option(static "link protobuf, openssl, libc++, and boost statically" ON)
 | 
			
		||||
  option(perf "Enables flags that assist with perf recording" OFF)
 | 
			
		||||
  option(use_gold "enables detection of gold (binutils) linker" ON)
 | 
			
		||||
@@ -58,7 +58,7 @@ else()
 | 
			
		||||
  # we are not ready to allow shared-libs on windows because it would require
 | 
			
		||||
  # export declarations. On macos it's more feasible, but static openssl
 | 
			
		||||
  # produces odd linker errors, thus we disable shared lib builds for now.
 | 
			
		||||
  set(BUILD_SHARED_LIBS OFF CACHE BOOL "build shared ripple libraries - OFF for win/macos" FORCE)
 | 
			
		||||
  set(BUILD_SHARED_LIBS OFF CACHE BOOL "build shared xrpl libraries - OFF for win/macos" FORCE)
 | 
			
		||||
  set(static ON CACHE BOOL "static link, linux only. ON for WIN/macos" FORCE)
 | 
			
		||||
  set(perf OFF CACHE BOOL "perf flags, linux only" FORCE)
 | 
			
		||||
  set(use_gold OFF CACHE BOOL "gold linker, linux only" FORCE)
 | 
			
		||||
							
								
								
									
										20
									
								
								cmake/XrplValidatorKeys.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								cmake/XrplValidatorKeys.cmake
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
option (validator_keys "Enables building of validator-keys tool as a separate target (imported via FetchContent)" OFF)
 | 
			
		||||
 | 
			
		||||
if (validator_keys)
 | 
			
		||||
  git_branch (current_branch)
 | 
			
		||||
  # default to tracking VK master branch unless we are on release
 | 
			
		||||
  if (NOT (current_branch STREQUAL "release"))
 | 
			
		||||
    set (current_branch "master")
 | 
			
		||||
  endif ()
 | 
			
		||||
  message (STATUS "Tracking ValidatorKeys branch: ${current_branch}")
 | 
			
		||||
 | 
			
		||||
  FetchContent_Declare (
 | 
			
		||||
    validator_keys
 | 
			
		||||
    GIT_REPOSITORY https://github.com/ripple/validator-keys-tool.git
 | 
			
		||||
    GIT_TAG        "${current_branch}"
 | 
			
		||||
  )
 | 
			
		||||
  FetchContent_MakeAvailable(validator_keys)
 | 
			
		||||
  set_target_properties(validator-keys PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}")
 | 
			
		||||
  install(TARGETS validator-keys RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 | 
			
		||||
 | 
			
		||||
endif ()
 | 
			
		||||
@@ -5,11 +5,11 @@
 | 
			
		||||
file(STRINGS src/libxrpl/protocol/BuildInfo.cpp BUILD_INFO)
 | 
			
		||||
foreach(line_ ${BUILD_INFO})
 | 
			
		||||
  if(line_ MATCHES "versionString[ ]*=[ ]*\"(.+)\"")
 | 
			
		||||
    set(rippled_version ${CMAKE_MATCH_1})
 | 
			
		||||
    set(xrpld_version ${CMAKE_MATCH_1})
 | 
			
		||||
  endif()
 | 
			
		||||
endforeach()
 | 
			
		||||
if(rippled_version)
 | 
			
		||||
  message(STATUS "rippled version: ${rippled_version}")
 | 
			
		||||
if(xrpld_version)
 | 
			
		||||
  message(STATUS "xrpld version: ${xrpld_version}")
 | 
			
		||||
else()
 | 
			
		||||
  message(FATAL_ERROR "unable to determine rippled version")
 | 
			
		||||
  message(FATAL_ERROR "unable to determine xrpld version")
 | 
			
		||||
endif()
 | 
			
		||||
@@ -12,10 +12,10 @@ find_package(Boost 1.82 REQUIRED
 | 
			
		||||
    thread
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_library(ripple_boost INTERFACE)
 | 
			
		||||
add_library(Ripple::boost ALIAS ripple_boost)
 | 
			
		||||
add_library(xrpl_boost INTERFACE)
 | 
			
		||||
add_library(Xrpl::boost ALIAS xrpl_boost)
 | 
			
		||||
 | 
			
		||||
target_link_libraries(ripple_boost
 | 
			
		||||
target_link_libraries(xrpl_boost
 | 
			
		||||
  INTERFACE
 | 
			
		||||
    Boost::headers
 | 
			
		||||
    Boost::chrono
 | 
			
		||||
@@ -30,7 +30,7 @@ target_link_libraries(ripple_boost
 | 
			
		||||
    Boost::system
 | 
			
		||||
    Boost::thread)
 | 
			
		||||
if(Boost_COMPILER)
 | 
			
		||||
  target_link_libraries(ripple_boost INTERFACE Boost::disable_autolinking)
 | 
			
		||||
  target_link_libraries(xrpl_boost INTERFACE Boost::disable_autolinking)
 | 
			
		||||
endif()
 | 
			
		||||
if(san AND is_clang)
 | 
			
		||||
  # TODO: gcc does not support -fsanitize-blacklist...can we do something else
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,7 @@
 | 
			
		||||
        "rocksdb/10.0.1#85537f46e538974d67da0c3977de48ac%1756234304.347",
 | 
			
		||||
        "re2/20230301#dfd6e2bf050eb90ddd8729cfb4c844a4%1756234257.976",
 | 
			
		||||
        "protobuf/3.21.12#d927114e28de9f4691a6bbcdd9a529d1%1756234251.614",
 | 
			
		||||
        "openssl/1.1.1w#a8f0792d7c5121b954578a7149d23e03%1756223730.729",
 | 
			
		||||
        "openssl/3.5.4#a1d5835cc6ed5c5b8f3cd5b9b5d24205%1759746684.671",
 | 
			
		||||
        "nudb/2.0.9#c62cfd501e57055a7e0d8ee3d5e5427d%1756234237.107",
 | 
			
		||||
        "lz4/1.10.0#59fc63cac7f10fbe8e05c7e62c2f3504%1756234228.999",
 | 
			
		||||
        "libiconv/1.17#1e65319e945f2d31941a9d28cc13c058%1756223727.64",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,5 @@
 | 
			
		||||
# Global configuration for Conan. This is used to set the number of parallel
 | 
			
		||||
# downloads, uploads, and build jobs. The verbosity is set to verbose to
 | 
			
		||||
# provide more information during the build process.
 | 
			
		||||
# downloads and uploads.
 | 
			
		||||
core:non_interactive=True
 | 
			
		||||
core.download:parallel={{ os.cpu_count() }}
 | 
			
		||||
core.upload:parallel={{ os.cpu_count() }}
 | 
			
		||||
tools.build:jobs={{ (os.cpu_count() * 4/5) | int }}
 | 
			
		||||
tools.build:verbosity=verbose
 | 
			
		||||
tools.compilation:verbosity=verbose
 | 
			
		||||
 
 | 
			
		||||
@@ -21,14 +21,11 @@ compiler.libcxx={{detect_api.detect_libcxx(compiler, version, compiler_exe)}}
 | 
			
		||||
 | 
			
		||||
[conf]
 | 
			
		||||
{% if compiler == "clang" and compiler_version >= 19 %}
 | 
			
		||||
tools.build:cxxflags=['-Wno-missing-template-arg-list-after-template-kw']
 | 
			
		||||
grpc/1.50.1:tools.build:cxxflags+=['-Wno-missing-template-arg-list-after-template-kw']
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% if compiler == "apple-clang" and compiler_version >= 17 %}
 | 
			
		||||
tools.build:cxxflags=['-Wno-missing-template-arg-list-after-template-kw']
 | 
			
		||||
grpc/1.50.1:tools.build:cxxflags+=['-Wno-missing-template-arg-list-after-template-kw']
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% if compiler == "gcc" and compiler_version < 13 %}
 | 
			
		||||
tools.build:cxxflags=['-Wno-restrict']
 | 
			
		||||
tools.build:cxxflags+=['-Wno-restrict']
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
[tool_requires]
 | 
			
		||||
!cmake/*: cmake/[>=3 <4]
 | 
			
		||||
 
 | 
			
		||||
@@ -27,7 +27,7 @@ class Xrpl(ConanFile):
 | 
			
		||||
        'grpc/1.50.1',
 | 
			
		||||
        'libarchive/3.8.1',
 | 
			
		||||
        'nudb/2.0.9',
 | 
			
		||||
        'openssl/1.1.1w',
 | 
			
		||||
        'openssl/3.5.4',
 | 
			
		||||
        'soci/4.0.3',
 | 
			
		||||
        'zlib/1.3.1',
 | 
			
		||||
    ]
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2018 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_ARCHIVE_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_ARCHIVE_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_ARCHIVE_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_ARCHIVE_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <boost/filesystem.hpp>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_BASICCONFIG_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_BASICCONFIG_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_BASICCONFIG_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_BASICCONFIG_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/contract.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_BLOB_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_BLOB_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_BLOB_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_BLOB_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <vector>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_BUFFER_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_BUFFER_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_BUFFER_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_BUFFER_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/Slice.h>
 | 
			
		||||
#include <xrpl/beast/utility/instrumentation.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2018 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_BYTEUTILITIES_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_BYTEUTILITIES_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_BYTEUTILITIES_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_BYTEUTILITIES_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
namespace ripple {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2020 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLED_COMPRESSIONALGORITHMS_H_INCLUDED
 | 
			
		||||
#define RIPPLED_COMPRESSIONALGORITHMS_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_COMPRESSIONALGORITHMS_H_INCLUDED
 | 
			
		||||
#define XRPL_COMPRESSIONALGORITHMS_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/contract.h>
 | 
			
		||||
 | 
			
		||||
@@ -165,4 +146,4 @@ lz4Decompress(
 | 
			
		||||
 | 
			
		||||
}  // namespace ripple
 | 
			
		||||
 | 
			
		||||
#endif  // RIPPLED_COMPRESSIONALGORITHMS_H_INCLUDED
 | 
			
		||||
#endif  // XRPL_COMPRESSIONALGORITHMS_H_INCLUDED
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_COUNTEDOBJECT_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_COUNTEDOBJECT_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_COUNTEDOBJECT_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_COUNTEDOBJECT_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/type_name.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_DECAYINGSAMPLE_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_DECAYINGSAMPLE_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_DECAYINGSAMPLE_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_DECAYINGSAMPLE_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <chrono>
 | 
			
		||||
#include <cmath>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2021 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_EXPECTED_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_EXPECTED_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_EXPECTED_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_EXPECTED_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/contract.h>
 | 
			
		||||
 | 
			
		||||
@@ -253,4 +234,4 @@ public:
 | 
			
		||||
 | 
			
		||||
}  // namespace ripple
 | 
			
		||||
 | 
			
		||||
#endif  // RIPPLE_BASICS_EXPECTED_H_INCLUDED
 | 
			
		||||
#endif  // XRPL_BASICS_EXPECTED_H_INCLUDED
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2018 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_FILEUTILITIES_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_FILEUTILITIES_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_FILEUTILITIES_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_FILEUTILITIES_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <boost/filesystem.hpp>
 | 
			
		||||
#include <boost/system/error_code.hpp>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2023 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_INTRUSIVEPOINTER_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_INTRUSIVEPOINTER_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_INTRUSIVEPOINTER_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_INTRUSIVEPOINTER_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <concepts>
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2023 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_INTRUSIVEPOINTER_IPP_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_INTRUSIVEPOINTER_IPP_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_INTRUSIVEPOINTER_IPP_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_INTRUSIVEPOINTER_IPP_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/IntrusivePointer.h>
 | 
			
		||||
#include <xrpl/basics/IntrusiveRefCounts.h>
 | 
			
		||||
@@ -654,12 +635,14 @@ SharedWeakUnion<T>::convertToWeak()
 | 
			
		||||
            break;
 | 
			
		||||
        case destroy:
 | 
			
		||||
            // We just added a weak ref. How could we destroy?
 | 
			
		||||
            // LCOV_EXCL_START
 | 
			
		||||
            UNREACHABLE(
 | 
			
		||||
                "ripple::SharedWeakUnion::convertToWeak : destroying freshly "
 | 
			
		||||
                "added ref");
 | 
			
		||||
            delete p;
 | 
			
		||||
            unsafeSetRawPtr(nullptr);
 | 
			
		||||
            return true;  // Should never happen
 | 
			
		||||
            // LCOV_EXCL_STOP
 | 
			
		||||
        case partialDestroy:
 | 
			
		||||
            // This is a weird case. We just converted the last strong
 | 
			
		||||
            // pointer to a weak pointer.
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2023 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_INTRUSIVEREFCOUNTS_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_INTRUSIVEREFCOUNTS_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_INTRUSIVEREFCOUNTS_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_INTRUSIVEREFCOUNTS_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/utility/instrumentation.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2021 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_KEYCACHE_H
 | 
			
		||||
#define RIPPLE_BASICS_KEYCACHE_H
 | 
			
		||||
#ifndef XRPL_BASICS_KEYCACHE_H
 | 
			
		||||
#define XRPL_BASICS_KEYCACHE_H
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/TaggedCache.h>
 | 
			
		||||
#include <xrpl/basics/base_uint.h>
 | 
			
		||||
@@ -29,4 +10,4 @@ using KeyCache = TaggedCache<uint256, int, true>;
 | 
			
		||||
 | 
			
		||||
}  // namespace ripple
 | 
			
		||||
 | 
			
		||||
#endif  // RIPPLE_BASICS_KEYCACHE_H
 | 
			
		||||
#endif  // XRPL_BASICS_KEYCACHE_H
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_LOCALVALUE_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_LOCALVALUE_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_LOCALVALUE_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_LOCALVALUE_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <boost/thread/tss.hpp>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_LOG_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_LOG_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_LOG_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_LOG_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/UnorderedContainers.h>
 | 
			
		||||
#include <xrpl/beast/utility/Journal.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2020 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_MATHUTILITIES_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_MATHUTILITIES_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_MATHUTILITIES_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_MATHUTILITIES_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <algorithm>
 | 
			
		||||
#include <cassert>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2022 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_NUMBER_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_NUMBER_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_NUMBER_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_NUMBER_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
#include <limits>
 | 
			
		||||
@@ -425,4 +406,4 @@ public:
 | 
			
		||||
 | 
			
		||||
}  // namespace ripple
 | 
			
		||||
 | 
			
		||||
#endif  // RIPPLE_BASICS_NUMBER_H_INCLUDED
 | 
			
		||||
#endif  // XRPL_BASICS_NUMBER_H_INCLUDED
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_RANGESET_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_RANGESET_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_RANGESET_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_RANGESET_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/core/LexicalCast.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_RESOLVER_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_RESOLVER_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_RESOLVER_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_RESOLVER_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/net/IPEndpoint.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_RESOLVERASIO_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_RESOLVERASIO_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_RESOLVERASIO_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_RESOLVERASIO_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/Resolver.h>
 | 
			
		||||
#include <xrpl/beast/utility/Journal.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2021 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_SHAMAP_HASH_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_SHAMAP_HASH_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_SHAMAP_HASH_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_SHAMAP_HASH_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/base_uint.h>
 | 
			
		||||
#include <xrpl/basics/partitioned_unordered_map.h>
 | 
			
		||||
@@ -118,4 +99,4 @@ extract(SHAMapHash const& key)
 | 
			
		||||
 | 
			
		||||
}  // namespace ripple
 | 
			
		||||
 | 
			
		||||
#endif  // RIPPLE_BASICS_SHAMAP_HASH_H_INCLUDED
 | 
			
		||||
#endif  // XRPL_BASICS_SHAMAP_HASH_H_INCLUDED
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2023 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_SHAREDWEAKCACHEPOINTER_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_SHAREDWEAKCACHEPOINTER_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_SHAREDWEAKCACHEPOINTER_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_SHAREDWEAKCACHEPOINTER_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <memory>
 | 
			
		||||
#include <variant>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2023 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_SHAREDWEAKCACHEPOINTER_IPP_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_SHAREDWEAKCACHEPOINTER_IPP_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_SHAREDWEAKCACHEPOINTER_IPP_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_SHAREDWEAKCACHEPOINTER_IPP_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/SharedWeakCachePointer.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,7 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright 2022, Nikolaos D. Bougalis <nikb@bougalis.net>
 | 
			
		||||
// Copyright (c) 2022, Nikolaos D. Bougalis <nikb@bougalis.net>
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_SLABALLOCATOR_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_SLABALLOCATOR_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_SLABALLOCATOR_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_SLABALLOCATOR_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/ByteUtilities.h>
 | 
			
		||||
#include <xrpl/beast/type_name.h>
 | 
			
		||||
@@ -438,4 +421,4 @@ public:
 | 
			
		||||
 | 
			
		||||
}  // namespace ripple
 | 
			
		||||
 | 
			
		||||
#endif  // RIPPLE_BASICS_SLABALLOCATOR_H_INCLUDED
 | 
			
		||||
#endif  // XRPL_BASICS_SLABALLOCATOR_H_INCLUDED
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_SLICE_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_SLICE_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_SLICE_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_SLICE_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/contract.h>
 | 
			
		||||
#include <xrpl/basics/strHex.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_STRINGUTILITIES_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_STRINGUTILITIES_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_STRINGUTILITIES_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_STRINGUTILITIES_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/Blob.h>
 | 
			
		||||
#include <xrpl/basics/strHex.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_TAGGEDCACHE_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_TAGGEDCACHE_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_TAGGEDCACHE_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_TAGGEDCACHE_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/IntrusivePointer.h>
 | 
			
		||||
#include <xrpl/basics/Log.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_TAGGEDCACHE_IPP_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_TAGGEDCACHE_IPP_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_TAGGEDCACHE_IPP_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_TAGGEDCACHE_IPP_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/IntrusivePointer.ipp>
 | 
			
		||||
#include <xrpl/basics/TaggedCache.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_TOSTRING_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_TOSTRING_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_TOSTRING_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_TOSTRING_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <string>
 | 
			
		||||
#include <type_traits>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_UNORDEREDCONTAINERS_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_UNORDEREDCONTAINERS_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_UNORDEREDCONTAINERS_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_UNORDEREDCONTAINERS_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/hardened_hash.h>
 | 
			
		||||
#include <xrpl/basics/partitioned_unordered_map.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_UPTIMETIMER_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_UPTIMETIMER_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_UPTIMETIMER_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_UPTIMETIMER_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <atomic>
 | 
			
		||||
#include <chrono>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2019 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_ALGORITHM_H_INCLUDED
 | 
			
		||||
#define RIPPLE_ALGORITHM_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_ALGORITHM_H_INCLUDED
 | 
			
		||||
#define XRPL_ALGORITHM_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <utility>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,25 +1,3 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012-2018 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2013-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
 | 
			
		||||
//
 | 
			
		||||
// Distributed under the Boost Software License, Version 1.0. (See accompanying
 | 
			
		||||
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | 
			
		||||
//
 | 
			
		||||
@@ -54,8 +32,8 @@
 | 
			
		||||
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_BASE64_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_BASE64_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_BASE64_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_BASE64_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
#include <string>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,29 +1,10 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
// Copyright (c) 2009-2010 Satoshi Nakamoto
 | 
			
		||||
// Copyright (c) 2011 The Bitcoin developers
 | 
			
		||||
// Distributed under the MIT/X11 software license, see the accompanying
 | 
			
		||||
// file license.txt or http://www.opensource.org/licenses/mit-license.php.
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_BASE_UINT_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_BASE_UINT_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_BASE_UINT_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_BASE_UINT_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/basics/Expected.h>
 | 
			
		||||
#include <xrpl/basics/Slice.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_CHRONO_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_CHRONO_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_CHRONO_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_CHRONO_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/clock/abstract_clock.h>
 | 
			
		||||
#include <xrpl/beast/clock/basic_seconds_clock.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_COMPARATORS_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_COMPARATORS_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_COMPARATORS_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_COMPARATORS_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <functional>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2014 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_CONTRACT_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_CONTRACT_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_CONTRACT_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_CONTRACT_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/type_name.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2014 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_HARDENED_HASH_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_HARDENED_HASH_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_HARDENED_HASH_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_HARDENED_HASH_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/hash/hash_append.h>
 | 
			
		||||
#include <xrpl/beast/hash/xxhasher.h>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +1,3 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
Copyright (c) 2022 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef JOIN_H_INCLUDED
 | 
			
		||||
#define JOIN_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_MAKE_SSLCONTEXT_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_MAKE_SSLCONTEXT_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_MAKE_SSLCONTEXT_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_MAKE_SSLCONTEXT_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <boost/asio/ssl/context.hpp>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012-2015 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_MULDIV_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_MULDIV_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_MULDIV_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_MULDIV_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <cstdint>
 | 
			
		||||
#include <limits>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2021 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_PARTITIONED_UNORDERED_MAP_H
 | 
			
		||||
#define RIPPLE_BASICS_PARTITIONED_UNORDERED_MAP_H
 | 
			
		||||
#ifndef XRPL_BASICS_PARTITIONED_UNORDERED_MAP_H
 | 
			
		||||
#define XRPL_BASICS_PARTITIONED_UNORDERED_MAP_H
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/hash/uhash.h>
 | 
			
		||||
#include <xrpl/beast/utility/instrumentation.h>
 | 
			
		||||
@@ -422,4 +403,4 @@ private:
 | 
			
		||||
 | 
			
		||||
}  // namespace ripple
 | 
			
		||||
 | 
			
		||||
#endif  // RIPPLE_BASICS_PARTITIONED_UNORDERED_MAP_H
 | 
			
		||||
#endif  // XRPL_BASICS_PARTITIONED_UNORDERED_MAP_H
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_RANDOM_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_RANDOM_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_RANDOM_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_RANDOM_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/utility/instrumentation.h>
 | 
			
		||||
#include <xrpl/beast/xor_shift_engine.h>
 | 
			
		||||
@@ -207,4 +188,4 @@ rand_bool()
 | 
			
		||||
 | 
			
		||||
}  // namespace ripple
 | 
			
		||||
 | 
			
		||||
#endif  // RIPPLE_BASICS_RANDOM_H_INCLUDED
 | 
			
		||||
#endif  // XRPL_BASICS_RANDOM_H_INCLUDED
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										32
									
								
								include/xrpl/basics/rocksdb.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								include/xrpl/basics/rocksdb.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
#ifndef XRPL_UNITY_ROCKSDB_H_INCLUDED
 | 
			
		||||
#define XRPL_UNITY_ROCKSDB_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#if XRPL_ROCKSDB_AVAILABLE
 | 
			
		||||
// #include <rocksdb2/port/port_posix.h>
 | 
			
		||||
#include <rocksdb/cache.h>
 | 
			
		||||
#include <rocksdb/compaction_filter.h>
 | 
			
		||||
#include <rocksdb/comparator.h>
 | 
			
		||||
#include <rocksdb/convenience.h>
 | 
			
		||||
#include <rocksdb/db.h>
 | 
			
		||||
#include <rocksdb/env.h>
 | 
			
		||||
#include <rocksdb/filter_policy.h>
 | 
			
		||||
#include <rocksdb/flush_block_policy.h>
 | 
			
		||||
#include <rocksdb/iterator.h>
 | 
			
		||||
#include <rocksdb/memtablerep.h>
 | 
			
		||||
#include <rocksdb/merge_operator.h>
 | 
			
		||||
#include <rocksdb/options.h>
 | 
			
		||||
#include <rocksdb/perf_context.h>
 | 
			
		||||
#include <rocksdb/slice.h>
 | 
			
		||||
#include <rocksdb/slice_transform.h>
 | 
			
		||||
#include <rocksdb/statistics.h>
 | 
			
		||||
#include <rocksdb/status.h>
 | 
			
		||||
#include <rocksdb/table.h>
 | 
			
		||||
#include <rocksdb/table_properties.h>
 | 
			
		||||
#include <rocksdb/transaction_log.h>
 | 
			
		||||
#include <rocksdb/types.h>
 | 
			
		||||
#include <rocksdb/universal_compaction.h>
 | 
			
		||||
#include <rocksdb/write_batch.h>
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2018 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_SAFE_CAST_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_SAFE_CAST_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_SAFE_CAST_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_SAFE_CAST_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <type_traits>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2021 Ripple Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_SCOPE_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_SCOPE_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_SCOPE_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_SCOPE_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/utility/instrumentation.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright 2022, Nikolaos D. Bougalis <nikb@bougalis.net>
 | 
			
		||||
// Copyright (c) 2022, Nikolaos D. Bougalis <nikb@bougalis.net>
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_SPINLOCK_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_SPINLOCK_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_SPINLOCK_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_SPINLOCK_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <xrpl/beast/utility/instrumentation.h>
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,24 +1,5 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright (c) 2012, 2013 Ripple Labs Inc.
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef RIPPLE_BASICS_STRHEX_H_INCLUDED
 | 
			
		||||
#define RIPPLE_BASICS_STRHEX_H_INCLUDED
 | 
			
		||||
#ifndef XRPL_BASICS_STRHEX_H_INCLUDED
 | 
			
		||||
#define XRPL_BASICS_STRHEX_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
#include <boost/algorithm/hex.hpp>
 | 
			
		||||
#include <boost/endian/conversion.hpp>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,21 +1,4 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of rippled: https://github.com/ripple/rippled
 | 
			
		||||
    Copyright 2014, Nikolaos D. Bougalis <nikb@bougalis.net>
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
// Copyright (c) 2014, Nikolaos D. Bougalis <nikb@bougalis.net>
 | 
			
		||||
 | 
			
		||||
#ifndef BEAST_UTILITY_TAGGED_INTEGER_H_INCLUDED
 | 
			
		||||
#define BEAST_UTILITY_TAGGED_INTEGER_H_INCLUDED
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +1,3 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of Beast: https://github.com/vinniefalco/Beast
 | 
			
		||||
    Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef BEAST_ASIO_IO_LATENCY_PROBE_H_INCLUDED
 | 
			
		||||
#define BEAST_ASIO_IO_LATENCY_PROBE_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +1,3 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of Beast: https://github.com/vinniefalco/Beast
 | 
			
		||||
    Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef BEAST_CHRONO_ABSTRACT_CLOCK_H_INCLUDED
 | 
			
		||||
#define BEAST_CHRONO_ABSTRACT_CLOCK_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +1,3 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of Beast: https://github.com/vinniefalco/Beast
 | 
			
		||||
    Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef BEAST_CHRONO_BASIC_SECONDS_CLOCK_H_INCLUDED
 | 
			
		||||
#define BEAST_CHRONO_BASIC_SECONDS_CLOCK_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +1,3 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
/*
 | 
			
		||||
    This file is part of Beast: https://github.com/vinniefalco/Beast
 | 
			
		||||
    Copyright 2013, Vinnie Falco <vinnie.falco@gmail.com>
 | 
			
		||||
 | 
			
		||||
    Permission to use, copy, modify, and/or distribute this software for any
 | 
			
		||||
    purpose  with  or without fee is hereby granted, provided that the above
 | 
			
		||||
    copyright notice and this permission notice appear in all copies.
 | 
			
		||||
 | 
			
		||||
    THE  SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 | 
			
		||||
    WITH  REGARD  TO  THIS  SOFTWARE  INCLUDING  ALL  IMPLIED  WARRANTIES  OF
 | 
			
		||||
    MERCHANTABILITY  AND  FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 | 
			
		||||
    ANY  SPECIAL ,  DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
			
		||||
    WHATSOEVER  RESULTING  FROM  LOSS  OF USE, DATA OR PROFITS, WHETHER IN AN
 | 
			
		||||
    ACTION  OF  CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 | 
			
		||||
    OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
			
		||||
*/
 | 
			
		||||
//==============================================================================
 | 
			
		||||
 | 
			
		||||
#ifndef BEAST_CHRONO_MANUAL_CLOCK_H_INCLUDED
 | 
			
		||||
#define BEAST_CHRONO_MANUAL_CLOCK_H_INCLUDED
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user