Skip to content

Update to support May 2026 BCH network upgrade#3

Open
Klakurka wants to merge 4052 commits into
masterfrom
bchn
Open

Update to support May 2026 BCH network upgrade#3
Klakurka wants to merge 4052 commits into
masterfrom
bchn

Conversation

@Klakurka
Copy link
Copy Markdown
Member

No description provided.

cculianu and others added 30 commits December 23, 2024 17:11
[backport] Parallel compact block downloads

See merge request bitcoin-cash-node/bitcoin-cash-node!1911
ABLA: Improve performance of app init, turn off slower checks by default

See merge request bitcoin-cash-node/bitcoin-cash-node!1917
The mempool could end up in an inconsistent state in
`CTxMemPool::removeForBlock()`. This is due to the fact that it was
using a temporary `DisconnectedBlockTransactions` pool to topologically
sort the block transactions it was receiving from the caller. However,
this temporary pool's `addForBlock` function might drop txns if the
block size exceeds the limits of the pool (currently ~640MB dynamic
size, about 300MB block size).

The dropping of these transactions could lead to the mempool not
realizing this happened, and conflicts in the block not being detected
properly versus the mempool.

This potential bug cannot be triggered on the current chain but might be
able to be triggered someday if blocks grow beyond 300 MB.

The reason for the bug is that the disconnect pool is doing double-duty.
Sometimes it's used as a disconnect pool, and sometimes it's used as a
utility class for topological sorting of transactions.

This commit does the following:

- separates out addForBlock into two functions: addNoLimit, and
  addForBlock.
  - addForBlock behaves exactly as before
  - addNoLimit is like addForBlock but it doesn't enforce limits. This
    is the one to call if using the pool as a utility topo sorter.
- Changes the two call sites where the disconnectpool was being used as
  a glorified topo sorted, to instead use addNoLimit -- since limiting
  size at those call sites buys use nothing (the txns are in memory
  anyway!!) and the temporary pool will go away/be emptied immediately
  anyway.
- Adds unit tests to test the API changes to
  DisconnectedBlockTransactions.
…'master'

mempool: Fix potential for bug in mempool `removeForBlock()`

See merge request bitcoin-cash-node/bitcoin-cash-node!1925
The comment in question was wrong (but the code was right).  Limit
shoudl not be enforced (not "should be enforced" as the comment
claimed).
This MR updates the checkpoints to recent blocks for mainnet and the 3
testnets we maintain checkpoints for (excluding scalenet).
Update to "assume valid" and "minimum chain work" for mainnet, testnet3,
testnet4, and chipnet. Scalenet is never updated. The procedure in
`contrib/devtools/chainparams/README.md` was followed for this, versus my
live nodes.
trivial: [net] Remove extraneous/bad log line from net_processing.cpp

See merge request bitcoin-cash-node/bitcoin-cash-node!1913
As per the release process.
Update checkpoints for mainnet, testnet3, testnet4, and chipnet

See merge request bitcoin-cash-node/bitcoin-cash-node!1927
[qa] Update "assume valid" and "minimum chain work" for v28.0.1 release

See merge request bitcoin-cash-node/bitcoin-cash-node!1928

## Summary

Update to "assume valid" and "minimum chain work" for mainnet, testnet3, testnet4, and chipnet. Scalenet is never updated. The procedure in `contrib/devtools/chainparams/README.md` was followed for this, versus my live nodes.

## Test Plan

* Ensure each of the respective assumevalid blocks are on the active chain for each of the 4 networks in question, respectively.
* Ensure that the minimum chain work parameter is \<= the current chain work for each of the 4 networks in question respectively (256-bit value here should be interpreted as if it were a bit-endian unsigned integer 256 bits wide). Use `getblockchaininfo` for this.
trivial: Fix an erroneous comment from recent MR in mempopol_tests.cpp

See merge request bitcoin-cash-node/bitcoin-cash-node!1926

## Summary

The comment in question was introduced in !1925 but was wrong (but the code was right). Limit should **not** be enforced (rather than "should be enforced" as the comment claimed).

## Test Plan

Review.
Updated release notes for 28.0.1 release

See merge request bitcoin-cash-node/bitcoin-cash-node!1929
Bumps the version to a patch release v28.0.2,
moves the previous release notes to subfolder
and cleans out the release note slate.

Test Plan
---------

