aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-05-18[net processing] Add m_tx_relay_mutex to protect m_tx_relay ptrJohn Newbery
2022-05-18[net processing] Comment all TxRelay membersJohn Newbery
This fully comments all the TxRelay members. The only significant change is to the comment for m_relay_txs. Previously the comment stated that one of the purposes of the field was that "We don't relay tx invs before receiving the peer's version message". However, even without the m_relay_txs flag, we would not send transactions to the peer before receiving the `version` message, since SendMessages() returns immediately if fSuccessfullyConnected is not set to true, which only happens once a `version` and `verack` message have been received.
2022-05-18[net processing] [refactor] Move m_next_send_feefilter and m_fee_filter_sentJohn Newbery
Move m_next_send_feefilter and m_fee_filter_sent out of the `TxRelay` data structure. All of the other members of `TxRelay` are related to sending transactions _to_ the peer, whereas m_fee_filter_sent and m_next_send_feefilter are both related to receiving transactions _from_ the peer. A node's tx relay behaviour is not always symmetrical (eg a blocksonly node will ignore incoming transactions, but may still send out its own transactions), so it doesn't make sense to group the feefilter sending data with the TxRelay data in a single structure. This does not change behaviour, since IsBlockOnlyConn() is always equal to !peer.m_tx_relay. We still don't send feefilter messages to outbound block-relay-only peers (tested in p2p_feefilter.py).
2022-05-15Merge bitcoin/bitcoin#25123: test: Fix race condition in index prune testMacroFake
4faa5500724e3b1423ce1f927236b1ab1ac07943 test: Fix race condition in index pruning test (Fabian Jahr) Pull request description: Fixes #25031 The `feature_index_prune.py` test seems to be racy because connections are reestablished after restarts and the blocks are synced via the `sync_blocks` function. The `sync_blocks` function has a sanity check at the beginning to check that all nodes in the set have at least one established connection and that is not always the case. As a solution nodes are not connected via the `-connect` parameter on start but instead via the `connect_nodes` helper. Top commit has no ACKs. Tree-SHA512: f88377715f455f1620725fe8ebd6b486fa0209660b193bf68d1ce1452e2086ac5d169d8ca4c2b61443566232e96fb9c6386ee482bc546cce38078d72e7c3c29f
2022-05-14test: Fix race condition in index pruning testFabian Jahr
Nodes are restarted and reconnected as part of the test. Afterwards `sync_blocks` is called immediately on the nodes. `sync_blocks` first checks that all the included nodes have at least one connection. Since adding a connection is usually happening in a thread, sometimes nodes could run into this check before the connection was fully established so that it would fail the entire test. This fix uses the `connect_nodes` helper to make the connection the nodes. `connect_nodes` has a wait for the connection built into it.
2022-05-13Merge bitcoin/bitcoin#25113: Bump univalue subtreefanquake
f403531f97cb80930e9a8e70a6f0dbde4cc8a866 Squashed 'src/univalue/' changes from a44caf65fe..6c19d050a9 (MacroFake) Pull request description: Only change is some header-shuffling and adding `getInt`. ACKs for top commit: fanquake: ACK fac2c796cb4137e025a4a783f7460e5db9c74bc2 Tree-SHA512: 8bdf7d88ce06f0851f99f30c30fc926a13b79ae72bcebd5e170ed0e1d882b184d9279f96488e234fbe560036e31cb180aa1e5666aebd9833b9a119c6b214fa30
2022-05-13Merge bitcoin/bitcoin#24595: deploymentstatus: move g_versionbitscache ↵MacroFake
global to ChainstateManager bb5c24b120a3ac7df367a1c5d9b075ca564efb5f validation: move g_versionbitscache into ChainstateManager (Anthony Towns) eca22c726ac48b4216bb68cc0f0bbd655c43ac12 test/versionbits: make versionbitscache a parameter (Anthony Towns) d603f1d8a7cdc0a158ed80ade8a843b61b6ad08e deploymentstatus: make versionbitscache a parameter (Anthony Towns) 78adef17536edef833a0bfca06b61ce28120e486 refactor: use chainman instead of chainParams for DeploymentActive* (Anthony Towns) deffe0df6c36225bada18603b5a840139f030f2c deploymentstatus: allow chainman in place of consensusParams (Anthony Towns) eaa2e3f25cefbd1b9a1214102f88dbfa8109d244 validation: move UpdateUncommittedBlockStructures and GenerateCoinbaseCommitment into ChainstateManager (Anthony Towns) 5c67e84d37d452e9186a6357e5405fabeff241c7 validation: replace ::Params() calls with chainstate/chainman member (Anthony Towns) 38860f93b680f152fc6fc3d9ae574a4c0659e775 validation: remove redundant CChainParams params from ChainstateManager methods (Anthony Towns) 69675ea4e73dcf5e9dd0f94802bd3463e4262081 validation: add CChainParams to ChainstateManager (Anthony Towns) Pull request description: Gives `ChainstateManager` a reference to the `CChainParams` its working on, and simplifies some of the functions that would otherwise take that as a parameter. Removes the `g_versionbitscache` global by moving it into `ChainstateManager`. ACKs for top commit: dongcarl: reACK bb5c24b120a3ac7df367a1c5d9b075ca564efb5f MarcoFalke: review ACK bb5c24b120a3ac7df367a1c5d9b075ca564efb5f 📙 Tree-SHA512: 3fa74905e5df561e3e74bb0b8fce6085c5311e6633e7d74c0fb0c82a907f5bbb1fd4ebc5d11d4f0b1c019bb51eabb9f6e4bcc4652a696d36a5878c807b85f121
2022-05-13Merge bitcoin/bitcoin#25117: test: Check msg type in msg capture is followed ↵MacroFake
by zeros faa5a7a5735b054b5fd2dca6ef6fca2fad6edbde test: Check msg type in msg capture is followed by zeros (MacroFake) Pull request description: Checking that they are not printable is an odd (and wrong) way to check that all chars are zero. ACKs for top commit: theStack: Code-review ACK faa5a7a5735b054b5fd2dca6ef6fca2fad6edbde Tree-SHA512: 63e001bd25298dcf47606f8ab11ddfb704ca963304149b0f6e188eb7dcf45c41f92d39f26bda32bceb03384720c9bdddb2673dba513cd9242dc9663d498b3f29
2022-05-13Merge bitcoin/bitcoin#25119: net, refactor: move StartExtraBlockRelayPeers() ↵MacroFake
from header to implementation 51ec96b904f349056e805c6b2a6de5257e8fbdee refactor: move StartExtraBlockRelayPeers from header to implementation (Jon Atack) Pull request description: where all the other logging actions in src/net.{h,cpp} are located. StartExtraBlockRelayPeers() does not appear to be a hotspot that needs to be inlined for performance, as it is called from CheckForStaleTipAndEvictPeers(), called in turn from StartScheduledTasks() with a scheduleEvery delta of 45 seconds, called at the end of AppInitMain() on bitcoind startup. This allows dropping `#include <logging.h>` from net.h, which can improve compile time/speed. Currently, none of the other includes in net.h use logging.h, except src/sync.h if DEBUG_LOCKCONTENTION is defined. ACKs for top commit: LarryRuane: ACK 51ec96b904f349056e805c6b2a6de5257e8fbdee theStack: ACK 51ec96b904f349056e805c6b2a6de5257e8fbdee Tree-SHA512: 69b2c09163c48bfcb43355af0aa52ee7dd81efc755a7aa6a10f5e400b5e14109484437960a62a1cfac2524c2cfae981fee082846b19526b540ef5b86be97f0fe
2022-05-13Merge bitcoin/bitcoin#25121: test: compare `/mempool/info` response with ↵MacroFake
`getmempoolinfo` RPC 1df42bc262d994c30d390ea73b232b8d2548899e test: compare `/mempool/info` response with `getmempoolinfo` RPC (brunoerg) Pull request description: This PRs compares `/mempool/info` REST response with `getmempoolinfo` RPC in `interface_rest.py`. Similar to #24936 and #24797. ACKs for top commit: theStack: ACK 1df42bc262d994c30d390ea73b232b8d2548899e Tree-SHA512: 2de36d70fa61612e7976f875e55f98e78b1cdb909b48cff18e6a70c55eda34b799e210bcd55361ea947388b7778d867290a73be4f799bb36afd65423ad49c487
2022-05-12test: compare `/mempool/info` response with `getmempoolinfo` RPCbrunoerg
2022-05-12Merge bitcoin/bitcoin#25115: scripted-diff: replace non-standard fixed width ↵fanquake
integer types (`u_int`... -> `uint`...) 672d49c863fd6b0f096f166aeb3504f51dfa7d19 scripted-diff: replace non-standard fixed width integer types (`u_int`...` -> `uint`...) (Sebastian Falbesoner) Pull request description: Fixed width integer types prefixed with `u_int` are not part of C++ (see https://en.cppreference.com/w/cpp/types/integer), so it's better to avoid and replace them with their standard-conforming counterparts. (For those interested in history, according to one theory those u_int... types have been introduced by BSD: https://stackoverflow.com/a/5163960, http://lists.freedesktop.org/archives/release-wranglers/2004-August/000923.html). ACKs for top commit: laanwj: Code review ACK 672d49c863fd6b0f096f166aeb3504f51dfa7d19 fanquake: ACK 672d49c863fd6b0f096f166aeb3504f51dfa7d19 Tree-SHA512: 68134a0adca0d5c87a7432367cb493491a67288d69a174be2181f8e26efa968d966b9eb1cde94813942405063ee3be2a3437cf2aa5f71375f59205cbdbf501bb
2022-05-12refactor: move StartExtraBlockRelayPeers from header to implementationJon Atack
where all the other logging actions in src/net.{h,cpp} are located. StartExtraBlockRelayPeers() does not appear to be a hotspot that needs to be inlined for performance, as it is called from CheckForStaleTipAndEvictPeers(), called in turn from StartScheduledTasks() with a scheduleEvery delta of 45 seconds, called at the end of AppInitMain() on bitcoind startup. This allows dropping `#include <logging.h>` from net.h, which can improve compile time/speed. Currently, none of the other includes in net.h use logging.h, except src/sync.h if DEBUG_LOCKCONTENTION is defined.
2022-05-12test: Check msg type in msg capture is followed by zerosMacroFake
2022-05-12scripted-diff: replace non-standard fixed width integer types (`u_int`...` ↵Sebastian Falbesoner
-> `uint`...) -BEGIN VERIFY SCRIPT- sed -i 's/u_int/uint/g' $(git grep -l u_int) -END VERIFY SCRIPT-
2022-05-12Bump univalue subtreeMacroFake
2022-05-12Squashed 'src/univalue/' changes from a44caf65fe..6c19d050a9MacroFake
6c19d050a9 Merge bitcoin-core/univalue-subtree#33: Add getInt<Integral>() helper 09e4a930fc Add getInt helper 10619e0d9a Merge bitcoin-core/univalue#32: refactor: include-what-you-use 431cdf5d27 refactor: use constexpr where appropriate 64fc881fa4 refactor: cleanup headers for iwyu 9c35bf38eb Merge bitcoin-core/univalue-subtree#30: doc: note that our API has diverged from upstream 09b65facb9 doc: note that our API has diverged from upstream git-subtree-dir: src/univalue git-subtree-split: 6c19d050a9bcb2be216121db0df57c930a9ee12e
2022-05-12Merge bitcoin/bitcoin#25102: Remove unused GetTimeSecondsMacroFake
fab9e8a29c2cdeab6cf1ae7c1fc0e0a3af783b17 Remove unused GetTimeSeconds (MacroFake) Pull request description: Seems confusing to have this helper when it is possible to get the system time in a type-safe way by simply calling `std::chrono::system_clock::now` (C++11). This patch replaces `GetTimeSeconds` and removes it: * in `bitcoin-cli.cpp` by `system_clock` * in `test/fuzz/fuzz.cpp` by `steady_clock` ACKs for top commit: laanwj: Code review ACK fab9e8a29c2cdeab6cf1ae7c1fc0e0a3af783b17 naumenkogs: ACK fab9e8a29c2cdeab6cf1ae7c1fc0e0a3af783b17 Tree-SHA512: 517e300b0baf271cfbeebd4a0838871acbea9360f9dd23572a751335c20c1ba261b1b5ee0aec8a36abd20c94fab83ce94f46042745279aca1f0ca2f885a03b6e
2022-05-12Merge bitcoin/bitcoin#25099: guix: bump time-machine to ↵fanquake
998eda3067c7d21e0d9bb3310d2f5a14b8f1c681 298389e3b51edf561a2b636df0948a232167693a guix: bump time-machine to 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681 (fanquake) Pull request description: There are two reasons to perform this bump: * Fixes #25082 by bumping to a commit that includes a fix for time-dependent unit tests in libgit2 ([f5fe0082abe4547f3fb9f29d8351473cfb3a387b](https://git.savannah.gnu.org/cgit/guix.git/commit/?id=f5fe0082abe4547f3fb9f29d8351473cfb3a387b)). * Gives us access to clang-toolchain-14 (14.0.3, [998eda3067c7d21e0d9bb3310d2f5a14b8f1c681](https://git.savannah.gnu.org/cgit/guix.git/commit/?id=998eda3067c7d21e0d9bb3310d2f5a14b8f1c681)), which is useful for the Guix portion of #21778. Note that with this bump our Linux kernels headers also update from 5.15.28 to [5.15.37](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/linux.scm?id=998eda3067c7d21e0d9bb3310d2f5a14b8f1c681#n382). Guix Build x86_64: ```bash 9362d95e562650aa8311550650bed4610548366e6aa97af069c164251a51a1bb guix-build-298389e3b51e/output/aarch64-linux-gnu/SHA256SUMS.part 29ddd7d05a9086c76bca0c0dd2453eb6756c3442454ddb1a9427ebf8b9e0d225 guix-build-298389e3b51e/output/aarch64-linux-gnu/bitcoin-298389e3b51e-aarch64-linux-gnu-debug.tar.gz 407e34deff56c2e39e74da4a028b9597e29f320ff03c5ba250ef1e96fde9c400 guix-build-298389e3b51e/output/aarch64-linux-gnu/bitcoin-298389e3b51e-aarch64-linux-gnu.tar.gz 3c26a2489c166677d5d36857b0b37ffa477ce1adf86ed5ce7a0dc320b9f40078 guix-build-298389e3b51e/output/arm-linux-gnueabihf/SHA256SUMS.part 32e20991bb881b9251f33b7806b46add5058b2ca67a565025539571575f02b8b guix-build-298389e3b51e/output/arm-linux-gnueabihf/bitcoin-298389e3b51e-arm-linux-gnueabihf-debug.tar.gz b6be5e6e4c86f696fc0d8b891912405f6ebdf2a41f1732f32dde561bc7e35bc3 guix-build-298389e3b51e/output/arm-linux-gnueabihf/bitcoin-298389e3b51e-arm-linux-gnueabihf.tar.gz c94a0d1226227617d8347d0b6e3a3c717784781a0dbf1fb9954808f80baf194e guix-build-298389e3b51e/output/arm64-apple-darwin/SHA256SUMS.part e5b08c3ff5b7bed3ef71fe9f3291e3abc019342324dccc41e2d18ce5613f165c guix-build-298389e3b51e/output/arm64-apple-darwin/bitcoin-298389e3b51e-arm64-apple-darwin-unsigned.dmg 450b00bd439dbe3e7a332cc0c137edbbfb5aa14333b29489c678f284e9ce73b5 guix-build-298389e3b51e/output/arm64-apple-darwin/bitcoin-298389e3b51e-arm64-apple-darwin-unsigned.tar.gz 1efb0ad7a8c655b0b618666259427752570bdeed181b08eb295344e63c185fc5 guix-build-298389e3b51e/output/arm64-apple-darwin/bitcoin-298389e3b51e-arm64-apple-darwin.tar.gz e632f3667ede2c4b29966da481556957371a75feadd4b991bb63c51cd8f26365 guix-build-298389e3b51e/output/dist-archive/bitcoin-298389e3b51e.tar.gz 6146a8fe15189724cdcae78d4dcb1e7d2224f9dd170d1a5bebb32abf5a8a5fca guix-build-298389e3b51e/output/powerpc64-linux-gnu/SHA256SUMS.part c57e87316c72fadb6388e3c6bbb946120e3dacc36d6e31f5a5bec6717e1117a3 guix-build-298389e3b51e/output/powerpc64-linux-gnu/bitcoin-298389e3b51e-powerpc64-linux-gnu-debug.tar.gz 7eecdd0628b384a874e8ff9d991498ad1122fe10ff6cd14d8be328e7b6adaa15 guix-build-298389e3b51e/output/powerpc64-linux-gnu/bitcoin-298389e3b51e-powerpc64-linux-gnu.tar.gz acf9384d2cc9a916f867250f65d955086ba15575f1d4eb274e2b8bee3e26a5dc guix-build-298389e3b51e/output/powerpc64le-linux-gnu/SHA256SUMS.part 1dfe717291519412f699df0586cbbf87aa50a51c0e06591ae94ef41554d09463 guix-build-298389e3b51e/output/powerpc64le-linux-gnu/bitcoin-298389e3b51e-powerpc64le-linux-gnu-debug.tar.gz 855a254be01d13f7ea5d7f369232d889da32f2d05c60f90d8e001fb3630d2c6b guix-build-298389e3b51e/output/powerpc64le-linux-gnu/bitcoin-298389e3b51e-powerpc64le-linux-gnu.tar.gz 1c6c90479086a50728e3f82efecf56329cca46f6653daa738202386e6b47c26a guix-build-298389e3b51e/output/riscv64-linux-gnu/SHA256SUMS.part 0aad597ba84228ede14ebd799a8ba46f10f531f773c49644a2c022d686d29d8c guix-build-298389e3b51e/output/riscv64-linux-gnu/bitcoin-298389e3b51e-riscv64-linux-gnu-debug.tar.gz d7688db3e84e8f60147744cbcb16a0a3d15819f575343e2ecd4a1ccf089c91e6 guix-build-298389e3b51e/output/riscv64-linux-gnu/bitcoin-298389e3b51e-riscv64-linux-gnu.tar.gz 8f63eeb1c6b28ce3846b240e5f594bdae03bf586255adc9c7b80c67e66d8c3b5 guix-build-298389e3b51e/output/x86_64-apple-darwin/SHA256SUMS.part 1fcbe9c97ff2b7d5b3fd4360dde7027949fd457a089491e176f90e406c731abf guix-build-298389e3b51e/output/x86_64-apple-darwin/bitcoin-298389e3b51e-x86_64-apple-darwin-unsigned.dmg cb5203c422c113c3c8c40183353e75618d26fabe59becc7e1414cdca12496fb9 guix-build-298389e3b51e/output/x86_64-apple-darwin/bitcoin-298389e3b51e-x86_64-apple-darwin-unsigned.tar.gz 7eaf1df97ff30f05f2fbd823a2b8b84e746d284ddaf3ece57a38edd19830c153 guix-build-298389e3b51e/output/x86_64-apple-darwin/bitcoin-298389e3b51e-x86_64-apple-darwin.tar.gz bec9db8a9f0667b23a1ee950971e9ab019e4370f9cf8f7d7b3d2587d9c83ca92 guix-build-298389e3b51e/output/x86_64-linux-gnu/SHA256SUMS.part 199e22b5e9b37955caa73d5afe3b2de122a42f941395c45deab9be5dac40e437 guix-build-298389e3b51e/output/x86_64-linux-gnu/bitcoin-298389e3b51e-x86_64-linux-gnu-debug.tar.gz c084c3b1cdda799cf7530ab1b648c4728ffb79e46f8ab4cd33a8634bcab08d4b guix-build-298389e3b51e/output/x86_64-linux-gnu/bitcoin-298389e3b51e-x86_64-linux-gnu.tar.gz 8cc6a3bfca126ace0b37136ef1a6e3be5ed3e676d50633010b91956d7be3afb6 guix-build-298389e3b51e/output/x86_64-w64-mingw32/SHA256SUMS.part 1d8b60b280d82527960ae5b4e5bfd5167e2643039ac7d2638142d3305f76ab15 guix-build-298389e3b51e/output/x86_64-w64-mingw32/bitcoin-298389e3b51e-win64-debug.zip d2400426c56de368e5988fb243a92bb134436936f8fc744a09d376ca74f051af guix-build-298389e3b51e/output/x86_64-w64-mingw32/bitcoin-298389e3b51e-win64-setup-unsigned.exe dc259648446fa94e8d5a187582489a7dd3386a4c9c214f56919a84e64625c733 guix-build-298389e3b51e/output/x86_64-w64-mingw32/bitcoin-298389e3b51e-win64-unsigned.tar.gz 62094d08c406d8672e00a86c6e102ff6bdac7a279216824fbef68bcc0c456297 guix-build-298389e3b51e/output/x86_64-w64-mingw32/bitcoin-298389e3b51e-win64.zip ``` Guix Build arm64: ```bash dac7955a62e6c67323849103662c8ef34046093cb4ba524b803ee2dbdfa6bc47 guix-build-298389e3b51e/output/arm-linux-gnueabihf/SHA256SUMS.part c9b0e43e0c665005d22b1af0191aa7df10c1e7302c6f9fa8a1aaa10703e1861f guix-build-298389e3b51e/output/arm-linux-gnueabihf/bitcoin-298389e3b51e-arm-linux-gnueabihf-debug.tar.gz 85f7205fc4d4eaf1834f6e83f36d6c25626ca3b82180166be171161ebd893899 guix-build-298389e3b51e/output/arm-linux-gnueabihf/bitcoin-298389e3b51e-arm-linux-gnueabihf.tar.gz b902698168c6b5521054c607d101fe0c1c2044ac27c6e3432dd9f9a4121bee85 guix-build-298389e3b51e/output/arm64-apple-darwin/SHA256SUMS.part b6464187d7984f5645a4d1a9efde1e8f3e2e8293d7d2b1791f22906ef44eb53b guix-build-298389e3b51e/output/arm64-apple-darwin/bitcoin-298389e3b51e-arm64-apple-darwin-unsigned.dmg b5c1ceb74df3cc41550a197135f7315f2c15fd9fc1c67ecfa7ebf87e5272f6c9 guix-build-298389e3b51e/output/arm64-apple-darwin/bitcoin-298389e3b51e-arm64-apple-darwin-unsigned.tar.gz b46e4c18421622b824a063901f2a6a96118a8a5fafc81cf47be9f47dba22aeb3 guix-build-298389e3b51e/output/arm64-apple-darwin/bitcoin-298389e3b51e-arm64-apple-darwin.tar.gz e632f3667ede2c4b29966da481556957371a75feadd4b991bb63c51cd8f26365 guix-build-298389e3b51e/output/dist-archive/bitcoin-298389e3b51e.tar.gz 74a46177ee6e04fc8d4bf3d3086ed83ddb60a825d573a38ea1843408a7da4c12 guix-build-298389e3b51e/output/powerpc64-linux-gnu/SHA256SUMS.part 475b946f9cbb0e97ce0da1b814f44fd50e845c000618c29528b0771263fbe6c6 guix-build-298389e3b51e/output/powerpc64-linux-gnu/bitcoin-298389e3b51e-powerpc64-linux-gnu-debug.tar.gz 2d3f8246f20d034f6a27b5f1e549c58c4aec5f80cdb54cc95e1c08f9ab7c83d8 guix-build-298389e3b51e/output/powerpc64-linux-gnu/bitcoin-298389e3b51e-powerpc64-linux-gnu.tar.gz 407565823bc5c2ffd45a19856b69db358c631229a44c7e73404fc6cdc304ae5e guix-build-298389e3b51e/output/powerpc64le-linux-gnu/SHA256SUMS.part 376d8767b9b6885f60bffcc1cc4fecec506cd897684538c4c8d6b421346b196d guix-build-298389e3b51e/output/powerpc64le-linux-gnu/bitcoin-298389e3b51e-powerpc64le-linux-gnu-debug.tar.gz e58b35bcb05585b3afd60f528d842b941ef204ec8e260df67984f701e73d33f9 guix-build-298389e3b51e/output/powerpc64le-linux-gnu/bitcoin-298389e3b51e-powerpc64le-linux-gnu.tar.gz 1b3b7aec9af981f1529d28e52a81f189cf040898f36bb87b8d05cf0005cc6296 guix-build-298389e3b51e/output/riscv64-linux-gnu/SHA256SUMS.part 93cf1241718e4ee5bad8136f54438a17e6e451407f228f529e826f069afdf2e8 guix-build-298389e3b51e/output/riscv64-linux-gnu/bitcoin-298389e3b51e-riscv64-linux-gnu-debug.tar.gz 9a3140da9b03155f7074a792bd7596c033b18a05da05c92dfaf27e84773a40a9 guix-build-298389e3b51e/output/riscv64-linux-gnu/bitcoin-298389e3b51e-riscv64-linux-gnu.tar.gz 8f63eeb1c6b28ce3846b240e5f594bdae03bf586255adc9c7b80c67e66d8c3b5 guix-build-298389e3b51e/output/x86_64-apple-darwin/SHA256SUMS.part 1fcbe9c97ff2b7d5b3fd4360dde7027949fd457a089491e176f90e406c731abf guix-build-298389e3b51e/output/x86_64-apple-darwin/bitcoin-298389e3b51e-x86_64-apple-darwin-unsigned.dmg cb5203c422c113c3c8c40183353e75618d26fabe59becc7e1414cdca12496fb9 guix-build-298389e3b51e/output/x86_64-apple-darwin/bitcoin-298389e3b51e-x86_64-apple-darwin-unsigned.tar.gz 7eaf1df97ff30f05f2fbd823a2b8b84e746d284ddaf3ece57a38edd19830c153 guix-build-298389e3b51e/output/x86_64-apple-darwin/bitcoin-298389e3b51e-x86_64-apple-darwin.tar.gz f78df19d3ba5f7307d2f083797c4d4c12167ac3a14e1e6e89ce5c89c3fc02a88 guix-build-298389e3b51e/output/x86_64-linux-gnu/SHA256SUMS.part 87f9446ff4e842f2da064df07dc386e21ca1c8a4697751a983f60a5fc915921e guix-build-298389e3b51e/output/x86_64-linux-gnu/bitcoin-298389e3b51e-x86_64-linux-gnu-debug.tar.gz 115f9f815f20a549b37b7b66031d5e2d3f9d5666e526af1e284697b93016f0bc guix-build-298389e3b51e/output/x86_64-linux-gnu/bitcoin-298389e3b51e-x86_64-linux-gnu.tar.gz 3d7c0288e2c382e45d7eda37e95524a35a75a40d6e4f0c767acf5fe7e19012fe guix-build-298389e3b51e/output/x86_64-w64-mingw32/SHA256SUMS.part 0f6108ccf2602e2c220ba95ce9041d282e2e9e2831932bdcc8138f46cf88f934 guix-build-298389e3b51e/output/x86_64-w64-mingw32/bitcoin-298389e3b51e-win64-debug.zip d2400426c56de368e5988fb243a92bb134436936f8fc744a09d376ca74f051af guix-build-298389e3b51e/output/x86_64-w64-mingw32/bitcoin-298389e3b51e-win64-setup-unsigned.exe dc259648446fa94e8d5a187582489a7dd3386a4c9c214f56919a84e64625c733 guix-build-298389e3b51e/output/x86_64-w64-mingw32/bitcoin-298389e3b51e-win64-unsigned.tar.gz 8920354d22cadc450ca49a0d73e51ca0be6788b9ffab7e4d6159f55db40ef6ef guix-build-298389e3b51e/output/x86_64-w64-mingw32/bitcoin-298389e3b51e-win64.zip ``` Top commit has no ACKs. Tree-SHA512: 4bc593af1120fb15a46bf950d373e6f188aff39a400e350d5fb0380ca740a7a146ce36a56ba298d2b2d9436020c4bfbf1f7c633362ac3fa703b40a1613532b81
2022-05-12Merge bitcoin/bitcoin#24925: refactor: make GetRand a template, remove ↵MacroFake
GetRandInt ab1ea29ba1b8379a21fabd3dc859552c470a6421 refactor: make GetRand a template, remove GetRandInt (pasta) Pull request description: makes GetRand a template for which any integral type can be used, where the default behavior is to return a random integral up to the max of the integral unless a max is provided. This simplifies a lot of code from GetRand(std::numeric_limits<uint64_t>::max() -> GetRand<uint64_t>() ACKs for top commit: laanwj: Code review ACK ab1ea29ba1b8379a21fabd3dc859552c470a6421 Tree-SHA512: db5082a0e21783389f1be898ae73e097b31ab48cab1a2c0e29348a4adeb545d4098193aa72a547c6baa6e8205699aafec38d6a27b3d65522fb3246f91b4daae9
2022-05-11Merge bitcoin/bitcoin#25051: Bugfix: configure: Define defaults for ↵laanwj
enable_arm_{crc,shani} 7fd0860d12da723a228ddd3c9fb905380eb8b379 Bugfix: configure: Define defaults for enable_arm_{crc,shani} (Luke Dashjr) Pull request description: Fix for #17398 and #24115 Trivial, mostly for consistency (you'd have to *try* to break this) ACKs for top commit: pk-b2: ACK https://github.com/bitcoin/bitcoin/pull/25051/commits/7fd0860d12da723a228ddd3c9fb905380eb8b379 seejee: ACK https://github.com/bitcoin/bitcoin/commit/7fd0860d12da723a228ddd3c9fb905380eb8b379 vincenzopalazzo: ACK https://github.com/bitcoin/bitcoin/pull/25051/commits/7fd0860d12da723a228ddd3c9fb905380eb8b379 Tree-SHA512: 51c389787c369f431ca57071f03392438bff9fd41f128c63ce74ca30d2257213f8be225efcb5c1329ad80b714f44427d721215d4f848cc8e63060fa5bc8f1f2e
2022-05-11Merge bitcoin/bitcoin#25100: Switch scheduler to steady_clockMacroFake
fa9051642269f62f560af3f323fbf36cb7b58082 Switch scheduler to steady_clock (MacroFake) Pull request description: There is already `mockscheduler`, so it seems brittle, confusing and redundant to be able to mock the scheduler by adjusting the system clock. ACKs for top commit: laanwj: Code review ACK fa9051642269f62f560af3f323fbf36cb7b58082 w0xlt: crACK https://github.com/bitcoin/bitcoin/pull/25100/commits/fa9051642269f62f560af3f323fbf36cb7b58082 Tree-SHA512: 60e99065ffb881a9fb25a346d311d99424fbc72a3b636c94b5f5c17ed6373c40f358a9b27825c518d12968c033e6cfd3c62d2b62cacdddc44a0b5b74f6c1a7ae
2022-05-11Merge bitcoin/bitcoin#25104: wallet: Change log interval to use `steady_clock`MacroFake
bdc6881e2f796f4a9a5873826219e24f17a96a7c wallet: Change log interval to use `steady_clock` (w0xlt) Pull request description: This refactors the log interval variables to use `steady_clock` as it is best suitable for measuring intervals. ACKs for top commit: laanwj: This makes sense. Code review ACK bdc6881e2f796f4a9a5873826219e24f17a96a7c dunxen: Code review ACK bdc6881 Tree-SHA512: 738b4aa45cef01df77102320f83096a0a7d0c63d7fcf098a8c0ab16b29453a87dc789c110105590e1e215d03499db1d889a94f336dcb385b6883c8364c9d39b7
2022-05-11Remove unused GetTimeSecondsMacroFake
2022-05-11Merge bitcoin/bitcoin#25106: rpc: dumptxoutset: check `fopen` return codeMacroFake
9feb887082be911a8342f8090af4dca3db76db9b rpc: check `fopen` return code in dumptxoutset (Sebastian Falbesoner) Pull request description: This change improves the usability of the `dumptxoutset` RPC in two ways, in the case that an invalid path is passed: 1. return from the RPC immediately, rather then when the file is first tried to be written (which is _after_ calculating the UTXO set hash) 2. return a proper return code and error message instead of the cryptic message that appears on master currently (see below) master branch: (error message appears after several minutes on my machine) ``` $ ./src/bitcoin-cli dumptxoutset /invalid/path error code: -1 error message: CAutoFile::operator<<: file handle is nullptr: unspecified iostream_category error ``` PR branch: (error message appears immediately) ``` $ ./src/bitcoin-cli dumptxoutset /invalid/path error code: -8 error message: Couldn't open file /invalid/path.incomplete for writing. ``` ACKs for top commit: w0xlt: Code Review ACK https://github.com/bitcoin/bitcoin/pull/25106/commits/9feb887082be911a8342f8090af4dca3db76db9b Tree-SHA512: e8695a7e86f26cc3b086d6bc6888388061f1dee439f76409b3ee11d35032bfd9cfa5349b728cd7f45bcffd999ecf9a6a991be172ce587b9b14503d9916b6e984
2022-05-11rpc: check `fopen` return code in dumptxoutsetSebastian Falbesoner
This change improves the usability of the `dumptxoutset` RPC in two ways, in the case that an invalid path is passed: 1. return from the RPC immediately, rather then when the file is first tried to be written (which is _after_ calculating the UTXO set hash) 2. return a proper return code and error message instead of the cryptic "CAutoFile::operator<<: file handle is nullptr: unspecified iostream_category error" (-1)
2022-05-11Merge bitcoin/bitcoin#25090: doc: Explain Bitcoin Core instead of Bitcoin in ↵fanquake
README.md faeb5b59a098578b3e8c552d35b5ba02b12af14d doc: Explain Bitcoin Core in README.md (MacroFake) Pull request description: Currently the README doesn't explain what Bitcoin Core is. Fix that. Further reading / Inspired by: * https://github.com/bitcoin/bitcoin/pull/25012 * https://github.com/bitcoin-core/bitcoincore.org/pull/783 * https://github.com/bitcoin-core/bitcoincore.org/pull/784 ACKs for top commit: laanwj: re-ACK faeb5b59a098578b3e8c552d35b5ba02b12af14d brunoerg: ACK faeb5b59a098578b3e8c552d35b5ba02b12af14d 1440000bytes: ACK https://github.com/bitcoin/bitcoin/pull/25090/commits/faeb5b59a098578b3e8c552d35b5ba02b12af14d w0xlt: ACK https://github.com/bitcoin/bitcoin/pull/25090/commits/faeb5b59a098578b3e8c552d35b5ba02b12af14d Tree-SHA512: f9a9460853487a46ba0219d26cefa1fcf8d650deb3c2656737a54648016af0cdac58c5d4641a390be8c05f3e78185bd99801e239fcb87d410c4df31f61bc7016
2022-05-10wallet: Change log interval to use `steady_clock`w0xlt
This refactors the log interval variables to use `steady_clock` as it is best suitable for measuring intervals.
2022-05-10Merge bitcoin/bitcoin#24793: test: Change color of skipped functional testslaanwj
3258bad996262792ba77573d6080dafa3952929c changes color of skipped functional tests (Jacob P. Fickes) Pull request description: changes the color of skipped functional tests (currently grey and can be hard to read/invisible on dark backgrounds) to yellow. resolves #24791 ACKs for top commit: theStack: Tested ACK 3258bad996262792ba77573d6080dafa3952929c jarolrod: Tested ACK https://github.com/bitcoin/bitcoin/commit/3258bad996262792ba77573d6080dafa3952929c Tree-SHA512: 3fe5ae0d3b4902b2b6bda6e89ab780feb8bf4b7cb1ce7e8467057b94a1e0a26ddeaf3cac0bc19b06ef10d8bccaac9c495029d42740fbedab8fb0d5fdd7d02eaf
2022-05-10Switch scheduler to steady_clockMacroFake
2022-05-10Merge bitcoin/bitcoin#24921: Add time helpers for std::chrono::steady_clock ↵MacroFake
and FastRandomContext::rand_uniform_delay fa4fb8d98b7e8e5ea2db35bf239fa7f248da5d8e random: Add FastRandomContext::rand_uniform_delay (MarcoFalke) faa5c62967174f1dd66e8a4ba61ab29c867cf450 Add time helpers for std::chrono::steady_clock (MarcoFalke) Pull request description: A steady clock can be used in the future for the scheduler, for example. A random uniform delay applied to a time point can be used in the future for time points passed to the scheduler, or delays in net processing. Currently they are unused outside of tests, but if they turn out unused in the future (unlikely), they can trivially be removed again. I am splitting them out, so that several branches/pulls can build on top of them without duplicating the commits. ACKs for top commit: ajtowns: ACK fa4fb8d98b7e8e5ea2db35bf239fa7f248da5d8e Tree-SHA512: 2c37174468fe84b1cdf2a032f458706df44b99a5f99062417bb42078b6f69e2f1738d20c21cd9386ca5a35f3bc0583e547ba40168c66f6aa42f700ba35dd95d4
2022-05-10doc: Explain Bitcoin Core in README.mdMacroFake
2022-05-10Merge bitcoin/bitcoin#25079: index: Change sync variables to use ↵MacroFake
`std::chrono::steady_clock` 92b35aba224ad4440f3ea6c01c841596a6a3d6f4 index, refactor: Change sync variables to use `std::chrono::steady_clock` (w0xlt) Pull request description: This PR refactors the sync variables to use `std::chrono::steady_clock` as it is best suitable for measuring intervals. ACKs for top commit: jonatack: utACK 92b35aba224ad4440f3ea6c01c841596a6a3d6f4 ajtowns: ACK 92b35aba224ad4440f3ea6c01c841596a6a3d6f4 - code review only Tree-SHA512: cd4bafde47b30beb88c0aac247e41b4dced2ff2845c67a7043619da058dcff4f84374a7c704a698f3055c888d076d25503c2f38ace8fbc5456f624e0efe1e188
2022-05-10validation: move g_versionbitscache into ChainstateManagerAnthony Towns
2022-05-10test/versionbits: make versionbitscache a parameterAnthony Towns
2022-05-10deploymentstatus: make versionbitscache a parameterAnthony Towns
2022-05-10refactor: use chainman instead of chainParams for DeploymentActive*Anthony Towns
2022-05-10deploymentstatus: allow chainman in place of consensusParamsAnthony Towns
2022-05-10validation: move UpdateUncommittedBlockStructures and ↵Anthony Towns
GenerateCoinbaseCommitment into ChainstateManager
2022-05-10validation: replace ::Params() calls with chainstate/chainman memberAnthony Towns
2022-05-10validation: remove redundant CChainParams params from ChainstateManager methodsAnthony Towns
2022-05-10validation: add CChainParams to ChainstateManagerAnthony Towns
2022-05-09Merge bitcoin-core/gui#590: refactor: Declare `WalletModel` member functions ↵Hennadii Stepanov
with `const` f70ee34c71aeeb814fe65a69952343dccdb7b906 qt, refactor: Declare `WalletModel` member functions with `const` (Hennadii Stepanov) Pull request description: After bitcoin/bitcoin#12830 the `WalletModel` class has two member functions: https://github.com/bitcoin-core/gui/blob/be7a5f2fc400e7a3ef72dedbdcf49dd6c96d4f9e/src/qt/walletmodel.h#L81 and https://github.com/bitcoin-core/gui/blob/be7a5f2fc400e7a3ef72dedbdcf49dd6c96d4f9e/src/qt/walletmodel.h#L154 This PR drops the former one as redundant, and declares `WalletModel` member functions with the `const` qualifier where appropriate. ACKs for top commit: promag: Code review ACK f70ee34c71aeeb814fe65a69952343dccdb7b906. kristapsk: cr ACK f70ee34c71aeeb814fe65a69952343dccdb7b906 w0xlt: Code Review ACK https://github.com/bitcoin-core/gui/pull/590/commits/f70ee34c71aeeb814fe65a69952343dccdb7b906 Tree-SHA512: 43e6661822c667229ea860fb94c2e3154c33773dbd9fca1f6f76cc31c5875a1a0e8caa65ddfc20dec2a43e29e7b2469b3b6fa148fe7ec000ded518b4958b2b38
2022-05-09guix: bump time-machine to 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681fanquake
There are two reasons to perform this bump: * Fixes #25082 by bumping to a commit that includes a fix for time-dependent unit tests in libgit2 (f5fe0082abe4547f3fb9f29d8351473cfb3a387b). * Gives us access to clang-toolchain-14 (14.0.3, 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681), which is useful for the Guix portion of #21778. Note that with this bump: Linux kernels headers update from 5.15.28 to 5.15.37.
2022-05-09Merge bitcoin-core/gui#591: test: Add tests for `tableView` in ↵Hennadii Stepanov
`AddressBookPage` dialog 15069130c6ca5273f3a593a404f60f11caa7d950 qt, test: Add tests for `tableView` in `AddressBookPage` dialog (Hennadii Stepanov) edae3ab6999ee9e6efabd8403d31e9bd7c84f8a3 qt: No need to force Qt::QueuedConnection for NotifyAddressBookChanged (Hennadii Stepanov) Pull request description: This PR is a prerequisite for more thorough testing of filtering in the `AddressBookPage` class in context of bitcoin-core/gui#578 and bitcoin-core/gui#585. Required for bitcoin-core/gui#592. ACKs for top commit: promag: Code review ACK 15069130c6ca5273f3a593a404f60f11caa7d950. Tree-SHA512: 86986d47606cbd54d813436c7afb21894e2200b6d3042a7aa0b5e84821c765bd68b14ad38a445069891ab33f2d7bcd4933b8373e14e9afb0c91f1a6ddf4da740
2022-05-09Merge bitcoin/bitcoin#25091: test: Remove extended lint (cppcheck)MacroFake
efae252f3072da598160670691757a0d60b9beb4 test: Remove extended lint (cppcheck) (laanwj) Pull request description: These are unreferenced in the CI and documentation, and have been since 2019 (see #17549). I'm not sure the cppcheck is worthwhile. It takes a long time to run (I think this is why it isn't in the normal lints), and right now it only appears to find implicit constructors. The list of exceptions is out of date. But if anyone wants to bring it back at any time in the future they can do so from git history (and port it to Python). ACKs for top commit: fanquake: ACK efae252f3072da598160670691757a0d60b9beb4 Tree-SHA512: 1a770b5d20ff1199d0d6bc471ae3d2c3438f0f0b169ce8d2fe73480daf8d3a7146c066b799afc90aa7898982c5fee79c1daca10e16e2bff0a7b38850aedd55b2
2022-05-09test: Remove extended lint (cppcheck)laanwj
These are unreferenced in the CI and documentation, and have been since 2019 (see #17549). I'm not sure the cppcheck is worthwhile. It takes a long time to run (I think this is why it isn't in the normal lints), and right now it only appears to find implicit constructors. The list of exceptions is out of date. But if anyone wants to bring it back at any time in the future they can do so from git history (and port it to Python).
2022-05-09Merge bitcoin/bitcoin#24946: Unroll the ChaCha20 inner loop for performanceMacroFake
81c09ee45caecf8d9daf6766b94cebf54f3f08cd Unroll the ChaCha20 inner loop for performance (Pieter Wuille) Pull request description: Unrolling the inner ChaCha20 loop gives a ~15% speedup for me in the CHACHA20_* benchmarks. It's a simple change, this performance helps with RNG generation, and will matter more for BIP324. ACKs for top commit: martinus: tested ACK 81c09ee with clang++ 13.0.1, test `CHACHA20_1MB`: MarcoFalke: ACK 81c09ee45caecf8d9daf6766b94cebf54f3f08cd 🍟 Tree-SHA512: 108bd0ba573bb08de92d611e7be7c09a2c2700f9655f44129b87f9b71f7e101dfc6bd345783e7b4b9b40f0b003913cf59187f422da8cdb5b20887f7855b2611a
2022-05-09Merge bitcoin/bitcoin#25078: doc: Shorten explanation of "maintainers"fanquake
fa32ced49cf651b48e0a9cc165e45a27505a461f doc: Shorten explanation of "maintainers" (MacroFake) Pull request description: GitHub has an extensive documentation about permissions ( https://docs.github.com/en/organizations/managing-access-to-your-organizations-repositories/repository-roles-for-an-organization#permissions-for-each-role ), so I don't think we should be trying to mirror them here. Specifically, this pull makes three changes: * Clarify that all "merge maintainers" can merge pull requests. Obviously, while GitHub users with the `Maintain` permission can not force push to protected branches, and GitHub users with the `Admin` permission can, I don't think this is worthy to mention in the contribution guidelines. During the whole time I was working on the project, I think this permission was only used once or twice, when I accidentally pushed an unsigned draft commit directly to `master`. See https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2016-06-13#473584 . One could argue that there should be a list of maintainers in the doc. Though, as there is already a list of keys for verify-commits, this seems like unnecessary overhead. * Clarify that the release process is executed collectively by the developers. For example, release process code changes that are reproducible can be done by anyone without permission. Also, detached signatures are created by several people (see for example https://github.com/bitcoin-core/bitcoin-detached-sigs/commits/23.0), which (I believe) are also separate from the people that can push the binaries to the `bin` folder, which again are separate from the people who can release the snap/flatpak package. * Clarify that moderation is also done collectively by people with `Triage`, `Write`, `Maintain`, and `Admin` permission. I think it is fine to refer to everyone in that group as "maintainers", or at least don't clarify it further, as any attempt at that would start to duplicate GitHub docs. ACKs for top commit: laanwj: ACK fa32ced49cf651b48e0a9cc165e45a27505a461f prusnak: Approach ACK fa32ced49cf651b48e0a9cc165e45a27505a461f fanquake: ACK fa32ced49cf651b48e0a9cc165e45a27505a461f Tree-SHA512: ed87c2e538a32ff1611208a7262425160a4340a3112a1b2712d7e9a550fa191ddbebea0d8e45d3e578ead02d5ef17bddcaab3f6ee876f9018a5acbc65ffd0e1c
2022-05-08random: Add FastRandomContext::rand_uniform_delayMarcoFalke