forked from bitcoin/bitcoin
-
Notifications
You must be signed in to change notification settings - Fork 7
update bitcoin to 0.18.1 #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
Open
pinhopro
wants to merge
10,000
commits into
blinktrade:master
Choose a base branch
from
bitcoin:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…r::ReadRawBlock()` 6ecb9fc chore: use `std::vector<std::byte>` for `BlockManager::ReadRawBlock()` (Roman Zeyde) Pull request description: Following [this comment](#32540 (comment)), this PR changes `BlockManager::ReadRawBlock()` to accept a `std::vector<std::byte>` instead of `std::vector<uint8_t>`, in order to avoid casts during its invocations. It also adds a new `SpanReader` constructor to allow reading from a span of `std::byte`s (in addition to span of `uint8_t`). ACKs for top commit: l0rinc: ACK 6ecb9fc maflcko: re-ACK 6ecb9fc TheCharlatan: Re-ACK 6ecb9fc Tree-SHA512: b0976c34b8da4fa1e6d805a89de2883f48ba431a71069e8c1ae450f48e425cc41aff1a5d479a7d40312a972aaf1f92e9478a985a14a1357c6b3e564e988d03e5
useful to easily create transactions with same txid, different wtxid and valid witness for testing scenarios in other places (ex: private broadcast connections)
Have `WriteUTXOSnapshot()` take rvalue reference to make it obvious that it takes ownership of the file.
There is no way to report a close error from `AutoFile` destructor. Such an error could be serious if the file has been written to because it may mean the file is now corrupted (same as if write fails). So, change all users of `AutoFile` that use it to write data to explicitly close the file and handle a possible error.
If an `AutoFile` has been written to, then expect callers to have closed it explicitly via the `AutoFile::fclose()` method. This is because if the destructor calls `std::fclose()` and encounters an error, then it is too late to indicate this to the caller in a meaningful way.
c7eaac3 depends: capnp 1.2.0 (fanquake) Pull request description: See capnproto/capnproto@release-1.1.0...release-1.2.0. We can drop all the patches we are currently applying. ACKs for top commit: Sjors: ACK c7eaac3 theStack: ACK c7eaac3 ryanofsky: Code review ACK c7eaac3. Just checked hashes, compared tarball to git and diffed 1.1.0 and 1.2.0 tarballs which showed only minor and expected changes. Tree-SHA512: 75085ec96952e9693c67531c3d04cd0d7df580dd1df35ce50dff618b29f651674c17a84e9089c6b7ed230e2b4fd0a7f24e2220e983ec00235db9a9d1ee2d7116
Without proper annotations, clang thinks that mutexes are still held for the duration of a reverse_lock. This could lead to subtle bugs as EXCLUSIVE_LOCKS_REQUIRED(foo) passes when it shouldn't. As mentioned in the docs [0], clang's thread-safety analyzer is unable to deal with aliases of mutexes, so it is not possible to use the lock's copy of the mutex for that purpose. Instead, the original mutex needs to be passed back to the reverse_lock for the sake of thread-safety analysis, but it is not actually used otherwise. [0]: https://clang.llvm.org/docs/ThreadSafetyAnalysis.html
…AL_SIGNER_NOT_FOUND 9dfc61d test: detect no external signer connected (Sjors Provoost) 0a4ee93 wallet: use PSBTError::EXTERNAL_SIGNER_NOT_FOUND (Sjors Provoost) 8ba2f9b refactor: use util::Result for GetExternalSigner() (Sjors Provoost) Pull request description: When attempting to sign a transaction involving an external signer, if the device isn't connected we throw an `std::runtime_error`. This prevents the (mainly GUI) code that's actually supposed to handle this case from running. This PR returns a `PSBTError::EXTERNAL_SIGNER_NOT_FOUND` instead of throwing. The first commit is a refactor to have `GetExternalSigner()` return a `util::Result<ExternalSigner>` so the caller can decide how to handle the error. There are two other places where call `GetExternalSigner()` which this PR doesn't change (which I think is fine there). Before:  After (the translation already exist):  Fixes #32426 Additionally use `LogWarning` instead of `std::cerr` for both a missing signer and failure to sign. ACKs for top commit: achow101: ACK 9dfc61d brunoerg: code review ACK 9dfc61d Tree-SHA512: 22515f4f0b4f50cb0ef532b729e247f11a68be9c90e384942d4277087b2e76806a1cdaa57fb51d5883dacf0a428e5279674aab37cce8c0d3d7de0f96346b8233
a201a99 thread-safety: fix annotations with REVERSE_LOCK (Cory Fields) aeea5f0 thread-safety: add missing lock annotation (Cory Fields) 832c57a thread-safety: modernize thread safety macros (Cory Fields) Pull request description: This is one of several PRs to cleanup/modernize our threading primitives. While replacing the old critical section locks in the mining code with a `REVERSE_LOCK`, I noticed that our thread-safety annotations weren't hooked up to it. This PR gets `REVERSE_LOCK` working properly. Firstly it modernizes the attributes as-recommended by the [clang docs](https://clang.llvm.org/docs/ThreadSafetyAnalysis.html) (ctrl+f for `USE_LOCK_STYLE_THREAD_SAFETY_ATTRIBUTES`). There's a subtle difference between the old `unlock_function` and new `release_capability`, where our `reverse_lock` only works with the latter. I believe this is an upstream bug. I've [reported and attempted a fix here](llvm/llvm-project#139343), but either way it makes sense to me to modernize. The second adds a missing annotation pointed out by a fixed `REVERSE_LOCK`. Because clang's thread-safety annotations aren't passed through a reference to `UniqueLock` as one may assume (see [here](https://clang.llvm.org/docs/ThreadSafetyAnalysis.html#no-alias-analysis) for more details), `cs_main` has to be listed explicitly as a requirement. The last commit actually fixes the `reverse_lock` by making it a `SCOPED_LOCK` and using the pattern [found in a clang test](https://github.com/llvm/llvm-project/blob/main/clang/test/SemaCXX/warn-thread-safety-analysis.cpp#L3126). Though the docs don't describe how to accomplish it, the functionality was added [in this commit](llvm/llvm-project@6a68efc). Due to aliasing issues (see link above), in order to work correctly, the original mutex has to be passed along with the lock, so all existing `REVERSE_LOCK`s have been updated. To ensure that the mutexes actually match, a runtime assertion is added. ACKs for top commit: fjahr: re-ACK a201a99 davidgumberg: reACK a201a99 theuni: Ok, done. Those last pushes can be ignored. ACKs on a201a99 are still fresh. ryanofsky: Code review ACK a201a99. Just dropping 0065b96 and fixing incorrect `reverse_lock::lockname` initialization since last review. TheCharlatan: Re-ACK a201a99 Tree-SHA512: 2755fae0c41021976a1a633014a86d927f104ccbc8014c01c06dae89af363f92e5bc5d4276ad6d759302ac4679fe02a543758124d48318074db1c370989af7a7
fTimeReceivedIsTxTime has been unused unused since 0.3.24
rsync --archive will preserve owner and group, which is then required to be handled by adding a git safe.directory workaround. Remove the need for the workaround by only preserving permissions during the recursive rsync copy.
Otherwise, a possible failure is silently ignored. Also, rename the file, while touching it, to clarify installing is the first step.
…of hardcoding them
a18e572 test: more template verification tests (Sjors Provoost) 10c9088 test: move gbt proposal mode tests to new file (Sjors Provoost) 94959b8 Add checkBlock to Mining interface (Sjors Provoost) 6077157 ipc: drop BlockValidationState special handling (Sjors Provoost) 74690f4 validation: refactor TestBlockValidity (Sjors Provoost) Pull request description: This PR adds the IPC equivalent of the `getblocktemplate` RPC in `proposal` mode. In order to do so it has `TestBlockValidity` return error reasons as a string instead of `BlockValidationState`. This avoids complexity in IPC code for handling the latter struct. The new Mining interface method is used in `miner_tests`. It's not used by the `getblocktemplate` and `generateblock` RPC calls, see #31981 (comment) The `inconclusive-not-best-prevblk` check is moved from RPC code to `TestBlockValidity`. Test coverage is increased by `mining_template_verification.py`. Superseedes #31564 ## Background ### Verifying block templates (no PoW) Stratum v2 allows miners to generate their own block template. Pools may wish (or need) to verify these templates. This typically involves comparing mempools, asking miners to providing missing transactions and then reconstructing the proposed block.[^0] This is not sufficient to ensure a proposed block is actually valid. In some schemes miners could take advantage of incomplete validation[^1]. The Stratum Reference Implementation (SRI), currently the only Stratum v2 implementation, collects all missing mempool transactions, but does not yet fully verify the block.[^2]. It could use the `getblocktemplate` RPC in `proposal` mode, but using IPC is more performant, as it avoids serialising up to 4 MB of transaction data as JSON. (although SRI could use this PR, the Template Provider role doesn't need it, so this is _not_ part of #31098) [^0]: https://github.com/stratum-mining/sv2-spec/blob/main/06-Job-Declaration-Protocol.md [^1]: https://delvingbitcoin.org/t/pplns-with-job-declaration/1099/45?u=sjors [^2]: https://github.com/stratum-mining/stratum/blob/v1.1.0/roles/jd-server/src/lib/job_declarator/message_handler.rs#L196 ACKs for top commit: davidgumberg: reACK a18e572 achow101: ACK a18e572 TheCharlatan: ACK a18e572 ryanofsky: Code review ACK a18e572 just adding another NONFATAL_UNREACHABLE since last review Tree-SHA512: 1a6c29f45a1666114f10f55aed155980b90104db27761c78aada4727ce3129e6ae7a522d90a56314bd767bd7944dfa46e85fb9f714370fc83e6a585be7b044f1
This is not done anywhere else in the tests for open or subprocess.run
This is normally expected and also less code.
This is in line with all other functional tests.
fa2fbaa bench: Avoid tmp files in pwd (MarcoFalke) Pull request description: It is a bit confusing that one bench run, when aborted, could leave behind temp files in the current working directory. It is similarly confusing to delete those files in the next run of bench. Fix all issues by using `BasicTestingSetup`, which provides a proper temp folder to use and also cleans up after itself. Can be tested via: ``` ( echo 'my file content' > streams_tmp ) && ls streams_tmp && ./bld-cmake/bin/bench_bitcoin --filter=FindByte && ls streams_tmp ``` Previously the file would be deleted, now it is kept. ACKs for top commit: stickies-v: ACK fa2fbaa Tree-SHA512: 33798030f990d1b4c95be4682d8dbfad95e8716d5fc0b99d65937196f2ced1ba649193c2adba4155f4eec9fd06e16be6667f3c3705af1880f47b2ff57a76243b
Changing into the build dir is confusing and brittle. This can be reviewed using the git option `--word-diff-regex=.`. Also: * add missing -j1 to the fallback that prints a verbose build failure * remove quotes around $GOAL in the fallback
When using CMake policies 3.14 and below, the `export(PACKAGE)` command by default populates the user package registry, which is stored outside the build tree. Setting the `CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable disables this side effect. In CMake 3.15 and later, this behavior is disabled by default, and the variable has no effect.
For some reason, building x86_64-w64-mingw32 on x86_64 and aarch64 results in a single instruction difference which can be traced down to prevector.h:174. The ultimate caller of this is the copy constructor for a prevector that ends up being called by std::vector::push_back in walletmodel.cpp:183. By replacing the push_back with an emplace_back, somehow this non-determinism goes away.
d7fca5c clusterlin: add big comment explaning the relation between tests (Pieter Wuille) b64e61d clusterlin: abstract try-permutations into ExhaustiveLinearize function (Pieter Wuille) 1fa55a6 clusterlin tests: verify that chunks are minimal (Pieter Wuille) da23ece clusterlin tests: support non-empty ReadTopologicalSubset() (Pieter Wuille) 94f3e17 clusterlin tests: compare with fuzz-provided linearizations (Pieter Wuille) 5f92ebe clusterlin tests: compare with fuzz-provided topological sets (Pieter Wuille) 6e37824 clusterlin tests: optimize clusterlin_simple_linearize (Pieter Wuille) 98c1c88 clusterlin tests: separate testing of SimpleLinearize and Linearize (Pieter Wuille) 10e90f7 clusterlin tests: make SimpleCandidateFinder always find connected (Pieter Wuille) a38c389 clusterlin tests: separate testing of Search- and SimpleCandidateFinder (Pieter Wuille) 77a432e clusterlin tests: count SimpleCandidateFinder iterations better (Pieter Wuille) Pull request description: Part of the cluster mempool project: #30289 The current cluster linearization fuzz tests contain two tests which combine testing of production code with testing of the test code itself: * `clusterlin_search_finder`: establishes the correctness of `SearchCandidateFinder` by comparing against both `SimpleCandidateFinder` and `ExhaustiveCandidateFinder` (which is even more simple than `SimpleCandidateFinder`). If `SimpleCandidateFinder` works correctly, then this comparison with `ExhaustiveCandidateFinder` is redundant. If it isn't, we ought to find that in a test specific to `SimpleCandidateFinder` rather than as a side-effect of testing `SearchCandidateFinder`. Split this functionality out into a new `clusterlin_simple_finder`. * `clusterlin_linearize`: establishes the correctness of `Linearize` by comparing against both `SimpleLinearize` and literally every valid linearization for the cluster. Again, if `SimpleLinearize` works correctly, then this comparison with all valid linearizations is redundant, and if it isn't we should find it in a test for `SimpleLinearize`. Do so by splitting off that functionality into `clusterlin_simple_linearize`. After that, a few general improvements to the affected tests are made (comparing with linearizations and subsets read from the fuzz input, plus a performance improvement). ACKs for top commit: marcofleon: Re ACK d7fca5c ismaelsadeeq: re-ACK d7fca5c monlovesmango: ACK d7fca5c Tree-SHA512: 33cb76bd9b9547a5f3ee231fa452e928f064ad03af98e3d9e64246eb972f2b026c13e7367257ccdac1ae57982ee8ef98c907684588ecbb4bc4c82cbec160b3e8
150b5c9 wallet: replace `reload_wallet` with inline functionality (rkrux) 0f86da3 wallet: remove dead code in legacy wallet migration (rkrux) Pull request description: A discussion on a previous [PR 32481](#32481 (comment)) related to legacy wallet dead code removal made me realize that checking if the legacy wallet was loaded prior to the start of the migration is not required ever since legacy wallets can't be loaded in the first place. I also verified that the `load_on_start` persistent setting can also not cause the legacy wallets to be loaded, which further makes the case for removal of the above mentioned checks during migration. The current test coverage also shows these lines uncovered. ACKs for top commit: achow101: ACK 150b5c9 furszy: ACK 150b5c9 Tree-SHA512: 9bc7043cac1f4051228557208895e43648de3c7ffae6860c0676d1aa2db3a8ed3a09d1f9defacd96ca50bbb9699ba86652ccb0c5e55cc88be248a1fe727c13d9
83bb414 test: less ambiguous error if bitcoind is missing (Sjors Provoost) Pull request description: Before this change, when a functional test is run without building the source, the error message suggested that previous release binaries were missing. When no previous release version is set, make the error message more specifically about bitcoind. To test, try this before and after: ```sh git clean -dfx cmake -B build build/test/functional/mining_basic.py cmake --build build build/test/functional/mining_basic.py build/test/functional/wallet_backwards_compatibility.py test/get_previous_releases.py build/test/functional/wallet_backwards_compatibility.py ``` ACKs for top commit: achow101: ACK 83bb414 janb84: ACK 83bb414 w0xlt: ACK 83bb414 Tree-SHA512: c6df65019de99d6c214951cf70944c4ddca9b635c5ab60ac2c47e4589478e9c65d5e079c394ace9b470a7eaeea3c9cf68b7246dd413e802c4a1e071913a7fc32
…of push_back f435710 Resolve guix non-determinism with emplace_back instead of push_back (Ava Chow) Pull request description: For some reason, building x86_64-w64-mingw32 on x86_64 and aarch64 results in a single instruction difference which can be traced down to prevector.h:174. The ultimate caller of this is the copy constructor for a prevector that ends up being called by std::vector::push_back in walletmodel.cpp:183. By replacing the push_back with an emplace_back, somehow this non-determinism goes away. Closes #32923 ACKs for top commit: l0rinc: code review ACK f435710 Sjors: utACK f435710 maflcko: lgtm ACK f435710 Tree-SHA512: 5bf0571f32cb72efc0c533e16d2704cfc3a79bcef2943f0892743572808610fb00ca8ab41223897536f8e5090bf4030735be910942de8116652d02bc3f231e2e
fa88627 fuzz: CheckGlobals in init (MarcoFalke) fa26bfd test: Avoid resetting mocktime in testing setup (MarcoFalke) fa6b45f Add SetMockTime for time_point types (MarcoFalke) Pull request description: (Tracking issue #29018) During fuzzing, `AppInitParameterInteraction` may actually disable a previously set mocktime. This is confusing and can also cause non-determinism. Fix this issue, by * fixing the erroneous `-mocktime` parsing in `AppInitParameterInteraction`. * adding the missing `SetMockTime` calls to the affected fuzz init functions. * adding a `CheckGlobals` to the fuzz init, to prevent this issue in the future. This can be tested by * Cherry-picking the `CheckGlobals`-commit onto current master and observing a fuzz failure in the touched fuzz targets. * Reverting the touched fuzz fixups and observing a fuzz failure for each target. ACKs for top commit: w0xlt: ACK fa88627 dergoegge: utACK fa88627 Tree-SHA512: 5a9400f0467c82fa224713af4cc2b525afbefefc7c3f419077110925ad7af6c7fda3dcd2b50f7facf0ee7df2547c6ac20336906d707adcdfd1d652a9d9a735fe
Turn developer & deprecation warnings into errors.
- don't log function name - take into account that GetName() always ends with " index" - replace deprecated LogPrintf with LogInfo - remove trailing \n - adjusted log level where needed
fa894b0 log: Properly log warnings with warn loglevel in addrdb (MarcoFalke) Pull request description: The logging in addrdb is confusing, because it uses `LogPrintf` (info level) to log warnings. Fix this by properly using the `warn` level, where needed. Also, drop unused trailing `\n` while touching the lines. ACKs for top commit: stickies-v: ACK fa894b0 dergoegge: utACK fa894b0 Tree-SHA512: 96d3823623ea8e1698e8cb541ca97cbab7b2a9934b2f894884171045abbca7be796f07965082e997001c97d06d1e0c4d13b29354eb4fe71c3a2ee680eada5516
…vailable 9493165 cmake: Use newer signature of `qt6_add_lrelease` when available (Hennadii Stepanov) Pull request description: See Qt docs here: https://doc.qt.io/qt-6/qtlinguist-cmake-qt-add-lrelease.html. Fixes #32710. ACKs for top commit: fanquake: ACK 9493165 Tree-SHA512: bf0320306967164374499dd0be122473799e830fdff5e070ef13f87af3c14a3b799d90afb423881edd7eea17c13d27af8ced381bbb3cd149353b31b3990dde67
a60f863 scripted-diff: Replace GenTxidVariant with GenTxid (marcofleon) c8ba199 Remove old GenTxid class (marcofleon) 072a198 Convert remaining instances of GenTxid to GenTxidVariant (marcofleon) 1b52839 Convert `txrequest` to GenTxidVariant (marcofleon) bde4579 Convert `txdownloadman_impl` to GenTxidVariant (marcofleon) c876a89 Replace GenTxid with Txid/Wtxid overloads in `txmempool` (marcofleon) de858ce move-only: make GetInfo a private CTxMemPool member (stickies-v) eee473d Convert `CompareInvMempoolOrder` to GenTxidVariant (marcofleon) 243553d refactor: replace get_iter_from_wtxid with GetIter(const Wtxid&) (stickies-v) fcf92fd refactor: make CTxMemPool::GetIter strongly typed (marcofleon) 11d28f2 Implement GenTxid as a variant (marcofleon) Pull request description: Part of the [type safety refactor](#32189). This PR changes the GenTxid class to a variant, which holds both Txids and Wtxids. This provides compile-time type safety and eliminates the manual type check (bool m_is_wtxid). Variables that can be either a Txid or a Wtxid are now using the new GenTxid variant, instead of uint256. ACKs for top commit: w0xlt: ACK a60f863 dergoegge: Code review ACK a60f863 maflcko: review ACK a60f863 🎽 theStack: Code-review ACK a60f863 Tree-SHA512: da9b73b7bdffee2eb9281a409205519ac330d3336094d17681896703fbca8099608782c9c85801e388e4d90af5af8abf1f34931f57bbbe6e9674d802d6066047
8f766f3 ci: enable -Werror=dev (fanquake) 7b420ca guix: configure with -Werror=dev (fanquake) 44097dd cmake: enable -Werror=dev in dev-mode preset (fanquake) Pull request description: Pass `-Werror=dev` in the CI, Guix and the `dev-mode` preset. https://cmake.org/cmake/help/latest/manual/cmake.1.html#cmdoption-cmake-Werror: > Make developer warnings errors. > Make warnings that are meant for the author of the CMakeLists.txt files errors. By default this will also turn on deprecated warnings as errors. Pulled out of #32865. ACKs for top commit: Sjors: re-ACK 8f766f3 hebasto: ACK 8f766f3, tested on Ubuntu 24.04. Tree-SHA512: 0fa321b77d2519b5249d90590664c4e5938ac86209b068658647adf97ab55ea4d54c913aae2f622385fe2f41d7c851cd5d7371905fdad38b66cb124371e16ac7
84ef552 fix spelling in tor.md docs (stutxo) Pull request description: This PR is to fix some spelling mistakes i found of the word occurrences! there are two occurrences of this mistake. thanks! ACKs for top commit: maflcko: lgtm ACK 84ef552 willcl-ark: ACK 84ef552 delta1: ACK 84ef552 Tree-SHA512: 4ba71b772fdc8cf36ada7493d29fb5b312a7a6085099347162eb3495db4de984b0417b7861f2927c617cbd552741356e26688479601bdf7e835c15e097aa28f3
…object 12a6959 cmake: Drop no longer necessary "cmakeMinimumRequired" object (Hennadii Stepanov) Pull request description: The minimum required CMake version is 3.22:https://github.com/bitcoin/bitcoin/blob/6a13a6106e3c1ebe95ba6430184d6260a7b942bd/CMakeLists.txt#L10 ACKs for top commit: fanquake: ACK 12a6959 - has been unneeded since it was introduced (minimum was already 3.22). Tree-SHA512: 26f97662bfe52986e19e38dbf4ab8e1e7558bc78c3a65593cbecd1f35887bba7a9f7d8a3d08ccfab8396f41c2334cdad5b0e503999a759cfa158d3bb8d0d14d7
fad191f ci: Avoid cd into build dir (MarcoFalke) Pull request description: Changing into the build dir is confusing and brittle, because the following commands implicitly assume it. So they could break on unrelated changes. The changes are required for stuff like: * cmake presets (see #30871 (comment)) * meta ci tests (like #32874) So remove the `cd` and just make the build dir explicit. ACKs for top commit: hebasto: ACK fad191f, I have reviewed the code and it looks OK. Tree-SHA512: a88a9341445ffe28a0dac3815f235ec8eb0459d10a91a80829fd3184762d3c807d0f68c56243b20c04a6efa5becd8a7fad568f43c2b1e6af1ff8ba07b140ef87
44f3bae depends: Force `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` (Hennadii Stepanov) Pull request description: When using CMake policies 3.14 and below, the `export(PACKAGE)` command by default populates the user package registry, which is stored outside the build tree. Setting the `CMAKE_EXPORT_NO_PACKAGE_REGISTRY` variable disables this side effect. In CMake 3.15 and later, this behavior is disabled by default, and the variable has no effect. This PR forces `CMAKE_EXPORT_NO_PACKAGE_REGISTRY=TRUE` globally, rather than managing it for each dependency package individually rather. It may be reverted once all CMake-based packages have updated to policies 3.15 or newer. Fixes #32938. ACKs for top commit: fanquake: ACK 44f3bae Tree-SHA512: 0aac398b7182e80185b064d59f81aece4d8477a609fad9cc3fee317da2aff43b66ef7db1efec0135b4f0feaad23b1db664e33bd035fe659712c5b2a9bf2d6fb6
node1 (with 24 blocks) causes node0 (with 6 blocks) to silently reorg. so move the subtest to a point before the 20 blocks are generated so that node1's state doesn't cause node0 to silently reorg.
c18bf0b refactor: cleanup index logging (Sjors Provoost) Pull request description: This PR removes the use of `__func__` from index logging, since we have `-logsourcelocations`. It also improves readability by putting `GetName()` in a more logical place. Before > coinstatsindex: best block of the index not found. Please rebuild the index. After: > best block of coinstatsindex not found. Please rebuild the index. I found myself maintaining this commit as part of Sjors#86, but since that might never land here, it seemed better to split it into its own PR (or get rid of it). ACKs for top commit: l0rinc: Lightweight code review ACK c18bf0b maflcko: review ACK c18bf0b 🚣 Tree-SHA512: 755948371e3ff7a5515b63ce48075631ec7868d69c3c1469176d5be0e8b28e1c071e206ae3f7320f87d8c441f815894acfef61621f05795b5ff6b8a5a3031e3b
28416f3 test: fix intermittent failure in rpc_invalidateblock.py (stratospher) Pull request description: resolves #32965. node1 (with 24 blocks) causes node0 (with 6 blocks + 1 extra header) to silently reorg. so move the subtest to a point before the 20 blocks are generated so that node1's state doesn't cause node0 to silently reorg. ACKs for top commit: maflcko: lgtm ACK 28416f3 mzumsande: Code Review ACK 28416f3 Tree-SHA512: f6cc682b8e5416125f887c094d5e291dd37f0bfc41d7c0de218f3e24fa1ea0cd642f7a1e362f3127f68cde725a67f3054501326b9bd25f0caa9a05de7d0052b0
61e800e test: headers sync timeout (stringintech) Pull request description: When reviewing PR #32051 and considering which functional tests might need to be adapted/extended accordingly, I noticed there appears to be limited functional test coverage for header sync timeouts and thought it might be helpful to add one. This test attempts to cover two scenarios: 1. **Normal peer timeout behavior:** When a peer fails to respond to initial getheaders requests within the timeout period, it should be disconnected and the node should attempt to sync headers from the next available peer. 2. **Noban peer behavior:** When a peer with noban privileges times out, it should remain connected while the node still attempts to sync headers from other peers. ACKs for top commit: maflcko: re-ACK 61e800e 🗝 stratospher: reACK 61e800e. Tree-SHA512: b8a867e7986b6f0aa00d81a84b205f2bf8fb2e6047a2e37272e0244229d1f43020e9031467827dabbfe7849a91429f2685e00a25356e2ed477fa1a035fa0b1fd
4bb4c86 test: document HOST for get_previous_releases.py (Sjors Provoost) 609203d test: stop signing previous releases >= v28.2 (Sjors Provoost) c6dc2c2 test: replace v28.0 with notarized v28.2 (Sjors Provoost) 5bd73d9 test: fix macOS detection (Sjors Provoost) Pull request description: Since #31407 macOS guix builds are signed and notarized. This was included in v29 and backported to 28.x. This PR bumps the v28.0 previous release binary to v28.2 and adjusts the test that uses it. Additionally it no longer manually code signs binaries >= v28.2. While testing on an M4 mac and redownloading all the binaries, I noticed that `platform == "arm64-apple-darwin"` doesn't actually work. This initially used `args.platform` in #26694, but that was changed to just `platform` in #32219. So the first commit switches this to use `args.host`. I manually tested on Intel macOS 13.7.6 that code-signing still isn't needed there (when downloading using a script). Also documented that you can set `HOST`. ACKs for top commit: m3dwards: ACK 4bb4c86 maflcko: review ACK 4bb4c86 🚏 Tree-SHA512: b4803d39a21cb622fd2388a0528b76d2b502956e2505385d3da201143b0afcf6f9d71c8c28937f27b70d2588fb6da677da058bdcd67b90fb53617acc3a727818
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.