* Review.
[qa] Bump version to 28.0.2, rotate release notes

See merge request bitcoin-cash-node/bitcoin-cash-node!1930
…attern" information

Co-authored-by: bitcoincashautist <8245205-A60AB5450353F40E@users.noreply.gitlab.com>
RPC: add verbosity=4 for `getblock` RPC, which adds script "byteCodePattern" information

See merge request bitcoin-cash-node/bitcoin-cash-node!1921
Update copyright year to 2025

See merge request bitcoin-cash-node/bitcoin-cash-node!1931
… `MuHash3072`

Co-authored-by: Fabian Jahr <fjahr@protonmail.com>
Co-authored-by: Pieter Wuille <pieter.wuille@gmail.com>
Add `coinstatsindex`, and use it with `gettxoutsetinfo` RPC; also add `MuHash3072`

See merge request bitcoin-cash-node/bitcoin-cash-node!1906
Test used functionality removed in !1906
trivial: Remove unused/aborting function from class `CScript`

See merge request bitcoin-cash-node/bitcoin-cash-node!1919
[backport] tests: Add fuzzing harness for bloom filter classes (CBloomFilter + CRollingBloomFilter)

See merge request bitcoin-cash-node/bitcoin-cash-node!1905
qa: Fix dbcrash test

See merge request bitcoin-cash-node/bitcoin-cash-node!1932
net: Refactor lifetime management of CNode, use smart_ptr; put in map.

See merge request bitcoin-cash-node/bitcoin-cash-node!1914
UniValue: Use std::variant, using less memory

See merge request bitcoin-cash-node/bitcoin-cash-node!1922
[backport] script: add script to generate example bitcoin.conf

See merge request bitcoin-cash-node/bitcoin-cash-node!1916
cculianu and others added 16 commits March 30, 2026 12:01
…nto 'master'

Optimize `CScript` class to allow for pushing bytes without extra allocations

See merge request bitcoin-cash-node/bitcoin-cash-node!2023
RPC: Modifiy `gettxout` to add a 4th optional `patterns` argument

Closes #553

See merge request bitcoin-cash-node/bitcoin-cash-node!2021
[doc] Fix fence rendering and log package versions

See merge request bitcoin-cash-node/bitcoin-cash-node!2057
This simply copies over the `chronik` folder, adds .cmake files used by bitcoin-abc, copies Cargo.toml and Cargo.lock over (removing unrelated crates), and add option and add_subdirectory to CMakeLists.txt.
This previously didn't build, but using BCHN's primitives instead of ABC's (and Core's) results in an actual build.
This currently creates so many token UTXOs that it blows up the CPU of the node. This token is dead and worthless for years so it's best to blacklist it and let Chronik breathe.
@Klakurka Klakurka added enhancement (UI/UX/feature) New feature or request enhancement (behind the scenes) Stuff that users won't see labels May 13, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 13, 2026

Important

Review skipped

Too many files!

This PR contains 298 files, which is 148 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6a902654-848f-486e-ad3e-67ad9f9e5e4b

📥 Commits

Reviewing files that changed from the base of the PR and between e7eb519 and ded8e14.

⛔ Files ignored due to path filters (2)
  • Cargo.lock is excluded by !**/*.lock
  • chronik/chroniklogo.png is excluded by !**/*.png
