refactor: Rename non-functional uses of ripple(d) to xrpl(d) - #6676
Conversation
There was a problem hiding this comment.
Went through the changes
Two TSan suppression patterns (xrpl::ServerHandler, xrpl::Workers::Worker) will silently break if the actual namespace in the compiled binary is still ripple:: — needs confirmation before merge. Also, the pinned historical URL in README.md was incorrectly rewritten to src/rippled/ when that path didn't exist at that commit. See inline comments.
Review by ReviewBot 🤖
Review by Claude Opus 4.6 · Prompt: V12
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #6676 +/- ##
=========================================
+ Coverage 81.4% 82.2% +0.7%
=========================================
Files 1006 1006
Lines 74462 77527 +3065
Branches 7561 7554 -7
=========================================
+ Hits 60646 63711 +3065
Misses 13816 13816
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Several correctness bugs flagged inline: sed alternation patterns are no-ops without -E (lines 41-47 of docs.sh), a typo makes one pattern unmatchable, the namespace.sh replacement corrupts config section strings, and two documentation paths/URLs are broken (/etc/opt/ for a binary, dead XRPLF/xrpld links). Also worth confirming the renamed package repo URLs are live before merging.
Review by Claude Opus 4.6 · Prompt: V12
There was a problem hiding this comment.
Several correctness issues flagged inline: two regex bugs in docs.sh (unintended character-class range on line 35, word-boundary missing on line 48), an asymmetric colon in namespace.sh line 44, a cert/script O= mismatch in TrustedPublisherServer.h, a grammar nit in xrpld-example.cfg, and unverified live URLs in install.md.
Review by Claude Opus 4.6 · Prompt: V12
There was a problem hiding this comment.
Went through the changes
Two over-broad TSan suppressions lost their namespace qualifier (should be xrpl::) — see inline. A colon-count mismatch in the rename script will silently misfire. Install docs reference renamed infra URLs that will break users if not yet live.
Review by ReviewBot 🤖
Review by Claude Opus 4.6 · Prompt: V12
There was a problem hiding this comment.
Critical sed bug in namespace.sh corrupts URI string literals (line 44). Functional install URLs/package names changed in docs without confirmed infra readiness. TSAN suppressions lost their namespace qualifiers. See inline comments.
Review by Claude Opus 4.6 · Prompt: V12
There was a problem hiding this comment.
Several real bugs found — see inline comments. The namespace.sh sed command introduces an extra colon into string literals (high severity). TSAN suppressions dropped namespace qualifiers instead of updating them, making them overly broad. Package repo URLs need infrastructure verification before merging.
Review by Claude Opus 4.6 · Prompt: V12
|
@legleux I also made some manual replaces that are not worth including in the script for. |
|
All conflicts have been resolved. Assigned reviewers can now start or resume their review. |
There was a problem hiding this comment.
Pull request overview
This PR advances the XLS-0095 rename effort by systematically updating non-functional references from ripple(d) to xrpl(d) across documentation, comments, tests, and some internal/helper symbol names, plus adding CI automation to enforce the remaining rename rules.
Changes:
- Rename many textual references (
ripple(d)→xrpl(d)) across docs, comments, configs, and tests. - Rename several helper/utility functions (and update call sites) to remove
ripple*naming. - Add/extend rename-check automation (new
docs.shscript and a workflow step), and delete an obsoletedocs/README.md.
Reviewed changes
Copilot reviewed 143 out of 143 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/README.md | Update integration-test README to reference xrpld. |
| src/xrpld/rpc/RPCCall.h | Update RPC header comments to XRPL/xrpld. |
| src/xrpld/rpc/README.md | Rename rippled mention in RPC handler docs. |
| src/xrpld/rpc/handlers/WalletPropose.cpp | Update ripple-lib seed handling references and helper name. |
| src/xrpld/rpc/handlers/Simulate.cpp | Update crash-prevention comment to xrpld. |
| src/xrpld/rpc/handlers/RipplePathFind.cpp | Update shutdown comment to xrpld source code. |
| src/xrpld/rpc/detail/RPCHelpers.h | Rename parseRippleLibSeed declaration and doc to parseXrplLibSeed. |
| src/xrpld/rpc/detail/RPCHelpers.cpp | Rename parseRippleLibSeed definition and update call site(s). |
| src/xrpld/rpc/detail/RPCCall.cpp | Update address/server wording in comments and error text. |
| src/xrpld/README.md | Rename top-level module guideline title to XRPL. |
| src/xrpld/peerfinder/README.md | Update PeerFinder docs from rippled/Ripple to xrpld/XRPL. |
| src/xrpld/peerfinder/detail/Bootcache.cpp | Update assert tag strings to xrpl::.... |
| src/xrpld/overlay/README.md | Update overlay docs/examples to xrpld identifiers. |
| src/xrpld/overlay/detail/PeerReservationTable.cpp | Update comment path reference for table DDL. |
| src/xrpld/overlay/detail/PeerImp.h | Update peer version comment to xrpld. |
| src/xrpld/overlay/detail/OverlayImpl.cpp | Update protocol wording in comment. |
| src/xrpld/overlay/detail/Handshake.cpp | Update linked issue URL/org reference. |
| src/xrpld/core/TimeKeeper.h | Update epoch terminology in comment. |
| src/xrpld/core/Config.h | Update comments to xrpld (forced ledger range note). |
| src/xrpld/app/rdb/README.md | Update RDB README to reference xrpld. |
| src/xrpld/app/rdb/backend/detail/Node.cpp | Update operational log text to xrpld. |
| src/xrpld/app/misc/ValidatorSite.h | Update timestamp wording to XRPL. |
| src/xrpld/app/misc/ValidatorList.h | Update ValidatorList docs to xrpld/XRPL. |
| src/xrpld/app/misc/TxQ.h | Update TxQ docs to xrpld. |
| src/xrpld/app/misc/SHAMapStoreImp.h | Update online deletion comment to xrpld. |
| src/xrpld/app/misc/README.md | Update fee voting/consensus docs to XRPL/xrpld. |
| src/xrpld/app/misc/FeeEscalation.md | Update fee escalation docs to xrpld. |
| src/xrpld/app/misc/detail/ValidatorList.cpp | Update file-writer comment to xrpld. |
| src/xrpld/app/main/Main.cpp | Update CLI/user-facing strings and thread name to xrpld. |
| src/xrpld/app/main/GRPCServer.h | Update proxying comments to xrpld. |
| src/xrpld/app/main/GRPCServer.cpp | Update gRPC thread name to xrpld. |
| src/xrpld/app/main/Application.cpp | Update deprecation and replay warning messages to xrpld. |
| src/xrpld/app/ledger/README.md | Update ledger docs to xrpld/XRPL. |
| src/xrpld/app/ledger/detail/LedgerMaster.cpp | Rename version-identification helper usage to isXrpldVersion and related vars. |
| src/xrpld/app/consensus/README.md | Update consensus module README to xrpld. |
| src/test/unit_test/multi_runner.h | Rename shared-memory and message-queue names to Xrpld.... |
| src/test/rpc/ServerInfo_test.cpp | Update raw-string delimiter name to xrpldConfig. |
| src/test/rpc/KeyGeneration_test.cpp | Rename test helper and testcase text to XrplLib. |
| src/test/rpc/Handler_test.cpp | Update microbenchmark note to xrpld. |
| src/test/README.md | Update unit-test README to xrpld and xrpl.* suite example. |
| src/test/protocol/Seed_test.cpp | Update example URLs to xrpl.org. |
| src/test/protocol/Hooks_test.cpp | Update linked PR URL org. |
| src/test/protocol/BuildInfo_test.cpp | Rename test and expectations to isXrpldVersion. |
| src/test/peerfinder/PeerFinder_test.cpp | Update raw-string delimiter names to xrpldConfig. |
| src/test/overlay/reduce_relay_test.cpp | Update raw-string delimiter names to xrpldConfig. |
| src/test/nodestore/Timing_test.cpp | Update workload comment to xrpld. |
| src/test/ledger/PaymentSandbox_test.cpp | Update helper name usage/comment to directSendNoFee. |
| src/test/jtx/utility.h | Update doc comment to xrpld unit test RPC. |
| src/test/jtx/TrustedPublisherServer.h | Update OpenSSL subject strings to xrpld-unit-tests. |
| src/test/jtx/Oracle.h | Update epoch comment to XRPL. |
| src/test/jtx/impl/Oracle.cpp | Update epoch comment to XRPL. |
| src/test/jtx/AbstractClient.h | Update “Ripple client” wording and server reference to xrpld. |
| src/test/csf/Validation.h | Update implementation comment to xrpld. |
| src/test/csf/README.md | Update “Ripple consensus” wording to XRPL. |
| src/test/core/Config_test.cpp | Update protocol comment and fix article (“an xrpld config”). |
| src/test/app/ValidatorSite_test.cpp | Update sample validator file path to /etc/opt/xrpld/.... |
| src/test/app/Offer_test.cpp | Remove “Ripple Connect” specificity in a comment. |
| src/test/app/LedgerReplay_test.cpp | Update raw-string delimiter names to xrpldConfig. |
| src/test/app/DepositAuth_test.cpp | Update epoch comment to XRPL. |
| src/test/app/Credentials_test.cpp | Update epoch comments to XRPL. |
| src/libxrpl/tx/transactors/token/TrustSet.cpp | Update comment wording to XRPL. |
| src/libxrpl/tx/transactors/token/Clawback.cpp | Rename helper call to directSendNoFee. |
| src/libxrpl/tx/transactors/payment/Payment.cpp | Update comment wording to XRPL. |
| src/libxrpl/tx/transactors/escrow/EscrowHelpers.h | Rename helper calls to directSendNoFee / unlockEscrowMPT. |
| src/libxrpl/tx/transactors/escrow/EscrowCreate.cpp | Rename helper calls to directSendNoFee / lockEscrowMPT. |
| src/libxrpl/tx/transactors/dex/OfferCreate.cpp | Update linked issue URL org. |
| src/libxrpl/tx/transactors/dex/AMMClawback.cpp | Rename helper calls to directSendNoFee. |
| src/libxrpl/tx/paths/DirectStep.cpp | Rename helper calls to directSendNoFee. |
| src/libxrpl/tx/invariants/FreezeInvariant.cpp | Update crash-prevention comment to xrpld. |
| src/libxrpl/tx/applySteps.cpp | Remove an outdated formatter comment. |
| src/libxrpl/server/Vacuum.cpp | Update assert tag strings to xrpl::.... |
| src/libxrpl/protocol/NFTokenID.cpp | Update comment wording to xrpld. |
| src/libxrpl/protocol/BuildInfo.cpp | Rename isRippledVersion implementation to isXrpldVersion. |
| src/libxrpl/ledger/helpers/TokenHelpers.cpp | Rename transfer helper functions/log strings (ripple* → directSend*). |
| src/libxrpl/ledger/helpers/MPTokenHelpers.cpp | Rename escrow helper functions and update log messages/assert tags. |
| src/libxrpl/basics/UptimeClock.cpp | Update shutdown/time comments to xrpld. |
| SECURITY.md | Update repo links and rename rippled text to xrpld. |
| sanitizers/suppressions/ubsan.supp | Update comments from rippled to xrpld. |
| sanitizers/suppressions/tsan.supp | Update comments and suppression symbol names. |
| README.md | Rename product section from rippled to xrpld and update paths/text. |
| include/xrpl/tx/paths/detail/StrandFlow.h | Update debug-build comment to xrpld. |
| include/xrpl/shamap/README.md | Update SHAMap README wording to xrpld. |
| include/xrpl/server/NetworkOPs.h | Update NetworkOPs docs to xrpld. |
| include/xrpl/server/Manifest.h | Update manifest docs to XRPL/xrpld. |
| include/xrpl/resource/README.md | Update resource docs to XRPL/xrpld. |
| include/xrpl/protocol/Units.h | Update file path reference from src/ripple to src/xrpld. |
| include/xrpl/protocol/STAccount.h | Minor comment wording tweak (article/namespace). |
| include/xrpl/protocol/Seed.h | Update “Ripple specific” wording to XRPL. |
| include/xrpl/protocol/SecretKey.h | Update “Ripple specific” wording to XRPL. |
| include/xrpl/protocol/README.md | Update “rippled codebase” mention and linked URL org. |
| include/xrpl/protocol/Quality.h | Update comment wording to XRPL. |
| include/xrpl/protocol/PublicKey.h | Update comment wording to XRPL. |
| include/xrpl/protocol/jss.h | Update ripplerpc comment wording. |
| include/xrpl/protocol/Feature.h | Update amendment-blocking docs to xrpld. |
| include/xrpl/protocol/ErrorCodes.h | Update comment wording to xrpld. |
| include/xrpl/protocol/digest.h | Update account wording to XRPL. |
| include/xrpl/protocol/detail/ledger_entries.macro | Update namespace reference in a comment. |
| include/xrpl/protocol/BuildInfo.h | Rename public API function declaration to isXrpldVersion. |
| include/xrpl/protocol/AccountID.h | Update commented-out include path to xrpl. |
| include/xrpl/proto/xrpl.proto | Update proto comment wording to XRPL. |
| include/xrpl/proto/org/xrpl/rpc/v1/README.md | Update gRPC README to xrpld and path references. |
| include/xrpl/nodestore/README.md | Update NodeStore README to xrpld and command examples. |
| include/xrpl/ledger/View.h | Update epoch terminology and wording to XRPL. |
| include/xrpl/ledger/LedgerTiming.h | Update protocol wording and assert tag strings. |
| include/xrpl/ledger/helpers/TokenHelpers.h | Rename public helper rippleCredit to directSendNoFee and update docs. |
| include/xrpl/ledger/helpers/MPTokenHelpers.h | Rename public escrow helpers to lockEscrowMPT/unlockEscrowMPT. |
| include/xrpl/basics/UptimeClock.h | Update comment to xrpld. |
| include/xrpl/basics/README.md | Update module README wording and container section header. |
| include/xrpl/basics/random.h | Update static_assert messages to XRPL. |
| include/xrpl/basics/IntrusiveRefCounts.h | Fix article and update comment wording. |
| include/xrpl/basics/IntrusivePointer.h | Update comment wording to xrpld. |
| include/xrpl/basics/CountedObject.h | Update doxygen group tag. |
| external/README.md | Update external deps README to xrpld. |
| external/antithesis-sdk/CMakeLists.txt | Update comments to reference xrpld project. |
| docs/README.md | Delete obsolete documentation build README. |
| docs/HeapProfiling.md | Update heap profiling doc to xrpld. |
| docs/Doxyfile | Update Doxygen PROJECT_NAME to xrpld. |
| docs/Docker.md | Update Docker doc title/text to xrpld. |
| docs/consensus.md | Update consensus doc references/links to xrpld/XRPL. |
| docs/build/sanitizers.md | Update sanitizers doc headings/anchors and xrpld wording. |
| docs/build/install.md | Update install doc to xrpld (packages/paths/repos). |
| docs/build/environment.md | Update build environment doc to xrpld. |
| docs/build/depend.md | Update dependency doc to xrpld and links/org. |
| docs/0001-negative-unl/README.md | Update negative UNL doc wording/links to xrpld. |
| docs/0001-negative-unl/negativeUNLSqDiagram.puml | Update diagram actor label to Xrpld. |
| CONTRIBUTING.md | Update workflow wording to Xrpld. |
| cfg/xrpld-example.cfg | Update config comments and example paths/wording to XRPL/xrpld. |
| cfg/validators-example.txt | Update validator example paths and wording to xrpld. |
| BUILD.md | Update build doc references to xrpl_libs. |
| API-VERSION-3.md | Update API version doc to xrpld. |
| API-VERSION-2.md | Update API version doc to xrpld. |
| API-CHANGELOG.md | Update changelog wording to xrpld. |
| .github/workflows/reusable-check-rename.yml | Add docs.sh rename check step. |
| .github/scripts/strategy-matrix/generate.py | Update sanitizer failure comment to xrpld. |
| .github/scripts/rename/README.md | Document new docs.sh rename script. |
| .github/scripts/rename/namespace.sh | Quote pushd, extend file patterns, and add extra rename rule. |
| .github/scripts/rename/docs.sh | Add new script to enforce remaining ripple(d)→xrpl(d) doc/comment renames. |
| .github/scripts/rename/copyright.sh | Quote pushd. |
| .github/scripts/rename/config.sh | Quote pushd and rename rippleConfig raw-string delimiters. |
| .github/scripts/rename/cmake.sh | Quote pushd. |
| .github/scripts/rename/binary.sh | Quote pushd and update install-doc link rewrite. |
| .github/scripts/levelization/README.md | Update levelization doc wording/grammar to xrpld. |
| .github/ISSUE_TEMPLATE/feature_request.md | Update template wording to xrpld. |
Comments suppressed due to low confidence (2)
include/xrpl/ledger/helpers/TokenHelpers.h:248
rippleCreditwas a named function in a public header (include/xrpl/...). Renaming it todirectSendNoFeeis an API-breaking change for any downstream projects including libxrpl headers. If backward compatibility is required, consider keepingrippleCreditas a deprecated inline wrapper/alias (or providing a transitional typedef) that forwards todirectSendNoFee.
include/xrpl/ledger/helpers/MPTokenHelpers.h:158rippleLockEscrowMPT/rippleUnlockEscrowMPTare declared in a public header. Renaming them tolockEscrowMPT/unlockEscrowMPTwill break external code that includes libxrpl headers. If compatibility matters, consider keeping the old names as deprecated wrappers that forward to the new functions for at least one release cycle.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| // See `xrpld/app/main/DBInit.cpp` for the `CREATE TABLE` statement. | ||
| // It is unfortunate that we do not get to define a function for it. |
There was a problem hiding this comment.
This comment references xrpld/app/main/DBInit.cpp, but that file does not exist in the tree; the PeerReservations table DDL appears to live in include/xrpl/rdb/DBInit.h (see WalletDBInit). Please update the reference to the correct source of the CREATE TABLE statement.
| libxrpl/basics should contain no dependencies on other modules. | ||
|
|
||
| # Choosing a rippled container. | ||
| # Choosing an xrpld container. |
There was a problem hiding this comment.
The path libxrpl/basics is ambiguous in this repository (there is include/xrpl/basics and src/libxrpl/basics). Consider rephrasing this to reference the module name (e.g., xrpl/basics) or explicitly mention both include and implementation directories to avoid confusion.
| ## Supported Versions | ||
|
|
||
| Software constantly evolves. In order to focus resources, we only generally only accept vulnerability reports that affect recent and current versions of the software. We always accept reports for issues present in the **master**, **release** or **develop** branches, and with proposed, [open pull requests](https://github.com/ripple/rippled/pulls). | ||
| Software constantly evolves. In order to focus resources, we only generally only accept vulnerability reports that affect recent and current versions of the software. We always accept reports for issues present in the **master**, **release** or **develop** branches, and with proposed, [open pull requests](https://github.com/XRPLF/rippled/pulls). |
There was a problem hiding this comment.
This sentence has a duplicated word ("only generally only accept"), which makes it hard to read. Please remove the extra "only" (and consider splitting the sentence if needed).
| Software constantly evolves. In order to focus resources, we only generally only accept vulnerability reports that affect recent and current versions of the software. We always accept reports for issues present in the **master**, **release** or **develop** branches, and with proposed, [open pull requests](https://github.com/XRPLF/rippled/pulls). | |
| Software constantly evolves. In order to focus resources, we generally only accept vulnerability reports that affect recent and current versions of the software. We always accept reports for issues present in the **master**, **release** or **develop** branches, and with proposed, [open pull requests](https://github.com/XRPLF/rippled/pulls). |
| /** Check if the encoded software version is an xrpld software version. | ||
|
|
||
| @param version another node's encoded software version | ||
| @return true if the version is a rippled software version, false otherwise | ||
| @return true if the version is an xrpld software version, false otherwise | ||
| */ | ||
| bool | ||
| isRippledVersion(std::uint64_t version); | ||
| isXrpldVersion(std::uint64_t version); |
There was a problem hiding this comment.
BuildInfo::isRippledVersion appears to be part of the public protocol header surface. Renaming it to isXrpldVersion is a source-breaking change for any downstream code. If you need a smoother migration, consider leaving isRippledVersion in place as a deprecated alias that calls isXrpldVersion.
There was a problem hiding this comment.
Looked through this one
Four issues flagged inline: a sed pattern that introduces a spurious extra colon, unverified package repo URLs that may 404, over-broad TSAN suppressions missing the new xrpl:: namespace qualifier, and a CI note about stale Boost.Interprocess IPC objects after the rename.
Review by ReviewBot 🤖
Review by Claude Opus 4.6 · Prompt: V12
|
This PR has conflicts, please resolve them in order for the PR to be reviewed. |
|
All conflicts have been resolved. Assigned reviewers can now start or resume their review. |
|
This PR has conflicts, please resolve them in order for the PR to be reviewed. |
|
All conflicts have been resolved. Assigned reviewers can now start or resume their review. |
|
Non Blocking: Thoughts on going more agnostic on these? Also, what about |
Good idea. Let's see what I can make of these.
Yes, correct - this refers to the concept of rippling. |
I took a stab at it, but as there's a clear distinction between seeds generated via the library and the binary (the rationale and backstory of which predate me), I'm leaving them as they are now. It may turn out that no one is using the legacy way of representing seeds, but we'd need to build in more instrumentation to capture such information - which is beyond the scope of the current PR. |
Thanks for the explanation! |
High Level Overview of Change
This change modifies non-functional uses of
ripple(d)toxrpl(d), such as in documentation, comments, and internal function names.Context of Change
Per XLS-0095, we are taking steps to rename ripple(d) to xrpl(d).
This change updates the references in files that have no impact on functionality of the binary. Note that the current documentation is known to be out of date. This PR does not address this issue. A full rewrite of the documentation and ensuring it is correct is planned for later this year. The
docs/README.mdfile was deleted, however, as it was no longer relevant.Note that a small tweak was made to the config and namespace scripts, as some of the changes found during development of this PR better belong in those files.
A few functions were renamed:
rippleLockEscrowMPTandrippleUnlockEscrowMPTtolockEscrowMPTandunlockEscrowMPT, resp.rippleCredit,rippleCreditIOU, andrippleCreditMPTtodirectSendNoFee,directSendNoFeeIOU, anddirectSendNoFeeMPT, resp.rippleSendIOU,rippleSendMultiIOU,rippleSendMPT, andrippleSendMultiMPTtodirectSendNoLimitIOU,directSendNoLimitMultiIOU,directSendNoLimitMPT, anddirectSendNoLimitMultiMPT, resp.isRippledVersiontoisXrpldVersion.parseRippleLibSeedtoparseXrplLibSeed.testRippleLibEd25519totestXrplLibEd25519.Changes that were not made: