Commit graph

34192 commits

Author SHA1 Message Date
MacroFake
25dd4d8513
Merge bitcoin/bitcoin#24595: deploymentstatus: move g_versionbitscache global to ChainstateManager
bb5c24b120 validation: move g_versionbitscache into ChainstateManager (Anthony Towns)
eca22c726a test/versionbits: make versionbitscache a parameter (Anthony Towns)
d603f1d8a7 deploymentstatus: make versionbitscache a parameter (Anthony Towns)
78adef1753 refactor: use chainman instead of chainParams for DeploymentActive* (Anthony Towns)
deffe0df6c deploymentstatus: allow chainman in place of consensusParams (Anthony Towns)
eaa2e3f25c validation: move UpdateUncommittedBlockStructures and GenerateCoinbaseCommitment into ChainstateManager (Anthony Towns)
5c67e84d37 validation: replace ::Params() calls with chainstate/chainman member (Anthony Towns)
38860f93b6 validation: remove redundant CChainParams params from ChainstateManager methods (Anthony Towns)
69675ea4e7 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 bb5c24b120
  MarcoFalke:
    review ACK bb5c24b120 📙

Tree-SHA512: 3fa74905e5df561e3e74bb0b8fce6085c5311e6633e7d74c0fb0c82a907f5bbb1fd4ebc5d11d4f0b1c019bb51eabb9f6e4bcc4652a696d36a5878c807b85f121
2022-05-13 09:00:21 +02:00
MacroFake
1d5325a8f9
Merge bitcoin/bitcoin#25117: test: Check msg type in msg capture is followed by zeros
faa5a7a573 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 faa5a7a573

Tree-SHA512: 63e001bd25298dcf47606f8ab11ddfb704ca963304149b0f6e188eb7dcf45c41f92d39f26bda32bceb03384720c9bdddb2673dba513cd9242dc9663d498b3f29
2022-05-13 07:49:22 +02:00
MacroFake
b3f0a34389
Merge bitcoin/bitcoin#25119: net, refactor: move StartExtraBlockRelayPeers() from header to implementation
51ec96b904 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 51ec96b904
  theStack:
    ACK 51ec96b904

Tree-SHA512: 69b2c09163c48bfcb43355af0aa52ee7dd81efc755a7aa6a10f5e400b5e14109484437960a62a1cfac2524c2cfae981fee082846b19526b540ef5b86be97f0fe
2022-05-13 07:47:45 +02:00
MacroFake
fe1fcdc629
Merge bitcoin/bitcoin#25121: test: compare /mempool/info response with getmempoolinfo RPC
1df42bc262 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 1df42bc262

Tree-SHA512: 2de36d70fa61612e7976f875e55f98e78b1cdb909b48cff18e6a70c55eda34b799e210bcd55361ea947388b7778d867290a73be4f799bb36afd65423ad49c487
2022-05-13 07:29:15 +02:00
brunoerg
1df42bc262 test: compare /mempool/info response with getmempoolinfo RPC 2022-05-12 17:49:50 -03:00
fanquake
2709ffb9da
Merge bitcoin/bitcoin#25115: scripted-diff: replace non-standard fixed width integer types (u_int... -> uint...)
672d49c863 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 672d49c863
  fanquake:
    ACK 672d49c863

Tree-SHA512: 68134a0adca0d5c87a7432367cb493491a67288d69a174be2181f8e26efa968d966b9eb1cde94813942405063ee3be2a3437cf2aa5f71375f59205cbdbf501bb
2022-05-12 21:08:02 +01:00
Jon Atack
51ec96b904 refactor: move StartExtraBlockRelayPeers from header to implementation
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-12 17:41:32 +02:00
MacroFake
faa5a7a573
test: Check msg type in msg capture is followed by zeros 2022-05-12 17:07:35 +02:00
Sebastian Falbesoner
672d49c863 scripted-diff: replace non-standard fixed width integer types (u_int... -> uint`...)
-BEGIN VERIFY SCRIPT-
sed -i 's/u_int/uint/g' $(git grep -l u_int)
-END VERIFY SCRIPT-
2022-05-12 15:44:24 +02:00
MacroFake
fac2c796cb
Bump univalue subtree 2022-05-12 11:52:28 +02:00
MacroFake
f403531f97 Squashed 'src/univalue/' changes from a44caf65fe..6c19d050a9
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-12 11:51:51 +02:00
MacroFake
dd9f61a184
Merge bitcoin/bitcoin#25102: Remove unused GetTimeSeconds
fab9e8a29c 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 fab9e8a29c
  naumenkogs:
    ACK fab9e8a29c

Tree-SHA512: 517e300b0baf271cfbeebd4a0838871acbea9360f9dd23572a751335c20c1ba261b1b5ee0aec8a36abd20c94fab83ce94f46042745279aca1f0ca2f885a03b6e
2022-05-12 10:04:54 +02:00
fanquake
6b9d53e1ff
guix: native GCC 10 toolchain for Linux builds 2022-05-12 08:21:16 +01:00
fanquake
88fd3f81ec
guix: use -fcommon when building glibc 2.24
GCC 10 started using -fno-common by default, which causes issues with
the powerpc builds using gibc 2.24. A patch was commited to glibc to fix
the issue, 18363b4f010da9ba459b13310b113ac0647c2fcc but is non-trvial
to backport, and was broken in at least one way, see the followup in
commit 7650321ce037302bfc2f026aa19e0213b8d02fe6.

For now, retain the legacy GCC behaviour by passing -fcommon when
building glibc 2.24.

https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html.
https://sourceware.org/git/?p=glibc.git;a=commit;h=18363b4f010da9ba459b13310b113ac0647c2fcc
https://sourceware.org/git/?p=glibc.git;a=commit;h=7650321ce037302bfc2f026aa19e0213b8d02fe6
2022-05-12 08:21:16 +01:00
fanquake
0e51913595
guix: fix glibc 2.27 multiple definition warnings with GCC 10 2022-05-12 08:21:16 +01:00
fanquake
508bd4d357
guix: adjust RISC-V __has_include() patch to work with GCC 10
The actual macro is __has_include(), not __has_include__(), using the
later would result in build failures when using GCC 10. i.e:
```bash
../sysdeps/unix/sysv/linux/riscv/flush-icache.c:24:5: warning: "__has_include__" is not defined, evaluates to 0 [-Wundef]
   24 | #if __has_include__ (<asm/syscalls.h>)
```

Looks like at least someone else has run into the same thing, see:
http://lists.busybox.net/pipermail/buildroot/2020-July/590376.html.

See also:
https://gcc.gnu.org/onlinedocs/cpp/_005f_005fhas_005finclude.html
https://clang.llvm.org/docs/LanguageExtensions.html#has-include
2022-05-12 08:21:15 +01:00
fanquake
c9c5b3060d
guix: compile glibc without -werror
Compiling glibc 2.24 and 2.27 with the new GCC 10 results in a number of new warnings,
i.e:
```bash
libc-tls.c: In function ‘__libc_setup_tls’:
libc-tls.c:208:30: error: array subscript 1 is outside the bounds of an interior zero-length array ‘struct dtv_slotinfo[0]’ [-Werror=zero-length-bounds]
  208 |   static_slotinfo.si.slotinfo[1].map = main_map;
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
In file included from ../sysdeps/x86_64/ldsodefs.h:54,
                 from ../sysdeps/gnu/ldsodefs.h:46,
                 from ../sysdeps/unix/sysv/linux/ldsodefs.h:25,
                 from libc-tls.c:20:
../sysdeps/generic/ldsodefs.h:398:7: note: while referencing ‘slotinfo’
  398 |     } slotinfo[0];
      |       ^~~~~~~~
```

While we could try and backport all the patches required to fix these up, it would
currently seem easier to disable -Werror, which Guix uses by default when building
glibc.
2022-05-12 08:21:15 +01:00
fanquake
e3bab43329
Merge bitcoin/bitcoin#25099: guix: bump time-machine to 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681
298389e3b5 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-12 08:20:41 +01:00
MacroFake
a2a8e919ee
Merge bitcoin/bitcoin#24925: refactor: make GetRand a template, remove GetRandInt
ab1ea29ba1 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 ab1ea29ba1

Tree-SHA512: db5082a0e21783389f1be898ae73e097b31ab48cab1a2c0e29348a4adeb545d4098193aa72a547c6baa6e8205699aafec38d6a27b3d65522fb3246f91b4daae9
2022-05-12 08:57:22 +02:00
laanwj
51527ec1ec
Merge bitcoin/bitcoin#25051: Bugfix: configure: Define defaults for enable_arm_{crc,shani}
7fd0860d12 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 7fd0860d12
  seejee:
    ACK 7fd0860d12
  vincenzopalazzo:
    ACK 7fd0860d12

Tree-SHA512: 51c389787c369f431ca57071f03392438bff9fd41f128c63ce74ca30d2257213f8be225efcb5c1329ad80b714f44427d721215d4f848cc8e63060fa5bc8f1f2e
2022-05-11 20:24:27 +02:00
Anthony Towns
436ce0233c sync.h: strengthen AssertLockNotHeld assertion 2022-05-12 02:25:56 +10:00
Anthony Towns
7d73f58e9c Increase threadsafety annotation coverage 2022-05-12 02:25:55 +10:00
MacroFake
9db941d773
Merge bitcoin/bitcoin#25100: Switch scheduler to steady_clock
fa90516422 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 fa90516422
  w0xlt:
    crACK fa90516422

Tree-SHA512: 60e99065ffb881a9fb25a346d311d99424fbc72a3b636c94b5f5c17ed6373c40f358a9b27825c518d12968c033e6cfd3c62d2b62cacdddc44a0b5b74f6c1a7ae
2022-05-11 17:18:25 +02:00
MacroFake
cca900e382
Merge bitcoin/bitcoin#25104: wallet: Change log interval to use steady_clock
bdc6881e2f 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 bdc6881e2f
  dunxen:
    Code review ACK bdc6881

Tree-SHA512: 738b4aa45cef01df77102320f83096a0a7d0c63d7fcf098a8c0ab16b29453a87dc789c110105590e1e215d03499db1d889a94f336dcb385b6883c8364c9d39b7
2022-05-11 17:09:44 +02:00
MacroFake
fab9e8a29c
Remove unused GetTimeSeconds 2022-05-11 16:39:23 +02:00
MacroFake
27d7b11e8c
Merge bitcoin/bitcoin#25106: rpc: dumptxoutset: check fopen return code
9feb887082 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 9feb887082

Tree-SHA512: e8695a7e86f26cc3b086d6bc6888388061f1dee439f76409b3ee11d35032bfd9cfa5349b728cd7f45bcffd999ecf9a6a991be172ce587b9b14503d9916b6e984
2022-05-11 16:32:45 +02:00
Sebastian Falbesoner
9feb887082 rpc: check fopen return code in dumptxoutset
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-11 16:03:40 +02:00
fanquake
b8ded26ef3
Merge bitcoin/bitcoin#25090: doc: Explain Bitcoin Core instead of Bitcoin in README.md
faeb5b59a0 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 faeb5b59a0
  brunoerg:
    ACK faeb5b59a0
  1440000bytes:
    ACK faeb5b59a0
  w0xlt:
    ACK faeb5b59a0

Tree-SHA512: f9a9460853487a46ba0219d26cefa1fcf8d650deb3c2656737a54648016af0cdac58c5d4641a390be8c05f3e78185bd99801e239fcb87d410c4df31f61bc7016
2022-05-11 07:23:25 +01:00
w0xlt
bdc6881e2f wallet: Change log interval to use steady_clock
This refactors the log interval variables to use `steady_clock`
as it is best suitable for measuring intervals.
2022-05-10 21:12:52 -03:00
Jon Atack
654284209f Add clang lifetimebound section to developer notes 2022-05-10 16:29:26 +02:00
Jon Atack
e66b321fd1 Add C++ functions and methods section to developer notes
Credit for some parts to the Google C++ Style Guide "Inputs and Outputs"
section at https://google.github.io/styleguide/cppguide.html#Inputs_and_Outputs

Co-authored-by: laanwj <126646+laanwj@users.noreply.github.com>
2022-05-10 14:57:50 +02:00
laanwj
ed4eeafbb6
Merge bitcoin/bitcoin#24793: test: Change color of skipped functional tests
3258bad996 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 3258bad996
  jarolrod:
    Tested ACK 3258bad996

Tree-SHA512: 3fe5ae0d3b4902b2b6bda6e89ab780feb8bf4b7cb1ce7e8467057b94a1e0a26ddeaf3cac0bc19b06ef10d8bccaac9c495029d42740fbedab8fb0d5fdd7d02eaf
2022-05-10 13:12:38 +02:00
MacroFake
fa90516422
Switch scheduler to steady_clock 2022-05-10 10:54:54 +02:00
MacroFake
fb7c12c26f
Merge bitcoin/bitcoin#24921: Add time helpers for std::chrono::steady_clock and FastRandomContext::rand_uniform_delay
fa4fb8d98b random: Add FastRandomContext::rand_uniform_delay (MarcoFalke)
faa5c62967 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 fa4fb8d98b

Tree-SHA512: 2c37174468fe84b1cdf2a032f458706df44b99a5f99062417bb42078b6f69e2f1738d20c21cd9386ca5a35f3bc0583e547ba40168c66f6aa42f700ba35dd95d4
2022-05-10 07:56:06 +02:00
MacroFake
faeb5b59a0
doc: Explain Bitcoin Core in README.md 2022-05-10 07:49:09 +02:00
MacroFake
967654d079
Merge bitcoin/bitcoin#25079: index: Change sync variables to use std::chrono::steady_clock
92b35aba22 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 92b35aba22
  ajtowns:
    ACK 92b35aba22 - code review only

Tree-SHA512: cd4bafde47b30beb88c0aac247e41b4dced2ff2845c67a7043619da058dcff4f84374a7c704a698f3055c888d076d25503c2f38ace8fbc5456f624e0efe1e188
2022-05-10 07:35:36 +02:00
Anthony Towns
bb5c24b120 validation: move g_versionbitscache into ChainstateManager 2022-05-10 12:09:33 +10:00
Anthony Towns
eca22c726a test/versionbits: make versionbitscache a parameter 2022-05-10 12:09:33 +10:00
Anthony Towns
d603f1d8a7 deploymentstatus: make versionbitscache a parameter 2022-05-10 12:09:33 +10:00
Anthony Towns
78adef1753 refactor: use chainman instead of chainParams for DeploymentActive* 2022-05-10 12:09:33 +10:00
Anthony Towns
deffe0df6c deploymentstatus: allow chainman in place of consensusParams 2022-05-10 12:09:33 +10:00
Anthony Towns
eaa2e3f25c validation: move UpdateUncommittedBlockStructures and GenerateCoinbaseCommitment into ChainstateManager 2022-05-10 12:09:33 +10:00
Anthony Towns
5c67e84d37 validation: replace ::Params() calls with chainstate/chainman member 2022-05-10 12:09:33 +10:00
Anthony Towns
38860f93b6 validation: remove redundant CChainParams params from ChainstateManager methods 2022-05-10 12:09:33 +10:00
Anthony Towns
69675ea4e7 validation: add CChainParams to ChainstateManager 2022-05-10 12:09:27 +10:00
Hennadii Stepanov
b9219b233f
Merge bitcoin-core/gui#590: refactor: Declare WalletModel member functions with const
f70ee34c71 qt, refactor: Declare `WalletModel` member functions with `const` (Hennadii Stepanov)

Pull request description:

  After bitcoin/bitcoin#12830 the `WalletModel` class has two member functions: be7a5f2fc4/src/qt/walletmodel.h (L81) and be7a5f2fc4/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 f70ee34c71.
  kristapsk:
    cr ACK f70ee34c71
  w0xlt:
    Code Review ACK f70ee34c71

Tree-SHA512: 43e6661822c667229ea860fb94c2e3154c33773dbd9fca1f6f76cc31c5875a1a0e8caa65ddfc20dec2a43e29e7b2469b3b6fa148fe7ec000ded518b4958b2b38
2022-05-09 22:33:58 +02:00
fanquake
298389e3b5
guix: bump time-machine to 998eda3067c7d21e0d9bb3310d2f5a14b8f1c681
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-09 21:23:53 +01:00
Hennadii Stepanov
3dd95cb5c2
Merge bitcoin-core/gui#591: test: Add tests for tableView in AddressBookPage dialog
15069130c6 qt, test: Add tests for `tableView` in `AddressBookPage` dialog (Hennadii Stepanov)
edae3ab699 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 15069130c6.

Tree-SHA512: 86986d47606cbd54d813436c7afb21894e2200b6d3042a7aa0b5e84821c765bd68b14ad38a445069891ab33f2d7bcd4933b8373e14e9afb0c91f1a6ddf4da740
2022-05-09 22:19:39 +02:00
Jon Atack
ca1ac1f0e0 scripted-diff: Rename MainSignalsInstance() class to MainSignalsImpl()
```
-BEGIN VERIFY SCRIPT-
s() { git grep -l "$1" src test doc | xargs sed -i "s/$1/$2/g"; }
s 'MainSignalsInstance' 'MainSignalsImpl'
-END VERIFY SCRIPT-
2022-05-09 18:35:44 +02:00
Jon Atack
2aaec2352d refactor: remove unused forward declarations in validationinterface.h 2022-05-09 18:33:40 +02:00