📒 Files selected for processing (298)
  • .arcconfig
  • .arclint
  • .codeclimate.yml
  • .github/ISSUE_TEMPLATE.md
  • .gitignore
  • .gitlab-ci.yml
  • .gitlab/issue_templates/Bug_report.md
  • .markdownlint.json
  • .mdl_style.rb
  • .mdlrc
  • .rustfmt.toml
  • .static-checks-python-requirements.txt
  • .teamcity/.gitignore
  • .teamcity/BitcoinABC/Project.kt
  • .teamcity/BitcoinABC/buildTypes/BitcoinABCMasterLinux.kt
  • .teamcity/BitcoinABC/settings.kts
  • .teamcity/BitcoinABC/vcsRoots/BitcoinABCGit.kt
  • .teamcity/pom.xml
  • CMakeLists.txt
  • CONTRIBUTING.md
  • COPYING
  • Cargo.toml
  • DISCLOSURE_POLICY.md
  • Dockerfile-doxygen
  • INSTALL.md
  • Makefile.am
  • PackageOptions.cmake
  • README.md
  • arcanist/.phutil_module_cache
  • arcanist/__phutil_library_map__.php
  • arcanist/configuration/ArcanistBitcoinABCConfiguration.php
  • arcanist/configuration/ArcanistBitcoinCashNodeConfiguration.php
  • arcanist/linter/BoostDependenciesLinter.php
  • arcanist/linter/LocaleDependenceLinter.php
  • arcanist/phpcs.xml
  • autogen.sh
  • build-aux/m4/ax_boost_base.m4
  • build-aux/m4/ax_boost_chrono.m4
  • build-aux/m4/ax_boost_filesystem.m4
  • build-aux/m4/ax_boost_system.m4
  • build-aux/m4/ax_boost_thread.m4
  • build-aux/m4/ax_boost_unit_test_framework.m4
  • build-aux/m4/ax_check_compile_flag.m4
  • build-aux/m4/ax_check_link_flag.m4
  • build-aux/m4/ax_check_preproc_flag.m4
  • build-aux/m4/ax_cxx_compile_stdcxx.m4
  • build-aux/m4/ax_gcc_func_attribute.m4
  • build-aux/m4/ax_pthread.m4
  • build-aux/m4/bitcoin_find_bdb53.m4
  • build-aux/m4/bitcoin_qt.m4
  • build-aux/m4/bitcoin_subdir_to_include.m4
  • build-aux/m4/l_atomic.m4
  • chronik/CMakeLists.txt
  • chronik/README.md
  • chronik/abc-rust-error/Cargo.toml
  • chronik/abc-rust-error/src/http_status.rs
  • chronik/abc-rust-error/src/lib.rs
  • chronik/abc-rust-error/tests/test_error.rs
  • chronik/abc-rust-lint/Cargo.toml
  • chronik/abc-rust-lint/src/lib.rs
  • chronik/bitcoinsuite-core/Cargo.toml
  • chronik/bitcoinsuite-core/src/address.rs
  • chronik/bitcoinsuite-core/src/block/block_hash.rs
  • chronik/bitcoinsuite-core/src/block/mod.rs
  • chronik/bitcoinsuite-core/src/bytes.rs
  • chronik/bitcoinsuite-core/src/error.rs
  • chronik/bitcoinsuite-core/src/hash.rs
  • chronik/bitcoinsuite-core/src/lib.rs
  • chronik/bitcoinsuite-core/src/net.rs
  • chronik/bitcoinsuite-core/src/script/compress.rs
  • chronik/bitcoinsuite-core/src/script/iter.rs
  • chronik/bitcoinsuite-core/src/script/mod.rs
  • chronik/bitcoinsuite-core/src/script/op.rs
  • chronik/bitcoinsuite-core/src/script/opcode.rs
  • chronik/bitcoinsuite-core/src/script/pubkey.rs
  • chronik/bitcoinsuite-core/src/script/pubkey_variant.rs
  • chronik/bitcoinsuite-core/src/script/script.rs
  • chronik/bitcoinsuite-core/src/script/script_mut.rs
  • chronik/bitcoinsuite-core/src/script/uncompressed_pubkey.rs
  • chronik/bitcoinsuite-core/src/script/variant.rs
  • chronik/bitcoinsuite-core/src/ser.rs
  • chronik/bitcoinsuite-core/src/tx/mod.rs
  • chronik/bitcoinsuite-core/src/tx/tx.rs
  • chronik/bitcoinsuite-core/src/tx/txid.rs
  • chronik/bitcoinsuite-slp/Cargo.toml
  • chronik/bitcoinsuite-slp/src/alp/build.rs
  • chronik/bitcoinsuite-slp/src/alp/consts.rs
  • chronik/bitcoinsuite-slp/src/alp/mod.rs
  • chronik/bitcoinsuite-slp/src/alp/parse.rs
  • chronik/bitcoinsuite-slp/src/burn_summary.rs
  • chronik/bitcoinsuite-slp/src/cashtokens/color.rs
  • chronik/bitcoinsuite-slp/src/cashtokens/mod.rs
  • chronik/bitcoinsuite-slp/src/cashtokens/parse.rs
  • chronik/bitcoinsuite-slp/src/color.rs
  • chronik/bitcoinsuite-slp/src/consts.rs
  • chronik/bitcoinsuite-slp/src/empp/mod.rs
  • chronik/bitcoinsuite-slp/src/empp/parse.rs
  • chronik/bitcoinsuite-slp/src/lib.rs
  • chronik/bitcoinsuite-slp/src/lokad_id.rs
  • chronik/bitcoinsuite-slp/src/parsed.rs
  • chronik/bitcoinsuite-slp/src/slp/build.rs
  • chronik/bitcoinsuite-slp/src/slp/burn.rs
  • chronik/bitcoinsuite-slp/src/slp/common.rs
  • chronik/bitcoinsuite-slp/src/slp/consts.rs
  • chronik/bitcoinsuite-slp/src/slp/error.rs
  • chronik/bitcoinsuite-slp/src/slp/genesis.rs
  • chronik/bitcoinsuite-slp/src/slp/mint.rs
  • chronik/bitcoinsuite-slp/src/slp/mint_vault.rs
  • chronik/bitcoinsuite-slp/src/slp/mod.rs
  • chronik/bitcoinsuite-slp/src/slp/parse.rs
  • chronik/bitcoinsuite-slp/src/slp/send.rs
  • chronik/bitcoinsuite-slp/src/structs.rs
  • chronik/bitcoinsuite-slp/src/test_helpers.rs
  • chronik/bitcoinsuite-slp/src/token_id.rs
  • chronik/bitcoinsuite-slp/src/token_tx.rs
  • chronik/bitcoinsuite-slp/src/token_type.rs
  • chronik/bitcoinsuite-slp/src/verify.rs
  • chronik/bitcoinsuite-slp/tests/test_alp_parse_burn.rs
  • chronik/bitcoinsuite-slp/tests/test_alp_parse_common.rs
  • chronik/bitcoinsuite-slp/tests/test_alp_parse_genesis.rs
  • chronik/bitcoinsuite-slp/tests/test_alp_parse_mint.rs
  • chronik/bitcoinsuite-slp/tests/test_alp_parse_send.rs
  • chronik/bitcoinsuite-slp/tests/test_color_alp_all_the_things.rs
  • chronik/bitcoinsuite-slp/tests/test_color_alp_burn.rs
  • chronik/bitcoinsuite-slp/tests/test_color_alp_genesis.rs
  • chronik/bitcoinsuite-slp/tests/test_color_alp_mint.rs
  • chronik/bitcoinsuite-slp/tests/test_color_alp_send.rs
  • chronik/bitcoinsuite-slp/tests/test_color_common.rs
  • chronik/bitcoinsuite-slp/tests/test_color_slp.rs
  • chronik/bitcoinsuite-slp/tests/test_slp_parse_burn.rs
  • chronik/bitcoinsuite-slp/tests/test_slp_parse_common.rs
  • chronik/bitcoinsuite-slp/tests/test_slp_parse_genesis.rs
  • chronik/bitcoinsuite-slp/tests/test_slp_parse_mint.rs
  • chronik/bitcoinsuite-slp/tests/test_slp_parse_send.rs
  • chronik/bitcoinsuite-slp/tests/test_slp_parse_unknown.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_alp_all_the_things.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_alp_burn.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_alp_common.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_alp_genesis.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_alp_mint.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_alp_send.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_slp_burn.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_slp_common.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_slp_genesis.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_slp_mint.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_slp_mint_vault.rs
  • chronik/bitcoinsuite-slp/tests/test_verify_slp_send.rs
  • chronik/chronik-bridge/Cargo.toml
  • chronik/chronik-bridge/build.rs
  • chronik/chronik-bridge/src/ffi.rs
  • chronik/chronik-bridge/src/lib.rs
  • chronik/chronik-bridge/src/util.rs
  • chronik/chronik-cpp/chronik.cpp
  • chronik/chronik-cpp/chronik.h
  • chronik/chronik-cpp/chronik_bridge.cpp
  • chronik/chronik-cpp/chronik_bridge.h
  • chronik/chronik-cpp/chronik_validationinterface.cpp
  • chronik/chronik-cpp/chronik_validationinterface.h
  • chronik/chronik-cpp/util/args.h
  • chronik/chronik-cpp/util/chaintype.cpp
  • chronik/chronik-cpp/util/chaintype.h
  • chronik/chronik-cpp/util/collection.h
  • chronik/chronik-cpp/util/context.h
  • chronik/chronik-cpp/util/hash.cpp
  • chronik/chronik-cpp/util/hash.h
  • chronik/chronik-cpp/util/result.h
  • chronik/chronik-cpp/util/span.h
  • chronik/chronik-cpp/util/storage.cpp
  • chronik/chronik-cpp/util/storage.h
  • chronik/chronik-cpp/util/streams.h
  • chronik/chronik-db/Cargo.toml
  • chronik/chronik-db/src/data.rs
  • chronik/chronik-db/src/db.rs
  • chronik/chronik-db/src/group.rs
  • chronik/chronik-db/src/groups/lokad_id.rs
  • chronik/chronik-db/src/groups/mod.rs
  • chronik/chronik-db/src/groups/script.rs
  • chronik/chronik-db/src/groups/token_id.rs
  • chronik/chronik-db/src/groups/txid.rs
  • chronik/chronik-db/src/index_tx.rs
  • chronik/chronik-db/src/io/block_stats.rs
  • chronik/chronik-db/src/io/blocks.rs
  • chronik/chronik-db/src/io/group_history.rs
  • chronik/chronik-db/src/io/group_utxos.rs
  • chronik/chronik-db/src/io/merge.rs
  • chronik/chronik-db/src/io/metadata.rs
  • chronik/chronik-db/src/io/mod.rs
  • chronik/chronik-db/src/io/spent_by.rs
  • chronik/chronik-db/src/io/token/batch.rs
  • chronik/chronik-db/src/io/token/data.rs
  • chronik/chronik-db/src/io/token/io.rs
  • chronik/chronik-db/src/io/token/mod.rs
  • chronik/chronik-db/src/io/token/tests/mock.rs
  • chronik/chronik-db/src/io/token/tests/mod.rs
  • chronik/chronik-db/src/io/token/tests/test_batch_alp.rs
  • chronik/chronik-db/src/io/token/tests/test_batch_burn.rs
  • chronik/chronik-db/src/io/token/tests/test_batch_common.rs
  • chronik/chronik-db/src/io/token/tests/test_batch_disconnect_block.rs
  • chronik/chronik-db/src/io/token/tests/test_batch_genesis.rs
  • chronik/chronik-db/src/io/token/tests/test_batch_nft.rs
  • chronik/chronik-db/src/io/token/tests/test_batch_unknown.rs
  • chronik/chronik-db/src/io/token/tests/test_batch_vault.rs
  • chronik/chronik-db/src/io/txs.rs
  • chronik/chronik-db/src/io/upgrade.rs
  • chronik/chronik-db/src/lib.rs
  • chronik/chronik-db/src/mem/data.rs
  • chronik/chronik-db/src/mem/group_history.rs
  • chronik/chronik-db/src/mem/group_utxos.rs
  • chronik/chronik-db/src/mem/mempool.rs
  • chronik/chronik-db/src/mem/mod.rs
  • chronik/chronik-db/src/mem/spent_by.rs
  • chronik/chronik-db/src/mem/tokens.rs
  • chronik/chronik-db/src/plugins/group.rs
  • chronik/chronik-db/src/plugins/io.rs
  • chronik/chronik-db/src/plugins/mem.rs
  • chronik/chronik-db/src/plugins/mod.rs
  • chronik/chronik-db/src/reverse_lookup.rs
  • chronik/chronik-db/src/ser.rs
  • chronik/chronik-db/src/test/mod.rs
  • chronik/chronik-db/src/test/utxo.rs
  • chronik/chronik-db/src/test/value_group.rs
  • chronik/chronik-http/Cargo.toml
  • chronik/chronik-http/src/electrum.rs
  • chronik/chronik-http/src/electrum_codec.rs
  • chronik/chronik-http/src/error.rs
  • chronik/chronik-http/src/handlers.rs
  • chronik/chronik-http/src/lib.rs
  • chronik/chronik-http/src/parse.rs
  • chronik/chronik-http/src/protobuf.rs
  • chronik/chronik-http/src/server.rs
  • chronik/chronik-http/src/validation.rs
  • chronik/chronik-http/src/ws.rs
  • chronik/chronik-indexer/Cargo.toml
  • chronik/chronik-indexer/src/avalanche.rs
  • chronik/chronik-indexer/src/indexer.rs
  • chronik/chronik-indexer/src/lib.rs
  • chronik/chronik-indexer/src/merkle.rs
  • chronik/chronik-indexer/src/pause.rs
  • chronik/chronik-indexer/src/query/blocks.rs
  • chronik/chronik-indexer/src/query/broadcast.rs
  • chronik/chronik-indexer/src/query/group_history.rs
  • chronik/chronik-indexer/src/query/group_utxos.rs
  • chronik/chronik-indexer/src/query/mod.rs
  • chronik/chronik-indexer/src/query/plugins.rs
  • chronik/chronik-indexer/src/query/tx_token_data.rs
  • chronik/chronik-indexer/src/query/txs.rs
  • chronik/chronik-indexer/src/query/util.rs
  • chronik/chronik-indexer/src/subs.rs
  • chronik/chronik-indexer/src/subs_group.rs
  • chronik/chronik-lib/Cargo.toml
  • chronik/chronik-lib/build.rs
  • chronik/chronik-lib/src/bridge.rs
  • chronik/chronik-lib/src/ffi.rs
  • chronik/chronik-lib/src/lib.rs
  • chronik/chronik-plugin-common/Cargo.toml
  • chronik/chronik-plugin-common/src/data.rs
  • chronik/chronik-plugin-common/src/lib.rs
  • chronik/chronik-plugin-common/src/params.rs
  • chronik/chronik-plugin-common/src/plugin.rs
  • chronik/chronik-plugin-impl/Cargo.toml
  • chronik/chronik-plugin-impl/src/context.rs
  • chronik/chronik-plugin-impl/src/etoken.py
  • chronik/chronik-plugin-impl/src/etoken.rs
  • chronik/chronik-plugin-impl/src/lib.rs
  • chronik/chronik-plugin-impl/src/module.rs
  • chronik/chronik-plugin-impl/src/plugin.py
  • chronik/chronik-plugin-impl/src/plugin.rs
  • chronik/chronik-plugin-impl/src/tx.py
  • chronik/chronik-plugin-impl/src/tx.rs
  • chronik/chronik-plugin-impl/src/util.rs
  • chronik/chronik-plugin-impl/tests/test_tx_to_py.py
  • chronik/chronik-plugin-impl/tests/test_tx_to_py.rs
  • chronik/chronik-plugin/Cargo.toml
  • chronik/chronik-plugin/src/context.rs
  • chronik/chronik-plugin/src/lib.rs
  • chronik/chronik-proto/Cargo.toml
  • chronik/chronik-proto/build.rs
  • chronik/chronik-proto/proto/chronik.proto
  • chronik/chronik-proto/src/lib.rs
  • chronik/chronik-util/Cargo.toml
  • chronik/chronik-util/src/lib.rs
  • chronik/chronik-util/src/log.rs
  • chronik/test/bridgecompression_tests.cpp
  • chronik/test/bridgeprimitives_tests.cpp
  • chronik/test/chronikbridge_tests.cpp
  • cmake/modules/AddCompilerFlags.cmake
  • cmake/modules/BinaryTest.cmake
  • cmake/modules/Coverage.cmake
  • cmake/modules/CustomCommandWithDepFile.cmake
  • cmake/modules/ExternalLibraryHelper.cmake
  • cmake/modules/FindBerkeleyDB.cmake
  • cmake/modules/FindEvent.cmake
  • cmake/modules/FindGMP.cmake
  • cmake/modules/FindJemalloc.cmake
  • cmake/modules/FindMiniUPnPc.cmake
  • cmake/modules/FindNATPMP.cmake
  • cmake/modules/FindQREncode.cmake
  • cmake/modules/FindRapidcheck.cmake

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch bchn

Tip

💬 Introducing Slack Agent: The best way for teams to turn conversations into code.

Slack Agent is built on CodeRabbit's deep understanding of your code, so your team can collaborate across the entire SDLC without losing context.

  • Generate code and open pull requests
  • Plan features and break down work
  • Investigate incidents and troubleshoot customer tickets together
  • Automate recurring tasks and respond to alerts with triggers
  • Summarize progress and report instantly

Built for teams:

  • Shared memory across your entire org—no repeating context
  • Per-thread sandboxes to safely plan and execute work
  • Governance built-in—scoped access, auditability, and budget controls

One agent for your entire SDLC. Right inside Slack.

👉 Get started


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement (behind the scenes) Stuff that users won't see enhancement (UI/UX/feature) New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.