- 29 Jun, 2022 2 commits
-
-
Calin Culianu authored
Boost elimination follow-up: some modernization and code clean-up See merge request !1500
-
Calin Culianu authored
Boost elimination: chrono, mutex, condition_variable See merge request !1501
-
- 28 Jun, 2022 1 commit
-
-
Calin Culianu authored
Replace boost::thread with std::thread See merge request !1497
-
- 19 Jun, 2022 1 commit
-
-
Calin Culianu authored
[lint] Allow std::variant to appear in codebase. See merge request !1581
-
- 17 Jun, 2022 2 commits
-
-
Calin Culianu authored
Fixed the comment for ContextualCheckTransaction to be more accurate See merge request !1584
-
Calin Culianu authored
The comment implied that this function is called only for "non-coinbase" transactions, however it actually is called for *all* transactions in ContextualCheckBlock() (including coinbase). The comment was misleading. Fixed.
-
- 14 Jun, 2022 1 commit
-
-
Calin Culianu authored
All of the compilers and libraries we now target support this C++17 language feature. The last holdout was our macOS support, but since we upgraded to 10.14 as the base deployment target in MR !1524, std::variant is now supported on macOS as well. As such, we can remove this linting check from our codebase.
-
- 11 Jun, 2022 1 commit
-
-
Calin Culianu authored
[backport] Replace MakeSpan helper with Span deduction guide See merge request !1543
-
- 08 Jun, 2022 1 commit
-
-
Calin Culianu authored
[doc] Clarify general expectation and policy on paid merge requests See merge request !1575
-
- 07 Jun, 2022 1 commit
-
-
This takes a bunch of changes from Core, heavily modified to work ok with cmake, and upgrades the statically-linked Qt library we use for release and/or depends from Qt 5.9.7 to Qt 5.15.3 (latest patched Qt5). This brings lots of bugfixes and better support for HighDPI displays, as well as correct OSX dark mode support (yay!). By now, Qt 5.9.7 is ancient and we really should be shipping the latest patched Qt with our static binary releases. Notes: - We had to upgrade OpenSSL from 1.0.1 to 1.1.1n because Qt 5.15.3 requires this library and refuses to work with older OpenSSL Ideally the openssl update would be a separate MR but the newer openssl refuses to work with our older Qt 5.9.8 !! Argh! So I had to roll these into the same MR. - bison now is required on the host system when building using depends. - OSX version works but requires clang-8.0.0 and OSX SDK 10.15 (see: !1524). Test Plan --------- - build all platform with gitian - verify ...
-
- 05 Jun, 2022 1 commit
-
-
Calin Culianu authored
[ci] Unpin mkdocs-material dependency after upstream fix See merge request !1578
-
- 03 Jun, 2022 1 commit
-
-
Calin Culianu authored
[ci] Hotfix for 'pages' job: pin mkdocs-material to 8.2.16 Closes #430 See merge request !1576
-
- 31 May, 2022 3 commits
-
-
Calin Culianu authored
[backport] secp256k1: Remove OpenSSL testing support See merge request !1572
-
Calin Culianu authored
[backport] test: replace hashlib.ripemd160 with an own implementation Closes #428 See merge request !1571
-
Calin Culianu authored
See discussion in issue #427. The performance regression was introduced by commit: 493e7d6d It can be seen using benchmark: `BanManAddressBan` The above commit made serialization of V1 addresses slower because it involved un-needed heap allocations (std::vector) when some code paths could have simply benefitted from doing everything on the stack (std::array). After this commit, the performance of the `BanManAddressBan` is back to levels similar to before 493e7d6d.
-
- 30 May, 2022 1 commit
-
-
Calin Culianu authored
[qa] Bump version to 24.1.1 and move 24.1.0 Release Notes to archive See merge request !1567
-
- 29 May, 2022 3 commits
-
-
Calin Culianu authored
[doc] Release Notes for Bitcoin Cash Node v24.1.0 See merge request !1565
-
Calin Culianu authored
[doc] Include section on Merge Requests See merge request !1564
-
Calin Culianu authored
[rpc] Deprecate setexcessiveblock RPC Closes #374 See merge request !1566
-
- 28 May, 2022 2 commits
-
-
Calin Culianu authored
Unused preprocessor definitions See merge request !1560
-
This is required for the upgrade to Qt 5.15.3 to work on OSX. It is a pre-requisite for MR !1523. We upgrade the clang we use to build the OSX binaries from 6.0.1 -> 8.0.0, thus bringing improvements to generated code and increased support for C++17. Additionally, we were forced to update the OSX minimum system version from 10.12 (Sierra) to 10.14 (Mojave). This increases C++17 coverage and is also required by the new Qt 5.15.3 in !1523. This means that it's possible that the pre-built app we ship won't run on older macs, however at this point Mojave is itself 4 versions back, so setting that as the minimum brings some benefits. Namely.. dark mode will work once we upgrade to Qt 5.15.3, which is a huge UI win for most users. Test Plan --------- - You need to update your downloaded MacOSX SDK from 10.14 -> 10.15 (see instructions in commit's `doc/gitian-building.md` and `depends/README.md`) - Add this to `gitian-builder/inputs...
-
- 27 May, 2022 2 commits
-
-
-
This allows us to avoid the expensive MTP check for the May 15, 2022 upgrade and instead use pindexPrev->nHeight directly which is much faster. We did this for phonon and other previous upgrades (but not Axion for "reasons"). Note that we hard-coded the activation height for scalenet to 10,006 since we will reorg this chain anyway in the future bqck to height 10,000. We chose 10,006 because other nodes may be relying on MTP time to activate upgrade8 still, and we anticipate that after a reorg height 10,007 will be the first block to accept the new rules (the activation height is always 1 less than the first fork block for new rules). It's safe to retroactively do this to scalenet because upgrade8 actually was a "reverse-soft-fork", or a loosening of consensus rules. So the scalenet chain is valid using the new rules because it was valid under the older, stricter rules. To keep things simple we simply retroactively pretend that scalenet always allowed native introspection and other upgrade opcodes after height 10,006. We also removed the `-upgrade8activationtime` flag from BCHN. This means we had to update 2 functional tests to remove the use of the upgrade8activationtime flag (which simply tested for block rejection pre-activation). These tests were good to have but since the new rules are now active on the real chain, and since we had to remove the activation time argument, the two minor functional tests cases relying on this argument were removed. Test Plan --------- - Review the hard-coded heights are 1 before the fork block (activation is weird and we always hard-code the height that is 1-before the fork block!) - `ninja all check-all` - Optional: Run a full node on mainnet and sync it from scratch (can be done before release) - Optional2: Run a full scalenet node off this MR and sync it from scratch to be paranoid
-
- 25 May, 2022 1 commit
-
-
Calin Culianu authored
File permissions See merge request !1557
-
- 23 May, 2022 1 commit
-
-
Calin Culianu authored
Summary --- This is in preparation for the upcoming release. It was decided in Slack by maintainers that a minor version bump was warranted on account of this version containing a significant update to a major subsystem: the network subsystem was updated to support torv3. Test Plan --- `ninja clean && ninja && src/bitcoind --version` (verify version is updated)
-
- 22 May, 2022 3 commits
-
-
Calin Culianu authored
This data is used for UI purposes only to estimate blockchain download/IBD progress. It is obtained by looking at the debug.log for the respective chain and looking at the latest UpdateTip line to get the tx count and block time. The estimated TPS was calculated by taking: `(last_txn_count - this_txn_count) / (last_time - this_time)`
-
Calin Culianu authored
This adds a checkpoint for mainnet, testnet3, and testnet4 on the activation block of the May 15, 2022 upgrade (that is, the first block mined under new rules).
-
Calin Culianu authored
Summary --- This is a code quality commit -- it is inappropriate to use class uint256 as if it were a C-style array of uint8_t (even though the underlying representation is indeed as such). While the code in question is not technically wrong as per the C++ standard, it is unsafe in case we ever decide to change the representation of class uint256. It is also inelegant. It is best to use the accessor methods .data() or .begin() to access the underlying uint8_t bytes. This commit does just that. Test Plan --- - ninja all check-all
-
- 18 May, 2022 3 commits
-
-
Calin Culianu authored
The DAA activated when height = X, but the actual activation block was X + 1. The reason why this is has to do with how activation works (you activate new rules at height X, but the block following X has the new rules in place!). A number of our checkpoints in early days of BCH suffered from off-by-1 errors here (see: MRs !1539 and !1540). This MR is a follow-up to those to correct the DAA activation block checkpoint being 1 block too early. While it doesn't matter much practically, it does makes sense for historical reasons to fix the checkpoints to be the actual block that was the forking block for a particular rules change, and not the preceding block which was not using the new rules yet. One might imagine someone reading our code and using these hashes for some other tool in the future and since code is a form of documentation, it's best to document these historical blocks of interest precisely. Test plan: - ninja all check - Verify that the proposed changed hashes are on the mainnet and/or testnet3 chains respectively, at the specified height (use a block explorer or a full node RPC to accomplish this).
-
Calin Culianu authored
This is a follow-up to MR !1539 which corrected the UAHF checkpoint block for mainnet. This does similar for testnet3. The old checkpoints don't matter much now since we have since added more checkpoints after them, but it's nice to be correct and consistent. This is a purely aesthetic/QA MR. Test plan: - ninja check-all - Use a block explorer or BTC & BCH testnet3 node RPCs to verify that the existing hash for height 1155875 is `00000000f17c850672894b9a75b63a1e72830bbd5f4c8889b5c1a80e7faef138` on both chains (this is wrong as a checkpoint!). - Use a block explorer or BTC & BCH testnet3 node RPCs to verify that the new hash in this MR for height 1155876 is `00000000000e38fef93ed9582a7df43815d5c2ba9fd37ef70c9a0ea4a285b8f5` and that this block exists only on BCH and not on BTC.
-
Calin Culianu authored
[qa] Correct the checkpoint for first post-UAHF block See merge request !1539
-
- 15 May, 2022 1 commit
-
-
Calin Culianu authored
[doc] Update im_uname public key Closes #283 See merge request !1538
-
- 04 May, 2022 3 commits
-
-
Calin Culianu authored
[doc] Include missing dependency install step Closes #350 See merge request !1534
-
Calin Culianu authored
[doc] Remove outdated and misleading leveldb docs Closes #247 See merge request !1536
-
Calin Culianu authored
[doc] Restore and update bitcoin.conf documentation Closes #264 See merge request !1535
-
- 12 Apr, 2022 1 commit
-
-
Calin Culianu authored
This patch fixes a compile error encountered on newer Ubuntu when building the (now ancient) Qt 5.9.7. The issue was observed on Ubuntu 21.10 and 22.04, where a missing include caused compile errors. This patch just fixes the error by including <limits>. See BCHN issue #417
-
- 11 Apr, 2022 1 commit
-
-
Calin Culianu authored
build: Fix boost depends build with glibc >= 2.34 See merge request !1528
-
- 25 Mar, 2022 2 commits
-
-
Calin Culianu authored
[backport] Improvements on ADDR caching See merge request !1522
-
Calin Culianu authored
Don't start node twice See merge request cculianu/bitcoin-cash-node!25
-
- 24 Mar, 2022 1 commit
-
-
Calin Culianu authored
[ci] Fix for recent breakage of CI due to a jinja2 update See merge request !1521
-