Commit graph

31417 commits

Author SHA1 Message Date
MarcoFalke
15d109802a
Merge bitcoin/bitcoin#23513: ci: Drop --failfast in functional tests on native Windows CI task
23c3dcb4e7 ci: Drop --failfast in functional tests on native Windows CI task (Hennadii Stepanov)

Pull request description:

  As it was [discussed](https://github.com/bitcoin/bitcoin/pull/22980#issuecomment-964073830) in bitcoin/bitcoin#22980:
  > seeing _all_ of the failed tests can give us a useful hint for debugging (was thinking about that while reviewing and testing bitcoin/bitcoin#23300).

  There is a [concern](https://github.com/bitcoin/bitcoin/pull/22980#issuecomment-964085922) about such approach:
  > If there is a CI failure, it will be good to know the result as early as possible after opening the pull request.

  But, [OTOH](https://github.com/bitcoin/bitcoin/pull/22980#issuecomment-964095026):
  > the average amount of saved time for such an approach [using `--failfast`] is less significant than it could appear.

ACKs for top commit:
  MarcoFalke:
    cr ACK 23c3dcb4e7 seems fine to give this a try

Tree-SHA512: d28f5712b4edfdbcef48b0633017da9172cef1835bcea51eaeeabf15c133f6bb6888227afc130279c3899365a4fd0f200fb9b0c4cb1ff80f21cbc766b8907764
2021-11-15 17:27:17 +01:00
MarcoFalke
fa2303989b
Merge bitcoin/bitcoin#23515: test: Return the largest utxo in MiniWallet.get_utxo
fa62207737 test: Return the largest utxo in MiniWallet.get_utxo (MarcoFalke)

Pull request description:

  This is for consistency with the `send_self_transfer` method.

  Also, remove the feature that the change of the last transfer can be retrieved via `get_utxo`. This can trivially and clearer be achieved by simply passing the txid of the transfer.

  Also, this fixes the bug in `feature_txindex_compatibility` in current master after a silent merge conflict.

  Fixes #23514

Top commit has no ACKs.

Tree-SHA512: edd066d372aaa72b4e0fc7526f84931c8d1f6d14f53678cb7832bc8e3d211f44b90ec9c59b7d915ef24acc63a36e7d66c8d3b7598355bd490ac637ed3bcc3dff
2021-11-15 17:19:56 +01:00
MarcoFalke
024e4debc5
Merge bitcoin/bitcoin#23408: fuzz: Rework ConsumeScript
fa4baf0756 fuzz: Rework ConsumeScript (MarcoFalke)

Pull request description:

  This should make it easier for the fuzz engine to explore multisig code
  paths. See discussion in https://github.com/bitcoin/bitcoin/issues/23105

  The downside is that all fuzz inputs that use ConsumeScript are now
  invalidated and need to be re-generated.

  Another downside may be that most multisig scripts from ConsumeScript are
  using likely not fully valid pubkeys.

ACKs for top commit:
  jamesob:
    ACK fa4baf0756

Tree-SHA512: 15814afdee76b05ff7a71c0f07bbd1b3cff30d709d5c1e68fd230c5f5d16e673e42709a4fab84d4a896bc27f972f917fe7c1d1b32c2bf4209658b18da97e478b
2021-11-15 17:17:14 +01:00
W. J. van der Laan
1ba74123f9
Merge bitcoin/bitcoin#23004: multiprocess: add interfaces::ExternalSigner class
a032fa30d2 multiprocess: add interfaces::ExternalSigner class (Russell Yanofsky)

Pull request description:

  Add `interfaces::ExternalSigner` class to let signer objects be passed between processes and let signer code run in the original process where the object was created.

  ---

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).

ACKs for top commit:
  laanwj:
    Concept and code review ACK a032fa30d2
  hebasto:
    re-ACK a032fa30d2

Tree-SHA512: 99a729fb3a64d010e142cc778a9f1f358e58345b77faaf2664de7d2277715d59df3352326e8f0f2a6628038670eaa4556310a549079fb28af6d2eeb05aea1460
2021-11-15 17:13:23 +01:00
MarcoFalke
36d184d0c8
Merge bitcoin/bitcoin#22508: fuzz: replace every fuzzer-controlled while loop with a macro
214d9055ac fuzz: replace every fuzzer-controlled loop with a LIMITED_WHILE loop (Andrew Poelstra)

Pull request description:

  Limits the number of iterations to 1000 rather than letting the fuzzer do millions or billions of iterations on a single core.

ACKs for top commit:
  MarcoFalke:
    cr ACK 214d9055ac

Tree-SHA512: 9741c32ccd126ea656e5c93371b7136eaa2f92dc9a490dd4d39642503b1a41174f3368245153e508c3b608fe37ab89800b67ada97b740e3b5a3728bb506429d3
2021-11-15 16:52:00 +01:00
W. J. van der Laan
c82284cfdc
Merge bitcoin/bitcoin#23345: build: Drop unneeded dependencies for bitcoin-wallet tool
4fe7cf1677 build: Drop unneeded dependencies for bitcoin-wallet tool (Hennadii Stepanov)

Pull request description:

  `bitcoin-wallet` is an offline tool, and its code does not depend on networking stuff (ZMQ, UPnP, NAT-PMP, and LIBBITCOIN_SERVER).

  Also `bitcoin-wallet`  does not interacts with the chainstate, therefore dependency on LevelDB is not needed.

ACKs for top commit:
  laanwj:
    Code review ACK 4fe7cf1677

Tree-SHA512: 97342d9cdf8670806efe16dc7885a85ec92f3c1ae0819a4c3cc147938fc8642089e303c4432cb1395fc75b852c1af6a6a13fc58e29e027c23f75219fd3bd8cb4
2021-11-15 16:29:46 +01:00
W. J. van der Laan
aec631bccc
Merge bitcoin/bitcoin#23462: test: Enable SC2046 and SC2086 shellcheck rules
fe0ff569ea test: Enable SC2046 shellcheck rule (Hennadii Stepanov)
9a1ad7bc0d test: Enable SC2086 shellcheck rule (Hennadii Stepanov)

Pull request description:

  Closes #20879.
  Replaces #22695.

  **Note for reviewers**. Some touched shell scripts are not being run in CI, therefore they require more thorough reviewing:
  - `contrib/devtools/gen-manpages.sh`
  - `contrib/macdeploy/detached-sig-apply.sh`
  - `contrib/windeploy/detached-sig-create.sh`
  - `src/qt/res/animation/makespinner.sh`

ACKs for top commit:
  laanwj:
    Code review re-ACK fe0ff569ea

Tree-SHA512: 73619b9a7bcb6cf0dfc4189a753ef550d40c82a3432bb9d8d8a994310d42594576038daac7e0c2fc004d716976bb1413b9a77848ecf088b25b69ed0773b77e8e
2021-11-15 16:22:52 +01:00
W. J. van der Laan
2efc8c0999
Merge bitcoin/bitcoin#23198: build: Parse version information in msvc-autogen.py
410f99faed build_msvc/bitcoin_config.h is generated using build_msvc/msvc-autogen.py (CallMeMisterOwl)

Pull request description:

  Added a function that parses version information from `configure.ac` into `build_msvc/bitcoin_config.h`. This is done by default in `msvc-autogen.py`, so manual changing of `build_msvc/bitcoin_config.h` is no longer required.
  In addition to that I updated the Release Process doc.

  Following values are updated:

     -**CLIENT_VERSION_BUILD**
     -**CLIENT_VERSION_IS_RELEASE**
     -**CLIENT_VERSION_MAJOR**
     -**CLIENT_VERSION_MINOR**
     -**COPYRIGHT_YEAR**
     -**PACKAGE_STRING**
     -**PACKAGE_VERSION**

  fixes #23073

ACKs for top commit:
  laanwj:
    Code review and lightly tested ACK 410f99faed

Tree-SHA512: 6b324ec8680b70c405c46a0fcd61836d1b57bb3eaef2cc36bb1e9856890f0423c201a8fdddc95ca0fb5b3dade71ff6d4d14351c606b3351eef2faa0c70bca38a
2021-11-15 15:11:44 +01:00
MarcoFalke
fa62207737
test: Return the largest utxo in MiniWallet.get_utxo 2021-11-15 13:10:37 +01:00
Hennadii Stepanov
23c3dcb4e7
ci: Drop --failfast in functional tests on native Windows CI task 2021-11-15 11:26:05 +02:00
MarcoFalke
41a1b5f58c
Merge bitcoin/bitcoin#23046: test: Add txindex migration test
fadc4c7272 test: Add txindex migration test (MarcoFalke)

Pull request description:

  Test for #22626

ACKs for top commit:
  theStack:
    Tested ACK fadc4c7272 🌁

Tree-SHA512: fc7133ef52826bf0d4fa2ac72c3f1bed4a185ff7492396552ff2cbf6531b053238039211a710cbb949379c56875cd7715f1ed49a514dd3b3f1b46554e3d4bef5
2021-11-15 09:36:42 +01:00
MarcoFalke
8251316acb
Merge bitcoin/bitcoin#23153: Add an argparse abbreviated mode to --failfast
2198f79e87 Add an argparse abbreviated mode to --failfast (katesalazar)

Pull request description:

  Happy Hacktoberfest, Bitcoin!

  (this PR doesn't really pursue Hacktoberfest)

ACKs for top commit:
  theStack:
    Tested ACK 2198f79e87

Tree-SHA512: 9b21b2044107685514dc298b52850206faed7306a714c007f500733b632f3f8e0e64e4785313a0c305e5908ccfc87ad27cda7554ea11630acfeaf658956eeab8
2021-11-15 09:32:09 +01:00
fanquake
ffcb4374c4
Merge bitcoin/bitcoin#23498: test: remove unnecessary block rehashing prior to solving
a9872e1478 test: remove unnecessary block rehashing prior to solving (Sebastian Falbesoner)

Pull request description:

  Solving a block involves continously rehashing it,

  c9dd5c8d6e/test/functional/test_framework/messages.py (L759-L764)

  i.e. any extra `rehash` calls before are not necessary and can be dropped.

  The instances were identified by searching for all block solving calls via `git grep "solve("` in `./test/functional/`. From 95 instances of `CBlock.solve()` calls, 20 contained an unnecessary rehashing instruction before that are removed in this PR.

ACKs for top commit:
  brunoerg:
    tACK a9872e1478
  rajarshimaitra:
    tACK a9872e1478

Tree-SHA512: 160092be717d0d250778b8ab091ebd77cc6865d2754ef150cf3b4d4ac7304d4bf3d2ebb61ec6b04a55040c8895b9fb4d28653ea4b099d56d90776c9111cf173f
2021-11-15 14:13:59 +08:00
fanquake
5cc8d2e381
Merge bitcoin/bitcoin#23510: doc: Fixed dead link in build-unix.md
0bc1ce0745 Fix Arch linux dead link (0xree)

Pull request description:

  - Fixed dead link referencing an invalid link

ACKs for top commit:
  benthecarman:
    ACK 0bc1ce0745

Tree-SHA512: 330dd2f327458b10afb1ea920bf8fef459b8b2ad45cde4a0a754995fe0684e7f1e6dc8043b41c78cd83ff3b59745597873bdcd84f4b9255932f7425c0dd6a93a
2021-11-15 14:08:45 +08:00
0xree
0bc1ce0745 Fix Arch linux dead link 2021-11-14 23:50:11 +00:00
W. J. van der Laan
a85442f62b
Merge bitcoin/bitcoin#22768: script: Add commits signed with sipas expired key to allow-revsig-commits
365f35481d script: Add commits signed with sipas expired key to allow-revsig-commits (nthumann)

Pull request description:

  Fixes https://github.com/bitcoin/bitcoin/issues/22737.
  While investigating the issue above, I noticed that there are 141 commits that are signed with sipas expired key.
  To allow `./contrib/verify-commits/verify-commits.py` to succeed, this PR adds them to `allow-revsig-commits`.
  Feel free to confirm that they're indeed signed with an expired key using e.g. `git show --show-signature d8cd7b137fb075616f31d2b43b85fa2e27ea7477` :)

ACKs for top commit:
  laanwj:
    Code review ACK 365f35481d

Tree-SHA512: 860e372c5314714c6c205cd234ebec89756c9ade43a2ed65ed25575ae0a0d4d8dd7cf43692a5b267abe742f87e5cba0a3f1fb76a5fed7b1615ea2859902dfcdf
2021-11-14 15:25:39 +01:00
CallMeMisterOwl
410f99faed build_msvc/bitcoin_config.h is generated using build_msvc/msvc-autogen.py 2021-11-14 15:00:29 +01:00
MarcoFalke
9d2895157e
Merge bitcoin/bitcoin#23500: doc: fix typos
2de1ceb2e9 depends, wallet: fix typos (Dimitris Apostolou)

Pull request description:

ACKs for top commit:
  hebasto:
    ACK 2de1ceb2e9

Tree-SHA512: e33deef3ebd8cda69dd0f2c0e8d0fd5c39375eb014685318b2f131c7a700584d9b9e173e95ff290b1fe3b2dc88922583f2607750445baedf0c97a330a9ff35f2
2021-11-14 08:38:28 +01:00
fanquake
6d83b02619
Merge bitcoin/bitcoin#23493: Use c++17 in clang-format
faeb748f5b Use c++17 in clang-format (MarcoFalke)

Pull request description:

  We currently use `Cpp11`, which "is a deprecated alias for `Latest`" according to https://clang.llvm.org/docs/ClangFormatStyleOptions.html . I doubt this has any effect, but I think for clarity setting to `c++17` make sense.

  Also, remove unneeded settings:

  * `ObjC*`, as we don't write objc code
  * `Penalty`, as there is currently no line limit, so this has no effect
  * `TabWidth`, as we don't use tabs

ACKs for top commit:
  fanquake:
    ACK faeb748f5b - we do have some Objc code, but it never changes.

Tree-SHA512: 50215849b3992e5841b45b281e68d4c58184a365cbaeec0d7adad844ad21672ae1b6247262047e2d7427835ef98fa9d9f83335696448c77303dde9ab0a121639
2021-11-14 11:03:42 +08:00
fanquake
04ae20ae13
Merge bitcoin/bitcoin#23494: build: minor boost tidyups
e734847c1f build: remove duplicate -fvisibility=hidden from Boost build (fanquake)
32659e5897 build: don't install Boost cmake config files (fanquake)

Pull request description:

  Don't install CMake config files we don't use.
  Remove duplicated `-fvisibility=hidden` flag.

  Guix build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  e7eeffd0df31f8e319e7f099d7c3ba8429b47c8d9f888517b146b0cf079470bc  guix-build-e734847c1f50/output/aarch64-linux-gnu/SHA256SUMS.part
  516c4703e84d74b80b22a2c8ef7f971ab269332d1394841f27cdca76013689f1  guix-build-e734847c1f50/output/aarch64-linux-gnu/bitcoin-e734847c1f50-aarch64-linux-gnu-debug.tar.gz
  4f2e279584d2f46ca3bdd9e67375bfd0a8637dfd183ccdf827248729ea69e858  guix-build-e734847c1f50/output/aarch64-linux-gnu/bitcoin-e734847c1f50-aarch64-linux-gnu.tar.gz
  28298c04b7810489a3be5471435ec63955d33cf57d4dc234e539ab95ba4dfe40  guix-build-e734847c1f50/output/arm-linux-gnueabihf/SHA256SUMS.part
  1a5d3245d982797d98ecfa2325da224b0814823c858ebaf56a6f310fe099b046  guix-build-e734847c1f50/output/arm-linux-gnueabihf/bitcoin-e734847c1f50-arm-linux-gnueabihf-debug.tar.gz
  ef79e545661f8e76811df5a9d1d9299c8cb35485b729377f07e789d559d2298d  guix-build-e734847c1f50/output/arm-linux-gnueabihf/bitcoin-e734847c1f50-arm-linux-gnueabihf.tar.gz
  f92bd538bd10dd7c09644e322d8c53536fde236ac16a0f5405becb3165685e68  guix-build-e734847c1f50/output/dist-archive/bitcoin-e734847c1f50.tar.gz
  56e7934800c630e91fee389ea9c8e95469deafafd58a8fb18616db13675dc51b  guix-build-e734847c1f50/output/powerpc64-linux-gnu/SHA256SUMS.part
  f15a2e7ad3d7be3ab9ee65f7a77df902c303d561b465fb22242bcfa47344be9c  guix-build-e734847c1f50/output/powerpc64-linux-gnu/bitcoin-e734847c1f50-powerpc64-linux-gnu-debug.tar.gz
  776ee33875d9934d9d472e9e735088bb9e9cf58bc9e29102a7a019a52deb28e3  guix-build-e734847c1f50/output/powerpc64-linux-gnu/bitcoin-e734847c1f50-powerpc64-linux-gnu.tar.gz
  19758310e0e19e17d57c59ba9fc4cbb350b64de0ddc050f85136043666b63c44  guix-build-e734847c1f50/output/powerpc64le-linux-gnu/SHA256SUMS.part
  90ad4e0b948e8bf58538f40f648420230e2357c3e2ae9aa331bac44fe98b1d71  guix-build-e734847c1f50/output/powerpc64le-linux-gnu/bitcoin-e734847c1f50-powerpc64le-linux-gnu-debug.tar.gz
  809a9a95dfa84fab4f365b687e68b58195a00810d6c9f3442c5b1155630d9515  guix-build-e734847c1f50/output/powerpc64le-linux-gnu/bitcoin-e734847c1f50-powerpc64le-linux-gnu.tar.gz
  3ea0563f95f3d6a2ecbdeb4ddf06187db1fbbf1dbabe77db38218f0c13a6dd2b  guix-build-e734847c1f50/output/riscv64-linux-gnu/SHA256SUMS.part
  1730fe70782024ae1558c9065361d4dc754683c6b5fecc420cf990c8b37a5f08  guix-build-e734847c1f50/output/riscv64-linux-gnu/bitcoin-e734847c1f50-riscv64-linux-gnu-debug.tar.gz
  720b6d6625c009e54d6a8b50e0dacdf7723374d52ace6a23874db6d3e540665d  guix-build-e734847c1f50/output/riscv64-linux-gnu/bitcoin-e734847c1f50-riscv64-linux-gnu.tar.gz
  bbf89e748b089ba68c50c9c03b81cb7f4b0517939dacd2e6a72d2480713c02c4  guix-build-e734847c1f50/output/x86_64-apple-darwin19/SHA256SUMS.part
  7a47bea38f3d8c19bb411bf4ab28bc4a237865184ddcb0677b3f240f4c5a2462  guix-build-e734847c1f50/output/x86_64-apple-darwin19/bitcoin-e734847c1f50-osx-unsigned.dmg
  6e10739840f56dedf0d1dfb9a788d539b87f5e79bf5a3eaacca97126cbf1c04e  guix-build-e734847c1f50/output/x86_64-apple-darwin19/bitcoin-e734847c1f50-osx-unsigned.tar.gz
  66c31edaa776e2a07225cc202a70fa3a3a745939b8c0ad2893cb86730869f118  guix-build-e734847c1f50/output/x86_64-apple-darwin19/bitcoin-e734847c1f50-osx64.tar.gz
  41aefbeacc4a09f89fbee35446b887c7fadfd17f833b1765fc2de3bec5fe4ce3  guix-build-e734847c1f50/output/x86_64-linux-gnu/SHA256SUMS.part
  30a7bfff7be3145e24637c9ab0b605cae0d2942aa6df2a1e7ac0afb22ec18792  guix-build-e734847c1f50/output/x86_64-linux-gnu/bitcoin-e734847c1f50-x86_64-linux-gnu-debug.tar.gz
  c7d91fbf09858bc5a573f169715bb1cddb046b2a7d62de73b26a952a92f918e7  guix-build-e734847c1f50/output/x86_64-linux-gnu/bitcoin-e734847c1f50-x86_64-linux-gnu.tar.gz
  e8ac5cf5360ceb8ee4550f43a5233c27a1265050d29c3a9b3b2ad136a77c80d4  guix-build-e734847c1f50/output/x86_64-w64-mingw32/SHA256SUMS.part
  079df526644fb001fc4500222f9775d3f7c2a39960bd81274bcb941748e8fbde  guix-build-e734847c1f50/output/x86_64-w64-mingw32/bitcoin-e734847c1f50-win-unsigned.tar.gz
  3d5a9855b4c5f330006c4a4213549f4bb40323778590b3300c827616004ad6de  guix-build-e734847c1f50/output/x86_64-w64-mingw32/bitcoin-e734847c1f50-win64-debug.zip
  182e1c668784e16ce73be3175c7bf59012eeae5673b507ab58b164ef670590ab  guix-build-e734847c1f50/output/x86_64-w64-mingw32/bitcoin-e734847c1f50-win64-setup-unsigned.exe
  34dc88b5898f4dcba8215a44b6ea545f05e9d7fa623fbb966ed27aeba35d0fdf  guix-build-e734847c1f50/output/x86_64-w64-mingw32/bitcoin-e734847c1f50-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK e734847c1f, tested on Linux Mint 20.2 (x86_64) and on macOS Big Sur 11.6.1 (Intel, 20G224): `-fvisibility=hidden` is no longer duplicated in compiler invocations, and the resulted package has no the `lib/cmake/` directory.

Tree-SHA512: 2323801ce496884b2baa8e2699de74dcaefc02020c796f4185955fddeec84a9e02fdd35a6f225eea6569cb55a3dc5b11a9dcd1073073acb19a77eb4638854aff
2021-11-14 11:01:22 +08:00
Hennadii Stepanov
4fe7cf1677
build: Drop unneeded dependencies for bitcoin-wallet tool 2021-11-13 21:24:51 +02:00
Dimitris Apostolou
2de1ceb2e9
depends, wallet: fix typos 2021-11-13 20:05:56 +02:00
Hennadii Stepanov
fe0ff569ea
test: Enable SC2046 shellcheck rule 2021-11-13 18:05:26 +02:00
Hennadii Stepanov
9a1ad7bc0d
test: Enable SC2086 shellcheck rule 2021-11-13 16:54:56 +02:00
fanquake
5cc083cd46
Merge bitcoin/bitcoin#23473: build: boring autotools cleanup
34094aff13 build: consistently quote AC_CHECK_LIB() arguments (fanquake)
efd4fe156a build: consistently quote AC_MSG_* arguments (fanquake)
c39732694d build: consistently quote AC_CHECK_PROG() arguments (fanquake)
80762dfc45 build: consistently quote arguments in AC_ARG_VAR() (fanquake)
e6749a4f99 build: consistently quote arguments in AM_CONDITIONAL() (fanquake)
cdb47e18b7 build: consistently quote AC_DEFINE() arguments (fanquake)
a17a3f9d62 build: consistently quote AC_MSG_CHECKING() arguments (fanquake)
50d99f202d build: consistently quote AC_PATH_TOOL arguments (fanquake)
05923e7c62 build: AC_PATH_PROG(S) consistently quote arguments (fanquake)
407f3a495b build: cleanup AX_CHECK_PREPROC_FLAG() usage (fanquake)
b4dba0c6c7 build: AX_CHECK_PREPROC_FLAG() serial 6 (fanquake)
5ced925283 build: cleanup AX_CHECK_COMPILE_FLAG() usage (fanquake)
b3dd6c1d0f build: AX_CHECK_COMPILE_FLAG() serial 6 (fanquake)
5e6bc437c5 build: cleanup AX_CHECK_LINK_FLAG() usage (fanquake)
a874637bf9 build: AX_CHECK_LINK_FLAG serial 6 (fanquake)

Pull request description:

  This is mostly just being consistent with how we do things, and migrating towards a style (we have already been doing so ad-hoc) that is clearer for anyone who cares to read `.m4`. For example:

  `master`:
  ```m4
    AX_CHECK_COMPILE_FLAG(
      [-g3],
      [[DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g3"]],
      [AX_CHECK_COMPILE_FLAG([-g],[[DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g"]],,[[$CXXFLAG_WERROR]])],
      [[$CXXFLAG_WERROR]])
  ```

  This PR:
  ```m4
    AX_CHECK_COMPILE_FLAG(
      [-g3],
      [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g3"],
      [AX_CHECK_COMPILE_FLAG([-g], [DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g"], [], [$CXXFLAG_WERROR])],
      [$CXXFLAG_WERROR])
  ```

  Drop unneeded double-quoting (which we use inconsistently), use `[]` for empty arguments, space things out.

  There should be no functional change, before & after binaries identical. Very boring.

  Guix build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  22097cd621cd88348f827b916f4b4b120b40c3515a3752595347e36d57dc9158  guix-build-34094aff1348/output/aarch64-linux-gnu/SHA256SUMS.part
  43f10bb857afa7ea52a8ed9beed36ff0e3ee02dba31100fc04c8e0b2443d94eb  guix-build-34094aff1348/output/aarch64-linux-gnu/bitcoin-34094aff1348-aarch64-linux-gnu-debug.tar.gz
  9095a8228376094065103f4adc9cdcb8189111fb9536ad88e4f8cecc3df6fc75  guix-build-34094aff1348/output/aarch64-linux-gnu/bitcoin-34094aff1348-aarch64-linux-gnu.tar.gz
  9c73179059c6fe1f7643445ec5a530003fc41187aa0a94cb1f5c106097161e5b  guix-build-34094aff1348/output/arm-linux-gnueabihf/SHA256SUMS.part
  70ddd4dd0a06c7491937084125f690c1d62fa2647c16048fc1a4a9a09d8b10b4  guix-build-34094aff1348/output/arm-linux-gnueabihf/bitcoin-34094aff1348-arm-linux-gnueabihf-debug.tar.gz
  0a338fdc9788c33a0d519b6c09fdf6271e3bd68846ee61eef0a06a2df6bab419  guix-build-34094aff1348/output/arm-linux-gnueabihf/bitcoin-34094aff1348-arm-linux-gnueabihf.tar.gz
  25eda7fae2984b9dadf47420d1dc09b0224d425144233482602bd9e6d348255c  guix-build-34094aff1348/output/dist-archive/bitcoin-34094aff1348.tar.gz
  d70d84e43ffa2d809063cda868f708539e9114b2d14edb6ddcf05fdf73f3187b  guix-build-34094aff1348/output/powerpc64-linux-gnu/SHA256SUMS.part
  8d1291e576d2b5f8f7120fe6e6ed4b23415249e22a657a350ccce68ff261e088  guix-build-34094aff1348/output/powerpc64-linux-gnu/bitcoin-34094aff1348-powerpc64-linux-gnu-debug.tar.gz
  eab448186aee18ac33c39eed4d24501208d10d257fe6e2739adf589b1d4b693a  guix-build-34094aff1348/output/powerpc64-linux-gnu/bitcoin-34094aff1348-powerpc64-linux-gnu.tar.gz
  4d28617b4d0ddb88c8b20d06ca21314ee40814043f92cabcd9ea3e3d8ee39183  guix-build-34094aff1348/output/powerpc64le-linux-gnu/SHA256SUMS.part
  dea02168e170e92600012f5806ec8b39209282c2270669f2040682f74bc3f320  guix-build-34094aff1348/output/powerpc64le-linux-gnu/bitcoin-34094aff1348-powerpc64le-linux-gnu-debug.tar.gz
  c7122e89d3186a183ac08e7f3020654722c98bf8acc8b790bb292b39f5ba8225  guix-build-34094aff1348/output/powerpc64le-linux-gnu/bitcoin-34094aff1348-powerpc64le-linux-gnu.tar.gz
  0802a52720d2bec1264dc13f6554a9da347baa3d096242b29bb524f4b121eb10  guix-build-34094aff1348/output/riscv64-linux-gnu/SHA256SUMS.part
  4aee9fc41f35d2adb2d0562902dd8584a8413a73c015ddcdcef00586779f63a7  guix-build-34094aff1348/output/riscv64-linux-gnu/bitcoin-34094aff1348-riscv64-linux-gnu-debug.tar.gz
  3f0c4d6096ac7e08389e851c2d252632c044a700ce0174473ac4d7f66290e8cc  guix-build-34094aff1348/output/riscv64-linux-gnu/bitcoin-34094aff1348-riscv64-linux-gnu.tar.gz
  c5149c46b9b7081d5715daf3e22fd30ffca23d333f664da1fabc8143ff8bf76c  guix-build-34094aff1348/output/x86_64-apple-darwin19/SHA256SUMS.part
  81848355751e55a8a60636e3ea2f03ca6abb78736a5431715cd51cebd46bb961  guix-build-34094aff1348/output/x86_64-apple-darwin19/bitcoin-34094aff1348-osx-unsigned.dmg
  d2f6f689cbedddd865f90dba9ddf21479c71c61b0350fda62804b2f233116a43  guix-build-34094aff1348/output/x86_64-apple-darwin19/bitcoin-34094aff1348-osx-unsigned.tar.gz
  99d8fe428fcb67f9975e6b8d9a63d84946215a0a6b8f94967ce96cc3af4b7772  guix-build-34094aff1348/output/x86_64-apple-darwin19/bitcoin-34094aff1348-osx64.tar.gz
  3dac13c7556d9a25ff5513bbb2638fe4fa74d8a88304bbdce52364df7832a3ab  guix-build-34094aff1348/output/x86_64-linux-gnu/SHA256SUMS.part
  e4baa7da80fdabbb50953efaaa7b4867c7e575a7a156b728e8e197142df55697  guix-build-34094aff1348/output/x86_64-linux-gnu/bitcoin-34094aff1348-x86_64-linux-gnu-debug.tar.gz
  f82f5bcc7197c1741b106f62be7b468aadbdf5b3198091582026cd450bf13b3a  guix-build-34094aff1348/output/x86_64-linux-gnu/bitcoin-34094aff1348-x86_64-linux-gnu.tar.gz
  db22b5f48783917f985920ddb26aa170b4d6cc65112406548847a883099505b8  guix-build-34094aff1348/output/x86_64-w64-mingw32/SHA256SUMS.part
  ead0809193ca1d462553a6f3f233cdbff7a3f8419100d825abfc10835508e485  guix-build-34094aff1348/output/x86_64-w64-mingw32/bitcoin-34094aff1348-win-unsigned.tar.gz
  e1006b6c114eaf33274144d8e9a20abc0cee01e26a4594063ee615bf09c1b344  guix-build-34094aff1348/output/x86_64-w64-mingw32/bitcoin-34094aff1348-win64-debug.zip
  2d3fbc593b58d353a6859e02c0dd096d453cf5f1e3150c2a1c234bdfc97b4f24  guix-build-34094aff1348/output/x86_64-w64-mingw32/bitcoin-34094aff1348-win64-setup-unsigned.exe
  25cfa8a3655727572593f100b7a70c1061fa6f3b017014ad7444059611c3ddda  guix-build-34094aff1348/output/x86_64-w64-mingw32/bitcoin-34094aff1348-win64.zip
  ```

ACKs for top commit:
  hebasto:
    re-ACK 34094aff13

Tree-SHA512: 7515e85b4dedddf430ddf0bf31f25fca8f73898cf2ba4b6a66b9f21feeaff4c2600fe24efdd2e81822f059827b5b35341b183ea8342fd689248d8c355bf5cb42
2021-11-13 07:12:30 +08:00
Andrew Poelstra
214d9055ac fuzz: replace every fuzzer-controlled loop with a LIMITED_WHILE loop
Blindly chose a cap of 10000 iterations for every loop, except for
the two in script_ops.cpp and scriptnum_ops.cpp which appeared to
(sometimes) be deserializing individual bytes; capped those to one
million to ensure that sometimes we try working with massive scripts.

There was also one fuzzer-controlled loop in timedata.cpp which was
already capped, so I left that alone.

git grep 'while (fuzz' should now run clean except for timedata.cpp
2021-11-12 19:51:55 +00:00
Sebastian Falbesoner
a9872e1478 test: remove unnecessary block rehashing prior to solving
Solving a block involves continously rehashing it, i.e. any extra
calls to rehash it before are not necessary and can be dropped.
2021-11-12 18:29:43 +01:00
MarcoFalke
c9dd5c8d6e
Merge bitcoin/bitcoin#23492: test: tidy up addrman unit tests
0000edaba3 style: Use 4 spaces for indentation, not 5 (MarcoFalke)
fab9264be5 test: Remove unused CDataStream copy (MarcoFalke)

Pull request description:

  Fix two issues:

  * Remove unneeded code, which makes test harder to read and write
  * Fix wrong indentation, which breaks some editors

ACKs for top commit:
  jnewbery:
    Code review ACK 0000edaba3
  brunoerg:
    cr/tACK 0000edaba3
  shaavan:
    ACK 0000edaba3

Tree-SHA512: babec1dfb840bd11ec89ec3d0e2529f826f5775fc7625e987480fac5251f6a6cdcf9a1051c8364d6ca2f66ce9934dcb8447a8cf7376b3952920faf2afd02be99
2021-11-12 16:06:23 +01:00
fanquake
e734847c1f
build: remove duplicate -fvisibility=hidden from Boost build
Boost already sets this by default.
2021-11-12 19:04:35 +08:00
fanquake
32659e5897
build: don't install Boost cmake config files 2021-11-12 19:04:22 +08:00
MarcoFalke
faeb748f5b
Use c++17 in clang-format 2021-11-12 11:46:34 +01:00
MarcoFalke
0000edaba3
style: Use 4 spaces for indentation, not 5
The wrong indentation breaks editor workflows.

Can be reviewed with --ignore-all-space
2021-11-12 11:41:55 +01:00
MarcoFalke
fab9264be5
test: Remove unused CDataStream copy 2021-11-12 11:40:39 +01:00
MarcoFalke
1ff265a20c
Merge bitcoin/bitcoin#23477: addrman: tidy up unit tests
36d3510303 [addrman] [tests] Remove AddrManUncorrupted subclass (John Newbery)
dfbd3a6d71 [addrman] [tests] Remove AddrManCorrupted subclass (John Newbery)
d02098d1f0 [addrman] [tests] Tidy up unused arguments in addrman test functions (John Newbery)
7784a9a374 [addrman] [tests] Remove deterministic argument and member from AddrManTest (John Newbery)
a749fa539a [addrman] Remove AddrMan friends (John Newbery)

Pull request description:

  Various tidy-ups to the addrman tests.

ACKs for top commit:
  shaavan:
    crACK 36d3510303
  promag:
    Code review ACK 36d3510303.
  theStack:
    Code-review ACK 36d3510303

Tree-SHA512: bbdb9d70863c15b023714ba3c73e816c635204f949c39678dd932a6e9a2e57b51b5d50332ec6843cf1b98a2fcbbdd5e6779f2e9c7e9cf90f4a6b3b4a7a1abe2f
2021-11-12 09:47:14 +01:00
fanquake
34094aff13
build: consistently quote AC_CHECK_LIB() arguments 2021-11-12 14:32:00 +08:00
fanquake
efd4fe156a
build: consistently quote AC_MSG_* arguments 2021-11-12 14:31:59 +08:00
fanquake
c39732694d
build: consistently quote AC_CHECK_PROG() arguments 2021-11-12 14:31:59 +08:00
fanquake
80762dfc45
build: consistently quote arguments in AC_ARG_VAR() 2021-11-12 14:31:59 +08:00
fanquake
e6749a4f99
build: consistently quote arguments in AM_CONDITIONAL() 2021-11-12 14:31:59 +08:00
fanquake
cdb47e18b7
build: consistently quote AC_DEFINE() arguments 2021-11-12 14:31:55 +08:00
fanquake
a17a3f9d62
build: consistently quote AC_MSG_CHECKING() arguments 2021-11-12 10:05:36 +08:00
fanquake
50d99f202d
build: consistently quote AC_PATH_TOOL arguments 2021-11-12 10:02:00 +08:00
fanquake
05923e7c62
build: AC_PATH_PROG(S) consistently quote arguments 2021-11-12 10:02:00 +08:00
fanquake
407f3a495b
build: cleanup AX_CHECK_PREPROC_FLAG() usage
There should be no functional change.
2021-11-12 10:02:00 +08:00
fanquake
b4dba0c6c7
build: AX_CHECK_PREPROC_FLAG() serial 6 2021-11-12 10:01:59 +08:00
fanquake
5ced925283
build: cleanup AX_CHECK_COMPILE_FLAG() usage
There should be no functional change.
2021-11-12 10:01:59 +08:00
fanquake
b3dd6c1d0f
build: AX_CHECK_COMPILE_FLAG() serial 6 2021-11-12 10:01:59 +08:00
fanquake
5e6bc437c5
build: cleanup AX_CHECK_LINK_FLAG() usage
There should be no functional change.
2021-11-12 10:01:59 +08:00
fanquake
a874637bf9
build: AX_CHECK_LINK_FLAG serial 6 2021-11-12 10:01:59 +08:00
fanquake
c1fb30633b
Merge bitcoin/bitcoin#23114: Add minisketch subtree and integrate into build/test
29173d6c6c ubsan: add minisketch exceptions (Cory Fields)
54b5e1aeab Add thin Minisketch wrapper to pick best implementation (Pieter Wuille)
ee9dc71c1b Add basic minisketch tests (Pieter Wuille)
0659f12b13 Add minisketch dependency (Gleb Naumenko)
0eb7928ab8 Add MSVC build configuration for libminisketch (Pieter Wuille)
8bc166d5b1 build: add minisketch build file and include it (Cory Fields)
b2904ceb85 build: add configure checks for minisketch (Cory Fields)
b6487dc4ef Squashed 'src/minisketch/' content from commit 89629eb2c7 (fanquake)

Pull request description:

  This takes over #21859, which has [recently switched](https://github.com/bitcoin/bitcoin/pull/21859#issuecomment-921899200) to my integration branch. A few more build issues came up (and have been fixed) since, and after discussing with sipa it was decided I would open a PR to shepherd any final changes through.

  > This adds a `src/minisketch` subtree, taken from the master branch of https://github.com/sipa/minisketch, to prepare for Erlay implementation (see #21515). It gets configured for just supporting 32-bit fields (the only ones we're interested in in the context of Erlay), and some code on top is added:
  > * A very basic unit test (just to make sure compilation & running works; actual correctness checking is done through minisketch's own tests).
  > * A wrapper in `minisketchwrapper.{cpp,h}` that runs a benchmark to determine which field implementation to use.

  Only changes since my last update to the branch in the previous PR have been rebasing on master and fixing an issue with a header in an introduced file.

ACKs for top commit:
  naumenkogs:
    ACK 29173d6c6c

Tree-SHA512: 1217d3228db1dd0de12c2919314e1c3626c18a416cf6291fec99d37e34fb6eec8e28d9e9fb935f8590273b8836cbadac313a15f05b4fd9f9d3024c8ce2c80d02
2021-11-12 10:00:49 +08:00