Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
c55ea56
Add nftoken_id, nftoken_ids, offer_id to meta for transaction stream …
tequdev Jun 24, 2025
42fd74b
Removes release notes from codebase (#5508)
bthomee Jun 24, 2025
e9d46f0
Remove OwnerPaysFee as it's never fully supported (#5435)
a1q123456 Jun 24, 2025
df6daf0
Add XRPL_ABANDON and use it to abandon OwnerPaysFee (#5510)
a1q123456 Jun 26, 2025
e18f27f
test: switch some unit tests to doctest (#5383)
vvysokikh1 Jun 26, 2025
c2f3e2e
fix: crash when trace-logging in tests (#5529)
mvadari Jul 2, 2025
9874d47
Decouple CredentialHelpers from xrpld/app/tx (#5487)
a1q123456 Jul 3, 2025
a7eea95
test: Remove circular jtx.h dependencies (#5544)
Bronek Jul 9, 2025
f47e2f4
chore: Fix compilation error with clang-20 and cleanup (#5543)
Bronek Jul 9, 2025
358b7f5
fix: Link with boost libraries explicitly (#5546)
mathbunnyru Jul 10, 2025
b113190
Downgrade required CMake version for Antithesis SDK (#5548)
Bronek Jul 10, 2025
8e94ea3
fix: add allowTrustLineLocking flag for account_info (#5525)
dangell7 Jul 10, 2025
6534757
chore: Remove unused headers (#5526)
vvysokikh1 Jul 10, 2025
b8626ea
Add MPT related txns into issuer's account history (#5530)
shawnxie999 Jul 11, 2025
258ba71
chore: Add gcc-12 workaround (#5554)
Bronek Jul 11, 2025
8aa94ea
fixAMMClawbackRounding: adjust last holder's LPToken balance (#5513)
yinyiqian1 Jul 11, 2025
452263e
chore: Update CI to use Conan 2 (#5556)
legleux Jul 15, 2025
c9135a6
Retire Flow Cross amendment (#5562)
vvysokikh1 Jul 16, 2025
8bfaa7f
test: Run unit tests regardless of 'Supported' amendment status (#5537)
vvysokikh1 Jul 16, 2025
90e6380
refactor: Update date, libarchive, nudb, openssl, sqlite3, xxhash pac…
bthomee Jul 18, 2025
1a40f18
Remove the type filter from "ledger" RPC command (#4934)
ckeshava Jul 18, 2025
13353ae
Fix macos runner (#5585)
a1q123456 Jul 21, 2025
e95683a
refactor: Change boost::shared_mutex to std::shared_mutex (#5576)
Tapanito Jul 21, 2025
03e46cd
Remove `include(default)` from libxrpl profile (#5587)
Bronek Jul 21, 2025
6090965
Restructure beast::rngfill (#5563)
lmaisons Jul 22, 2025
7ff4f79
Fix clang-format CI job (#5598)
Bronek Jul 23, 2025
c233df7
refactor: Makes HashRouter flags more type-safe (#5371)
vlntb Jul 23, 2025
faa781b
Remove obsolete owner pays fee feature and XRPL_ABANDON stanza (#5550)
a1q123456 Jul 23, 2025
433eeab
chore: Remove unused code after flow cross retirement (#5575)
vvysokikh1 Jul 23, 2025
80d82c5
Add support for `DomainID` in `MPTokenIssuance` transactions (#5509)
Bronek Jul 23, 2025
60e340d
Include `network_id` in validations and subscription stream responses…
ckeshava Jul 23, 2025
5713f97
chore: Rename conan profile to `default` (#5599)
Bronek Jul 24, 2025
b2960b9
Switch instrumentation workflow to use dependencies (#5607)
Bronek Jul 24, 2025
5c2a3a2
refactor: Update rocksdb (#5568)
bthomee Jul 24, 2025
e7a7bb8
VaultWithdraw destination account bugfix (#5572)
Bronek Jul 25, 2025
921aef9
Updates Conan dependencies: Boost 1.86 (#5264)
bthomee Jul 25, 2025
7179ce9
Build options cleanup (#5581)
Bronek Jul 25, 2025
9b45b68
ci: Build all conan dependencies from source for now (#5623)
mathbunnyru Jul 29, 2025
baf4b83
fix `DeliveredAmount` and `delivered_amount` in transaction metadata …
shawnxie999 Jul 29, 2025
d835e97
Fix crash in Slot::deletePeer (#5635)
Bronek Jul 31, 2025
31c99ca
Revert "ci: Build all conan dependencies from source for now (#5623)"…
mathbunnyru Jul 31, 2025
6419f9a
docs: Set up developer environment with specific XCode version (#5645)
dangell7 Aug 4, 2025
b5a63b3
refactor: Decouple ledger from xrpld/app (#5492)
a1q123456 Aug 5, 2025
4eae037
fix: Ensures canonical order for `PriceDataSeries` upon `PriceOracle`…
tequdev Aug 5, 2025
dbeb841
docs: Update BUILD.md for Conan 2 (#5478)
Bronek Aug 6, 2025
69314e6
refactor: Remove external libraries as they are hosted in our Conan C…
bthomee Aug 6, 2025
9918916
Upload Conan dependencies upon merge into develop (#5654)
bthomee Aug 7, 2025
94decc7
perf: Move mutex to the partition level (#5486)
vlntb Aug 7, 2025
39b5031
Switch Conan 1 commands to Conan 2 and fix credentials (#5655)
bthomee Aug 8, 2025
86ef16d
Fix: Don't flag consensus as stalled prematurely (#5627)
ximinez Aug 8, 2025
b40a368
perf: Optimize hash performance by avoiding allocating hash state obj…
a1q123456 Aug 11, 2025
bdfc376
chore: Cleanup bin/ directory (#5660)
bthomee Aug 11, 2025
abf12db
chore: Set CONAN_REMOTE_URL also for forks (#5662)
Bronek Aug 11, 2025
97f0747
chore: Run prettier on all files (#5657)
mvadari Aug 11, 2025
b7ed994
fix: Make test suite names match the directory name (#5597)
Afformativ Aug 11, 2025
c9d73b6
fix: Improve logging of the reason to refuse a peer connection (#5664)
Tapanito Aug 11, 2025
da82e52
Set version to 2.6.0-rc1
legleux Aug 12, 2025
c9a7231
Fix BUILD.md instruction (#5676)
Bronek Aug 13, 2025
28eec6c
Update .git-blame-ignore-revs for #5657 (#5675)
intelliot Aug 13, 2025
de33a6a
fix: Add -Wno-deprecated-declarations for Clang only (#5680)
bthomee Aug 14, 2025
a14551b
fix: Change log to debug level for AMM offer retrieval and IOU paymen…
intelliot Aug 14, 2025
d8628d4
docs: Updates list of maintainers and reviewers (#5687)
bthomee Aug 14, 2025
fb89213
Set version to 2.6.0-rc2
legleux Aug 15, 2025
c57cd8b
Revert "perf: Move mutex to the partition level (#5486)"
ximinez Aug 22, 2025
c5fe970
Set version to 2.6.0-rc3
ximinez Aug 22, 2025
2df7dcf
Set version to 2.6.0
legleux Aug 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
81 changes: 43 additions & 38 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
Language: Cpp
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: AlwaysBreak
AlignConsecutiveAssignments: false
Expand All @@ -19,52 +19,52 @@ AlwaysBreakTemplateDeclarations: true
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterClass: true
AfterClass: true
AfterControlStatement: true
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: true
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
AfterStruct: true
AfterUnion: true
BeforeCatch: true
BeforeElse: true
IndentBraces: false
BreakBeforeBinaryOperators: false
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: true
BreakConstructorInitializersBeforeComma: true
ColumnLimit: 80
CommentPragmas: '^ IWYU pragma:'
ColumnLimit: 80
CommentPragmas: "^ IWYU pragma:"
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
DisableFormat: false
ExperimentalAutoDetectBinPacking: false
ForEachMacros: [ Q_FOREACH, BOOST_FOREACH ]
IncludeBlocks: Regroup
ForEachMacros: [Q_FOREACH, BOOST_FOREACH]
IncludeBlocks: Regroup
IncludeCategories:
- Regex: '^<(test)/'
Priority: 0
- Regex: '^<(xrpld)/'
Priority: 1
- Regex: '^<(xrpl)/'
Priority: 2
- Regex: '^<(boost)/'
Priority: 3
- Regex: '^.*/'
Priority: 4
- Regex: '^.*\.h'
Priority: 5
- Regex: '.*'
Priority: 6
IncludeIsMainRegex: '$'
- Regex: "^<(test)/"
Priority: 0
- Regex: "^<(xrpld)/"
Priority: 1
- Regex: "^<(xrpl)/"
Priority: 2
- Regex: "^<(boost)/"
Priority: 3
- Regex: "^.*/"
Priority: 4
- Regex: '^.*\.h'
Priority: 5
- Regex: ".*"
Priority: 6
IncludeIsMainRegex: "$"
IndentCaseLabels: true
IndentFunctionDeclarationAfterType: false
IndentRequiresClause: true
IndentWidth: 4
IndentWidth: 4
IndentWrappedFunctionNames: false
KeepEmptyLinesAtTheStartOfBlocks: false
MaxEmptyLinesToKeep: 1
Expand All @@ -78,20 +78,25 @@ PenaltyBreakString: 1000
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200
PointerAlignment: Left
ReflowComments: true
ReflowComments: true
RequiresClausePosition: OwnLine
SortIncludes: true
SortIncludes: true
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: ControlStatements
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInAngles: false
SpacesInContainerLiterals: true
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
TabWidth: 8
UseTab: Never
QualifierAlignment: Right
Standard: Cpp11
TabWidth: 8
UseTab: Never
QualifierAlignment: Right
---
Language: JavaScript
---
Language: Json
IndentWidth: 2
2 changes: 1 addition & 1 deletion .codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ github_checks:
parsers:
cobertura:
partials_as_hits: true
handle_missing_conditions : true
handle_missing_conditions: true

slack_app: false

Expand Down
1 change: 1 addition & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ b9d007813378ad0ff45660dc07285b823c7e9855
fe9a5365b8a52d4acc42eb27369247e6f238a4f9
9a93577314e6a8d4b4a8368cc9d2b15a5d8303e8
552377c76f55b403a1c876df873a23d780fcc81c
97f0747e103f13e26e45b731731059b32f7679ac
13 changes: 9 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,35 @@
name: Bug Report
about: Create a report to help us improve rippled
title: "[Title with short description] (Version: [rippled version])"
labels: ''
assignees: ''

labels: ""
assignees: ""
---

<!-- Please search existing issues to avoid creating duplicates.-->

## Issue Description

<!--Provide a summary for your issue/bug.-->

## Steps to Reproduce

<!--List in detail the exact steps to reproduce the unexpected behavior of the software.-->

## Expected Result

<!--Explain in detail what behavior you expected to happen.-->

## Actual Result

<!--Explain in detail what behavior actually happened.-->

## Environment

<!--Please describe your environment setup (such as Ubuntu 18.04 with Boost 1.70).-->
<!-- If you are using a formal release, please use the version returned by './rippled --version' as the version number-->
<!-- If you are working off of develop, please add the git hash via 'git rev-parse HEAD'-->

## Supporting Files

<!--If you have supporting files such as a log, feel free to post a link here using Github Gist.-->
<!--Consider adding configuration files with private information removed via Github Gist. -->

8 changes: 6 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,23 @@ name: Feature Request
about: Suggest a new feature for the rippled project
title: "[Title with short description] (Version: [rippled version])"
labels: Feature Request
assignees: ''

assignees: ""
---

<!-- Please search existing issues to avoid creating duplicates.-->

## Summary

<!-- Provide a summary to the feature request-->

## Motivation

<!-- Why do we need this feature?-->

## Solution

<!-- What is the solution?-->

## Paths Not Taken

<!-- What other alternatives have been considered?-->
61 changes: 21 additions & 40 deletions .github/actions/dependencies/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,56 +2,37 @@ name: dependencies
inputs:
configuration:
required: true
# An implicit input is the environment variable `build_dir`.
# Implicit inputs are the environment variables `build_dir`, CONAN_REMOTE_URL,
# CONAN_REMOTE_USERNAME, and CONAN_REMOTE_PASSWORD. The latter two are only
# used to upload newly built dependencies to the Conan remote.
runs:
using: composite
steps:
- name: unlock Conan
shell: bash
run: conan remove --locks
- name: export custom recipes
shell: bash
run: |
conan config set general.revisions_enabled=1
conan export external/snappy snappy/1.1.10@
conan export external/rocksdb rocksdb/9.7.3@
conan export external/soci soci/4.0.3@
conan export external/nudb nudb/2.0.8@
- name: add Ripple Conan remote
- name: add Conan remote
if: ${{ env.CONAN_REMOTE_URL != '' }}
shell: bash
run: |
echo "Adding Conan remote 'xrplf' at ${{ env.CONAN_REMOTE_URL }}."
conan remote add --index 0 --force xrplf ${{ env.CONAN_REMOTE_URL }}
echo "Listing Conan remotes."
conan remote list
conan remote remove ripple || true
# Do not quote the URL. An empty string will be accepted (with
# a non-fatal warning), but a missing argument will not.
conan remote add ripple ${{ env.CONAN_URL }} --insert 0
- name: try to authenticate to Ripple Conan remote
id: remote
shell: bash
run: |
# `conan user` implicitly uses the environment variables
# CONAN_LOGIN_USERNAME_<REMOTE> and CONAN_PASSWORD_<REMOTE>.
# https://docs.conan.io/1/reference/commands/misc/user.html#using-environment-variables
# https://docs.conan.io/1/reference/env_vars.html#conan-login-username-conan-login-username-remote-name
# https://docs.conan.io/1/reference/env_vars.html#conan-password-conan-password-remote-name
echo outcome=$(conan user --remote ripple --password >&2 \
&& echo success || echo failure) | tee ${GITHUB_OUTPUT}
- name: list missing binaries
id: binaries
shell: bash
# Print the list of dependencies that would need to be built locally.
# A non-empty list means we have "failed" to cache binaries remotely.
run: |
echo missing=$(conan info . --build missing --settings build_type=${{ inputs.configuration }} --json 2>/dev/null | grep '^\[') | tee ${GITHUB_OUTPUT}
- name: install dependencies
shell: bash
run: |
mkdir ${build_dir}
cd ${build_dir}
mkdir -p ${{ env.build_dir }}
cd ${{ env.build_dir }}
conan install \
--output-folder . \
--build missing \
--options tests=True \
--options xrpld=True \
--settings build_type=${{ inputs.configuration }} \
--options:host "&:tests=True" \
--options:host "&:xrpld=True" \
--settings:all build_type=${{ inputs.configuration }} \
..
- name: upload dependencies
if: ${{ env.CONAN_REMOTE_URL != '' && env.CONAN_REMOTE_USERNAME != '' && env.CONAN_REMOTE_PASSWORD != '' && github.ref_type == 'branch' && github.ref_name == github.event.repository.default_branch }}
shell: bash
run: |
echo "Logging into Conan remote 'xrplf' at ${{ env.CONAN_REMOTE_URL }}."
conan remote login xrplf "${{ env.CONAN_REMOTE_USERNAME }}" --password "${{ env.CONAN_REMOTE_PASSWORD }}"
echo "Uploading dependencies."
conan upload '*' --confirm --check --remote xrplf
29 changes: 15 additions & 14 deletions .github/workflows/clang-format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,25 @@ jobs:
check:
if: ${{ github.event_name == 'push' || github.event.pull_request.draft != true || contains(github.event.pull_request.labels.*.name, 'DraftRunCI') }}
runs-on: ubuntu-24.04
env:
CLANG_VERSION: 18
container: ghcr.io/xrplf/ci/tools-rippled-clang-format
steps:
# For jobs running in containers, $GITHUB_WORKSPACE and ${{ github.workspace }} might not be the
# same directory. The actions/checkout step is *supposed* to checkout into $GITHUB_WORKSPACE and
# then add it to safe.directory (see instructions at https://github.com/actions/checkout)
# but that's apparently not happening for some container images. We can't be sure what is actually
# happening, so let's pre-emptively add both directories to safe.directory. There's a
# Github issue opened in 2022 and not resolved in 2025 https://github.com/actions/runner/issues/2058 ¯\_(ツ)_/¯
- run: |
git config --global --add safe.directory $GITHUB_WORKSPACE
git config --global --add safe.directory ${{ github.workspace }}
- uses: actions/checkout@v4
- name: Install clang-format
run: |
codename=$( lsb_release --codename --short )
sudo tee /etc/apt/sources.list.d/llvm.list >/dev/null <<EOF
deb http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-${CLANG_VERSION} main
deb-src http://apt.llvm.org/${codename}/ llvm-toolchain-${codename}-${CLANG_VERSION} main
EOF
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add
sudo apt-get update
sudo apt-get install clang-format-${CLANG_VERSION}
- name: Format first-party sources
run: find include src tests -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -exec clang-format-${CLANG_VERSION} -i {} +
run: |
clang-format --version
find include src tests -type f \( -name '*.cpp' -o -name '*.hpp' -o -name '*.h' -o -name '*.ipp' \) -exec clang-format -i {} +
- name: Check for differences
id: assert
shell: bash
run: |
set -o pipefail
git diff --exit-code | tee "clang-format.patch"
Expand Down Expand Up @@ -58,6 +59,6 @@ jobs:
in your repo, commit, and push.
run: |
echo "${PREAMBLE}"
clang-format-${CLANG_VERSION} --version
clang-format --version
echo "${SUGGESTION}"
exit 1
24 changes: 12 additions & 12 deletions .github/workflows/libxrpl.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: Check libXRPL compatibility with Clio
env:
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/dev
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
CONAN_REMOTE_URL: https://conan.ripplex.io
CONAN_LOGIN_USERNAME_XRPLF: ${{ secrets.CONAN_REMOTE_USERNAME }}
CONAN_PASSWORD_XRPLF: ${{ secrets.CONAN_REMOTE_PASSWORD }}
on:
pull_request:
paths:
- 'src/libxrpl/protocol/BuildInfo.cpp'
- '.github/workflows/libxrpl.yml'
- "src/libxrpl/protocol/BuildInfo.cpp"
- ".github/workflows/libxrpl.yml"
types: [opened, reopened, synchronize, ready_for_review]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -29,7 +29,7 @@ jobs:
with:
ref: ${{ github.event.pull_request.head.sha || github.sha }}
running-workflow-name: wait-for-check-regexp
check-regexp: '(dependencies|test).*linux.*' # Ignore windows and mac tests but make sure linux passes
check-regexp: "(dependencies|test).*linux.*" # Ignore windows and mac tests but make sure linux passes
repo-token: ${{ secrets.GITHUB_TOKEN }}
wait-interval: 10
- name: Checkout
Expand All @@ -43,28 +43,28 @@ jobs:
shell: bash
run: |
conan export . ${{ steps.channel.outputs.channel }}
- name: Add Ripple Conan remote
- name: Add Conan remote
shell: bash
run: |
echo "Adding Conan remote 'xrplf' at ${{ env.CONAN_REMOTE_URL }}."
conan remote add xrplf ${{ env.CONAN_REMOTE_URL }} --insert 0 --force
echo "Listing Conan remotes."
conan remote list
conan remote remove ripple || true
# Do not quote the URL. An empty string will be accepted (with a non-fatal warning), but a missing argument will not.
conan remote add ripple ${{ env.CONAN_URL }} --insert 0
- name: Parse new version
id: version
shell: bash
run: |
echo version="$(cat src/libxrpl/protocol/BuildInfo.cpp | grep "versionString =" \
| awk -F '"' '{print $2}')" | tee ${GITHUB_OUTPUT}
- name: Try to authenticate to Ripple Conan remote
- name: Try to authenticate to Conan remote
id: remote
shell: bash
run: |
# `conan user` implicitly uses the environment variables CONAN_LOGIN_USERNAME_<REMOTE> and CONAN_PASSWORD_<REMOTE>.
# https://docs.conan.io/1/reference/commands/misc/user.html#using-environment-variables
# https://docs.conan.io/1/reference/env_vars.html#conan-login-username-conan-login-username-remote-name
# https://docs.conan.io/1/reference/env_vars.html#conan-password-conan-password-remote-name
echo outcome=$(conan user --remote ripple --password >&2 \
echo outcome=$(conan user --remote xrplf --password >&2 \
&& echo success || echo failure) | tee ${GITHUB_OUTPUT}
- name: Upload new package
id: upload
Expand Down
Loading
Loading