-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2023 06 tx compression rebase #9
Commits on Feb 26, 2024
-
Merge bitcoin#29471: doc: Fix CI-detected codespell warnings
b03b206 Fix CI-detected codespell warnings (Lőrinc) Pull request description: Split out the typo fixes encountered in bitcoin#29458 to a separate PR. ACKs for top commit: maflcko: ACK b03b206 Tree-SHA512: 99b6fac01ba2ae6e6de9c50d2b481387899844a4b3a77d544c7b8afe7cfd25251a982329688d4739cde8b98ad35afcfd49be7c7cc3dad9bdff1d5915861a206d
Configuration menu - View commit details
-
Copy full SHA for 19b7f2b - Browse repository at this point
Copy the full SHA 19b7f2bView commit details -
Merge bitcoin#29443: depends: fix BDB compilation on OpenBSD
0fbf051 depends: fix BDB compilation on OpenBSD (Sebastian Falbesoner) Pull request description: Compiling C++ code with `-D_XOPEN_SOURCE=600` causes problems on OpenBSD. If that define is set, the C++ standard header detection routine in BDB's configure script fails due to a missing type name for `locale_t` (see https://gist.github.com/theStack/b41884e31ebc5cdca3220bcaa674cb70 for the relevant config.log part). This results in `HAVE_CXX_STDHEADERS` not being defined, which then it turn leads to the inclusion of `<iostream.h>` (rather than `<iostream>`), which doesn't exist, as described in bitcoin#28963. According to a mailing list post discussing a similar problem [1], "OpenBSD provides the POSIX APIs by default", so we don't need this define anyway and can remove it. This fixes the BDB build problem as described in issue bitcoin#28963. See also google/flatbuffers@f87e75a for a similar fix for google's flatbuffer project. Tested on OpenBSD 7.4 with clang 13.0.0. Fixes bitcoin#28963. [1] https://www.mail-archive.com/tech@openbsd.org/msg63386.html ACKs for top commit: fanquake: ACK 0fbf051 Tree-SHA512: 02139e9081ed855e067bfba8c81b54c657417576e553cc1035a916ada9be049358f5e14d756d5f234c5226bd7e943f61c6ae8990c1b152f9125681b7b777c9b3
Configuration menu - View commit details
-
Copy full SHA for ac19235 - Browse repository at this point
Copy the full SHA ac19235View commit details -
Merge bitcoin#29467: test: Fix intermittent issue in interface_rest.py
faeed91 test: Fix intermittent issue in interface_rest.py (MarcoFalke) Pull request description: Fixes: ``` test 2024-02-22T16:15:37.465000Z TestFramework (ERROR): Assertion failed Traceback (most recent call last): File "/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/test_framework.py", line 131, in main self.run_test() File "/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/interface_rest.py", line 340, in run_test assert_equal(json_obj, mempool_info) File "/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/test/functional/test_framework/util.py", line 57, in assert_equal raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args)) AssertionError: not({'loaded': True, 'size': 3, 'bytes': 312, 'usage': 3600, 'total_fee': Decimal('0.00093600'), 'maxmempool': 300000000, 'mempoolminfee': Decimal('0.00001000'), 'minrelaytxfee': Decimal('0.00001000'), 'incrementalrelayfee': Decimal('0.00001000'), 'unbroadcastcount': 1, 'fullrbf': False} == {'loaded': True, 'size': 3, 'bytes': 312, 'usage': 3600, 'total_fee': Decimal('0.00093600'), 'maxmempool': 300000000, 'mempoolminfee': Decimal('0.00001000'), 'minrelaytxfee': Decimal('0.00001000'), 'incrementalrelayfee': Decimal('0.00001000'), 'unbroadcastcount': 0, 'fullrbf': False}) ``` https://cirrus-ci.com/task/4852944378527744?logs=ci#L4436 ACKs for top commit: m3dwards: ACK bitcoin@faeed91 mzumsande: ACK faeed91 Tree-SHA512: 513422229db45d2586c554b9a466e86848bfcf5280b0f000718cbfc44d93dd1af69e19a56f6ac578f5d7aada74ab0c90d4a9e09a324062b6f9ed239e5e34f540
Configuration menu - View commit details
-
Copy full SHA for 60b6ff5 - Browse repository at this point
Copy the full SHA 60b6ff5View commit details -
test: Drop
x
modifier infsbridge::fopen
call for mingw buildsThe MinGW-w64 toolchain links executables to the old msvcrt C Runtime Library that does not support the `x` modifier for the _wfopen() function.
Configuration menu - View commit details
-
Copy full SHA for d2fe905 - Browse repository at this point
Copy the full SHA d2fe905View commit details -
test: Remove unnecessary sync_blocks in assumeutxo tests
The nodes are not connected at this point and no blocks have been mined, so it does not seem do anything
Configuration menu - View commit details
-
Copy full SHA for 2bc1ecf - Browse repository at this point
Copy the full SHA 2bc1ecfView commit details -
doc: Update OpenBSD build docs to 7.4
Tested and used all build options on OpenBSD 7.4 with no issues. Added a note about referring to depends/README.md for detailed instructions on required dependencies. This was added in reference to a conversation in bitcoin#29443
Configuration menu - View commit details
-
Copy full SHA for fccfdb2 - Browse repository at this point
Copy the full SHA fccfdb2View commit details -
crypto: replace non-standard CLZ builtins with c++20's bit_width
Also some header cleanups.
Configuration menu - View commit details
-
Copy full SHA for 52f9bba - Browse repository at this point
Copy the full SHA 52f9bbaView commit details -
crypto: replace CountBits with std::bit_width
bit_width is a drop-in replacement with an exact meaning in c++, so there is no need to continue testing/fuzzing/benchmarking.
Configuration menu - View commit details
-
Copy full SHA for 297367b - Browse repository at this point
Copy the full SHA 297367bView commit details -
Merge bitcoin#29357: test: Drop
x
modifier infsbridge::fopen
cal……l for MinGW builds d2fe905 test: Drop `x` modifier in `fsbridge::fopen` call for mingw builds (Hennadii Stepanov) Pull request description: The MinGW-w64 toolchain links executables to the old msvcrt C Runtime Library that does not support the `x` modifier for the [`_wfopen()`](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/fopen-wfopen?view=msvc-170) function. Fixes bitcoin#29014. ACKs for top commit: maflcko: ACK d2fe905 fanquake: ACK d2fe905 - the plan here should still be to migrate to the newer windows runtime. Tree-SHA512: 0269b66531e58c093ecda3a3e355a20ee8274e165d7e010f8f125881b3c8d4cfe801abdca4605d81efd3b2dbe9a81896968971f6f53da7f6c6093b76b47c5bc9
Configuration menu - View commit details
-
Copy full SHA for 4d7d7fd - Browse repository at this point
Copy the full SHA 4d7d7fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ec6684 - Browse repository at this point
Copy the full SHA 1ec6684View commit details
Commits on Feb 27, 2024
-
Merge bitcoin#28178: fuzz: Generate with random libFuzzer settings
fa3a410 fuzz: Set -rss_limit_mb=8000 for generate as well (MarcoFalke) fa4e396 fuzz: Generate with random libFuzzer settings (MarcoFalke) Pull request description: Sometimes a libFuzzer setting like `-use_value_profile=1` helps [0], sometimes it hurts [1]. [0] bitcoin#20789 (comment) [1] bitcoin#27888 (comment) By picking a random value, it is ensured that at least some of the runs will have the beneficial configuration set. Also, set `-max_total_time` to prevent slow fuzz targets from getting a larger time share, or possibly peg to a single core for a long time and block the python script from exiting for a long time. This can be improved in the future. For example, the python script can exit after some time (bitcoin#20752 (comment)). Alternatively, it can measure if coverage progress was made and run for less time if no progress has been made recently anyway, so that more time can be spent on targets that are new or still make progress. ACKs for top commit: murchandamus: utACK fa3a410 dergoegge: utACK fa3a410 brunoerg: light ACK fa3a410 Tree-SHA512: bfd04a76ca09aec612397bae5f3f263a608faa7087697169bd4c506c8195c4d2dd84ddc7fcd3ebbc75771eab618fad840af819114968ca3668fc730092376768
Configuration menu - View commit details
-
Copy full SHA for ee7e4b0 - Browse repository at this point
Copy the full SHA ee7e4b0View commit details -
Merge bitcoin#29358: test: use v2 everywhere for P2PConnection if --v…
…2transport is enabled bf5662c test: enable v2 for python p2p depending on global --v2transport flag (Martin Zumsande) 6e9e39d test: Don't use v2transport when it's too slow. (Martin Zumsande) 87549c8 test: enable p2p_invalid_messages.py with v2transport (Martin Zumsande) 5fc9db5 test: enable p2p_sendtxrcncl.py with v2transport (Martin Zumsande) Pull request description: bitcoin#24748 added v2 transport to the python `P2PConnection`, but so far each test that wants to make use of it needs to enable it on an individual basis. This PR changes it so that if the test suite is run with `--v2transport` option, v2 is used in each test by default, not only for connections between two bitcoind instances as before, but also wherever `P2PConnection` is used. Individual tests can override this global option. To do that, a few tests need to be adjusted. In addition, I added a commit to always use v1 in a few select subtests that send a large number of large messages (e.g. large reorgs). These tests don't have a fundamental problem with v2 but become very slow due to the unoptimised python ChaCha20 implementation (~30 minutes on my computer, so probably not suitable to be run in the CI). As a result, `python3 test_runner.py --v2transport` should succeed and use `v2` everywhere (unless v1 is chosen explicitly). [Edit]: To make the "test each commit" CI pass, several test fixes were squashed into the last commit, which actually enables v2 p2p for `P2PConnection`. I have an unsquashed version at https://github.com/mzumsande/bitcoin/tree/202401_bip324_alltests_unsquashed, in case that helps with review. ACKs for top commit: fjahr: tACK bf5662c vasild: ACK bf5662c stratospher: reACK bf5662c. theStack: Tested ACK bf5662c Tree-SHA512: 4f5a08248ba8a755f7d0f48deb2b79bef03292345cacb7deef01be955481093800e4e56ff218ea56734eef5de1fb3ab0f04657447ea27d393bb536539d7b289d
Configuration menu - View commit details
-
Copy full SHA for 5c6d900 - Browse repository at this point
Copy the full SHA 5c6d900View commit details -
build: remove -Wdocumentation conditional
Now that --enable-suppress-external-warnings is on by default, we can drop it.
Configuration menu - View commit details
-
Copy full SHA for b052b2d - Browse repository at this point
Copy the full SHA b052b2dView commit details -
Merge bitcoin#29481: doc: Update OpenBSD build docs for 7.4
fccfdb2 doc: Update OpenBSD build docs to 7.4 (Jesse Barton) Pull request description: Updated OpenBSD Build doc for 7.4 after testing all build options. No issues on my end. Also added a note about referring to depends/README.md for detailed instructions on required dependencies. This was added in reference to a conversation in bitcoin#29443 ACKs for top commit: fanquake: ACK fccfdb2 theStack: lgtm ACK fccfdb2 Tree-SHA512: be6d22b605140b37a71e11c5bbed54f60655832d78cd3cb221eddc77c7621a65c0d71baf436f90819be536d9b5dbf1a0b2c82b6b23d62356addc495403f2ba35
Configuration menu - View commit details
-
Copy full SHA for 6a7ed5e - Browse repository at this point
Copy the full SHA 6a7ed5eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 95bddb9 - Browse repository at this point
Copy the full SHA 95bddb9View commit details -
Configuration menu - View commit details
-
Copy full SHA for e7669e1 - Browse repository at this point
Copy the full SHA e7669e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66abce1 - Browse repository at this point
Copy the full SHA 66abce1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d8495e - Browse repository at this point
Copy the full SHA 2d8495eView commit details -
[net processing] Don't process mutated blocks
We preemptively perform a block mutation check before further processing a block message (similar to early sanity checks on other messsage types). The main reasons for this change are as follows: - `CBlock::GetHash()` is a foot-gun without a prior mutation check, as the hash returned only commits to the header but not to the actual transactions (`CBlock::vtx`) contained in the block. - We have observed attacks that abused mutated blocks in the past, which could have been prevented by simply not processing mutated blocks (e.g. bitcoin#27608).
Configuration menu - View commit details
-
Copy full SHA for 49257c0 - Browse repository at this point
Copy the full SHA 49257c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5bf4f5b - Browse repository at this point
Copy the full SHA 5bf4f5bView commit details -
[validation] Cache merkle root and witness commitment checks
Slight performance improvement by avoiding duplicate work.
Configuration menu - View commit details
-
Copy full SHA for 1ec6bbe - Browse repository at this point
Copy the full SHA 1ec6bbeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ed2c98 - Browse repository at this point
Copy the full SHA 1ed2c98View commit details -
Configuration menu - View commit details
-
Copy full SHA for d8087ad - Browse repository at this point
Copy the full SHA d8087adView commit details -
test: Remove Windows-specific code from
system_tests/run_command
This code has been dead since bitcoin#28967. Required as a precondition for replacing Boost.Process with cpp-subprocess to make diff for this code meaningful and reviewable. The plan is to reintroduce Windows-specific code in this test simultaneously with enabling Windows support in cpp-subprocess.
Configuration menu - View commit details
-
Copy full SHA for 51bc1c7 - Browse repository at this point
Copy the full SHA 51bc1c7View commit details -
Squashed 'src/crc32c/' changes from 0bac72c455..b60d2b7334
b60d2b7334 Merge bitcoin-core/crc32c-subtree#6: Fix UBSan "misaligned-pointer-use" warning on aarch64 1ac401e32b Fix UBSan "misaligned-pointer-use" warning on aarch64 git-subtree-dir: src/crc32c git-subtree-split: b60d2b733406cc64025095c6c2cb3933e222b529
Configuration menu - View commit details
-
Copy full SHA for 5d45552 - Browse repository at this point
Copy the full SHA 5d45552View commit details -
Configuration menu - View commit details
-
Copy full SHA for 359a8d9 - Browse repository at this point
Copy the full SHA 359a8d9View commit details -
serialization: replace char-is-int8_t autoconf detection with c++20 c…
…oncept This removes the only remaining autoconf macro in our serialization code, so it can now be used trivially and safely out-of-tree.
Configuration menu - View commit details
-
Copy full SHA for ad7584d - Browse repository at this point
Copy the full SHA ad7584dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6fa61e3 - Browse repository at this point
Copy the full SHA 6fa61e3View commit details -
Merge bitcoin#29475: doc: Fix Broken Links
6fa61e3 doc: Fix Broken Links (Justin Dhillon) Pull request description: ### Summery Here is what I have fixed: http://voorloopnul.com/blog/a-python-netstat-in-less-than-100-lines-of-code/ --> https://web.archive.org/web/20190424172231/http://voorloopnul.com/blog/a-python-netstat-in-less-than-100-lines-of-code/ ### Support my work These links were found with [link-inspector](https://github.com/justindhillon/link-inspector). If you find this PR useful, give the repo a ⭐ ACKs for top commit: fjahr: ACK 6fa61e3 Tree-SHA512: ba83badfc8a89f33813801f749bcd7ad41d4c9c817ece76f3bb1b60f24c28e99cfccc485a0ba059ec2c1134e8ffb5fa37fdc9835e553229ee5b1167c9b2e8d1f
Configuration menu - View commit details
-
Copy full SHA for ba907f9 - Browse repository at this point
Copy the full SHA ba907f9View commit details
Commits on Feb 28, 2024
-
wallet: Avoid updating
ReserveDestination::nIndex
when `GetReserved……Destination` fails
Configuration menu - View commit details
-
Copy full SHA for 367bb7a - Browse repository at this point
Copy the full SHA 367bb7aView commit details -
test: make sure keypool sizes do not change on
getrawchangeaddress
/……`getnewaddress` failures
Configuration menu - View commit details
-
Copy full SHA for e073f1d - Browse repository at this point
Copy the full SHA e073f1dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2863d7d - Browse repository at this point
Copy the full SHA 2863d7dView commit details -
net: Move
NetPermissionFlags::Implicit
verification to `AddWhitelis……tPermissionFlags`
Configuration menu - View commit details
-
Copy full SHA for 9133fd6 - Browse repository at this point
Copy the full SHA 9133fd6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e06be3 - Browse repository at this point
Copy the full SHA 8e06be3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 66bc6e2 - Browse repository at this point
Copy the full SHA 66bc6e2View commit details -
test: add option to speed up tx relay/mempool sync
when `self.noban_tx_relay=True`, the following flag `-whitelist=noban,in,out@127.0.0.1`is added to `extra_args` to speed up tx relay/mempool sync.
Configuration menu - View commit details
-
Copy full SHA for c985eb8 - Browse repository at this point
Copy the full SHA c985eb8View commit details -
Configuration menu - View commit details
-
Copy full SHA for e6b8f19 - Browse repository at this point
Copy the full SHA e6b8f19View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a53361 - Browse repository at this point
Copy the full SHA 0a53361View commit details -
serialization: detect byteswap builtins without autoconf tests
Rather than a complicated set of tests to decide which bswap functions to use, always prefer the compiler built-ins when available. These builtins and fallbacks can all be removed once we're using c++23, which adds std::byteswap.
Configuration menu - View commit details
-
Copy full SHA for 432b18c - Browse repository at this point
Copy the full SHA 432b18cView commit details -
serialization: use internal endian conversion functions
These replace our platform-specific mess in favor of c++20 endian detection via std::endian and internal byteswap functions when necessary. They no longer rely on autoconf detection.
Configuration menu - View commit details
-
Copy full SHA for 86b7f28 - Browse repository at this point
Copy the full SHA 86b7f28View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1484998 - Browse repository at this point
Copy the full SHA 1484998View commit details -
Running `make && ./src/bench/bench_bitcoin -filter=HexParse` a few times results in: ``` | ns/base16 | base16/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 1.60 | 623,238,893.11 | 0.3% | 0.01 | `HexParse` | 1.65 | 606,747,566.34 | 0.6% | 0.01 | `HexParse` | 1.60 | 626,149,544.07 | 0.3% | 0.01 | `HexParse` ```
Lőrinc committedFeb 28, 2024 Configuration menu - View commit details
-
Copy full SHA for b7489ec - Browse repository at this point
Copy the full SHA b7489ecView commit details -
Preallocate result in
TryParseHex
to avoid resizingRunning `make && ./src/bench/bench_bitcoin -filter=HexParse` a few times results in: ``` | ns/base16 | base16/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 0.68 | 1,465,555,976.27 | 0.8% | 0.01 | `HexParse` | 0.68 | 1,472,962,920.18 | 0.3% | 0.01 | `HexParse` | 0.68 | 1,476,159,423.00 | 0.3% | 0.01 | `HexParse` ```
Lőrinc committedFeb 28, 2024 Configuration menu - View commit details
-
Copy full SHA for a19235c - Browse repository at this point
Copy the full SHA a19235cView commit details -
gui: guard accessing a nullptr 'clientModel'
During shutdown, already queue events dispatched from the backend such 'numConnectionsChanged' and 'networkActiveChanged' could try to access the clientModel object, which might not exist because we manually delete it inside 'BitcoinApplication::requestShutdown()'.
Configuration menu - View commit details
-
Copy full SHA for f3a612f - Browse repository at this point
Copy the full SHA f3a612fView commit details -
Merge bitcoin#29486: build: remove -Wdocumentation conditional
b052b2d build: remove -Wdocumentation conditional (fanquake) Pull request description: Now that `--enable-suppress-external-warnings` is on by default, we can drop it. CIs are all already building with this flag. ACKs for top commit: Empact: Code review ACK bitcoin@b052b2d theuni: utACK b052b2d Tree-SHA512: 8b55f366dfeece082090fb87de67d8811967f4c89987a346431b2deb73c3c94401b59ec98bb1cbf790e18894f3d4c4aebb57cbc5fbf931c1046bf40239bc7a58
Configuration menu - View commit details
-
Copy full SHA for 7859f4e - Browse repository at this point
Copy the full SHA 7859f4eView commit details -
Merge bitcoin#29484: serialization: replace char-is-int8_t autoconf d…
…etection with c++20 concept ad7584d serialization: replace char-is-int8_t autoconf detection with c++20 concept (Cory Fields) Pull request description: Doesn't depend on bitcoin#29263, but it's really only relevant after that one's merged. This removes the only remaining autoconf macro in our serialization code (after bitcoin#29263), so it can now be used trivially and safely out-of-tree. ~Our code does not currently contain any concepts, but couldn't find any discussion or docs about avoiding them. I guess we'll see if this blows up our c-i.~ Edit: Ignore this. ajtowns pointed out that we're already using a few concepts. This was introduced in bitcoin#13580. Please check my logic on this as I'm unable to test on a SmartOS system. Even better would be a confirmation from someone who can build there. ACKs for top commit: Empact: Code review ACK bitcoin@ad7584d Tree-SHA512: 1faf65c900700efb1cf3092c607a2230321b393cb2f029fbfb94bc8e50df1dabd7a9e4b91e3b34f0d2f3471aaf18ee7e56d91869db5c5f4bae84da95443e1120
Configuration menu - View commit details
-
Copy full SHA for bbfddb3 - Browse repository at this point
Copy the full SHA bbfddb3View commit details -
Merge bitcoin#29493: subtree: update crc32c subtree
5d45552 Squashed 'src/crc32c/' changes from 0bac72c455..b60d2b7334 (fanquake) Pull request description: Update the crc32c subtree. Includes: * bitcoin-core/crc32c-subtree#6 Which fixes bitcoin#29178. ACKs for top commit: hebasto: ACK 359a8d9. theuni: ACK 359a8d9 dergoegge: ACK 359a8d9 Tree-SHA512: 2cec81a34ad26bbbc298aea5daffa41e56114d31cc2eb5fe486f46a77c3467bba22bdeca1c52ae97220e119d98818304272fc6337442af55282accabcd4c5833
Configuration menu - View commit details
-
Copy full SHA for d752831 - Browse repository at this point
Copy the full SHA d752831View commit details -
Merge bitcoin#29489: test: Remove Windows-specific code from `system_…
…tests/run_command` 51bc1c7 test: Remove Windows-specific code from `system_tests/run_command` (Hennadii Stepanov) Pull request description: The removed code has been dead since bitcoin#28967. Required as a precondition for replacing Boost.Process with [cpp-subprocess](bitcoin#28981) to make diff for this code meaningful and reviewable. The plan is to reintroduce Windows-specific code in this test simultaneously with enabling Windows support in cpp-subprocess. ACKs for top commit: Sjors: utACK 51bc1c7 theStack: Code-review ACK 51bc1c7 Tree-SHA512: 0e3875c4dc20564332555633daf2227223b10dc3d052557635eced2734575d1e0252fb19e46ea6e6c47a15c51c345f70b6d437e33435abcd0e4fcf29edb50887
Configuration menu - View commit details
-
Copy full SHA for dfbad09 - Browse repository at this point
Copy the full SHA dfbad09View commit details -
Merge bitcoin#29504: ci: print python version on win64 native job
1484998 ci: print python version on win64 native job (Max Edwards) Pull request description: Adds python version output to the Win64 Native CI job on Github Actions. Also clarifies that one of the versions already printed is the VCToolsVersion. Before: ![Screenshot 2024-02-28 at 13 47 50](https://github.com/bitcoin/bitcoin/assets/1204616/e01bbba8-e2ad-419f-95d1-925d54b3e87a) After: ![Screenshot 2024-02-28 at 13 54 22](https://github.com/bitcoin/bitcoin/assets/1204616/e8917376-c8ca-443e-91c7-a73064bd787b) Should the individual python test runners print the python version instead or also? ACKs for top commit: hebasto: ACK 1484998. Tree-SHA512: 6d084ff4a667156fa8797450de83bbcf596ddd3b2fa8ec04c1ca9a532a6fec716817b66da34db4ea0184bd802ef613e2b8f6142be9a511c5397785cfbfede0c3
Configuration menu - View commit details
-
Copy full SHA for 8e894be - Browse repository at this point
Copy the full SHA 8e894beView commit details -
Merge bitcoin#29412: p2p: Don't process mutated blocks
d8087ad [test] IsBlockMutated unit tests (dergoegge) 1ed2c98 Add transaction_identifier::size to allow Span conversion (dergoegge) 1ec6bbe [validation] Cache merkle root and witness commitment checks (dergoegge) 5bf4f5b [test] Add regression test for bitcoin#27608 (dergoegge) 49257c0 [net processing] Don't process mutated blocks (dergoegge) 2d8495e [validation] Merkle root malleation should be caught by IsBlockMutated (dergoegge) 66abce1 [validation] Introduce IsBlockMutated (dergoegge) e7669e1 [refactor] Cleanup merkle root checks (dergoegge) 95bddb9 [validation] Isolate merkle root checks (dergoegge) Pull request description: This PR proposes to check for mutated blocks early as a defense-in-depth mitigation against attacks leveraging mutated blocks. We introduce `IsBlockMutated` which catches all known forms of block malleation and use it to do an early mutation check whenever we receive a `block` message. We have observed attacks that abused mutated blocks in the past, which could have been prevented by simply not processing mutated blocks (e.g. bitcoin#27608 for which a regression test is included in this PR). ACKs for top commit: achow101: ACK d8087ad maflcko: ACK d8087ad 🏄 fjahr: Code review ACK d8087ad sr-gi: Code review ACK bitcoin@d8087ad Tree-SHA512: 618ff4ea7f168e10f07504d3651290efbb1bb2ab3b838ffff3527c028caf6c52dedad18d04d3dbc627977479710930e200f2dfae18a08f627efe7e64a57e535f
Configuration menu - View commit details
-
Copy full SHA for 2649e65 - Browse repository at this point
Copy the full SHA 2649e65View commit details
Commits on Feb 29, 2024
-
test: Fix intermittent failure in rpc_net.py --v2transport
Make sure that v2 handshake is complete before comparing getpeerinfo outputs so that `transport_protocol_type` isn't stuck at 'detecting'. - on the python side, this is ensured by default `wait_for_handshake = True` inside `add_p2p_connection()`. - on the c++ side, add a wait_until statement till `transport_protocol_type = v2` so that v2 handshake is complete. Co-Authored-By: Martin Zumsande <mzumsande@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 0487f91 - Browse repository at this point
Copy the full SHA 0487f91View commit details -
tests: Provide more helpful assert_equal errors
In the functional tests, we often compare dicts with assert_equal, but the output makes it very hard to tell exactly which entry in the dicts don't match when there are a lot of entries and only minor differences. Change the output to make it clearer.
Configuration menu - View commit details
-
Copy full SHA for a3badf7 - Browse repository at this point
Copy the full SHA a3badf7View commit details -
test: removes unnecessary check from validation_tests
An unnecessary check was added to the block mutation tests in bitcoin#29412 where IsBlockMutated is returning true for the invalid reasons: we try to check mutation via transaction duplication, but the merkle root is not updated before the check, therefore the check fails because the provided root and the computed root differ, but not because the block contains the same transaction twice. The check is meaningless so it can be removed.
Configuration menu - View commit details
-
Copy full SHA for 6ee3997 - Browse repository at this point
Copy the full SHA 6ee3997View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25eab52 - Browse repository at this point
Copy the full SHA 25eab52View commit details -
refactor: gui, simplify boost signals disconnection
Preventing dangling signals.
Configuration menu - View commit details
-
Copy full SHA for b7aa717 - Browse repository at this point
Copy the full SHA b7aa717View commit details -
test: add -v1transport option and use it in test_runner
This option beats the --v2transport option and is meant to be used in test_runner.py. It applies these to a few tests that are particulary interesting in terms of the transport type. This ensures that these tests arei always run with both v1 and v2, irrespective of whether the global --v2transport test_runner option is set or not.
Configuration menu - View commit details
-
Copy full SHA for 547aacf - Browse repository at this point
Copy the full SHA 547aacfView commit details -
Merge bitcoin#29511: test: Fix intermittent failure in rpc_net.py --v…
…2transport 0487f91 test: Fix intermittent failure in rpc_net.py --v2transport (stratospher) Pull request description: Fixes bitcoin#29508. Make sure that v2 handshake is complete before comparing getpeerinfo outputs so that `transport_protocol_type` isn't stuck at 'detecting'. This is done by adding a wait_until statement till `transport_protocol_type = v2` so that bitcoind waits until the v2 handshake is complete. (on the python side, this is ensured by default since `wait_for_handshake = True` inside `add_p2p_connection()`) ACKs for top commit: Sjors: ACK 0487f91 mzumsande: Code Review ACK 0487f91 achow101: ACK 0487f91 vasild: ACK 0487f91 Tree-SHA512: 44dd646a61cd38da243f527df7321e22d1821c2b090be43673027746098caf450c6671708ed731ba257952df6b5886e64c9c2f9686a82f6ef0f25780b7a87d3d
Configuration menu - View commit details
-
Copy full SHA for 61aa981 - Browse repository at this point
Copy the full SHA 61aa981View commit details -
Merge bitcoin#29510: wallet:
getrawchangeaddress
and `getnewaddress……` failures should not affect keypools for descriptor wallets e073f1d test: make sure keypool sizes do not change on `getrawchangeaddress`/`getnewaddress` failures (UdjinM6) 367bb7a wallet: Avoid updating `ReserveDestination::nIndex` when `GetReservedDestination` fails (UdjinM6) Pull request description: I think the expected behaviour of `getrawchangeaddress` and `getnewaddress` RPCs is that their failure should not affect keypool in any way. At least that's how legacy wallets work, you can confirm this behaviour by running `wallet_keypool.py --legacy-wallet` on master with e073f1d applied on top. However running `wallet_keypool.py --descriptors` on the same commit results in the following failure: ``` File "/path/to/bitcoin/test/functional/test_framework/test_framework.py", line 131, in main self.run_test() File "/path/to/bitcoin/test/functional/wallet_keypool.py", line 114, in run_test assert_equal(kp_size_before, kp_size_after) File "/path/to/bitcoin/test/functional/test_framework/util.py", line 57, in assert_equal raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args)) AssertionError: not([18, 24] == [19, 24]) ``` This happens because we pass `nIndex` (which is a class member) into `GetReservedDestination` and since it's passed by reference we get an updated value back, so `nIndex` won't be equal `-1` anymore, no matter if the function failed or succeeded. This means that `ReturnDestination` (called by dtor of `ReserveDestination`) will try to return something we did not actually reserve. The fix is to simply use a temporary variable instead of a class member and only update `nIndex` when `op_address` actually has value, basically do it the same way we do for other class members (`address` and `fInternal`) already. ACKs for top commit: achow101: ACK e073f1d josibake: ACK bitcoin@e073f1d Tree-SHA512: 1128288a60dd4d8f306ef6f7ac66cdfeae3c9cc35c66ecada2d78fa61ac759f2a757b70fc3976ba8b5081200942b58dfabc184c01ccf911af40ba8c145344651
Configuration menu - View commit details
-
Copy full SHA for 22a5ccf - Browse repository at this point
Copy the full SHA 22a5ccfView commit details -
test: ignore --v2transport for older versions instead of asserting
Otherwise, a run with test_runner.py --v2transport=1 --previous-releases --extended would hit the removed assert for wallet_backwards_compatibility.py
Configuration menu - View commit details
-
Copy full SHA for 3a25a57 - Browse repository at this point
Copy the full SHA 3a25a57View commit details -
Configuration menu - View commit details
-
Copy full SHA for ecc036c - Browse repository at this point
Copy the full SHA ecc036cView commit details -
build: remove confusing and inconsistent disable-asm option
1. It didn't actually disable asm usage in our code. Regardless of the setting, asm is used in random.cpp and support/cleanse.cpp. 2. The value wasn't forwarded to libsecp as a user might have reasonably expected. 3. We now have the DISABLE_OPTIMIZED_SHA256 define which is what disable-asm actually did in practice. If there is any desire, we can hook DISABLE_OPTIMIZED_SHA256 up to a new configure option that actually does what it says.
Configuration menu - View commit details
-
Copy full SHA for 376f0f6 - Browse repository at this point
Copy the full SHA 376f0f6View commit details -
doc: remove references to disable-asm option now that it's gone
The comment about sha256_sse4::Transform is believed to be old and stale.
Configuration menu - View commit details
-
Copy full SHA for f8a06f7 - Browse repository at this point
Copy the full SHA f8a06f7View commit details -
Merge bitcoin#29516: test: removes unnecessary check from validation_…
…tests 6ee3997 test: removes unnecessary check from validation_tests (Sergi Delgado Segura) Pull request description: An unnecessary check was added to the block mutation tests in bitcoin#29412 where IsBlockMutated is returning true for the invalid reasons: we try to check mutation via transaction duplication, but the merkle root is not updated before the check, therefore the check fails because the provided root and the computed root differ, but not because the block contains the same transaction twice. Notice that a proper check to test the duplication case is added a few lines later, so this check is just meaningless and can be removed. Check bitcoin#29412 (comment) for context. ACKs for top commit: maflcko: ACK 6ee3997 dergoegge: utACK 6ee3997 BrandonOdiwuor: utACK 6ee3997 Tree-SHA512: e4627668091dda5f589e4c15edac39dc84aabc9b34b8f7fadbf512beb7111d5477e1b69567a34b4a657e48ba66dfb864db5ff37c9bbe3ff24cd32931b2dd89e6
Configuration menu - View commit details
-
Copy full SHA for 9057598 - Browse repository at this point
Copy the full SHA 9057598View commit details -
Configuration menu - View commit details
-
Copy full SHA for efb70cd - Browse repository at this point
Copy the full SHA efb70cdView commit details -
Merge bitcoin#29390: test: speedup bip324_cipher.py unit test
a8c3454 test: speedup bip324_cipher.py unit test (Sebastian Falbesoner) Pull request description: Executing the unit tests for the bip324_cipher.py module currently takes quite long (>60 seconds on my older notebook). Most time here is spent in empty plaintext/ciphertext encryption/decryption loops in `test_fschacha20poly1305aead`: https://github.com/bitcoin/bitcoin/blob/9eeee7caa3f95ee17a645e12d330261f8e3c2dbf/test/functional/test_framework/crypto/bip324_cipher.py#L193-L194 https://github.com/bitcoin/bitcoin/blob/9eeee7caa3f95ee17a645e12d330261f8e3c2dbf/test/functional/test_framework/crypto/bip324_cipher.py#L198-L199 Their sole purpose is increasing the FSChaCha20Poly1305 packet counter in order to trigger rekeying, i.e. the actual encryption/decryption is not relevant, as the result is thrown away. This commit speeds up the tests by supporting to pass "None" as plaintext/ciphertext, indicating to the routines that no actual encryption/decryption should be done. The approach here is a bit hacky, a cleaner alternative would probably be to introduce a special `seek`/`skip_packets` method and not touch the encrypt/decrypt routines, but that seemed overkill to me only for speeding up a unit test. Open for suggestions. master branch: ``` $ python3 -m unittest ./test/functional/test_framework/crypto/bip324_cipher.py .. ---------------------------------------------------------------------- Ran 2 tests in 64.658s ``` PR branch: ``` $ python3 -m unittest ./test/functional/test_framework/crypto/bip324_cipher.py .. ---------------------------------------------------------------------- Ran 2 tests in 0.822s ``` ACKs for top commit: delta1: Concept ACK a8c3454 epiccurious: Tested ACK a8c3454. achow101: ACK a8c3454 marcofleon: ACK a8c3454. The comments at the top of `bip324_cipher.py` specify that this should only be used for testing, so I think this optimization makes sense in that context. cbergqvist: ACK a8c3454! stratospher: ACK a8c3454. I think it's worth it because of the significant speedup in the unit test. Tree-SHA512: 737dd805a850be6e035aa3c6d9e2c5b5b5e89ddc564f84a045c37e0238fef6419912de7c902139b64914abdd647c649fe02a694f1a5e1741d7d4459c041caccc
Configuration menu - View commit details
-
Copy full SHA for be5399e - Browse repository at this point
Copy the full SHA be5399eView commit details -
Merge bitcoin#29407: build: remove confusing and inconsistent disable…
…-asm option f8a06f7 doc: remove references to disable-asm option now that it's gone (Cory Fields) 376f0f6 build: remove confusing and inconsistent disable-asm option (Cory Fields) Pull request description: 1. It didn't actually disable asm usage in our code. Regardless of the setting, asm is used in random.cpp and support/cleanse.cpp. 2. The value wasn't forwarded to libsecp as a user might have reasonably expected. 3. We now have the DISABLE_OPTIMIZED_SHA256 define which is what disable-asm actually did in practice. If there is any desire, we can hook DISABLE_OPTIMIZED_SHA256 up to a new configure option that actually does what it says. Additionally, this is one of the last (THE last?) remaining uses of autoconf defines in our crypto code. As such it seems like low-hanging fruit. ACKs for top commit: fanquake: ACK f8a06f7 Tree-SHA512: 4a99c2130225acbe9dc7399ed572a04ca155cbfa3eef8178a632ba533017d264691e6482cceb1d8f9c5d768619d99a2466dea4b82b27b18b872bceae91b92fbb
Configuration menu - View commit details
-
Copy full SHA for dfc35c9 - Browse repository at this point
Copy the full SHA dfc35c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for a1fbde0 - Browse repository at this point
Copy the full SHA a1fbde0View commit details
Commits on Mar 1, 2024
-
test: fix weight estimates in functional tests
Updates the weight estimate to be more accurate by removing byte buffers and calculating the length of the count of scriptWitnesses rather than just using the count itself.
Configuration menu - View commit details
-
Copy full SHA for 3c49e69 - Browse repository at this point
Copy the full SHA 3c49e69View commit details -
test: fix flaky wallet_send functional test
Rather than asserting that the exact fees are the same, check the fee rate rounded to nearest interger. This will account for small differences in fees caused by variability in ECDSA signature lengths.
Configuration menu - View commit details
-
Copy full SHA for e67ab17 - Browse repository at this point
Copy the full SHA e67ab17View commit details -
Merge bitcoin#29518: doc: correct function name in AssumeUTXO design …
…docs efb70cd doc: correct function name in AssumeUTXO design docs (jrakibi) Pull request description: Corrected the function name from `CompleteSnapshotValidation()` to `MaybeCompleteSnapshotValidation()` in the assumeutxo design documentation. This change ensures that the documentation accurately reflects the actual function name used in the code ACKs for top commit: Empact: ACK bitcoin@efb70cd Tree-SHA512: 68b9be3ba710d91a2a955189e227f86b46ccb6a2a13c345d46f276cec6ff12b77ebf9814c4bcb00db7c17e221510e4a2e71175c78a6faf0e0e3159c761bc9b94
Configuration menu - View commit details
-
Copy full SHA for d72cf82 - Browse repository at this point
Copy the full SHA d72cf82View commit details -
Merge bitcoin#29495: fuzz: add target for local address stuff
25eab52 fuzz: add target for local addresses (brunoerg) Pull request description: This PR adds fuzz target for local address functions - (`AddLocal`, `RemoveLocal`, `SeenLocal`, `IsLocal`) ACKs for top commit: dergoegge: ACK 25eab52 vasild: ACK 25eab52 Tree-SHA512: 24faaab86dcd8835ba0e2d81fb6322a39a9266c7edf66415dbc4421754054f47efb6e0de4efdc7ea026b0686792658e86a526f7cf27cbc6cf9ed0c4aed376f97
Configuration menu - View commit details
-
Copy full SHA for ae4165f - Browse repository at this point
Copy the full SHA ae4165fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1703067 - Browse repository at this point
Copy the full SHA 1703067View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5fbab37 - Browse repository at this point
Copy the full SHA 5fbab37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1342a31 - Browse repository at this point
Copy the full SHA 1342a31View commit details -
Merge bitcoin#29263: serialization: c++20 endian/byteswap/clz moderni…
…zation 86b7f28 serialization: use internal endian conversion functions (Cory Fields) 432b18c serialization: detect byteswap builtins without autoconf tests (Cory Fields) 297367b crypto: replace CountBits with std::bit_width (Cory Fields) 52f9bba crypto: replace non-standard CLZ builtins with c++20's bit_width (Cory Fields) Pull request description: This replaces bitcoin#28674, bitcoin#29036, and bitcoin#29057. Now ready for testing and review. Replaces platform-specific endian and byteswap functions. This is especially useful for kernel, as it means that our deep serialization code no longer requires bitcoin-config.h. I apologize for the size of the last commit, but it's hard to avoid making those changes at once. All platforms now use our internal functions rather than libc or platform-specific ones, with the exception of MSVC. Sadly, benchmarking showed that not all compilers are capable of detecting and optimizing byteswap functions, so compiler builtins are instead used where possible. However, they're now detected via macros rather than autoconf checks. This[ matches how libc++ implements std::byteswap for c++23](https://github.com/llvm/llvm-project/blob/main/libcxx/include/__bit/byteswap.h#L26). I suggest we move/rename `compat/endian.h`, but I left that out of this PR to avoid bikeshedding. bitcoin#29057 pointed out some irregularities in benchmarks. After messing with various compilers and configs for a few weeks with these changes, I'm of the opinion that we can't win on every platform every time, so we should take the code that makes sense going forward. That said, if any real-world slowdowns are caused here, we should obviously investigate. ACKs for top commit: maflcko: ACK 86b7f28 📘 fanquake: ACK 86b7f28 - we can finish pruning out the __builtin_clz* checks/usage once the minisketch code has been updated. This is more good cleanup pre-CMake & for the kernal. Tree-SHA512: 715a32ec190c70505ffbce70bfe81fc7b6aa33e376b60292e801f60cf17025aabfcab4e8c53ebb2e28ffc5cf4c20b74fe3dd8548371ad772085c13aec8b7970e
Configuration menu - View commit details
-
Copy full SHA for 8da62a1 - Browse repository at this point
Copy the full SHA 8da62a1View commit details -
build: move sha256_sse4 into libbitcoin_crypto_base
Followup to discussion in bitcoin#29407. Drops LIBBITCOIN_CRYPTO_SSE4.
Configuration menu - View commit details
-
Copy full SHA for 5216933 - Browse repository at this point
Copy the full SHA 5216933View commit details -
configure: test for unix domain sockets
Copied from bitcoin#9979 Co-authored-by: laanwj <126646+laanwj@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for adb3a3e - Browse repository at this point
Copy the full SHA adb3a3eView commit details -
netbase: refactor CreateSock() to accept sa_family_t
Also implement CService::GetSAFamily() to provide sa_family_t
Configuration menu - View commit details
-
Copy full SHA for bae86c8 - Browse repository at this point
Copy the full SHA bae86c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 74f568c - Browse repository at this point
Copy the full SHA 74f568cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a7d654 - Browse repository at this point
Copy the full SHA 3a7d654View commit details -
Configuration menu - View commit details
-
Copy full SHA for a89c3f5 - Browse repository at this point
Copy the full SHA a89c3f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac2ecf3 - Browse repository at this point
Copy the full SHA ac2ecf3View commit details -
Configuration menu - View commit details
-
Copy full SHA for d9318a3 - Browse repository at this point
Copy the full SHA d9318a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a88bf9d - Browse repository at this point
Copy the full SHA a88bf9dView commit details -
gui: accomodate unix socket Proxy in updateDefaultProxyNets()
This will require a follow-up to add unix socket options to the GUI
Configuration menu - View commit details
-
Copy full SHA for c3bd431 - Browse repository at this point
Copy the full SHA c3bd431View commit details -
Configuration menu - View commit details
-
Copy full SHA for c65c0d0 - Browse repository at this point
Copy the full SHA c65c0d0View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfe5192 - Browse repository at this point
Copy the full SHA bfe5192View commit details -
Configuration menu - View commit details
-
Copy full SHA for 567cec9 - Browse repository at this point
Copy the full SHA 567cec9View commit details -
build, msvc: Do not compile redundant sources
The `test\util\setup_common.cpp` and `wallet\test\util.cpp` sources are already compiled and included in the `libtest_util` library, which is linked to the `test_bitcoin-qt.exe` binary. This change follows the same logic as `Makefile.qttest.include`.
Configuration menu - View commit details
-
Copy full SHA for 6962c66 - Browse repository at this point
Copy the full SHA 6962c66View commit details
Commits on Mar 2, 2024
-
ci: Fix functional tests step for pull requests in Windows GHA job
This functionality has been broken since the Windows runner image version `20240128.1.0`.
Configuration menu - View commit details
-
Copy full SHA for 57e6e22 - Browse repository at this point
Copy the full SHA 57e6e22View commit details -
Merge bitcoin#29528: build: move sha256_sse4 into libbitcoin_crypto_base
5216933 build: move sha256_sse4 into libbitcoin_crypto_base (fanquake) Pull request description: Followup to discussion in bitcoin#29407. Drops `LIBBITCOIN_CRYPTO_SSE4`. ACKs for top commit: theuni: utACK 5216933. hebasto: ACK 5216933. TheCharlatan: ACK 5216933 Tree-SHA512: 44889340b7647409a439ebe97012f66383e0e5f3d99200ffd55c124e91d3ed164f02b736ff9dafca2d9ba7e365fcdc79aff054471d4bc240d035b58659407420
Configuration menu - View commit details
-
Copy full SHA for fce53f1 - Browse repository at this point
Copy the full SHA fce53f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 217c0ce - Browse repository at this point
Copy the full SHA 217c0ceView commit details
Commits on Mar 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 990b348 - Browse repository at this point
Copy the full SHA 990b348View commit details
Commits on Mar 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 632b69f - Browse repository at this point
Copy the full SHA 632b69fView commit details -
Merge bitcoin#29524: p2p: Don't consider blocks mutated if they don't…
… connect to known prev block a1fbde0 p2p: Don't consider blocks mutated if they don't connect to known prev block (Greg Sanders) Pull request description: Followup to bitcoin#29412 to revert some of the behavior change that was likely unintentional. Based on comments from bitcoin#29412 (comment) ACKs for top commit: 0xB10C: utACK a1fbde0 dergoegge: Code review ACK a1fbde0 Sjors: ACK a1fbde0 sr-gi: tACK bitcoin@a1fbde0 Tree-SHA512: be6204c8cc57b271d55c1d02a5c77d03a37738d91cb5ac164f483b0bab3991c24679c5ff02fbaa52bf37ee625874b63f4c9f7b39ad6fd5f3a25386567a0942e4
Configuration menu - View commit details
-
Copy full SHA for e60804f - Browse repository at this point
Copy the full SHA e60804fView commit details -
Merge bitcoin-core/gui#801: Fix nullptr clientModel access during shu…
…tdown b7aa717 refactor: gui, simplify boost signals disconnection (furszy) f3a612f gui: guard accessing a nullptr 'clientModel' (furszy) Pull request description: Fixing bitcoin#800. During shutdown, already queue events dispatched from the backend such 'numConnectionsChanged' and 0networkActiveChanged' could try to access the clientModel object, which might not exist because we manually delete it inside 'BitcoinApplication::requestShutdown()'. This happen because boost does not clears the queued events when they arise concurrently with the signal disconnection (see https://www.boost.org/doc/libs/1_55_0/doc/html/signals2/thread-safety.html). From the docs: 1) "Note that since we unlock the connection's mutex before executing its associated slot, it is possible a slot will still be executing after it has been disconnected by a [connection::disconnect](https://www.boost.org/doc/libs/1_55_0/doc/html/boost/signals2/connection.html#idp89761576-bb)(), if the disconnect was called concurrently with signal invocation." 2) "The fact that concurrent signal invocations use the same combiner object means you need to insure any custom combiner you write is thread-safe" So, we need to guard `clientModel` before accessing it at the handler side. ACKs for top commit: hebasto: re-ACK b7aa717 Tree-SHA512: f1a21d69248628f6a13556a9438c9e4ea9f0a3678aab09ddfe836e78e4eee405a6730d37d39f1445068ada3a110b655b619cf0e090fc2d0cdf99bed061364aeb
Configuration menu - View commit details
-
Copy full SHA for 776d48d - Browse repository at this point
Copy the full SHA 776d48dView commit details -
Merge bitcoin#29533: build, msvc: Do not compile redundant sources
6962c66 build, msvc: Do not compile redundant sources (Hennadii Stepanov) Pull request description: The `test\util\setup_common.cpp` and `wallet\test\util.cpp` sources are already compiled and included in the `libtest_util` library, which is linked to the `test_bitcoin-qt.exe` binary. This PR follows the same logic as `Makefile.qttest.include`. Useful for comparing project files across the master branch and the developing [cmake-staging](https://github.com/hebasto/bitcoin/tree/cmake-staging) branch. ACKs for top commit: sipsorcery: utACK 6962c66. Tree-SHA512: 5c40f52f3c7df3fff994fb136d4b2779ade3857fa14cf167d3f8600f28e821294e3779ebd4f4ab10ad57bdc8e952f99f6eb211e746a986ec24e26c7d1a74c04f
Configuration menu - View commit details
-
Copy full SHA for 98f57cd - Browse repository at this point
Copy the full SHA 98f57cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for af78d31 - Browse repository at this point
Copy the full SHA af78d31View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1611aa1 - Browse repository at this point
Copy the full SHA 1611aa1View commit details -
Configuration menu - View commit details
-
Copy full SHA for d9f30b0 - Browse repository at this point
Copy the full SHA d9f30b0View commit details -
doc: remove rel note fragments
These have been added to https://github.com/bitcoin-core/bitcoin-devwiki/wiki/27.0-Release-Notes-Draft, where they can be improved further.
Configuration menu - View commit details
-
Copy full SHA for 6e5eda8 - Browse repository at this point
Copy the full SHA 6e5eda8View commit details -
Merge bitcoin#29546: qt: 27.0 translations update
632b69f qt: 27.0 translations update (Hennadii Stepanov) Pull request description: This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool. ACKs for top commit: stickies-v: ACK 632b69f , getting a zero-diff when running `update-translations.py` on fce53f1 Tree-SHA512: 1e2823451e9192e60dec9d50e801fca4cdc621e6acabdc15dbd88cab1624e05bd56de9ac818a1ff91002d62e24c0bab0ef1eaad3fd3cc6ef6cd044989d39734f
Configuration menu - View commit details
-
Copy full SHA for 3329b35 - Browse repository at this point
Copy the full SHA 3329b35View commit details -
Merge bitcoin#29548: doc: remove rel note fragments
6e5eda8 doc: remove rel note fragments (fanquake) Pull request description: These have been added to https://github.com/bitcoin-core/bitcoin-devwiki/wiki/27.0-Release-Notes-Draft, where they can be improved further. ACKs for top commit: stickies-v: ACK 6e5eda8 Tree-SHA512: 66874fe9a64ac3a99a15a602ac68ae0a9e08f52a0fe732e48136b245c2127ed04e8217f86c44459696b03b01532a926ab8d41101c6e670902c1fc31e583b4dc9
Configuration menu - View commit details
-
Copy full SHA for 98005b6 - Browse repository at this point
Copy the full SHA 98005b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for a8ec9ee - Browse repository at this point
Copy the full SHA a8ec9eeView commit details
Commits on Mar 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 9701bc4 - Browse repository at this point
Copy the full SHA 9701bc4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 34a233b - Browse repository at this point
Copy the full SHA 34a233bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ab5439 - Browse repository at this point
Copy the full SHA 7ab5439View commit details -
qt, test: Set organization name
If `setOrganizationName()` and `setApplicationName()` has not been previously called, the `QSettings` object will not be able to read or write any settings.
Configuration menu - View commit details
-
Copy full SHA for 49cf635 - Browse repository at this point
Copy the full SHA 49cf635View commit details -
qt, test: Clean settings after tests
A test suite should not leave any artifacts except for those explicitly expected. This change is easy to review with `git diff --ignore-all-space` command.
Configuration menu - View commit details
-
Copy full SHA for 0dcbad3 - Browse repository at this point
Copy the full SHA 0dcbad3View commit details -
Merge bitcoin#29502: test: modify weight estimate in functional tests
e67ab17 test: fix flaky wallet_send functional test (Max Edwards) 3c49e69 test: fix weight estimates in functional tests (Max Edwards) Pull request description: Fixes: bitcoin#25164 The wallet_send functional test has been flaky due to a slightly overestimated weight calculation. This PR makes the weight calculation more accurate, although occasionally, due to how ECDSA signatures can be different lengths it might slightly over estimate. The assertion in the test can handle this slight variation and so should continue passing. Update: Because the signature can be shorter that is used in the weight estimation or the final transaction the estimate could be both slightly smaller or slightly larger. ACKs for top commit: achow101: ACK e67ab17 S3RK: Code review ACK e67ab17 Tree-SHA512: 3bf73b355309dce860fa1520afb8461e94268e4bcf0e92a8273c279b41b058c44472cf59daafa15a515529b50bd665b5d498bbe4d934f2315dbe810a05bc73f9
Configuration menu - View commit details
-
Copy full SHA for 2b260ea - Browse repository at this point
Copy the full SHA 2b260eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 53ffd5a - Browse repository at this point
Copy the full SHA 53ffd5aView commit details -
Merge bitcoin#29567: doc: fix broken reference to CI setup in test/li…
…nt/README.md 53ffd5a docs: Fix broken reference to CI setup in test/lint/README.md (naiyoma) Pull request description: The current [reference](https://github.com/bitcoin/bitcoin/blob/master/test/ci/lint/04_install.sh ) for CI setup in /test/lint#readme returns a 404. ACKs for top commit: fanquake: ACK 53ffd5a Tree-SHA512: 813c19a145f09e7da11963598b70dc438acba784eb722e509d6af59dc3af8f5da97628c454bed2b03cc919689603e070796de2db8d784d9162ae34e7b85a77d9
Configuration menu - View commit details
-
Copy full SHA for 3763f20 - Browse repository at this point
Copy the full SHA 3763f20View commit details -
Merge bitcoin#29544: doc: update signet faucet link in offline-signin…
…g-tutorial.md 990b348 doc: update signet faucet link in offline-signing-tutorial.md (Supachai Kheawjuy) Pull request description: https://signet.bc-2.jp is broken and https://signetfaucet.com is the same as before. https://signet.bc-2.jp from archive.org <img width="1258" alt="image" src="https://github.com/bitcoin/bitcoin/assets/73651621/36817aa6-95ea-427d-8d1d-93e21af86dce"> https://signetfaucet.com <img width="1242" alt="image" src="https://github.com/bitcoin/bitcoin/assets/73651621/e3248fb0-8a6d-45b3-9268-d883d2385c8f"> reference: https://en.bitcoin.it/wiki/Signet#Faucets ACKs for top commit: fanquake: ACK 990b348 Tree-SHA512: 482c931168a162cc666ecbe610e80d94ae433ebdc6bc52832bcc40c58592f9d9b8c7f1aea6faa2739873e80c6d4ea70c8a4f78d18067d1739e8070effce83062
Configuration menu - View commit details
-
Copy full SHA for ba1bf53 - Browse repository at this point
Copy the full SHA ba1bf53View commit details -
Configuration menu - View commit details
-
Copy full SHA for eb7cc9f - Browse repository at this point
Copy the full SHA eb7cc9fView commit details -
Merge bitcoin#29547: kernel: chainparams updates for 27.x
d9f30b0 kernel: chainparams updates for 27.x (fanquake) 1611aa1 kernel: update chainTxData for 27.x (fanquake) af78d31 kernel: update nMinimumChainWork & defaultAssumeValid for 27.x (fanquake) Pull request description: Update chainparams pre `27.x` branch off. Note: Remember that some variance is expected in the m_assumed_* sizes. ACKs for top commit: Sjors: ACK d9f30b0 glozow: ACK d9f30b0 (checked mainnet locally, checked testnet/signet on block explorers and sanity checked the numbers) instagibbs: ACK d9f30b0 Tree-SHA512: 6ce65b964334b9d15fff4aa1af6d26fb3ef4eab50b8237fc2cda180230ae724a99d13c9f6b3c58105548d3520c0ca0810f354736132d11793d6c91ad3eeac4c7
Configuration menu - View commit details
-
Copy full SHA for 11a1db8 - Browse repository at this point
Copy the full SHA 11a1db8View commit details -
Merge bitcoin#29541: test: remove file-wide interpreter.cpp ubsan sup…
…pression 217c0ce test: remove file-wide interpreter.cpp ubsan suppression (fanquake) Pull request description: ACKs for top commit: Sjors: utACK 217c0ce hebasto: ACK 217c0ce. dergoegge: ACK 217c0ce Tree-SHA512: ae0c2ff4531fdb7b0296709f66b71d4065fe3f32cbd39a44e45934a975b5cf6cf01c2f136f110753efee8e301636f7700278aed1d995b463fc025c07d586a8fa
Configuration menu - View commit details
-
Copy full SHA for faff279 - Browse repository at this point
Copy the full SHA faff279View commit details -
Merge bitcoin#29535: ci: Fix functional tests step for pull requests …
…in Windows GHA job 57e6e22 ci: Fix functional tests step for pull requests in Windows GHA job (Hennadii Stepanov) Pull request description: This functionality has been broken since the Windows runner image version `20240128.1.0`. Fixes bitcoin#29534. ACKs for top commit: fanquake: I can ACK 57e6e22 this only based on the fact that in this PR, the native Windows functional tests run: https://github.com/bitcoin/bitcoin/actions/runs/8119259315/job/22194887783#step:27:72, and that the native Windows functional tests are not currently running on master: https://github.com/bitcoin/bitcoin/actions/runs/8131828989/job/22239779585#step:27:63. hebasto: > I can ACK 57e6e22 m3dwards: ACK bitcoin@57e6e22 as a way to get the tests running again quickly. Tree-SHA512: 03e04fb96292e31ca0a8057e91b57f0812df92589f52f0602844e151ec5ec296badf5e549b1b606bab85607a3f9cd6abdfd328df80bf268501b537a596db0d96
Configuration menu - View commit details
-
Copy full SHA for 0fa9f17 - Browse repository at this point
Copy the full SHA 0fa9f17View commit details -
fuzz: restrict fopencookie usage to Linux & FreeBSD
Should fix the GCC compilation portion of bitcoin#29517: bitcoin#29517 (comment). See also: https://www.gnu.org/software/gnulib/manual/html_node/fopencookie.html but note that FreeBSD has supported this function since 11.x.
Configuration menu - View commit details
-
Copy full SHA for 312f338 - Browse repository at this point
Copy the full SHA 312f338View commit details
Commits on Mar 6, 2024
-
Merge bitcoin#29529: fuzz: restrict fopencookie usage to Linux & FreeBSD
312f338 fuzz: restrict fopencookie usage to Linux & FreeBSD (fanquake) Pull request description: Should fix the GCC compilation portion of bitcoin#29517 (comment). See also: https://www.gnu.org/software/gnulib/manual/html_node/fopencookie.html. ACKs for top commit: m3dwards: ACK bitcoin@312f338 TheCharlatan: utACK 312f338 Tree-SHA512: aa8ff20c3fa735415d05a93b8855877035c300f4d2dfd82f65fd9ed5b5c96ab619b4d84eef114ed0013dc5ff0800cb628ed3801e1efde0cfb0d426930d1673d5
Configuration menu - View commit details
-
Copy full SHA for 6c77dbf - Browse repository at this point
Copy the full SHA 6c77dbfView commit details -
test: exit with code 1 when no fn tests are found
Prevents the test_runner from exiting silently with code 0 when no tests were found.
Configuration menu - View commit details
-
Copy full SHA for 33268a8 - Browse repository at this point
Copy the full SHA 33268a8View commit details -
Merge bitcoin#29561: Fixed seeds update for 27.0
7ab5439 seeds: Update testnet seeds (Ava Chow) 34a233b seeds: Update mainnet seeds (Ava Chow) 9701bc4 makeseeds: Check i2p seeds too (Ava Chow) a8ec9ee makeseeds: Update PATTERN_AGENT (Ava Chow) Pull request description: The ipv4 and ipv6 seeds are updated from sipa's crawler, as outlined in contrib/seeds/README.md. The onion and i2p seeds are pulled from my node's addrman using `getrawaddrman` and then a connection was made to each node to retrieve the current service flags, block height, and user agent string before filtering through makeseeds.py. The CJDNS nodes were not updated as my node is not connected to that network. makeseeds.py is also updated for more recent user agent strings as well as being able to handle i2p addresses. Also updated the testnet seeds. ACKs for top commit: fanquake: ACK 7ab5439 Tree-SHA512: 5edba63d51116e5d9a8ae23561ba5a311f4df88c555c60b2d7a6066e63f8cdfd256be7dac9acea4b370879d0d3c3a4b55328c15de4284b5f0d86e6cac2e5ba9b
Configuration menu - View commit details
-
Copy full SHA for 55bd5d8 - Browse repository at this point
Copy the full SHA 55bd5d8View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd4fe41 - Browse repository at this point
Copy the full SHA fd4fe41View commit details -
Merge bitcoin#29579: build: bump version to 27.99
fd4fe41 build: bump version to 27.99 (fanquake) Pull request description: 27.x has been branched off. ACKs for top commit: glozow: slow ACK fd4fe41 theStack: ACK fd4fe41 dergoegge: utACK fd4fe41 Tree-SHA512: 1550becd190c1a5195d3123a83b6ac790797c485e2dbbfb0f4cb0bc0a611d8331a553b94f2896cf8ac3755040d7532d9ee6e312bf3b8e4ca9a5adce6d00c484e
Configuration menu - View commit details
-
Copy full SHA for ab5dfdb - Browse repository at this point
Copy the full SHA ab5dfdbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 115c283 - Browse repository at this point
Copy the full SHA 115c283View commit details
Commits on Mar 7, 2024
-
Merge bitcoin#29576: Update functional test runner to return error co…
…de when no tests are found to run 33268a8 test: exit with code 1 when no fn tests are found (Max Edwards) Pull request description: As discussed in the following PR comment: bitcoin#29535 (comment) Prevents the test_runner from exiting silently with code 0 when no tests were found which has recently happened after a GHA runner update such as in this run: https://github.com/bitcoin/bitcoin/actions/runs/8131828989/job/22239779585#step:27:63 ACKs for top commit: TheCharlatan: ACK 33268a8 theStack: lgtm ACK 33268a8 Tree-SHA512: d389e9f5e4da7ce1627fb2fad9b33baf0b04e75dbdbfc0dbf5f1e3e2b0ae1e79721476c5668476055b0f7de29723ed02c8d7e420081a555030cb784886e240fc
Configuration menu - View commit details
-
Copy full SHA for 59567d7 - Browse repository at this point
Copy the full SHA 59567d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 738a537 - Browse repository at this point
Copy the full SHA 738a537View commit details -
Merge bitcoin-core/gui#803: test: Set organization name
0dcbad3 qt, test: Clean settings after tests (Hennadii Stepanov) 49cf635 qt, test: Set organization name (Hennadii Stepanov) Pull request description: From Qt [docs](https://doc.qt.io/qt-5/qsettings.html#QSettings-4): > If [`QCoreApplication::setOrganizationName()`](https://doc.qt.io/qt-5/qcoreapplication.html#organizationName-prop) and [`QCoreApplication::setApplicationName()`](https://doc.qt.io/qt-5/qcoreapplication.html#applicationName-prop) has not been previously called, the `QSettings` object will not be able to read or write any settings, and [`status()`](https://doc.qt.io/qt-5/qsettings.html#status) will return [`AccessError`](https://doc.qt.io/qt-5/qsettings.html#Status-enum). Fixes bitcoin-core/gui#799. ACKs for top commit: pablomartin4btc: utACK 0dcbad3 Tree-SHA512: d5ac160f17cc358f0c1b89097193cd5adfd25f5531955c211f3e0994fc084e0a2b8d3aeddebe38f3a8ab5333edef5aa92b18915885c9e58b33f2e5786f31c600
Configuration menu - View commit details
-
Copy full SHA for c2c6a7d - Browse repository at this point
Copy the full SHA c2c6a7dView commit details -
Configuration menu - View commit details
-
Copy full SHA for bd8f035 - Browse repository at this point
Copy the full SHA bd8f035View commit details -
build: ignore deprecated-declaration warnings in objc++ macOS code
These come from GUI code, and haven't/aren't being fixed, see discussion in bitcoin-core/gui#112. For now, just ignore them entirely. Note that this only applies to ObjCXX code, so will not hide any relevant warnings coming from C or CXX code (and they would be unlikely in any case). Alternative to bitcoin#29362, which disables all compiler warnings, for macOS builds in the CI. Relevant output: ```bash qt/macnotificationhandler.mm:27:9: warning: 'NSUserNotification' is deprecated: first deprecated in macOS 11.0 - All NSUserNotifications API should be replaced with UserNotifications.frameworks API [-Wdeprecated-declarations] NSUserNotification* userNotification = [[NSUserNotification alloc] init]; ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:24:12: note: 'NSUserNotification' has been explicitly marked deprecated here @interface NSUserNotification : NSObject <NSCopying> { ^ qt/macnotificationhandler.mm:27:50: warning: 'NSUserNotification' is deprecated: first deprecated in macOS 11.0 - All NSUserNotifications API should be replaced with UserNotifications.frameworks API [-Wdeprecated-declarations] NSUserNotification* userNotification = [[NSUserNotification alloc] init]; ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:24:12: note: 'NSUserNotification' has been explicitly marked deprecated here @interface NSUserNotification : NSObject <NSCopying> { ^ qt/macnotificationhandler.mm:30:11: warning: 'NSUserNotificationCenter' is deprecated: first deprecated in macOS 11.0 - All NSUserNotifications API should be replaced with UserNotifications.frameworks API [-Wdeprecated-declarations] [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification: userNotification]; ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:118:12: note: 'NSUserNotificationCenter' has been explicitly marked deprecated here @interface NSUserNotificationCenter : NSObject { ^ 3 warnings generated. ```
Configuration menu - View commit details
-
Copy full SHA for 8b7630c - Browse repository at this point
Copy the full SHA 8b7630cView commit details -
Merge bitcoin#29577: build: ignore deprecated-declarations warnings i…
…n objc++ macOS code 8b7630c build: ignore deprecated-declaration warnings in objc++ macOS code (fanquake) bd8f035 build: Add missed definition for `AM_OBJCXXFLAGS` (Hennadii Stepanov) Pull request description: These come from GUI code, and haven't/aren't being fixed, see discussion in bitcoin-core/gui#112. For now, just ignore them entirely. Note that this only applies to ObjCXX code, so will not hide any relevant warnings coming from C or CXX code (and they would be unlikely in any case). Alternative to bitcoin#29362 (which disables all compiler warnings, for macOS builds in the CI). This PR includes one commit from that PR. Relevant output: ```bash qt/macnotificationhandler.mm:27:9: warning: 'NSUserNotification' is deprecated: first deprecated in macOS 11.0 - All NSUserNotifications API should be replaced with UserNotifications.frameworks API [-Wdeprecated-declarations] NSUserNotification* userNotification = [[NSUserNotification alloc] init]; ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:24:12: note: 'NSUserNotification' has been explicitly marked deprecated here @interface NSUserNotification : NSObject <NSCopying> { ^ qt/macnotificationhandler.mm:27:50: warning: 'NSUserNotification' is deprecated: first deprecated in macOS 11.0 - All NSUserNotifications API should be replaced with UserNotifications.frameworks API [-Wdeprecated-declarations] NSUserNotification* userNotification = [[NSUserNotification alloc] init]; ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:24:12: note: 'NSUserNotification' has been explicitly marked deprecated here @interface NSUserNotification : NSObject <NSCopying> { ^ qt/macnotificationhandler.mm:30:11: warning: 'NSUserNotificationCenter' is deprecated: first deprecated in macOS 11.0 - All NSUserNotifications API should be replaced with UserNotifications.frameworks API [-Wdeprecated-declarations] [[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification: userNotification]; ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserNotification.h:118:12: note: 'NSUserNotificationCenter' has been explicitly marked deprecated here @interface NSUserNotificationCenter : NSObject { ^ 3 warnings generated. ``` ACKs for top commit: hebasto: re-ACK 8b7630c. Tree-SHA512: 2f1fec97d9aa46aa23989d9fb283fc574dff9dc8f44847bb273b8fcf942f56f64c6d93dfcd7af8fbb52bf152e0fe76818118ce416d8cec5de852c32b6697a243
Configuration menu - View commit details
-
Copy full SHA for 67fb94c - Browse repository at this point
Copy the full SHA 67fb94cView commit details -
test: test_bitcoin: allow -testdatadir=<datadir>
Specifying this argument overrides the path location for test_bitcoin; it becomes <datadir>/test_common_Bitcoin Core/<testname>/datadir. Also, this directory isn't removed after the test completes. This can make it easier for developers to study the results of a test (see the state of the data directory after the test runs), and also (for example) have an editor open on debug.log to monitor it across multiple test runs instead of having to re-open a different pathname each time. Example usage (note the "--" is needed): test_bitcoin --run_test=getarg_tests/boolarg -- \ -testdatadir=/somewhere/mydatadir This will create (if necessary) and use the data directory: /somewhere/mydatadir/test_common_Bitcoin Core/getarg_tests/boolarg/datadir Co-authored-by: furszy <mfurszy@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for d27e2d8 - Browse repository at this point
Copy the full SHA d27e2d8View commit details
Commits on Mar 8, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 4f1753d - Browse repository at this point
Copy the full SHA 4f1753dView commit details -
Merge bitcoin#29583: fuzz: Apply fuzz env (suppressions, etc.) when f…
…etching harness list 738a537 [fuzz] Apply fuzz env (suppressions, etc.) when fetching harness list (dergoegge) Pull request description: The fuzz test runner does not add the UBSan suppressions when fetching the harness list. We can observe this in CI as lots of UBSan errors prior to the harnesses actually executing: https://api.cirrus-ci.com/v1/task/5678606140047360/logs/ci.log ``` + test/fuzz/test_runner.py -j10 -l DEBUG /ci_container_base/ci/scratch/qa-assets/fuzz_seed_corpus/ --empty_min_time=60 /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/string_view:578:38: runtime error: unsigned integer overflow: 12 - 23 cannot be represented in type 'size_type' (aka 'unsigned long') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/string_view:578:38 in /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/string_view:578:33: runtime error: implicit conversion from type 'size_type' (aka 'unsigned long') of value 18446744073709551605 (64-bit, unsigned) to type 'const difference_type' (aka 'const long') changed the value to -11 (64-bit, signed) SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/string_view:578:33 in crypto/sha256.cpp:75:57: runtime error: left shift of 1359893119 by 26 places cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:75:57 in crypto/sha256.cpp:75:79: runtime error: left shift of 1359893119 by 21 places cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:75:79 in crypto/sha256.cpp:75:101: runtime error: left shift of 1359893119 by 7 places cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:75:101 in crypto/sha256.cpp:82:47: runtime error: unsigned integer overflow: 2968370640 + 2483695512 cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:82:47 in crypto/sha256.cpp:74:57: runtime error: left shift of 1779033703 by 30 places cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:74:57 in crypto/sha256.cpp:74:79: runtime error: left shift of 1779033703 by 19 places cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:74:79 in crypto/sha256.cpp:74:101: runtime error: left shift of 1779033703 by 10 places cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:74:101 in crypto/sha256.cpp:83:29: runtime error: unsigned integer overflow: 3458249854 + 980412007 cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:83:29 in crypto/sha256.cpp:82:21: runtime error: unsigned integer overflow: 528734635 + 4228187651 cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:82:21 in crypto/sha256.cpp:84:7: runtime error: unsigned integer overflow: 1013904242 + 3720769133 cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:84:7 in crypto/sha256.cpp:85:12: runtime error: unsigned integer overflow: 3720769133 + 2654153126 cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:85:12 in crypto/sha256.cpp:82:33: runtime error: unsigned integer overflow: 4165002546 + 1259303586 cannot be represented in type 'uint32_t' (aka 'unsigned int') SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:82:33 in crypto/sha256.cpp:125:50: runtime error: unsigned integer overflow: 3835390401 + 1367343104 cannot be represented in type 'unsigned int' SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior crypto/sha256.cpp:125:50 in crypto/sha256.cpp:77:58: runtime error: left shift of 1367343104 by 15 places cannot be represented in type 'uint32_t' (aka 'unsigned int') ... ``` To fix this we simply apply the usual fuzz env variables (that apply the suppressions) when fetching the harness list as well. ACKs for top commit: ismaelsadeeq: Tested ACK 738a537 fanquake: ACK 738a537 Tree-SHA512: befebaeb4ee5f2eddca67fc6dc69e997c6a250ea54844e5e6e93d1f6a13be49364a3ace31eaa942b02dcf73612af29ec4ace86c9eb7567b92f6f5dc3ea14dc11
Configuration menu - View commit details
-
Copy full SHA for c49450d - Browse repository at this point
Copy the full SHA c49450dView commit details -
Merge bitcoin#29595: doc: Wrap flags with code in developer-notes.md
4f1753d doc: Wrap flags with code in developer-notes.md (spicyzboss) Pull request description: Before wrap code block <img width="1077" alt="image" src="https://github.com/bitcoin/bitcoin/assets/73651621/93f39960-311d-411d-acaf-dce69ad36ca0"> After wrap code block <img width="1073" alt="image" src="https://github.com/bitcoin/bitcoin/assets/73651621/fe6a5cd2-e981-45b1-a150-5a55fab81ae6"> ACKs for top commit: fanquake: ACK 4f1753d Tree-SHA512: 15a123f3a13c62d9cfdf62d5df351b8c2b3f9f666fba5a2722325600d802a29da61773ad32fb9f8483a915f59dd42731ba724b81b7874d39cb9627f0266b5713
Configuration menu - View commit details
-
Copy full SHA for 54172c6 - Browse repository at this point
Copy the full SHA 54172c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8aff3fd - Browse repository at this point
Copy the full SHA 8aff3fdView commit details -
build, msvc: Cleanup
bitcoin_config.h.in
This change mirrors changes from bitcoin#29263.
Configuration menu - View commit details
-
Copy full SHA for 8e17f00 - Browse repository at this point
Copy the full SHA 8e17f00View commit details -
Merge bitcoin#29600: build, msvc: Cleanup
bitcoin_config.h.in
8e17f00 build, msvc: Cleanup `bitcoin_config.h.in` (Hennadii Stepanov) Pull request description: This PR mirrors changes from bitcoin#29263 into the MSVC build system. ACKs for top commit: fanquake: ACK 8e17f00 Tree-SHA512: b8e5cca015ff112c2969a60436524e97007ff2c559b3c12425d0549af694b16248311cc3e7c33f798bc095a679933641496836bb846eee6a2a377956ef53f56e
Configuration menu - View commit details
-
Copy full SHA for 1cd2e29 - Browse repository at this point
Copy the full SHA 1cd2e29View commit details -
Reserve memory for ToLower/ToUpper conversions
Lőrinc committedMar 8, 2024 Configuration menu - View commit details
-
Copy full SHA for 6f2f4a4 - Browse repository at this point
Copy the full SHA 6f2f4a4View commit details -
wallet: default wallet migration, modify inconvenient backup filename
On default legacy wallets, the backup filename starts with an "-" due to the wallet name being empty. This is inconvenient for systems who treat what follows the initial "-" character as flags.
Configuration menu - View commit details
-
Copy full SHA for a951dba - Browse repository at this point
Copy the full SHA a951dbaView commit details
Commits on Mar 9, 2024
-
Merge bitcoin#28960: kernel: Remove dependency on CScheduler
d5228ef kernel: Remove dependency on CScheduler (TheCharlatan) 06069b3 scripted-diff: Rename MainSignals to ValidationSignals (TheCharlatan) 0d6d2b6 scripted-diff: Rename SingleThreadedSchedulerClient to SerialTaskRunner (TheCharlatan) 4abde2c [refactor] Make MainSignals RAII styled (TheCharlatan) 84f5c13 refactor: De-globalize g_signals (TheCharlatan) 473dd4b [refactor] Prepare for g_signals de-globalization (TheCharlatan) 3fba3d5 [refactor] Make signals optional in mempool and chainman (TheCharlatan) Pull request description: By defining a virtual interface class for the scheduler client, users of the kernel can now define their own event consuming infrastructure, without having to spawn threads or rely on the scheduler design. Removing `CScheduler` also allows removing the thread and exception modules from the kernel library. To make the `CMainSignals` class easier to use from a kernel library perspective, remove its global instantiation and adopt RAII practices. Renames `CMainSignals` to `ValidationSignals`, which more accurately describes its purpose and scope. Also make the `ValidationSignals` in the `ChainstateManager` and CTxMemPool` optional. This could be useful in the future for using or testing these classes without having to instantiate any form of signal handling. --- This PR is part of the [libbitcoinkernel project](bitcoin#27587). It improves the kernel API and removes two modules from the kernel library. ACKs for top commit: maflcko: re-ACK d5228ef 🌄 ryanofsky: Code review ACK d5228ef. Just comment change since last review. vasild: ACK d5228ef furszy: diff ACK d5228ef Tree-SHA512: e93a5f10eb6182effb84bb981859a7ce750e466efd8171045d8d9e7fe46e4065631d9f6f533c5967c4d34c9bb7d7a67e9f4593bd4c5b30cd7b3bbad7be7b331b
Configuration menu - View commit details
-
Copy full SHA for c07935b - Browse repository at this point
Copy the full SHA c07935bView commit details -
Merge bitcoin#29393: i2p: log connection was refused due to arbitrary…
… port 5b358cd i2p: log connection was refused due to arbitrary port (brunoerg) Pull request description: For I2P, we do not try to connect if port is != 0. However, we do not have anything that indicates it or any error when trying to connect with port != 0. This PR adds a log for it. Also, it improves the functional test. With this log we can ensure the reason we won't connect is the port, in the current test, we cannot ensure it. ACKs for top commit: jonatack: ACK 5b358cd epiccurious: re-ACK 5b358cd. achow101: ACK 5b358cd kristapsk: re-ACK 5b358cd vasild: ACK 5b358cd Tree-SHA512: 027245afa771c9295fff0bfd17c251dca4a9f4c739e5773922de3c030a65ef05d96291edcbdeeaa50ba3add61f75f28d8c00be503e03fc33d3491d1956fc549f
Configuration menu - View commit details
-
Copy full SHA for a78ca70 - Browse repository at this point
Copy the full SHA a78ca70View commit details -
Merge bitcoin#29569: Rename CalculateHeadersWork to CalculateClaimedH…
…eadersWork eb7cc9f Rename CalculateHeadersWork to CalculateClaimedHeadersWork (Greg Sanders) Pull request description: And clean up some comments. Confusion about what this is doing seems to be a running theme: bitcoin#29549 (comment) bitcoin#27278 (comment) ACKs for top commit: achow101: ACK eb7cc9f pablomartin4btc: ACK eb7cc9f 0xB10C: ACK eb7cc9f dergoegge: ACK eb7cc9f BrandonOdiwuor: ACK eb7cc9f Tree-SHA512: 6ccbc5e417155516487bb220753d189b5341dec05366db88a3fa5b1932eace21fbfaf23408c639bb54b36169a8d0a7536a1ee5e63b4ce5a3b70f2ff8407b6e07
Configuration menu - View commit details
-
Copy full SHA for 4cc99df - Browse repository at this point
Copy the full SHA 4cc99dfView commit details
Commits on Mar 10, 2024
-
ci: Add workaround for Homebrew's python link error
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic links on macOS x86_64. This change adds a workaround for that issue. Also see: actions/runner-images#9471 etc.
Configuration menu - View commit details
-
Copy full SHA for ae5f720 - Browse repository at this point
Copy the full SHA ae5f720View commit details
Commits on Mar 11, 2024
-
Merge bitcoin#26564: test: test_bitcoin: allow -testdatadir=<datadir>
d27e2d8 test: test_bitcoin: allow -testdatadir=<datadir> (Larry Ruane) Pull request description: This backward-compatible change would help with code review, testing, and debugging. When `test_bitcoin` runs, it creates a working or data directory within `/tmp/test_common_Bitcoin\ Core/`, named as a long random (hex) string. This small patch does three things: - If the (new) argument `-testdatadir=<datadir>` is given, use `<datadir>/test_temp/<test-name>/datadir` as the working directory - When the test starts, remove `<datadir>/test_temp/<test-name>/datadir` if it exists from an earlier run (currently, it's presumed not to exist due to the long random string) - Don't delete the working directory at the end of the test if a custom data directory is being used Example usage, which will remove, create, use `/somewhere/test_temp/getarg_tests/boolarg`, and leave it afterward: ``` $ test_bitcoin --run_test=getarg_tests/boolarg -- -testdatadir=/somewhere Running 1 test case... Test directory (will not be deleted): "/somewhere/test_temp/getarg_tests/boolarg/datadir" *** No errors detected $ ls -l /somewhere/test_temp/getarg_tests/boolarg/datadir total 8 drwxrwxr-x 2 larry larry 4096 Feb 22 10:28 blocks -rw-rw-r-- 1 larry larry 1273 Feb 22 10:28 debug.log ``` (A relative pathname also works.) This change affects only `test_bitcoin`; it could also be applied to `test_bitcoin-qt` but that's slightly more involved so I'm skipping that for now. The rationale for this change is that, when running the test using the debugger, it's often useful to watch `debug.log` as the test runs and inspect some of the other files (I've looked at the generated `blknnnn.dat` files for example). Currently, that requires figuring out where the test's working directory is since it changes on every test run. Tests can be run with `-printtoconsole=1` to show debug logging to the terminal, but it's nice to keep `debug.log` continuously open in an editor, for example. Even if not using a debugger, it's sometimes helpful to see `debug.log` and other artifacts after the test completes. Similar functionality is already possible with the functional tests using the `--tmpdir=` and `--nocleanup` arguments. ACKs for top commit: davidgumberg: ACK bitcoin@d27e2d8 tdb3: re-ACK for d27e2d8 achow101: ACK d27e2d8 cbergqvist: ACK d27e2d8! (Already did some testing with `fs::remove()` to make sure it was compatible with the `util::Lock/UnlockDirectory` implementation). marcofleon: ACK d27e2d8. I ran all the tests with my previous open file limit and no errors were detected. Also ran some individual tests with no, relative, and absolute paths and everything looks good. furszy: ACK d27e2d8 Tree-SHA512: a8f535f34a48b6699cb440f97f5562ec643f3bfba4ea685768980b871fc8b6e1135f70fc05dbe19aa2c8bacb1ddeaff212d63473605a7422ff76332b3a6b1f68
Configuration menu - View commit details
-
Copy full SHA for 5ebb406 - Browse repository at this point
Copy the full SHA 5ebb406View commit details -
[refactor] consolidate valid MempoolAcceptResult processing
Deduplicate code that exists in both tx processing and ProcessOrphanTx. Additionally, this can be reused in a function that handles multiple MempoolAcceptResults from package submission.
Configuration menu - View commit details
-
Copy full SHA for 9353aa4 - Browse repository at this point
Copy the full SHA 9353aa4View commit details -
[refactor] consolidate invalid MempoolAcceptResult processing
Deduplicate code that exists in both tx processing and ProcessOrphanTx. Additionally, this can be reused in a function that handles multiple MempoolAcceptResults from package submission.
Configuration menu - View commit details
-
Copy full SHA for 07cd510 - Browse repository at this point
Copy the full SHA 07cd510View commit details -
Merge bitcoin#29514: tests: Provide more helpful assert_equal errors
a3badf7 tests: Provide more helpful assert_equal errors (Anthony Towns) Pull request description: In the functional tests, we often compare dicts with assert_equal, but the output makes it very hard to tell exactly which entry in the dicts don't match when there are a lot of entries and only minor differences. Change the output to make it clearer. ACKs for top commit: achow101: ACK a3badf7 vasild: ACK a3badf7 brunoerg: utACK a3badf7 josibake: ACK bitcoin@a3badf7 BrandonOdiwuor: Code Review ACK a3badf7 Tree-SHA512: 1d4b4a3b2e2e28ab09f10b41b04b52b37f64e0d8a54e2306f37de0c3eb3299a7ad4ba225b9efa67057a75e90d008a17385c810a32c9b212d240be280c2dcf2e5
Configuration menu - View commit details
-
Copy full SHA for 10d7b6e - Browse repository at this point
Copy the full SHA 10d7b6eView commit details -
Merge bitcoin#28120: p2p: make block download logic aware of limited …
…peers threshold c5b5843 test: avoid requesting blocks beyond limited peer threshold (furszy) 2f6a055 p2p: sync from limited peer, only request blocks below threshold (furszy) 7312772 refactor: Make FindNextBlocks friendlier (furszy) Pull request description: Even when the node believes it has IBD completed, need to avoid requesting historical blocks from network-limited peers. Otherwise, the limited peer will disconnect right away. The simplest scenario could be a node that gets synced, drops connections, and stays inactive for a while. Then, once it re-connects (IBD stays completed), the node tries to fetch all the missing blocks from any peer, getting disconnected by the limited ones. Note: Can verify the behavior by cherry-picking the test commit alone on master. It will fail there. ACKs for top commit: achow101: ACK c5b5843 vasild: ACK c5b5843 mzumsande: Code Review ACK c5b5843 pinheadmz: ACK c5b5843 Tree-SHA512: 9e550698bc6e63cc587b2b988a87d0ab555a8fa188c91c3f33287f8201d77c28b373331845356ad86f17bb21c15950b6466bc1cafd0ce8139d70364cb71c2ad2
Configuration menu - View commit details
-
Copy full SHA for 4a90374 - Browse repository at this point
Copy the full SHA 4a90374View commit details -
refactor: Add missing {} around error() calls
This is required for the next commit to be correct.
MarcoFalke committedMar 11, 2024 Configuration menu - View commit details
-
Copy full SHA for fa9a5e8 - Browse repository at this point
Copy the full SHA fa9a5e8View commit details -
scripted-diff: return error(...); ==> error(...); return false;
This is needed for the next commit. -BEGIN VERIFY SCRIPT- # Separate sed invocations to replace one-line, and two-line error(...) calls sed -i --regexp-extended 's!( +)return (error\(.*\);)!\1\2\n\1return false;!g' $( git grep -l 'return error(' ) sed -i --null-data --regexp-extended 's!( +)return (error\([^\n]*\n[^\n]*\);)!\1\2\n\1return false;!g' $( git grep -l 'return error(' ) -END VERIFY SCRIPT-
MarcoFalke committedMar 11, 2024 Configuration menu - View commit details
-
Copy full SHA for fa1d624 - Browse repository at this point
Copy the full SHA fa1d624View commit details -
refactor: Make error() return type void
This is needed for the next commit to compile.
MarcoFalke committedMar 11, 2024 Configuration menu - View commit details
-
Copy full SHA for fa808fb - Browse repository at this point
Copy the full SHA fa808fbView commit details -
scripted-diff: Replace error() with LogError()
This fixes the log output when -logsourcelocations is used. Also, instead of 'ERROR:', the log will now say '[error]', like other errors logged with LogError. -BEGIN VERIFY SCRIPT- sed -i --regexp-extended 's! error\("([^"]+)"! LogError("\1\\n"!g' $( git grep -l ' error(' ./src/ ) -END VERIFY SCRIPT-
MarcoFalke committedMar 11, 2024 Configuration menu - View commit details
-
Copy full SHA for fad0335 - Browse repository at this point
Copy the full SHA fad0335View commit details -
refactor: Remove unused error()
MarcoFalke committedMar 11, 2024 Configuration menu - View commit details
-
Copy full SHA for fa39151 - Browse repository at this point
Copy the full SHA fa39151View commit details -
Merge bitcoin#29586: wallet: default wallet migration, modify inconve…
…nient backup filename a951dba wallet: default wallet migration, modify inconvenient backup filename (furszy) Pull request description: Fixes bitcoin#29584 On default legacy wallets, the backup filename starts with an "-" due to the wallet name being empty. This is inconvenient for systems who treat what follows the initial "-" character as flags. Note: As the user can freely set the wallet name to anything, we could also guard the backup filename against other inconvenient characters in the future (we need to be careful here, because the wallet name could also be a path). ACKs for top commit: achow101: ACK a951dba brunoerg: utACK a951dba vasild: ACK a951dba Tree-SHA512: 6347bb12cfb50526a4baad96e4f1df9d82b493f79f0a0f7e0a1c8335a86a1e8e147c7b7f95cec6ede6f4507506a7eaf7972bd35131a2d5ed4cbbf38d94f0a9ca
Configuration menu - View commit details
-
Copy full SHA for b4a0575 - Browse repository at this point
Copy the full SHA b4a0575View commit details -
Merge bitcoin#29483: test, ci: add --v1transport option, add --v2tran…
…sport to a CI task ecc036c ci: add --v2transport to an existing CI job (Martin Zumsande) 3a25a57 test: ignore --v2transport for older versions instead of asserting (Martin Zumsande) 547aacf test: add -v1transport option and use it in test_runner (Martin Zumsande) Pull request description: This suggests a strategy to run the functional tests with both v1 and v2 transport in the CI. **Status Quo:** There is both the global `--v2transport` option for the `test_runner.py` (not enabled by default), plus the possibility to specify `--v2transport` for particular tests, which is used for a handful of tests. Currently, when running `test_runner.py --v2transport`, these tests are run twice with the same `--v2transport` configuration, as has been noted in bitcoin#29358 (comment), which is wasteful. **Suggested Change:** Fix this by adding a `--v1transport` option and using it in `test_runner.py`, so that irrespective of the global `--v2transport` flag, the tests that run twice use v1 in one run and v2 in the other. Also add `--v2transport` to one CI task (`multiprocess, i686, DEBUG`). This means, that for each CI task, the majority of functional tests will run once using the global `--v2transport` option if provided, while a few selected tests will always run two times, once with `v1` and once with `v2`. **Rationale:** A simpler alternative would have been to remove all test-specific `--v2transport` commands from `test_runner.py` and just enable `--v2transport` option for a few CI tasks. I didn't do that because it would have meant that v2 would never be running in the CI for some platforms, and also be run a lot less locally by users and devs (who would have to actively enable the `--v2transport` option). ACKs for top commit: tdb3: ACK for ecc036c. achow101: ACK ecc036c stratospher: ACK ecc036c. vasild: ACK ecc036c Tree-SHA512: 375b2293d49991f2fbd8e1bb646c0034004a09cee36063bc32996b721323eb19a43d7b2f36b3f9a3fdca846d74f48d8f1387565c03ef5d34b3481d2a0fe1d328
Configuration menu - View commit details
-
Copy full SHA for 02c7fd8 - Browse repository at this point
Copy the full SHA 02c7fd8View commit details -
Merge bitcoin#29458: refactor: Preallocate result in TryParseHex to a…
…void resizing a19235c Preallocate result in `TryParseHex` to avoid resizing (Lőrinc) b7489ec Add benchmark for TryParseHex (Lőrinc) Pull request description: This pull request introduces optimizations to the `TryParseHex` function, focusing primarily on the ideal case (valid hexadecimal input without spaces). A new benchmark, `HexParse` was introduced in a separate commit. The main optimization preallocates the result vector based on the input string's length. This aims to completely avoid costly dynamic reallocations when no spaces are present. ------------ Before: ``` | ns/base16 | base16/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 1.60 | 623,238,893.11 | 0.3% | 0.01 | `HexParse` | 1.65 | 606,747,566.34 | 0.6% | 0.01 | `HexParse` | 1.60 | 626,149,544.07 | 0.3% | 0.01 | `HexParse` ``` After: ``` | ns/base16 | base16/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 0.68 | 1,465,555,976.27 | 0.8% | 0.01 | `HexParse` | 0.68 | 1,472,962,920.18 | 0.3% | 0.01 | `HexParse` | 0.68 | 1,476,159,423.00 | 0.3% | 0.01 | `HexParse` ``` ACKs for top commit: achow101: ACK a19235c hebasto: ACK a19235c. andrewtoth: Re-ACK a19235c Empact: Re-ACK bitcoin@a19235c Tree-SHA512: e09a59791104be3fd1026862ce98de9efafa1f949626fa01e3b7d58e6a2ef02a11f0de55ddba5c43230a53effd24e6d368c1e12848b17e8ce91d7908a59333f0
Configuration menu - View commit details
-
Copy full SHA for 6dda050 - Browse repository at this point
Copy the full SHA 6dda050View commit details -
test: p2p: support disconnect waiting for
add_outbound_p2p_connection
Adds a new boolean parameter `wait_for_disconnect` to the `add_outbound_p2p_connection` method. If set, the node under test is checked to disconnect immediately after receiving the version message (same logic as for feeler connections).
Configuration menu - View commit details
-
Copy full SHA for 405ac81 - Browse repository at this point
Copy the full SHA 405ac81View commit details -
Configuration menu - View commit details
-
Copy full SHA for c4a67d3 - Browse repository at this point
Copy the full SHA c4a67d3View commit details -
Merge bitcoin#29007: test: create deterministic addrman in the functi…
…onal tests 2cc8ca1 [test] Use deterministic addrman in addrman info tests (stratospher) a897866 [test] Restart a node with empty addrman (stratospher) 71c1991 [test] Use deterministic addrman in addpeeraddress test (stratospher) 7b868e6 Revert "test: avoid non-determinism in asmap-addrman test" (stratospher) 69e091f [init] Create deterministic addrman in tests using -test=addrman (stratospher) be25ac3 [init] Remove -addrmantest command line arg (stratospher) 802e6e1 [init] Add new command line arg for use only in functional tests (stratospher) Pull request description: An address is placed in a `[bucket,position]` in the addrman table (new table or tried table) using the `addpeeraddress` RPC. This `[bucket,position]` is calculated using `nKey`(and other metrics) for the addrman which is chosen randomly during every run. Supposing there are 2 addresses to be placed in an addrman table. During every test run, a different `[bucket,position]` would be calculated for each address.These calculated `[bucket,position]` could even be the same for the 2 addresses in some test runs and result in collisions in the addrman. We wouldn't be able to predict when the collisions are going to happen because we can't predict the `nKey` value which is chosen at random. This can cause flaky tests. Because of these non deterministic collisions, we are limited in what we can do to test addrman functionality. Currently in our tests don't add a second address to prevent these collisions from happening - we only keep 1 address in the new table and 1 address in the tried table. See bitcoin#26988 (comment), bitcoin#23084, [bitcoin#22831(comment)](https://github.com/bitcoin/bitcoin/pull/22831/files#r708302639). This PR lets us create a deterministic addrman with fixed `nKey` so that we can know the `[bucket,position]` collisions beforehand, safely add more addresses in an addrman table and write more extensive tests. ACKs for top commit: amitiuttarwar: ACK 2cc8ca1 achow101: ACK 2cc8ca1 0xB10C: ACK 2cc8ca1 mzumsande: Code Review ACK 2cc8ca1 Tree-SHA512: 8acd9bdfe7de1eb44d22373bf13533d8ecf602df966fdd5b8b78afcd8cc35a286c95d2712f67a89473a0d68dded7d38f5599f6e4bf95a6589475444545bfb189
Configuration menu - View commit details
-
Copy full SHA for a945f09 - Browse repository at this point
Copy the full SHA a945f09View commit details -
test: p2p: check limited peers desirability (depending on best block …
…depth) This adds coverage for the logic introduced in PR bitcoin#28170 ("p2p: adaptive connections services flags").
Configuration menu - View commit details
-
Copy full SHA for 2f23987 - Browse repository at this point
Copy the full SHA 2f23987View commit details -
ci, macos: Use
--break-system-packages
with Homebrew's pythonHomebrew's python@3.12 is marked as externally managed (PEP 668), necessitating different approaches for installing Python packages. For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404.
Configuration menu - View commit details
-
Copy full SHA for acc06bc - Browse repository at this point
Copy the full SHA acc06bcView commit details
Commits on Mar 12, 2024
-
Merge bitcoin#29598: depends: don't use -h with touch on OpenBSD
8aff3fd depends: don't use -h with touch on OpenBSD (fanquake) Pull request description: Should fix bitcoin#29447. ACKs for top commit: theStack: Tested ACK 8aff3fd hebasto: ACK 8aff3fd, tested on OpenBSD 7.1 by running the following commands twice and observing the same output: Tree-SHA512: c054f80d347600617b21d5a7051315d43ebf858088a28f9b4bd43515f16f957d8033857a194f50556a6f0c67a8afbc2a50e143a477fbb4ef2d36e6365976b82f
Configuration menu - View commit details
-
Copy full SHA for e705909 - Browse repository at this point
Copy the full SHA e705909View commit details -
Merge bitcoin#29236: log: Nuke error(...)
fa39151 refactor: Remove unused error() (MarcoFalke) fad0335 scripted-diff: Replace error() with LogError() (MarcoFalke) fa808fb refactor: Make error() return type void (MarcoFalke) fa1d624 scripted-diff: return error(...); ==> error(...); return false; (MarcoFalke) fa9a5e8 refactor: Add missing {} around error() calls (MarcoFalke) Pull request description: `error(...)` has many issues: * It is often used in the context of `return error(...)`, implying that it has a "fancy" type, creating confusion with `util::Result/Error` * `-logsourcelocations` does not work with it, because it will pretend the error happened inside of `logging.h` * The log line contains `ERROR: `, as opposed to `[error]`, like for other errors logged with `LogError`. Fix all issues by removing it. ACKs for top commit: fjahr: re-utACK fa39151 stickies-v: re-ACK fa39151, no changes since 4a90374 ryanofsky: Code review ACK fa39151. Just rebase since last review Tree-SHA512: ec5bb502ab0d3733fdb14a8a00762638fce0417afd8dd6294ae0d485ce2b7ca5b1efeb50fc2cd7467f6c652e4ed3e99b0f283b08aeca04bbfb7ea4f2c95d283a
Configuration menu - View commit details
-
Copy full SHA for 31be1a4 - Browse repository at this point
Copy the full SHA 31be1a4View commit details -
Merge bitcoin#29610: ci: Fix "macOS native" job
acc06bc ci, macos: Use `--break-system-packages` with Homebrew's python (Hennadii Stepanov) ae5f720 ci: Add workaround for Homebrew's python link error (Hennadii Stepanov) Pull request description: Homebrew [promoted](Homebrew/homebrew-core#150390) `python@3.12` to the default `python3`. Now, our "macOS native" CI job is facing the following issues: 1. Installing `qt@5` [requires](https://github.com/bitcoin/bitcoin/actions/runs/8216848118/job/22471875454#step:4:51) re-installing `python@3.12`: ``` ==> Fetching dependencies for qt@5: readline, python@3.12 and gettext ``` 2. Re-installing `python@3.12` [fails](https://github.com/bitcoin/bitcoin/actions/runs/8216848118/job/22471875454#step:4:127) due to symbolic link conflicts on macOS `x86_64`: ``` ==> Pouring python@3.12--3.12.2_1.ventura.bottle.tar.gz Error: The `brew link` step did not complete successfully ``` 3. Homebrew's `python@3.12` is marked as externally managed (according to PEP 668), necessitating different approaches for installing Python packages. This pull request resolves all the issues mentioned above. ACKs for top commit: m3dwards: reACK bitcoin@acc06bc to get the CI passing again. Tree-SHA512: 82cf72bff328f1e0725342431ac14ad4bae7a758186d97db6c7a558e4b661dcbf3fabe536978e26e709c5f6f7f5c11aac46642634c6685f1291592d8d825ad87
Configuration menu - View commit details
-
Copy full SHA for bd55b7a - Browse repository at this point
Copy the full SHA bd55b7aView commit details -
Merge bitcoin#29620: ci: add print of powershell version to win64 job
115c283 ci: add print of powershell version to win64 job (Max Edwards) Pull request description: Extraction of just printing powershell version from closed PR: bitcoin#29581 See bitcoin#29581 (comment) for the cause of a CI failure which was a powershell update. This PR will make it easier to notice in the future that PS has changed. ACKs for top commit: hebasto: ACK 115c283. We still use PowerShell in some steps of the "Win64 native" CI job. Tree-SHA512: 4c7ba9df4f0a98491120326f05e877a995f43a387fe9bbd193549b32f5a4488f85f83e472c9277db457110a7deda04f08832fe6e8129aff4b0b7278be23d4e35
Configuration menu - View commit details
-
Copy full SHA for d14c728 - Browse repository at this point
Copy the full SHA d14c728View commit details -
bench: basic block filter index initial sync
Introduce benchmark for the block filter index sync. And makes synchronous 'Sync()' mechanism accessible.
Configuration menu - View commit details
-
Copy full SHA for bcbd7eb - Browse repository at this point
Copy the full SHA bcbd7ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 331f044 - Browse repository at this point
Copy the full SHA 331f044View commit details -
Configuration menu - View commit details
-
Copy full SHA for a6756ec - Browse repository at this point
Copy the full SHA a6756ecView commit details -
lint: Fix lint-whitespace issues
MarcoFalke committedMar 12, 2024 Configuration menu - View commit details
-
Copy full SHA for fa57294 - Browse repository at this point
Copy the full SHA fa57294View commit details -
blockstorage: do not flush block to disk if it is already there
test: ensure we can reindex from read-only block files now
Configuration menu - View commit details
-
Copy full SHA for dfcef53 - Browse repository at this point
Copy the full SHA dfcef53View commit details -
index: cache last block filter header
Avoid disk read operations on every new processed block.
Configuration menu - View commit details
-
Copy full SHA for f1469eb - Browse repository at this point
Copy the full SHA f1469ebView commit details -
index: decrease ThreadSync cs_main contention
Only NextSyncBlock requires cs_main lock. The other function calls like Commit or Rewind will lock or not cs_main internally when they need it. Avoiding keeping cs_main locked when Commit() or Rewind() write data to disk.
Configuration menu - View commit details
-
Copy full SHA for 0faafb5 - Browse repository at this point
Copy the full SHA 0faafb5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 99afb9d - Browse repository at this point
Copy the full SHA 99afb9dView commit details -
Configuration menu - View commit details
-
Copy full SHA for d0e6564 - Browse repository at this point
Copy the full SHA d0e6564View commit details -
Merge bitcoin#29306: policy: enable sibling eviction for v3 transactions
1342a31 [functional test] sibling eviction (glozow) 5fbab37 [unit test] sibling not returned from SingleV3Checks if 1p2c or 3gen (glozow) 1703067 [policy] sibling eviction for v3 transactions (glozow) b5d15f7 [refactor] return pair from SingleV3Checks (glozow) Pull request description: When we receive a v3 transaction that would bust a mempool transaction's descendant limit, instead of rejecting the new tx, consider replacing the other descendant if it is much higher feerate (using existing RBF criteria to assess that it's more incentive compatible and to avoid DoS). Delving post with more background and motivation: https://delvingbitcoin.org/t/sibling-eviction-for-v3-transactions/472 ACKs for top commit: sdaftuar: ACK 1342a31 achow101: ACK 1342a31 instagibbs: ACK bitcoin@1342a31 Tree-SHA512: dd957d49e51db78758f566c49bddc579b72478e371275c592d3d5ba097d20de47a6c81952045021b99d82a787f5b799baf16dd0ee0e6de90ba12e21e275352be
Configuration menu - View commit details
-
Copy full SHA for 12dae63 - Browse repository at this point
Copy the full SHA 12dae63View commit details -
ci: use Debian Bookworm (GCC 12) for win64 job
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
Configuration menu - View commit details
-
Copy full SHA for 0da6451 - Browse repository at this point
Copy the full SHA 0da6451View commit details -
ci: use Debian Bookworm (GCC 12) for ARM ci job
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
Configuration menu - View commit details
-
Copy full SHA for ce54330 - Browse repository at this point
Copy the full SHA ce54330View commit details -
Retain native GCC 10 toolchain for macOS, to prevent compile failures in native tools (this will be removed entirely when we tansition to LLD). Update the vmov-alignment patch, for changes in GCC 12.
Configuration menu - View commit details
-
Copy full SHA for 001412a - Browse repository at this point
Copy the full SHA 001412aView commit details -
guix: temporarily disable powerpcle taget
There non-determinism issues when compiling for this target across x86_64 and aarch64.
Configuration menu - View commit details
-
Copy full SHA for 10d5653 - Browse repository at this point
Copy the full SHA 10d5653View commit details -
blockstorage: check nPos in ReadRawBlockFromDisk before seeking back
ReadRawBlockFromDisk assumes a non-null pos that has an nPos >= 8. This simple check makes the function safer to call in the future, so callers don't need to worry about causing UB if the pos is null.
Configuration menu - View commit details
-
Copy full SHA for da338aa - Browse repository at this point
Copy the full SHA da338aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 38265cc - Browse repository at this point
Copy the full SHA 38265ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0865ab8 - Browse repository at this point
Copy the full SHA 0865ab8View commit details -
rpc: read raw block in getblock and deserialize for verbosity > 0
Note that for speed this commit also removes the proof of work and signet signature checks before returning the block in getblock. It is assumed if a block is stored it will be valid.
Configuration menu - View commit details
-
Copy full SHA for 95ce078 - Browse repository at this point
Copy the full SHA 95ce078View commit details -
rest: read raw block in rest_block and deserialize for json
Note that for speed this commit also removes the proof of work and signet signature checks before returning the block in getblock. It is assumed if a block is stored it will be valid.
Configuration menu - View commit details
-
Copy full SHA for e710cef - Browse repository at this point
Copy the full SHA e710cefView commit details -
Merge bitcoin#27114: p2p: Allow whitelisting manual connections
0a53361 docs: add release notes for bitcoin#27114 (brunoerg) e6b8f19 test: add coverage for whitelisting manual connections (brunoerg) c985eb8 test: add option to speed up tx relay/mempool sync (brunoerg) 66bc6e2 Accept "in" and "out" flags to -whitelist to allow whitelisting manual connections (Luke Dashjr) 8e06be3 net_processing: Move extra service flag into InitializeNode (Luke Dashjr) 9133fd6 net: Move `NetPermissionFlags::Implicit` verification to `AddWhitelistPermissionFlags` (Luke Dashjr) 2863d7d net: store `-whitelist{force}relay` values in `CConnman` (brunoerg) Pull request description: Revives bitcoin#17167. It allows whitelisting manual connections. Fixes bitcoin#9923 Since there are some PRs/issues around this topic, I'll list some motivations/comments for whitelisting outbound connections from them: - Speed-up tx relay/mempool sync for testing purposes (my personal motivation for this) - In bitcoin#26970, theStack pointed out that we whitelist peers to speed up tx relay for fast mempool synchronization, however, since it applies only for inbound connections and considering the topology `node0 <--- node1 <---- node2 <--- ... <-- nodeN`, if a tx is submitted from any node other than node0, the mempool synchronization can take quite long. - bitcoin#29058 (comment) - "Before enabling -v2transport by default (which I'd image may happen after bitcoin#24748) we could consider a way to force manual connections to be only-v1 or even only-v2 (disabling reconnect-with-v1). A possibility could be through a net permission flag, if bitcoin#27114 makes it in." - bitcoin#17167 (comment) - "This would allow us to use bitcoin#25355 when making outgoing connections to all nodes, except to whitelisted ones for which we would use our persistent I2P address." - Force-relay/mempool permissions for a node you intentionally connected to. ACKs for top commit: achow101: ACK 0a53361 sr-gi: re-ACK [0a53361](bitcoin@0a53361) pinheadmz: ACK 0a53361 Tree-SHA512: 97a79bb854110da04540897d2619eda409d829016aafdf1825ab5515334b0b42ef82f33cd41587af235b3af6ddcec3f2905ca038b5ab22e4c8a03d34f27aebe1
Configuration menu - View commit details
-
Copy full SHA for bef9917 - Browse repository at this point
Copy the full SHA bef9917View commit details -
Merge bitcoin#26415: rpc,rest,zmq: faster getblock, NotifyBlock and r…
…est_block by reading raw block e710cef rest: read raw block in rest_block and deserialize for json (Andrew Toth) 95ce078 rpc: read raw block in getblock and deserialize for verbosity > 0 (Andrew Toth) 0865ab8 test: check more details on zmq raw block response (Andrew Toth) 38265cc zmq: read raw block with ReadRawBlockFromDisk (Andrew Toth) da338aa blockstorage: check nPos in ReadRawBlockFromDisk before seeking back (Andrew Toth) Pull request description: For the `getblock` endpoint with `verbosity=0`, the `rest_block` REST endpoint for `bin` and `hex`, and zmq `NotifyBlock` we don't have to deserialize the block since we're just sending the raw data. This PR uses `ReadRawBlockFromDisk` instead of `ReadBlockFromDisk` to serve these requests, and only deserializes for `verbosity > 0` and `json` REST requests. See benchmarks in bitcoin#26684. Benchmarked using ApacheBench. Requesting block 750,000 in binary 10k times on a single core (set `-rest=1` in config): `ab -n 10000 -c 1 "http://127.0.0.1:8332/rest/block/0000000000000000000592a974b1b9f087cb77628bb4a097d5c2c11b3476a58e.bin"` On master, mean time 15ms. On this branch, mean time 1ms. For RPC ``` echo '{"jsonrpc": "1.0", "id": "curltest", "method": "getblock", "params": ["0000000000000000000592a974b1b9f087cb77628bb4a097d5c2c11b3476a58e", 0]}' > /tmp/data.json ab -p /tmp/data.json -n 1000 -c 1 -A user:password "http://127.0.0.1:8332/" ``` On master, mean time 32ms On this branch, mean time 13ms ACKs for top commit: achow101: re-ACK e710cef Tree-SHA512: 4cea13c7b563b2139d041b1fdcfdb793c8cc688654ae08db07e7ee6b875c5e582b8185db3ae603abbfb06d2164724f29205774620b48c493726b991999af289e
Configuration menu - View commit details
-
Copy full SHA for bde3db4 - Browse repository at this point
Copy the full SHA bde3db4View commit details -
Merge bitcoin#29633: log: Remove error() reference
d0e6564 log: Remove error() reference (Fabian Jahr) Pull request description: Mini-followup to bitcoin#29236 that was just merged. Removes a reference to `error()` that was missed in a comment. ACKs for top commit: ryanofsky: Code review ACK d0e6564. Just dropped LogPrintf reference since last review stickies-v: ACK d0e6564 Empact: ACK bitcoin@d0e6564 Tree-SHA512: 8abe4895951013c2ceca9a57743aacabaf8af831d07eee9ae8372c121c16e88b7226f0e537200c3464792e19ac7e03b57ba0be31f43add8802753972b0aefc48
Configuration menu - View commit details
-
Copy full SHA for 1105aa4 - Browse repository at this point
Copy the full SHA 1105aa4View commit details -
test: fix intermittent failures with test=addrman
The nKey of the addrman is generated the first time the node is started. Therefore, restarting a node or turning it off and on again won't make a previously non-deterministic addrman deterministic. Co-authored-by: 0xb10c <b10c@b10c.me>
Configuration menu - View commit details
-
Copy full SHA for 432a542 - Browse repository at this point
Copy the full SHA 432a542View commit details -
Remove the num_running variable as it can be implied by the length of the jobs list. Remove the i variable as it can be implied by the length of the test_results list. Instead of counting results to determine if finished, make the queue object itself responsible (by looking at running jobs and jobs left). Originally proposed by @sipa in PR bitcoin#23995. Co-authored-by: Pieter Wuille <pieter@wuille.net>
Configuration menu - View commit details
-
Copy full SHA for 0831b54 - Browse repository at this point
Copy the full SHA 0831b54View commit details
Commits on Mar 13, 2024
-
Merge bitcoin#27375: net: support unix domain sockets for -proxy and …
…-onion 567cec9 doc: add release notes and help text for unix sockets (Matthew Zipkin) bfe5192 test: cover UNIX sockets in feature_proxy.py (Matthew Zipkin) c65c0d0 init: allow UNIX socket path for -proxy and -onion (Matthew Zipkin) c3bd431 gui: accomodate unix socket Proxy in updateDefaultProxyNets() (Matthew Zipkin) a88bf9d i2p: construct Session with Proxy instead of CService (Matthew Zipkin) d9318a3 net: split ConnectToSocket() from ConnectDirectly() for unix sockets (Matthew Zipkin) ac2ecf3 proxy: rename randomize_credentials to m_randomize_credentials (Matthew Zipkin) a89c3f5 netbase: extend Proxy class to wrap UNIX socket as well as TCP (Matthew Zipkin) 3a7d654 net: move CreateSock() calls from ConnectNode() to netbase methods (Matthew Zipkin) 74f568c netbase: allow CreateSock() to create UNIX sockets if supported (Matthew Zipkin) bae86c8 netbase: refactor CreateSock() to accept sa_family_t (Matthew Zipkin) adb3a3e configure: test for unix domain sockets (Matthew Zipkin) Pull request description: Closes bitcoin#27252 UNIX domain sockets are a mechanism for inter-process communication that are faster than local TCP ports (because there is no need for TCP overhead) and potentially more secure because access is managed by the filesystem instead of serving an open port on the system. There has been work on [unix domain sockets before](bitcoin#9979) but for now I just wanted to start on this single use-case which is enabling unix sockets from the client side, specifically connecting to a local Tor proxy (Tor can listen on unix sockets and even enforces strict curent-user-only access permission before binding) configured by `-onion=` or `-proxy=` I copied the prefix `unix:` usage from Tor. With this patch built locally you can test with your own filesystem path (example): `tor --SocksPort unix:/Users/matthewzipkin/torsocket/x` `bitcoind -proxy=unix:/Users/matthewzipkin/torsocket/x` Prep work for this feature includes: - Moving where and how we create `sockaddr` and `Sock` to accommodate `AF_UNIX` without disturbing `CService` - Expanding `Proxy` class to represent either a `CService` or a UNIX socket (by its file path) Future work: - Enable UNIX sockets for ZMQ (bitcoin#27679) - Enable UNIX sockets for I2P SAM proxy (some code is included in this PR but not tested or exposed to user options yet) - Enable UNIX sockets on windows where supported - Update Network Proxies dialog in GUI to support UNIX sockets ACKs for top commit: Sjors: re-ACK 567cec9 tdb3: re ACK for 567cec9. achow101: ACK 567cec9 vasild: ACK 567cec9 Tree-SHA512: de81860e56d5de83217a18df4c35297732b4ad491e293a0153d2d02a0bde1d022700a1131279b187ef219651487537354b9d06d10fde56225500c7e257df92c1
Configuration menu - View commit details
-
Copy full SHA for 0ed2c13 - Browse repository at this point
Copy the full SHA 0ed2c13View commit details -
Merge bitcoin#29619: refactor: consolidate MempoolAcceptResult proces…
…sing 07cd510 [refactor] consolidate invalid MempoolAcceptResult processing (glozow) 9353aa4 [refactor] consolidate valid MempoolAcceptResult processing (glozow) Pull request description: Every time we try to `ProcessTransaction` (i.e. submit a tx to mempool), we use the result to update a few net processing data structures. For example, after a failure, the {wtxid, txid, both, neither} (depending on reason) should be cached in `m_recent_rejects` so we don't try to download/validate it again. There are 2 current places and at least 1 future place where we need to process `MempoolAcceptResult`: - In the `ProcessMessage` logic after receiving and validating a tx - In `ProcessOrphanTx` where we retry orphans - With bitcoin#28970, after processing a package of transactions, we should do these updates for each tx in the package. Consolidate this code so it isn't repeated in 2 places and so we can reuse it in a future PR. ACKs for top commit: instagibbs: ACK 07cd510 achow101: ACK 07cd510 dergoegge: Code review ACK 07cd510 TheCharlatan: ACK 07cd510 Tree-SHA512: c4e74cb65e4f52882fca52e6682efa5dcf1562d98418454e09be256ffd026caae642a90aa5b9cccaae214be240d6f4be9d87b516953b2ee69a655f16ea569ed9
Configuration menu - View commit details
-
Copy full SHA for 264ca9d - Browse repository at this point
Copy the full SHA 264ca9dView commit details -
Merge bitcoin#29606: refactor: Reserve memory for ToLower/ToUpper con…
…versions 6f2f4a4 Reserve memory for ToLower/ToUpper conversions (Lőrinc) Pull request description: Similarly to bitcoin#29458, we're preallocating the result string based on the input string's length. The methods were already [covered by tests](https://github.com/bitcoin/bitcoin/blob/master/src/test/util_tests.cpp#L1250-L1276). ACKs for top commit: tdb3: ACK for 6f2f4a4 maflcko: lgtm ACK 6f2f4a4 achow101: ACK 6f2f4a4 Empact: Code Review ACK bitcoin@6f2f4a4 stickies-v: ACK 6f2f4a4 Tree-SHA512: e3ba7af77decdc73272d804c94fef0b11028a85f3c0ea1ed6386672611b1c35fce151f02e64f5bb5acb5ba506aaa54577719b07925b9cc745143cf5c7e5eb262
Configuration menu - View commit details
-
Copy full SHA for c38157b - Browse repository at this point
Copy the full SHA c38157bView commit details -
RPC: Add maxfeerate and maxburnamount args to submitpackage
And thread the feerate value through ProcessNewPackage to reject individual transactions that exceed the given feerate. This allows subpackage processing, and is compatible with future package RBF work.
Configuration menu - View commit details
-
Copy full SHA for 38f70ba - Browse repository at this point
Copy the full SHA 38f70baView commit details -
Merge bitcoin#28193: test: add script compression coverage for not-on…
…-curve P2PK outputs 28287cf test: add script compression coverage for not-on-curve P2PK outputs (Sebastian Falbesoner) Pull request description: This PR adds unit test coverage for the script compression functions `{Compress,Decompress}Script` in the special case of uncompressed P2PK outputs (scriptPubKey: OP_PUSH65 <0x04 ....> OP_CHECKSIG) with [pubkeys that are not fully valid](https://github.com/bitcoin/bitcoin/blob/44b05bf3fef2468783dcebf651654fdd30717e7e/src/pubkey.cpp#L297-L302), i.e. where the encoded point is not on the secp256k1 curve. For those outputs, script compression is not possible, as the y coordinate of the pubkey can't be recovered (see also call-site of `IsToPubKey`): https://github.com/bitcoin/bitcoin/blob/44b05bf3fef2468783dcebf651654fdd30717e7e/src/compressor.cpp#L49-L50 Likewise, for a compressed script of an uncompressed P2PK script (i.e. compression ids 4 and 5) where the x coordinate is not on the curve, decompression fails: https://github.com/bitcoin/bitcoin/blob/44b05bf3fef2468783dcebf651654fdd30717e7e/src/compressor.cpp#L122-L129 Note that the term "compression" is used here in two different meanings (though they are related), which might be a little confusing. The encoding of a pubkey can either be compressed (33-bytes with 0x02/0x03 prefixes) or uncompressed (65-bytes with 0x04 prefix). On the other hand there is also compression for whole output scripts, which is used for storing scriptPubKeys in the UTXO set in a compact way (and also for the `dumptxoutset` result, accordingly). P2PK output scripts with uncompressed pubkeys get compressed by storing only the x-coordinate and the sign as a prefix (0x04 = even, 0x05 = odd). Was diving deeper into the subject while working on bitcoin#27432, where the script decompression of uncompressed P2PK needed special handling (see also bitcoin#24628 (comment)). Trivia: as of now (block 801066), there are 13 uncompressed P2PK outputs in the UTXO set with a pubkey not on the curve (which obviously means they are unspendable). ACKs for top commit: achow101: ACK 28287cf tdb3: ACK for 28287cf. cbergqvist: ACK 28287cf! marcofleon: Nicely done, ACK 28287cf. Built the PR branch, ran the unit and functional tests, everything passed. Tree-SHA512: 777b6c3065654fbfa1ce94926f4cadb91a9ca9dc4dd4af6008ad77bd1da5416f156ad0dfa880d26faab2e168bf9b27e0a068abc9a2be2534d82bee61ee055c65
Configuration menu - View commit details
-
Copy full SHA for ef6329f - Browse repository at this point
Copy the full SHA ef6329fView commit details -
Merge bitcoin#29478: test: Test new header sync behavior in loadtxoutset
1ec6684 test: Add test for loadtxoutset when headers are not synced (Fabian Jahr) 2bc1ecf test: Remove unnecessary sync_blocks in assumeutxo tests (Fabian Jahr) Pull request description: It adds a test for the change to `loadtxoutset` made in bitcoin#29345. Before that change the test doesn't fail right away but times out after 10 minutes. Also removes a `sync_blocks` call that didn't seem to do anything valuable. ACKs for top commit: achow101: ACK 1ec6684 pablomartin4btc: tACK 1ec6684 BrandonOdiwuor: ACK 1ec6684 theStack: ACK 1ec6684 Tree-SHA512: 1337decdf91e4a4f7213fcf8ace1d705e5c1422e0ac3872a59b5be9c33e743850cb8f5f7474750a534952eefd5cfe43fe85a54efb9bc0e47515136a2903676e5
Configuration menu - View commit details
-
Copy full SHA for a85e5a7 - Browse repository at this point
Copy the full SHA a85e5a7View commit details -
lint: Use git --no-pager to print any output in one go
MarcoFalke committedMar 13, 2024 Configuration menu - View commit details
-
Copy full SHA for 5555395 - Browse repository at this point
Copy the full SHA 5555395View commit details -
Configuration menu - View commit details
-
Copy full SHA for c70e4fc - Browse repository at this point
Copy the full SHA c70e4fcView commit details
Commits on Mar 14, 2024
-
MarcoFalke committed
Mar 14, 2024 Configuration menu - View commit details
-
Copy full SHA for fae70ba - Browse repository at this point
Copy the full SHA fae70baView commit details -
Merge bitcoin#29649: netbase: remove unnecessary log message
c70e4fc netbase: remove unnecessary log message (Matthew Zipkin) Pull request description: This is a follow-up to bitcoin#27375 that removes a spammy non-debug-level log message we don't need. See bitcoin#27375 (comment) ACKs for top commit: fanquake: ACK c70e4fc - thanks. Merging this now because it's swamping non-debug logs. i.e: Tree-SHA512: 837682860abdf740fce5dc88c8599e066660cf16b4cab1473391eb51ad538ae52d236ecd3543df866e2a2165870397a8bf21ad9f5125ed8212a3fe207d615553
Configuration menu - View commit details
-
Copy full SHA for 55c6323 - Browse repository at this point
Copy the full SHA 55c6323View commit details -
Merge bitcoin#29497: test: simplify test_runner.py
0831b54 test: simplify test_runner.py (tdb3) Pull request description: Implements the simplifications to test_runner.py proposed by sipa in PR bitcoin#23995. Remove the num_running variable as it can be implied by the length of the jobs list. Remove the i variable as it can be implied by the length of the test_results list. Instead of counting results to determine if finished, make the queue object itself responsible (by looking at running jobs and jobs left). ACKs for top commit: mzumsande: re-ACK 0831b54 davidgumberg: reACK bitcoin@0831b54 marcofleon: re-ACK 0831b54 Tree-SHA512: e5473e68d49cd779b29d97635329283ae7195412cb1e92461675715ca7eedb6519a1a93ba28d40ca6f015d270f7bcd3e77cef279d9cd655155ab7805b49638f1
Configuration menu - View commit details
-
Copy full SHA for 6850d72 - Browse repository at this point
Copy the full SHA 6850d72View commit details -
Merge bitcoin#27897: guix: use GCC 12.3.0 to build releases
10d5653 guix: temporarily disable powerpcle taget (fanquake) 001412a guix: use GCC 12.3.0 (fanquake) ce54330 ci: use Debian Bookworm (GCC 12) for ARM ci job (fanquake) 0da6451 ci: use Debian Bookworm (GCC 12) for win64 job (fanquake) Pull request description: Switch to using [GCC `12.3.0`](https://gcc.gnu.org/gcc-12/) to build release binaries. Temporarily disables the `powerpc64le-linux-gnu` target due to non-determinism issues when building across `aarch64` and `x86_64`. Trying to fix the non-determinism was going to require trying to selectively disable optimization flags, which is already not ideal (and didn't fix all issues), and the migration to GCC 12 as our release compiler is now the blocker for multiple other (c++20 and similar) changes, so leaving this blocked on the `powerpc64le` binaries does not seem like a good tradeoff. ACKs for top commit: TheCharlatan: ACK 10d5653 Tree-SHA512: 401bbaaf2b72c795a06a24875ffd666151b41bae8f45bda10526ff4f6b59782704246afc6585f6b849021cbff8a7b861961d139bffe45536aaaeb3952b72ae57
Configuration menu - View commit details
-
Copy full SHA for e1ce5b8 - Browse repository at this point
Copy the full SHA e1ce5b8View commit details -
depends: drop 1 qt determinism patch
No-longer required now that we are building with GCC 12.
Configuration menu - View commit details
-
Copy full SHA for 76d6537 - Browse repository at this point
Copy the full SHA 76d6537View commit details -
build: Bump g++ minimum supported version to 11
MarcoFalke committedMar 14, 2024 Configuration menu - View commit details
-
Copy full SHA for fa8409e - Browse repository at this point
Copy the full SHA fa8409eView commit details -
Merge bitcoin#29459: test: check_mempool_result negative feerate
bf264e0 test: check_mempool_result negative feerate (kevkevin) Pull request description: Adds test coverage in `mempool_accept.py` to check if a negative `maxfeerate` is input into `check_mempool_result` Asserts "Amount out of range" error message and `-3` error code Motivated by this [comment](https://github.com/bitcoin/bitcoin/pull/29434/files#r1491112250) ACKs for top commit: maflcko: lgtm ACK bf264e0 brunoerg: nice, utACK bf264e0 davidgumberg: Looks great, ACK bitcoin@bf264e0 Tree-SHA512: 58931b774cc887c616f2fd91af3ee65cc5db55acd8e2875c76de448c80bd4e020b057c5f4f85556431377f0d0e7553771fb285d1ec20cf64f64ec92a47776b78
Configuration menu - View commit details
-
Copy full SHA for 3d255df - Browse repository at this point
Copy the full SHA 3d255dfView commit details -
guix: bump time-machine to dc4842797bfdc5f9f3f5f725bf189c2b68bd6b5a
This includes a commit to fix building LLVM 17 on riscv64, see https://git.savannah.gnu.org/cgit/guix.git/commit/?id=4e26331a5ee87928a16888c36d51e270f0f10f90. Followup to discussion in bitcoin#28880 (comment). If you don't have riscv64 hardware, this can be tested with the following: ```bash guix time-machine --commit=d5ca4d4fd713a9f7e17e074a1e37dda99bbb09fc -- build --target=riscv64-linux-gnu llvm .... riscv64-linux-gnu-ld: CMakeFiles/dsymutil.dir/dsymutil.cpp.o: undefined reference to symbol '__atomic_fetch_and_1@@LIBATOMIC_1.0' riscv64-linux-gnu-ld: /gnu/store/i4ga0pnr1b74bir2bjyp8mcrrbsvk7d3-gcc-cross-riscv64-linux-gnu-11.3.0-lib/riscv64-linux-gnu/lib/libatomic.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status guix time-machine --commit=dc4842797bfdc5f9f3f5f725bf189c2b68bd6b5a -- build --target=riscv64-linux-gnu llvm .... grafting '/gnu/store/7y0j0y8jaz4mjx2nz0y42wdnxxjp6id6-llvm-17.0.6-opt-viewer' -> '/gnu/store/8xvahrrjscbprh6cjj0qp5bm9mm78wwa-llvm-17.0.6-opt-viewer'... grafting '/gnu/store/bjhw648bz7ijd2p9hgzzdbw1q8hpagk8-llvm-17.0.6' -> '/gnu/store/x50qi8i2ywgpx6azv4k55ms0w5xjxxg5-llvm-17.0.6'... successfully built /gnu/store/q9xvk8gzzvb4dxfzf6yi5164zd0d1vj2-llvm-17.0.6.drv ```
Configuration menu - View commit details
-
Copy full SHA for cf5faf7 - Browse repository at this point
Copy the full SHA cf5faf7View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa5844f - Browse repository at this point
Copy the full SHA fa5844fView commit details
Commits on Mar 15, 2024
-
Merge bitcoin#29650: depends: drop 1 Qt determinism patch
76d6537 depends: drop 1 qt determinism patch (fanquake) Pull request description: No-longer required now that we are building with GCC 12. Guix Build (x86_64 && aarch64): ```bash e1c5b2c1c1a184e9d6985f26d26c61ca049e4541c699c6c9ce334beb832ed8da guix-build-76d6537698e4/output/aarch64-linux-gnu/SHA256SUMS.part 22f5d39fd9eac2d1fdbf2794fd6272ce05a1dfda2aeb2280a5dbafe76d0eec3d guix-build-76d6537698e4/output/aarch64-linux-gnu/bitcoin-76d6537698e4-aarch64-linux-gnu-debug.tar.gz 1cc798fb30b9e85e3b94049a671e2881b6b8694e52ae5e6468805c8ea6ea637f guix-build-76d6537698e4/output/aarch64-linux-gnu/bitcoin-76d6537698e4-aarch64-linux-gnu.tar.gz a8c4ecc550aba01292885343ae9d53e31dfc0ef26f885fcf00493c754c5f9deb guix-build-76d6537698e4/output/arm-linux-gnueabihf/SHA256SUMS.part d037b87949640d441b1ea000fd3fb27a508a699c5a6d69b6647611325cb9b7f5 guix-build-76d6537698e4/output/arm-linux-gnueabihf/bitcoin-76d6537698e4-arm-linux-gnueabihf-debug.tar.gz a858a0bce444a9eaf2b36d188198e54cdc14d85e344863d9e176dca94e458537 guix-build-76d6537698e4/output/arm-linux-gnueabihf/bitcoin-76d6537698e4-arm-linux-gnueabihf.tar.gz a802412eb9f2bbe2c573052581c21c44281e78c65d6ebc243105d5004768f0f9 guix-build-76d6537698e4/output/arm64-apple-darwin/SHA256SUMS.part 20eeb2a28f096f53eeae61c64082c7eef0fb4d4e8dd7fb173a6cc19bf1960165 guix-build-76d6537698e4/output/arm64-apple-darwin/bitcoin-76d6537698e4-arm64-apple-darwin-unsigned.tar.gz 54fae4652f21772d4d861b1a9dd3dcb913f088e6b7049a566c748ccdf2acede3 guix-build-76d6537698e4/output/arm64-apple-darwin/bitcoin-76d6537698e4-arm64-apple-darwin-unsigned.zip e986f3d8311df3ab26860c8747e9634687617609a317fdf242365d408235f417 guix-build-76d6537698e4/output/arm64-apple-darwin/bitcoin-76d6537698e4-arm64-apple-darwin.tar.gz 3efced764d3b62362c906f1fbbdecf347be1aab877afb2d6ce8f39d24b3d7437 guix-build-76d6537698e4/output/dist-archive/bitcoin-76d6537698e4.tar.gz 6bd047bd080ae0d0a08a15e83a79dfd17bf29227599517d0bccae17a0224a741 guix-build-76d6537698e4/output/powerpc64-linux-gnu/SHA256SUMS.part 102909ef544962e08577464b3293c0013237391b7577d7abc26f1244d3d0157d guix-build-76d6537698e4/output/powerpc64-linux-gnu/bitcoin-76d6537698e4-powerpc64-linux-gnu-debug.tar.gz 01cf35c37093f768c953697c8d0102316e1e719befd2853a74266bcc2105c52c guix-build-76d6537698e4/output/powerpc64-linux-gnu/bitcoin-76d6537698e4-powerpc64-linux-gnu.tar.gz 467f858d1aba32ee290e6ba00feee632fcb56907f77e5b48f4de969d8ce78457 guix-build-76d6537698e4/output/riscv64-linux-gnu/SHA256SUMS.part 893cb65a79709c58ebafb003ce43b1cd51434d9c0a9175b7dfede6aa99fec3d2 guix-build-76d6537698e4/output/riscv64-linux-gnu/bitcoin-76d6537698e4-riscv64-linux-gnu-debug.tar.gz be3bd03cdef59928eb8a18bd59f48ad27ae38a6382bf94651774845adbd28308 guix-build-76d6537698e4/output/riscv64-linux-gnu/bitcoin-76d6537698e4-riscv64-linux-gnu.tar.gz 1ff2b04cccd44c4c6526387307fb381f52fbc36b31a51730435d6b99e0fa4610 guix-build-76d6537698e4/output/x86_64-apple-darwin/SHA256SUMS.part 9c84639c4b7e1e39c06da4c9430efe94993ce97fbc279b38502c1d4fc25ac801 guix-build-76d6537698e4/output/x86_64-apple-darwin/bitcoin-76d6537698e4-x86_64-apple-darwin-unsigned.tar.gz e65c009c728aa42f24b6970018336058adc78fba09b85aa76310de98fdabb8ad guix-build-76d6537698e4/output/x86_64-apple-darwin/bitcoin-76d6537698e4-x86_64-apple-darwin-unsigned.zip 1a85307eec81cc13e5d599db1bb7cddd3d4f6847f2bad7685e096c439b44489a guix-build-76d6537698e4/output/x86_64-apple-darwin/bitcoin-76d6537698e4-x86_64-apple-darwin.tar.gz 10189926b6ccef3ab1feee3edce34a80a30e60ee67c00519e344fefd6c9880d0 guix-build-76d6537698e4/output/x86_64-linux-gnu/SHA256SUMS.part 0094570197c0a91b7a903c1250bf899ea50d7452608da03f5dd825febd5e216b guix-build-76d6537698e4/output/x86_64-linux-gnu/bitcoin-76d6537698e4-x86_64-linux-gnu-debug.tar.gz 8375afd9ea4376b354548270323fa0f5f3244579b59dcdf9c26330337b5719ab guix-build-76d6537698e4/output/x86_64-linux-gnu/bitcoin-76d6537698e4-x86_64-linux-gnu.tar.gz 5a30053ee8db9eb2d083e8569a1a69b24acc84de1028f3f40d5e902a1174e49e guix-build-76d6537698e4/output/x86_64-w64-mingw32/SHA256SUMS.part 1d624077e027dd6f213c85d75fdbac12d61c45235946817c406132fbd222c939 guix-build-76d6537698e4/output/x86_64-w64-mingw32/bitcoin-76d6537698e4-win64-debug.zip e75107ce5608d83708b4e9b5a64d50e0282560ee2d8d915a20993fd383d2d456 guix-build-76d6537698e4/output/x86_64-w64-mingw32/bitcoin-76d6537698e4-win64-setup-unsigned.exe 7fb1f412fd71e0e8302add6bcc5679ad6990d87c16688a396769844f72ae7c82 guix-build-76d6537698e4/output/x86_64-w64-mingw32/bitcoin-76d6537698e4-win64-unsigned.tar.gz be24df85e0834823f0ad9611667100330972d3a18460099d7df5b4386fbd6403 guix-build-76d6537698e4/output/x86_64-w64-mingw32/bitcoin-76d6537698e4-win64.zip ``` ACKs for top commit: TheCharlatan: ACK 76d6537 Tree-SHA512: 69e698e9b0036ecb1f89db82427c25d0368d2178c3dc2bc751181c19a1139929bf0da160af6f3e021ca3da59ea66f7b7330aa6295f5e65c6ef0bbcf369fcbc94
Configuration menu - View commit details
-
Copy full SHA for 178b4d4 - Browse repository at this point
Copy the full SHA 178b4d4View commit details -
Merge bitcoin#29487: lint: Fix lint-whitespace issues
5555395 lint: Use git --no-pager to print any output in one go (MarcoFalke) fa57294 lint: Fix lint-whitespace issues (MarcoFalke) Pull request description: The lint check has many issues: * It uses `COMMIT_RANGE`, which is brittle code, apparently making it harder to run the CI locally, or self-hosted. See bitcoin#29274 (comment) * The result depends on `COMMIT_RANGE`, or the number of commits passed to the script, which can cause false negatives or false positives. * It is based on the diff output, parsing it, and printing it again, which is brittle as well. * The output does not include line number, making it harder to act on a lint error. Fix all issues by removing the script and replacing it with a simple call to `git grep -I --line-number ...`. ACKs for top commit: TheCharlatan: Re-ACK 5555395 Tree-SHA512: 71ea8b6382af064beb72fb17f21a0ae9e9238c97e7fa43c2ec353fd1dd73a7bbd696ba0f0a9f65d1eff7c86cbf6cc104a992cb5450a3d50f122955e835270065
Configuration menu - View commit details
-
Copy full SHA for 015ac13 - Browse repository at this point
Copy the full SHA 015ac13View commit details -
This change switches to the latest IWYU 0.22, which is compatible with Clang 18.
Configuration menu - View commit details
-
Copy full SHA for 636c986 - Browse repository at this point
Copy the full SHA 636c986View commit details
Commits on Mar 17, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 626f8e3 - Browse repository at this point
Copy the full SHA 626f8e3View commit details -
ci: Drop
--enable-c++20
optionThis option has ceased to exist since bitcoin#28349.
Configuration menu - View commit details
-
Copy full SHA for 64722e4 - Browse repository at this point
Copy the full SHA 64722e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for fad7f42 - Browse repository at this point
Copy the full SHA fad7f42View commit details -
Configuration menu - View commit details
-
Copy full SHA for cfa057b - Browse repository at this point
Copy the full SHA cfa057bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 742d2b9 - Browse repository at this point
Copy the full SHA 742d2b9View commit details
Commits on Mar 18, 2024
-
Merge bitcoin#29537: lint: Misc improvements for lint runner
742d2b9 lint: Add lint runner build dir and lint pycache to clean task (Fabian Jahr) cfa057b lint: Add lint runner build dir to gitignore (Fabian Jahr) fad7f42 lint: Clarify lint runner rust dependency (Fabian Jahr) Pull request description: 1. Document the dependency to rust being installed locally 2. Add the build output directory to gitignore 3. Clean up the build output directory when running `make clean` ACKs for top commit: maflcko: ACK 742d2b9 TheCharlatan: ACK 742d2b9 Tree-SHA512: 36751d852e579830a9e6915b846886a6edaf4e42d508a4773ab502afda10b47c30c7c6bbd3e3158539ea5cf51592c2fe49c4221d271511006653a2d79119ed8c
Configuration menu - View commit details
-
Copy full SHA for f1a19d7 - Browse repository at this point
Copy the full SHA f1a19d7View commit details -
Merge bitcoin#29091: build: Bump g++ minimum supported version to 11
fa5844f Remove unused g++-10 workaround (MarcoFalke) fa8409e build: Bump g++ minimum supported version to 11 (MarcoFalke) Pull request description: This drops support for vanilla Ubuntu Focal 20.04 and Debian (Oldstable) Bullseye, compiling from source. Users on those operating systems would have to stick with a pre-compiled release, a previous release branch of Bitcoin Core, upgrade their system, compile their own compiler, or use a non-vanilla PPA or package manager. Otherwise, g++-11 is offered by common distributions: * https://packages.ubuntu.com/jammy/g++ (`g++-11`) * https://packages.debian.org/bookworm/g++ (`g++-12`) * FreeBSD 12/13 ships with g++ 12 * CentOS-like 9 ships with g++ 11 * OpenSuse Tumbleweed ships with g++ 13 https://software.opensuse.org/package/gcc13-c++ (No idea about OpenSuse Leap) ACKs for top commit: TheCharlatan: ACK fa5844f fanquake: ACK fa5844f Tree-SHA512: fc72d3a53956a0a4a6475ebf56b5fce76c3c4c793ed8e774327cad2b0f307d2d1c8aeafe2a414a7eb51f8de6d4bb78d30b8f60bf6e383234079851e72015c6e3
Configuration menu - View commit details
-
Copy full SHA for 7af95af - Browse repository at this point
Copy the full SHA 7af95afView commit details -
Merge bitcoin#29659: ci: Bump
TIDY_LLVM_V
636c986 ci: Bump `TIDY_LLVM_V` (Hennadii Stepanov) Pull request description: This PR switches to the latest [IWYU 0.22](https://github.com/include-what-you-use/include-what-you-use/releases/tag/0.22), which is compatible with Clang 18. ACKs for top commit: fanquake: ACK 636c986 Tree-SHA512: 78ce89244c5e487dd1be8b4bd2ca6f06d19b04b78289ebc21985110574053545dcce5eb622edf2bede2cf7bb58360170e976d30a4484a127d34dd17b1c604e9c
Configuration menu - View commit details
-
Copy full SHA for aba9024 - Browse repository at this point
Copy the full SHA aba9024View commit details -
assumeutxo test: Add RPC test for fake nTx and nChainTx values
The fake values will be removed in an upcoming commit, so it is useful to have test coverage confirming the change in behavior.
Configuration menu - View commit details
-
Copy full SHA for f252e68 - Browse repository at this point
Copy the full SHA f252e68View commit details -
ci: add getchaintxstats ubsan suppressions
Add ubsan suppressions for integer overflows in the getchaintxstats RPC. getchainstatstx line "int nTxDiff = pindex->nChainTx - past_block.nChainTx" can trigger ubsan integer overflows when assumeutxo snapshots are loaded, from subtracting unsigned values and assigning the result to a signed int. The overflow behavior probably exists in current code but is hard to trigger because it would require calling getchainstatstx at the right time with specific parameters as background blocks are being downloaded. But the overflow behavior becomes easier to trigger in the upcoming commit removing fake nChainTx values, so a suppression needs to be added before then for CI to pass. getchainstatstx should probably be improved separately in another PR to not need this suppression, and handle edge cases and missing nChainTx values more carefully.
Configuration menu - View commit details
-
Copy full SHA for 63e8fc9 - Browse repository at this point
Copy the full SHA 63e8fc9View commit details -
validation: Check GuessVerificationProgress is not called with discon…
…nected block Use Assume macro as suggested bitcoin#29370 (comment)
Configuration menu - View commit details
-
Copy full SHA for 0fd915e - Browse repository at this point
Copy the full SHA 0fd915eView commit details -
doc: Improve comments describing setBlockIndexCandidates checks
The checks are changing slightly in the next commit, so try to explains the ones that exist to avoid confusion (bitcoin#29370 (comment))
Configuration menu - View commit details
-
Copy full SHA for 9b97d5b - Browse repository at this point
Copy the full SHA 9b97d5bView commit details -
assumeutxo: Get rid of faked nTx and nChainTx values
The `PopulateAndValidateSnapshot` function introduced in f6e2da5 from bitcoin#19806 has been setting fake `nTx` and `nChainTx` values that can show up in RPC results (see bitcoin#29328) and make `CBlockIndex` state hard to reason about, because it is difficult to know whether the values are real or fake. Revert to previous behavior of setting `nTx` and `nChainTx` to 0 when the values are unknown, instead of faking them. This commit fixes at least two assert failures in the (pindex->nChainTx == pindex->nTx + prev_chain_tx) check that would happen previously. Tests for these failures are added separately in the next two commits. Compatibility note: This change could result in -checkblockindex failures if a snapshot was loaded by a previous version of Bitcoin Core and not fully validated, because fake nTx values will have been saved to the block index. It would be pretty easy to avoid these failures by adding some compatibility code to `LoadBlockIndex` and changing `nTx` values from 1 to 0 when they are fake (when `(pindex->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_TRANSACTIONS`), but a little simpler not to worry about being compatible in this case.
Configuration menu - View commit details
-
Copy full SHA for ef29c8b - Browse repository at this point
Copy the full SHA ef29c8bView commit details -
test: assumeutxo stale block CheckBlockIndex crash test
Add a test for a CheckBlockIndex crash that would happen before previous "assumeutxo: Get rid of faked nTx and nChainTx values" commit. The crash was an assert failure in the (pindex->nChainTx == pindex->nTx + prev_chain_tx) check that would previously happen if a snapshot was loaded, and a block was submitted which forked from the chain before the snapshot block and after the last downloaded background chain block. This block would not be marked assumed-valid because it would not be an ancestor of the snapshot, and it would have nTx set, nChainTx unset, and prev->nChainTx set with a fake value, so the assert would fail. After the fix, prev->nChainTx is unset instead of being set to a fake value, so the assert succeeds. This test was originally posted by maflcko in bitcoin#29261 (comment) Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
Configuration menu - View commit details
-
Copy full SHA for 0391458 - Browse repository at this point
Copy the full SHA 0391458View commit details -
test: assumeutxo snapshot block CheckBlockIndex crash test
Add a test for a CheckBlockIndex crash that would happen before previous "assumeutxo: Get rid of faked nTx and nChainTx values" commit. The crash was an assert failure in the (pindex->nChainTx == pindex->nTx + prev_chain_tx) check that would previously happen if the snapshot block was submitted after loading the snapshot and downloading a few blocks after the snapshot. In that case ReceivedBlockTransactions() previously would overwrite the nChainTx value of the submitted snapshot block with a fake value based on the previous block, so the (pindex->nChainTx == pindex->nTx + prev_chain_tx) check would later fail on the first block after the snapshot. This test was originally posted by Martin Zumsande <mzumsande@gmail.com> in bitcoin#29370 (comment) Co-authored-by: Martin Zumsande <mzumsande@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ef174e9 - Browse repository at this point
Copy the full SHA ef174e9View commit details -
Merge bitcoin#29669: ci: Drop
--enable-c++20
option64722e4 ci: Drop `--enable-c++20` option (Hennadii Stepanov) Pull request description: This option has ceased to exist since bitcoin#28349. ACKs for top commit: maflcko: ACK 64722e4 Tree-SHA512: bd392c331f775605615e1b236682269b83a1e6363a4d3f09c4d8d54495cf3d22973a921ebf6b8a9f813ba6c024d3324761f3291aaf7f473995f5eaa4c195bc43
Configuration menu - View commit details
-
Copy full SHA for 9a459e3 - Browse repository at this point
Copy the full SHA 9a459e3View commit details -
assumeutxo: Remove BLOCK_ASSUMED_VALID flag
Flag adds complexity and is not currently used for anything.
Configuration menu - View commit details
-
Copy full SHA for 9d9a745 - Browse repository at this point
Copy the full SHA 9d9a745View commit details -
Merge bitcoin#28950: RPC: Add maxfeerate and maxburnamount args to su…
…bmitpackage 38f70ba RPC: Add maxfeerate and maxburnamount args to submitpackage (Greg Sanders) Pull request description: Resolves bitcoin#28949 I couldn't manage to do it very cleanly outside of (sub)package evaluation itself, since it would change the current interface very heavily. Instead I threaded through the max fee argument and used that directly via ATMPArgs. From that perspective, this is somewhat a reversion from bitcoin#19339. In a post-cluster mempool world, these checks could be consolidated to right after the given (ancestor) package is linearized/chunked, by just checking the feerate of the top chunk and rejecting the submission entirely if the top chunk is too high. The implication here is that subpackages can be submitted to the mempool prior to hitting this new fee-based error condition. ACKs for top commit: ismaelsadeeq: Re-ACK bitcoin@38f70ba 👍🏾 glozow: ACK 38f70ba with some non-blocking nits murchandamus: LGTM, code review ACK 38f70ba Tree-SHA512: 38212aa9de25730944cee58b0806a3d37097e42719af8dd7de91ce86bb5d9770b6f7c37354bf418bd8ba571c52947da1dcdbb968bf429dd1dbdf8715315af18f
Configuration menu - View commit details
-
Copy full SHA for 5d045c3 - Browse repository at this point
Copy the full SHA 5d045c3View commit details
Commits on Mar 19, 2024
-
Merge bitcoin#29667: fuzz: actually test garbage >64b in p2p transpor…
…t test 626f8e3 fuzz: actually test garbage >64b in p2p transport test (Pieter Wuille) Pull request description: This fixes an oversight from bitcoin#28196: in the `p2p_transport_bidirectional_v2` fuzz test, when the desired garbage length is over 64 bytes, the code would actually use garbage length 0. Fix this. ACKs for top commit: instagibbs: ACK bitcoin@626f8e3 brunoerg: crACK 626f8e3 Tree-SHA512: f6346367adb10464b6c9d20aef43625531d2a4d8110887ad03214b8c1907b83560f2dd5b5415e2180a40b4cd276d51881b32b60c740471b5c6bb218aa19848d8
Configuration menu - View commit details
-
Copy full SHA for 0f89e86 - Browse repository at this point
Copy the full SHA 0f89e86View commit details -
Merge bitcoin#29639: test: fix intermittent failures with test=addrman
432a542 test: fix intermittent failures with test=addrman (Martin Zumsande) Pull request description: The `nKey` of the addrman is generated the first time the node is started with an empty `peers.dat`. Therefore, restarting a node or turning it off and on again won't make a previously non-deterministic addrman deterministic. This could lead to intermittent failures in `feature_asmap.py` and `rpc_net.py` Fixes bitcoin#29634 ACKs for top commit: kevkevinpal: ACK [432a542](bitcoin@432a542) stratospher: Tested ACK 432a542. brunoerg: crACK 432a542 0xB10C: ACK 432a542 Tree-SHA512: a8e284baeb0be2df7284b8a2792cb9edc9e2d5b877a3b29ab7277ffdb75b17efa58a4d42576441eb493cd518e7c5ffdb05597b27e42b5001cf1a80e78bb04c83
Configuration menu - View commit details
-
Copy full SHA for 9f2609d - Browse repository at this point
Copy the full SHA 9f2609dView commit details -
Merge bitcoin#29094: ci: Better tidy errors
fae70ba ci: Better tidy errors (MarcoFalke) Pull request description: Currently tidy errors are not nice, because the user may have to scroll up to see them in a large block of text. See for example (before) https://github.com/bitcoin/bitcoin/runs/19670551485 Fix that by `tee`ing the output to a file and summarizing the errors in the end again. See for example (after): https://github.com/bitcoin/bitcoin/runs/22647850662 ACKs for top commit: hebasto: ACK fae70ba, logs with errors look cleaner. TheCharlatan: ACK fae70ba Tree-SHA512: dcaea557fed40089409d16ce2cbaa8a9cfbf047f601d5daadfee0823b0eed7badc12d803addc0b7b6bb3f1eaf5c787fccb2488475d32c4efd80835f386f761dd
Configuration menu - View commit details
-
Copy full SHA for 8e95a9c - Browse repository at this point
Copy the full SHA 8e95a9cView commit details -
MarcoFalke committed
Mar 19, 2024 Configuration menu - View commit details
-
Copy full SHA for faecf3a - Browse repository at this point
Copy the full SHA faecf3aView commit details -
Merge bitcoin#29192: Weaken serfloat tests
6e873df serfloat: improve/simplify tests (Pieter Wuille) b45f1f5 serfloat: do not test encode(bits)=bits anymore (Pieter Wuille) Pull request description: Closes bitcoin#28941. Our current tests for serfloat verify two distinct properties: 1. Whether they roundtrip `double`->`uint64_t`->`double` (excluding NaN values) on all systems. 2. Whether on systems with a typical floating point unit that encoding matches the hardware representation, as before v22.0, we would dump the hardware representation directly to disk and we wanted to retain compatibility with that. bitcoin#28941 seems to show that the second property doesn't always hold, but just for "subnormal" numbers (below $2^{-1021}$). Since we don't care about encoding these numbers, we could exclude such subnormal numbers from the hardware-identical representation test, but this PR goes further and just drops the second property entirely, as I don't think we care about edge-case compatibility with pre-v22.0 code for fee_estimates.dat (the only place it is used). ACKs for top commit: glozow: ACK 6e873df fanquake: ACK 6e873df - It's not as much of a priority, but I think we could still backport this. Tree-SHA512: e18ceee0753a7ee7e999fdfa10b014dc5bb67b6ef79522a0f8c76b889adcfa785772fc26ed7559bcb5a09a9938e243bb54eedd9549bc59080a2c8090155e2267
Configuration menu - View commit details
-
Copy full SHA for 479ecc0 - Browse repository at this point
Copy the full SHA 479ecc0View commit details -
index: Move last_locator_write_time and logging to end of threadsync …
…loop This avoids having commit print a needless error message during init. Co-authored-by: furszy <mfurszy@protonmail.com>
Configuration menu - View commit details
-
Copy full SHA for f65b0f6 - Browse repository at this point
Copy the full SHA f65b0f6View commit details -
Merge bitcoin#29279: test: p2p: check disconnect due to lack of desir…
…able service flags 2f23987 test: p2p: check limited peers desirability (depending on best block depth) (Sebastian Falbesoner) c4a67d3 test: p2p: check disconnect due to lack of desirable service flags (Sebastian Falbesoner) 405ac81 test: p2p: support disconnect waiting for `add_outbound_p2p_connection` (Sebastian Falbesoner) Pull request description: This PR adds missing test coverage for disconnecting peers which don't offer the desirable service flags in their VERSION message: https://github.com/bitcoin/bitcoin/blob/5f3a0574c45477288bc678b15f24940486084576/src/net_processing.cpp#L3384-L3389 This check is relevant for the connection types "outbound-full-relay", "block-relay-only" and "addr-fetch" (see `CNode::ExpectServicesFromConn(...)`). Feeler connections always disconnect, which is also tested here. In lack of finding a proper file where this test would fit in, I created a new one. Happy to take suggestions there. ACKs for top commit: davidgumberg: reACK bitcoin@2f23987 itornaza: tested ACK 2f23987 fjahr: re-utACK 2f23987 cbergqvist: re ACK 2f23987 stratospher: tested ACK 2f23987. 🚀 Tree-SHA512: cf75d9d4379d0f34fa1e13152e6a8d93cd51b9573466ab3a2fec32dc3e1ac49b174bd1063cae558bc736b111c8a6e7058b1b57a496df56255221bf367d29eb5d
Configuration menu - View commit details
-
Copy full SHA for 3d216ba - Browse repository at this point
Copy the full SHA 3d216baView commit details
Commits on Mar 20, 2024
-
Merge bitcoin#29676: ci: Bump msan to llvm-18
faecf3a ci: Bump msan to llvm-18 (MarcoFalke) Pull request description: Last one: bitcoin#28476 ACKs for top commit: fanquake: ACK faecf3a - There is now a 18.1.2, but given it doesn't fix the instrumenting in libunwind, we don't need that here. I've tested that both jobs are now working on both arches. Tree-SHA512: 489c0b343bdc732687131317a570f3efbb18a3f548736d739da90d1a1e784df1dbb208c2da8a2a7740f27f961a841c477487a14c4d59910368f651225f0779b2
Configuration menu - View commit details
-
Copy full SHA for 5b9831a - Browse repository at this point
Copy the full SHA 5b9831aView commit details -
Merge bitcoin#28955: index: block filters sync, reduce disk read oper…
…ations by caching last header 99afb9d refactor: init, simplify index shutdown code (furszy) 0faafb5 index: decrease ThreadSync cs_main contention (furszy) f1469eb index: cache last block filter header (furszy) a6756ec index: blockfilter, decouple header lookup into its own function (furszy) 331f044 index: blockfilter, decouple Write into its own function (furszy) bcbd7eb bench: basic block filter index initial sync (furszy) Pull request description: Work decoupled from bitcoin#26966 per request. The aim is to remove an unnecessary disk read operation that currently takes place with every new arriving block (or scanned block during background sync). Instead of reading the last filter header from disk merely to access its hash for constructing the next filter, this work caches it, occupying just 32 more bytes in memory. Also, reduces `cs_main` lock contention during the index initial sync process. And, simplifies the indexes initialization and shutdown procedure. Testing Note: To compare the changes, added a pretty basic benchmark in the second commit. Alternatively, could also test the changes by timing the block filter sync from scratch on any network; start the node with `-blockfilterindex` and monitor the logs until the syncing process finish. Local Benchmark Results: *Master (c252a0f): | ns/op | op/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 132,042,516.60 | 7.57 | 0.3% | 7.79 | `BlockFilterIndexSync` *PR (43a212c): | ns/op | op/s | err% | total | benchmark |--------------------:|--------------------:|--------:|----------:|:---------- | 126,915,841.60 | 7.88 | 0.6% | 7.51 | `BlockFilterIndexSync` ACKs for top commit: Sjors: re-ACK 99afb9d achow101: ACK 99afb9d TheCharlatan: Re-ACK 99afb9d andrewtoth: ACK 99afb9d Tree-SHA512: 927daadd68f4ee1ca781a89519539b895f5185a76ebaf525fbc246ea8dcf40d44a82def00ac34b188640802844b312270067f1b33e65a2479e06be9169c616de
Configuration menu - View commit details
-
Copy full SHA for 0b96a19 - Browse repository at this point
Copy the full SHA 0b96a19View commit details -
Merge bitcoin#27039: blockstorage: do not flush block to disk if it i…
…s already there dfcef53 blockstorage: do not flush block to disk if it is already there (Matthew Zipkin) Pull request description: Closes bitcoin#2039 When reindexing from flat-file block storage there is no need to write anything back to disk, since the block data is already there. This PR skips flushing to disk those blocks that already have a known position in the datastore. Skipping this means that users can write-protect the `blk` files on disk which may be useful for security or even safely sharing that data between multiple bitcoind instances. `FindBlockPos()` may also flush the undo data file, but again this is skipped if the corresponding block position is known, like during the initial stage of a reindex when block data is being indexed. Once the block index is complete the validation mechanism will call `ConnectBlock()` which will save undo data at that time. The call stack looks like this: ``` init() ThreadImport() <-- process fReindex flag LoadExternalBlockFile() AcceptBlock() SaveBlockToDisk() FindBlockPos() FlushBlockFile() <-- unnecessary if block is already on disk ``` A larger refactor of this part of the code was started by mzumsande here: https://github.com/mzumsande/bitcoin/tree/202207_refactor_findblockpos including this fix, reviewers can let me know if the changes should be combined. ACKs for top commit: sipa: utACK dfcef53 mzumsande: re-ACK dfcef53 achow101: ACK dfcef53 furszy: Rebase diff ACK dfcef53. Tree-SHA512: 385c5ac1288b325135398d0ddd3ab788fa98cc0ca19bd2474c74039f2ce70d5088c1d1c9d4dd10aefcbd4c757767ec5805d07ba8cee9289a66f96e6f9eaa5279
Configuration menu - View commit details
-
Copy full SHA for 69ddee6 - Browse repository at this point
Copy the full SHA 69ddee6View commit details -
Merge bitcoin#29370: assumeutxo: Get rid of faked nTx and nChainTx va…
…lues 9d9a745 assumeutxo: Remove BLOCK_ASSUMED_VALID flag (Ryan Ofsky) ef174e9 test: assumeutxo snapshot block CheckBlockIndex crash test (Ryan Ofsky) 0391458 test: assumeutxo stale block CheckBlockIndex crash test (Ryan Ofsky) ef29c8b assumeutxo: Get rid of faked nTx and nChainTx values (Ryan Ofsky) 9b97d5b doc: Improve comments describing setBlockIndexCandidates checks (Ryan Ofsky) 0fd915e validation: Check GuessVerificationProgress is not called with disconnected block (Ryan Ofsky) 63e8fc9 ci: add getchaintxstats ubsan suppressions (Ryan Ofsky) f252e68 assumeutxo test: Add RPC test for fake nTx and nChainTx values (Ryan Ofsky) Pull request description: The `PopulateAndValidateSnapshot` function introduced in f6e2da5 from bitcoin#19806 has been setting fake `nTx` and `nChainTx` values that can show up in RPC results (bitcoin#29328) and make `CBlockIndex` state hard to reason about, because it is difficult to know whether the values are real or fake. Revert to previous behavior of setting `nTx` and `nChainTx` to 0 when the values are unknown, instead of faking them. Also drop no-longer needed `BLOCK_ASSUMED_VALID` flag. Dropping the faked values also fixes assert failures in the `CheckBlockIndex` `(pindex->nChainTx == pindex->nTx + prev_chain_tx)` check that could happen previously if forked or out-of-order blocks before the snapshot got submitted while the snapshot was being validated. The PR includes two commits adding tests for these failures and describing them in detail. Compatibility note: This change could cause new `-checkblockindex` failures if a snapshot was loaded by a previous version of Bitcoin Core and not fully validated, because fake `nTx` values will have been saved to the block index. It would be pretty easy to avoid these failures by adding some compatibility code to `LoadBlockIndex` and changing `nTx` values from 1 to 0 when they are fake (when `(pindex->nStatus & BLOCK_VALID_MASK) < BLOCK_VALID_TRANSACTIONS`), but a little simpler not to worry about being compatible in this case. ACKs for top commit: Sjors: re-ACK 9d9a745 achow101: ACK 9d9a745 mzumsande: Tested ACK 9d9a745 maflcko: ACK 9d9a745 🎯 Tree-SHA512: b1e1e2731ec36be30d5f5914042517219378fc31486674030c29d9c7488ed83fb60ba7095600f469dc32f0d8ba79c49ff7706303006507654e1762f26ee416e0
Configuration menu - View commit details
-
Copy full SHA for b50554b - Browse repository at this point
Copy the full SHA b50554bView commit details -
Merge bitcoin#29671: index: avoid "failed to commit" errors on initia…
…lization f65b0f6 index: Move last_locator_write_time and logging to end of threadsync loop (Fabian Jahr) Pull request description: In the index sync thread, when initializing an index for the first time, stop callng BaseIndex::Commit when m_best_block_index is null, to avoid a spurious "failed to commit" error from that function. This error started happening in commit bitcoin@7878f97 from bitcoin#25494 and was reported by pstratem in bitcoin#26903 with an alternate fix. ACKs for top commit: achow101: ACK f65b0f6 ryanofsky: Code review ACK f65b0f6. Just moved log "Syncing" log line since last commit to avoid having to call now() twice. furszy: ACK f65b0f6 TheCharlatan: ACK f65b0f6 Tree-SHA512: afa8f05786318d36346d167ff53ea0b3bc8abdb0ad04465d199dc3eb91e9f837369e24fcb7e24b5757b02d698ec504e61da6ac365eaf006c874fc07a424a7e20
Configuration menu - View commit details
-
Copy full SHA for bf1b638 - Browse repository at this point
Copy the full SHA bf1b638View commit details
Commits on Mar 21, 2024
-
Merge bitcoin#29651: guix: bump time-machine to dc4842797bfdc5f9f3f5f…
…725bf189c2b68bd6b5a cf5faf7 guix: bump time-machine to dc4842797bfdc5f9f3f5f725bf189c2b68bd6b5a (fanquake) Pull request description: This includes a commit to fix building LLVM 17 on riscv64, see https://git.savannah.gnu.org/cgit/guix.git/commit/?id=4e26331a5ee87928a16888c36d51e270f0f10f90. Followup to discussion in bitcoin#28880 (comment). If you don't have riscv64 hardware, this can be tested with the following: ```bash # observe failure when cross-compiling using our current time-machine guix time-machine --commit=d5ca4d4fd713a9f7e17e074a1e37dda99bbb09fc -- build --target=riscv64-linux-gnu llvm .... riscv64-linux-gnu-ld: CMakeFiles/dsymutil.dir/dsymutil.cpp.o: undefined reference to symbol '__atomic_fetch_and_1@@LIBATOMIC_1.0' riscv64-linux-gnu-ld: /gnu/store/i4ga0pnr1b74bir2bjyp8mcrrbsvk7d3-gcc-cross-riscv64-linux-gnu-11.3.0-lib/riscv64-linux-gnu/lib/libatomic.so.1: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status # build success when using the new time-machine guix time-machine --commit=dc4842797bfdc5f9f3f5f725bf189c2b68bd6b5a -- build --target=riscv64-linux-gnu llvm .... grafting '/gnu/store/7y0j0y8jaz4mjx2nz0y42wdnxxjp6id6-llvm-17.0.6-opt-viewer' -> '/gnu/store/8xvahrrjscbprh6cjj0qp5bm9mm78wwa-llvm-17.0.6-opt-viewer'... grafting '/gnu/store/bjhw648bz7ijd2p9hgzzdbw1q8hpagk8-llvm-17.0.6' -> '/gnu/store/x50qi8i2ywgpx6azv4k55ms0w5xjxxg5-llvm-17.0.6'... successfully built /gnu/store/q9xvk8gzzvb4dxfzf6yi5164zd0d1vj2-llvm-17.0.6.drv ``` Also includes at least: Linux Headers 6.1.67 -> 6.1.80 ACKs for top commit: TheCharlatan: ACK cf5faf7 hebasto: ACK cf5faf7, tested on x86_64 hardware as described in the PR description. Tree-SHA512: b49d4f90effeec666b12b5447a24c90315b82675cfc166bc1230ac173134bab6b277fc7e064bbb75e990275165b2b27d88e4ec1cdeea4750541ec6443cb50f41
Configuration menu - View commit details
-
Copy full SHA for 71b6319 - Browse repository at this point
Copy the full SHA 71b6319View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0226a63 - Browse repository at this point
Copy the full SHA 0226a63View commit details -
Configuration menu - View commit details
-
Copy full SHA for ecdac2c - Browse repository at this point
Copy the full SHA ecdac2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a16b0e - Browse repository at this point
Copy the full SHA 7a16b0eView commit details -
Configuration menu - View commit details
-
Copy full SHA for d9e992d - Browse repository at this point
Copy the full SHA d9e992dView commit details -
Configuration menu - View commit details
-
Copy full SHA for d977d35 - Browse repository at this point
Copy the full SHA d977d35View commit details -
Configuration menu - View commit details
-
Copy full SHA for 26f08d7 - Browse repository at this point
Copy the full SHA 26f08d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64cc05e - Browse repository at this point
Copy the full SHA 64cc05eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b6f2f55 - Browse repository at this point
Copy the full SHA b6f2f55View commit details -
test: Added RPC tests for compressrawtransaction and decompressrawtra…
…nsaction, For valid assets_tests run compression tests, Added unit tests for new primitives
Configuration menu - View commit details
-
Copy full SHA for f488d3a - Browse repository at this point
Copy the full SHA f488d3aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6f92525 - Browse repository at this point
Copy the full SHA 6f92525View commit details