Conversation
[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
…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.
|
Important Review skippedToo many files! This PR contains 298 files, which is 148 over the limit of 150. To get a review, narrow the scope: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (298)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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.
Built for teams:
One agent for your entire SDLC. Right inside Slack. 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. Comment |
No description provided.