From f4555c80fec8c4182bbbb89728ef867feb8fa84d Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Thu, 30 Apr 2026 16:59:24 +0100 Subject: [PATCH 1/2] fix: revert all unrelated upstream develop changes from phase-7 PR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reverts 259 files that carried unrelated upstream changes through the phase-6 merge: enum class removals (cppcoreguidelines-use-enum-class), scoped_lock→lock_guard conversions (modernize-use-scoped-lock), nodestore Backend API changes (void const* key), .clang-tidy config, test infrastructure deletions, and miscellaneous develop changes. These changes belong on develop, not in the telemetry PR chain. Co-Authored-By: Claude Opus 4.6 (1M context) --- .clang-tidy | 5 + .github/scripts/levelization/generate.py | 0 .github/scripts/rename/README.md | 12 +- include/xrpl/basics/Log.h | 3 + include/xrpl/basics/Mutex.hpp | 4 +- include/xrpl/basics/Number.h | 16 +- include/xrpl/basics/SlabAllocator.h | 4 +- include/xrpl/basics/TaggedCache.h | 6 +- include/xrpl/basics/TaggedCache.ipp | 40 +- include/xrpl/basics/hardened_hash.h | 2 +- include/xrpl/basics/random.h | 2 +- include/xrpl/beast/asio/io_latency_probe.h | 10 +- include/xrpl/beast/test/yield_to.h | 2 +- include/xrpl/beast/unit_test/match.h | 32 +- include/xrpl/beast/unit_test/reporter.h | 2 + include/xrpl/beast/unit_test/runner.h | 8 +- include/xrpl/beast/unit_test/suite.h | 8 +- include/xrpl/beast/utility/Journal.h | 2 + include/xrpl/core/ClosureCounter.h | 6 +- include/xrpl/core/Coro.ipp | 16 +- include/xrpl/core/Job.h | 2 + include/xrpl/core/PeerReservationTable.h | 2 +- include/xrpl/core/detail/semaphore.h | 4 +- include/xrpl/json/Writer.h | 2 +- include/xrpl/json/json_reader.h | 2 + include/xrpl/json/json_value.h | 6 + include/xrpl/ledger/ApplyView.h | 2 + include/xrpl/ledger/PendingSaves.h | 8 +- include/xrpl/ledger/helpers/AMMHelpers.h | 45 +- include/xrpl/ledger/helpers/LendingHelpers.h | 2 +- include/xrpl/ledger/helpers/TokenHelpers.h | 14 +- include/xrpl/nodestore/Backend.h | 6 +- include/xrpl/nodestore/NodeObject.h | 2 +- include/xrpl/nodestore/Types.h | 4 +- include/xrpl/nodestore/detail/codec.h | 6 +- include/xrpl/protocol/ErrorCodes.h | 4 + include/xrpl/protocol/LedgerFormats.h | 4 + include/xrpl/protocol/MultiApiJson.h | 7 +- include/xrpl/protocol/Permissions.h | 5 + include/xrpl/protocol/README.md | 2 +- include/xrpl/protocol/SField.h | 4 + include/xrpl/protocol/SOTemplate.h | 5 +- include/xrpl/protocol/STAmount.h | 2 +- include/xrpl/protocol/STBase.h | 2 + include/xrpl/protocol/STObject.h | 8 +- include/xrpl/protocol/STPathSet.h | 2 + include/xrpl/protocol/SeqProxy.h | 6 +- include/xrpl/protocol/TER.h | 12 + include/xrpl/protocol/TxFormats.h | 2 + .../xrpl/protocol_autogen/LedgerEntryBase.h | 13 + include/xrpl/resource/Disposition.h | 2 +- include/xrpl/resource/detail/Entry.h | 2 +- include/xrpl/resource/detail/Kind.h | 2 +- include/xrpl/resource/detail/Logic.h | 48 +- include/xrpl/resource/detail/Tuning.h | 2 + include/xrpl/server/LoadFeeTrack.h | 18 +- include/xrpl/server/detail/BaseHTTPPeer.h | 10 +- include/xrpl/server/detail/ServerImpl.h | 2 + include/xrpl/server/detail/io_list.h | 4 +- include/xrpl/shamap/FullBelowCache.h | 2 + include/xrpl/tx/Transactor.h | 2 + include/xrpl/tx/applySteps.h | 2 +- .../tx/invariants/InvariantCheckPrivilege.h | 2 + include/xrpl/tx/invariants/MPTInvariant.h | 4 +- include/xrpl/tx/paths/detail/Steps.h | 2 +- include/xrpl/tx/paths/detail/StrandFlow.h | 7 +- .../tx/transactors/account/SignerListSet.h | 4 +- .../tx/transactors/system/LedgerStateFix.h | 2 +- src/libxrpl/basics/Log.cpp | 14 +- src/libxrpl/basics/Number.cpp | 15 +- src/libxrpl/basics/ResolverAsio.cpp | 2 +- .../beast/clock/basic_seconds_clock.cpp | 2 +- src/libxrpl/beast/insight/StatsDCollector.cpp | 8 +- .../beast/utility/beast_PropertyStream.cpp | 20 +- src/libxrpl/core/HashRouter.cpp | 14 +- src/libxrpl/core/detail/JobQueue.cpp | 18 +- src/libxrpl/core/detail/LoadMonitor.cpp | 6 +- src/libxrpl/core/detail/Workers.cpp | 10 +- src/libxrpl/crypto/csprng.cpp | 4 +- src/libxrpl/json/Output.cpp | 4 +- src/libxrpl/json/Writer.cpp | 16 +- src/libxrpl/ledger/AcceptedLedgerTx.cpp | 4 +- src/libxrpl/ledger/BookListeners.cpp | 6 +- src/libxrpl/ledger/CachedView.cpp | 4 +- src/libxrpl/ledger/Ledger.cpp | 2 +- src/libxrpl/ledger/helpers/AMMHelpers.cpp | 11 +- src/libxrpl/ledger/helpers/LendingHelpers.cpp | 25 +- src/libxrpl/ledger/helpers/TokenHelpers.cpp | 20 +- src/libxrpl/nodestore/BatchWriter.cpp | 4 +- src/libxrpl/nodestore/Database.cpp | 4 +- src/libxrpl/nodestore/DatabaseNodeImp.cpp | 22 +- src/libxrpl/nodestore/DatabaseRotatingImp.cpp | 30 +- src/libxrpl/nodestore/DecodedBlob.cpp | 10 +- src/libxrpl/nodestore/ManagerImp.cpp | 6 +- .../nodestore/backend/MemoryFactory.cpp | 14 +- src/libxrpl/nodestore/backend/NuDBFactory.cpp | 12 +- src/libxrpl/nodestore/backend/NullFactory.cpp | 6 +- .../nodestore/backend/RocksDBFactory.cpp | 15 +- src/libxrpl/protocol/AccountID.cpp | 4 +- src/libxrpl/protocol/Rules.cpp | 4 +- src/libxrpl/protocol/STAmount.cpp | 2 +- src/libxrpl/protocol/STNumber.cpp | 2 +- src/libxrpl/protocol/STObject.cpp | 12 +- src/libxrpl/protocol/STTx.cpp | 2 +- src/libxrpl/rdb/DatabaseCon.cpp | 6 +- src/libxrpl/rdb/SociDB.cpp | 6 +- src/libxrpl/resource/Consumer.cpp | 4 +- src/libxrpl/resource/ResourceManager.cpp | 2 +- src/libxrpl/server/InfoSub.cpp | 8 +- src/libxrpl/server/LoadFeeTrack.cpp | 4 +- src/libxrpl/shamap/SHAMap.cpp | 2 +- src/libxrpl/shamap/SHAMapDelta.cpp | 6 +- src/libxrpl/shamap/SHAMapInnerNode.cpp | 8 +- src/libxrpl/shamap/SHAMapNodeID.cpp | 2 + src/libxrpl/tx/applySteps.cpp | 6 +- src/libxrpl/tx/invariants/AMMInvariant.cpp | 12 +- src/libxrpl/tx/invariants/InvariantCheck.cpp | 11 +- src/libxrpl/tx/invariants/MPTInvariant.cpp | 21 +- src/libxrpl/tx/paths/BookStep.cpp | 2 +- src/libxrpl/tx/paths/DirectStep.cpp | 9 +- src/libxrpl/tx/paths/MPTEndpointStep.cpp | 12 +- src/libxrpl/tx/paths/OfferStream.cpp | 12 +- src/libxrpl/tx/paths/XRPEndpointStep.cpp | 2 +- .../tx/transactors/account/AccountSet.cpp | 8 +- .../tx/transactors/account/SignerListSet.cpp | 16 +- .../tx/transactors/check/CheckCash.cpp | 4 +- .../tx/transactors/dex/OfferCreate.cpp | 23 +- .../tx/transactors/escrow/EscrowCreate.cpp | 11 +- .../lending/LoanBrokerCoverClawback.cpp | 12 +- .../lending/LoanBrokerCoverWithdraw.cpp | 2 +- .../transactors/lending/LoanBrokerDelete.cpp | 3 +- .../tx/transactors/lending/LoanDelete.cpp | 2 +- .../tx/transactors/lending/LoanManage.cpp | 6 +- .../tx/transactors/lending/LoanPay.cpp | 38 +- .../tx/transactors/lending/LoanSet.cpp | 2 +- .../tx/transactors/nft/NFTokenAcceptOffer.cpp | 11 +- .../tx/transactors/system/LedgerStateFix.cpp | 6 +- src/libxrpl/tx/transactors/token/Clawback.cpp | 22 +- src/test/app/AMMExtended_test.cpp | 2 +- src/test/app/AMM_test.cpp | 9 +- src/test/app/Delegate_test.cpp | 10 +- src/test/app/Invariants_test.cpp | 2 +- src/test/app/LedgerHistory_test.cpp | 4 +- src/test/app/LoanBroker_test.cpp | 74 +- src/test/app/Loan_test.cpp | 43 +- src/test/app/MPToken_test.cpp | 52 +- src/test/app/NFTokenBurn_test.cpp | 4 +- src/test/app/NFTokenDir_test.cpp | 14 +- src/test/app/OfferMPT_test.cpp | 64 +- src/test/app/Offer_test.cpp | 84 +- src/test/app/Path_test.cpp | 2 +- src/test/app/Vault_test.cpp | 6 +- src/test/app/XChain_test.cpp | 41 +- src/test/basics/IOUAmount_test.cpp | 3 +- src/test/basics/Number_test.cpp | 210 ++--- .../beast/beast_io_latency_probe_test.cpp | 2 +- src/test/consensus/NegativeUNL_test.cpp | 4 +- src/test/core/Coroutine_test.cpp | 2 +- src/test/core/Workers_test.cpp | 2 +- src/test/jtx/AMMTest.h | 2 +- src/test/jtx/Account.h | 2 +- src/test/jtx/CaptureLogs.h | 4 +- src/test/jtx/TestHelpers.h | 2 +- src/test/jtx/directory.h | 2 +- src/test/jtx/impl/AMMTest.cpp | 2 +- src/test/jtx/impl/Account.cpp | 9 +- src/test/jtx/impl/WSClient.cpp | 4 +- src/test/jtx/impl/directory.cpp | 14 +- src/test/jtx/impl/ledgerStateFixes.cpp | 5 +- src/test/ledger/PaymentSandbox_test.cpp | 83 +- src/test/ledger/View_test.cpp | 65 +- src/test/nodestore/TestBase.h | 20 +- src/test/nodestore/Timing_test.cpp | 23 +- src/test/nodestore/import_test.cpp | 2 +- src/test/overlay/TMGetObjectByHash_test.cpp | 3 +- src/test/overlay/reduce_relay_test.cpp | 7 +- src/test/overlay/short_read_test.cpp | 6 +- src/test/protocol/MultiApiJson_test.cpp | 14 +- src/test/protocol/STNumber_test.cpp | 7 +- src/test/protocol/SeqProxy_test.cpp | 6 +- src/test/resource/Logic_test.cpp | 8 +- src/test/rpc/AMMInfo_test.cpp | 34 +- src/test/rpc/GetAggregatePrice_test.cpp | 3 +- src/test/rpc/RPCCall_test.cpp | 701 +++++++-------- src/test/shamap/FetchPack_test.cpp | 2 + src/test/shamap/common.h | 4 +- src/test/unit_test/SuiteJournal.h | 2 +- src/test/unit_test/multi_runner.cpp | 10 +- src/test/unit_test/multi_runner.h | 2 + src/tests/libxrpl/basics/Mutex.cpp | 2 +- src/tests/libxrpl/helpers/Account.cpp | 19 + src/tests/libxrpl/helpers/Account.h | 81 ++ src/tests/libxrpl/helpers/IOU.h | 132 +++ src/tests/libxrpl/helpers/TestFamily.h | 111 +++ .../libxrpl/helpers/TestServiceRegistry.h | 378 ++++++++ src/tests/libxrpl/helpers/TxTest.cpp | 252 ++++++ src/tests/libxrpl/helpers/TxTest.h | 364 ++++++++ src/tests/libxrpl/json/Writer.cpp | 26 +- src/tests/libxrpl/tx/AccountSet.cpp | 804 ++++++++++++++++++ src/xrpld/app/ledger/AccountStateSF.cpp | 3 +- src/xrpld/app/ledger/LedgerHolder.h | 6 +- src/xrpld/app/ledger/LedgerMaster.h | 2 +- src/xrpld/app/ledger/LedgerReplayer.h | 6 +- src/xrpld/app/ledger/LedgerToJson.h | 2 + src/xrpld/app/ledger/OpenLedger.h | 2 +- src/xrpld/app/ledger/OrderBookDBImpl.cpp | 16 +- src/xrpld/app/ledger/TransactionStateSF.cpp | 3 +- src/xrpld/app/ledger/detail/InboundLedger.cpp | 13 +- .../app/ledger/detail/InboundLedgers.cpp | 4 +- .../app/ledger/detail/InboundTransactions.cpp | 12 +- src/xrpld/app/ledger/detail/LedgerCleaner.cpp | 14 +- .../app/ledger/detail/LedgerReplayer.cpp | 14 +- src/xrpld/app/ledger/detail/LedgerToJson.cpp | 2 +- src/xrpld/app/ledger/detail/LocalTxs.cpp | 8 +- src/xrpld/app/ledger/detail/OpenLedger.cpp | 12 +- .../app/ledger/detail/TransactionAcquire.cpp | 2 + .../app/ledger/detail/TransactionMaster.cpp | 4 +- src/xrpld/app/main/LoadManager.cpp | 6 +- src/xrpld/app/main/Main.cpp | 2 +- src/xrpld/app/misc/NegativeUNLVote.cpp | 13 +- src/xrpld/app/misc/NegativeUNLVote.h | 2 +- src/xrpld/app/misc/SHAMapStoreImp.cpp | 44 +- src/xrpld/app/misc/SHAMapStoreImp.h | 4 +- src/xrpld/app/misc/Transaction.h | 4 +- src/xrpld/app/misc/TxQ.h | 6 +- src/xrpld/app/misc/ValidatorList.h | 14 +- src/xrpld/app/misc/ValidatorSite.h | 12 +- src/xrpld/app/misc/detail/AmendmentTable.cpp | 56 +- src/xrpld/app/misc/detail/Transaction.cpp | 14 +- src/xrpld/app/misc/detail/ValidatorList.cpp | 22 +- src/xrpld/app/misc/detail/ValidatorSite.cpp | 40 +- src/xrpld/app/rdb/backend/detail/Node.cpp | 3 +- src/xrpld/consensus/ConsensusParms.h | 14 +- src/xrpld/consensus/DisputedTx.h | 30 +- src/xrpld/consensus/Validations.h | 52 +- src/xrpld/core/detail/Config.cpp | 2 +- src/xrpld/overlay/detail/Cluster.cpp | 8 +- src/xrpld/overlay/detail/Message.cpp | 3 +- src/xrpld/overlay/detail/OverlayImpl.cpp | 36 +- src/xrpld/overlay/detail/OverlayImpl.h | 4 +- src/xrpld/overlay/detail/PeerImp.h | 6 +- .../overlay/detail/PeerReservationTable.cpp | 8 +- src/xrpld/overlay/detail/TrafficCount.h | 233 ++--- src/xrpld/overlay/detail/Tuning.h | 2 + src/xrpld/overlay/detail/TxMetrics.cpp | 8 +- src/xrpld/peerfinder/Slot.h | 2 +- src/xrpld/peerfinder/detail/Checker.h | 6 +- src/xrpld/peerfinder/detail/Counts.h | 12 +- src/xrpld/peerfinder/detail/Logic.h | 74 +- .../peerfinder/detail/PeerfinderManager.cpp | 2 +- src/xrpld/peerfinder/detail/SlotImp.cpp | 17 +- src/xrpld/peerfinder/detail/StoreSqdb.h | 2 + src/xrpld/peerfinder/detail/Tuning.h | 4 + src/xrpld/perflog/detail/PerfLogImp.cpp | 34 +- src/xrpld/rpc/detail/AssetCache.cpp | 4 +- src/xrpld/rpc/detail/Handler.h | 2 + src/xrpld/rpc/detail/Pathfinder.h | 4 +- src/xrpld/rpc/detail/RPCSub.cpp | 8 +- src/xrpld/rpc/detail/TransactionSign.cpp | 2 +- src/xrpld/rpc/handlers/transaction/Submit.cpp | 2 +- src/xrpld/shamap/NodeFamily.cpp | 6 +- 261 files changed, 4172 insertions(+), 1770 deletions(-) mode change 100755 => 100644 .github/scripts/levelization/generate.py create mode 100644 src/tests/libxrpl/helpers/Account.cpp create mode 100644 src/tests/libxrpl/helpers/Account.h create mode 100644 src/tests/libxrpl/helpers/IOU.h create mode 100644 src/tests/libxrpl/helpers/TestFamily.h create mode 100644 src/tests/libxrpl/helpers/TestServiceRegistry.h create mode 100644 src/tests/libxrpl/helpers/TxTest.cpp create mode 100644 src/tests/libxrpl/helpers/TxTest.h create mode 100644 src/tests/libxrpl/tx/AccountSet.cpp diff --git a/.clang-tidy b/.clang-tidy index 6a967532db..6a7005b464 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -7,6 +7,7 @@ Checks: "-*, bugprone-bad-signal-to-kill-thread, bugprone-bool-pointer-implicit-conversion, bugprone-casting-through-void, + bugprone-capturing-this-in-member-variable, bugprone-chained-comparison, bugprone-compare-pointer-to-member-virtual-function, bugprone-copy-constructor-init, @@ -28,6 +29,7 @@ Checks: "-*, bugprone-misplaced-operator-in-strlen-in-alloc, bugprone-misplaced-pointer-arithmetic-in-alloc, bugprone-misplaced-widening-cast, + bugprone-misleading-setter-of-reference, bugprone-move-forwarding-reference, bugprone-multi-level-implicit-pointer-conversion, bugprone-multiple-new-in-one-expression, @@ -85,6 +87,7 @@ Checks: "-*, cppcoreguidelines-pro-type-static-cast-downcast, cppcoreguidelines-rvalue-reference-param-not-moved, cppcoreguidelines-use-default-member-init, + cppcoreguidelines-use-enum-class, cppcoreguidelines-virtual-class-destructor, hicpp-ignored-remove-result, misc-const-correctness, @@ -109,6 +112,7 @@ Checks: "-*, modernize-use-nodiscard, modernize-use-override, modernize-use-ranges, + modernize-use-scoped-lock, modernize-use-starts-ends-with, modernize-use-std-numbers, modernize-use-using, @@ -122,6 +126,7 @@ Checks: "-*, performance-move-constructor-init, performance-no-automatic-move, performance-trivially-destructible, + readability-ambiguous-smartptr-reset-call, readability-avoid-nested-conditional-operator, readability-avoid-return-with-void-value, readability-braces-around-statements, diff --git a/.github/scripts/levelization/generate.py b/.github/scripts/levelization/generate.py old mode 100755 new mode 100644 diff --git a/.github/scripts/rename/README.md b/.github/scripts/rename/README.md index 123881094e..ab685bb0c3 100644 --- a/.github/scripts/rename/README.md +++ b/.github/scripts/rename/README.md @@ -1,11 +1,11 @@ ## Renaming ripple(d) to xrpl(d) In the initial phases of development of the XRPL, the open source codebase was -called "xrpld" and it remains with that name even today. Today, over 1000 +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 `xrpld` to `xrpl` and `xrpld`, when appropriate. +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. @@ -22,17 +22,17 @@ run from the repository root. 2. `.github/scripts/rename/copyright.sh`: This script will remove superfluous copyright notices. 3. `.github/scripts/rename/cmake.sh`: This script will rename all CMake files - from `RippleXXX.cmake` or `XrpldXXX.cmake` to `XrplXXX.cmake`, and any - references to `ripple` and `xrpld` (with or without capital letters) to + 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. 4. `.github/scripts/rename/binary.sh`: This script will rename the binary from - `xrpld` to `xrpld`, and reverses the symlink so that `xrpld` points to + `rippled` to `xrpld`, and reverses the symlink so that `rippled` points to the `xrpld` binary. 5. `.github/scripts/rename/namespace.sh`: This script will rename the C++ namespaces from `ripple` to `xrpl`. 6. `.github/scripts/rename/config.sh`: This script will rename the config from - `xrpld.cfg` to `xrpld.cfg`, and updating the code accordingly. The old + `rippled.cfg` to `xrpld.cfg`, and updating the code accordingly. The old filename will still be accepted. 7. `.github/scripts/rename/docs.sh`: This script will rename any lingering references of `ripple(d)` to `xrpl(d)` in code, comments, and documentation. diff --git a/include/xrpl/basics/Log.h b/include/xrpl/basics/Log.h index 58cca4f486..5c63166d93 100644 --- a/include/xrpl/basics/Log.h +++ b/include/xrpl/basics/Log.h @@ -15,6 +15,7 @@ namespace xrpl { // DEPRECATED use beast::severities::Severity instead +// NOLINTNEXTLINE(cppcoreguidelines-use-enum-class) enum LogSeverity { lsINVALID = -1, // used to indicate an invalid severity lsTRACE = 0, // Very low-level progress information, details inside @@ -207,6 +208,8 @@ public: fromString(std::string const& s); private: + // Need to be named before converting + // NOLINTNEXTLINE(cppcoreguidelines-use-enum-class) enum { // Maximum line length for log messages. // If the message exceeds this length it will be truncated with diff --git a/include/xrpl/basics/Mutex.hpp b/include/xrpl/basics/Mutex.hpp index 5855ee2017..4432e27b4b 100644 --- a/include/xrpl/basics/Mutex.hpp +++ b/include/xrpl/basics/Mutex.hpp @@ -131,7 +131,7 @@ public: * @tparam LockType The type of lock to use * @return A lock on the mutex and a reference to the protected data */ - template