Commit Graph

36096 Commits

Author SHA1 Message Date
John Moffett
e75d227632 Minor fix: Don't directly delete abandoned txes
This fully closes bitcoin#12179. Currently, in the GUI, when a user
abandons a transaction, a call is made to remove it from the list,
and another signal fires (eventually) that adds it back to the GUI
with a trash can icon.

There are no conditions where the abandoned transaction should be
directly removed from the GUI. If the underlying model changes, the
deletion will be reflected anyway.
2022-11-25 15:56:40 -05:00
fanquake
9c47eb4503
Merge bitcoin/bitcoin#26446: build: Drop unneeded linking of contrib/devtools/ scripts
29ef26ae25 build: Drop unneeded linking of `contrib/devtools/` scripts (Hennadii Stepanov)
77779c3717 script: Improve `test-{security,symbol}-check.py` robustness (Hennadii Stepanov)

Pull request description:

  The build system targets `make test-security-check`, `make -C src check-security` and `make -C src check-symbols` run `contrib/devtools/{test-,}{security,symbol}-check.py` scripts from the top source directory, i.e. `$(top_srcdir)` in the current Autotools-based build system.

  This renders needless of linking of those scripts into the build directory.

  Both build systems, the current Autotools-based and the future CMake-based, benefit from this simplification.

ACKs for top commit:
  fanquake:
    ACK 29ef26ae25

Tree-SHA512: 442b6aa116615d01eabc58b6ded67d9c6993033a071bb7008afdb956c468b65bb2b51705aeaed60fd68211dd2b9c8b8e2234babd45abd022daff391c00091165
2022-11-25 17:32:18 +00:00
fanquake
0953c622f9
doc: install binutils, not binutils-gold in depends
We don't use the gold linker.
binutils-gold just installs binutils (and the gold linker) in any case.
2022-11-25 17:20:05 +00:00
fanquake
0fe225e378
Merge bitcoin/bitcoin#26470: guix: Clean up libexec/build.sh
d3e5779f11 guix: Drop non-existent directories (Hennadii Stepanov)
43c4afc407 guix: Drop no longer used `prepend_to_search_env_var()` (Hennadii Stepanov)

Pull request description:

  1. The `prepend_to_search_env_var()` function was introduced in c1ae726a13, and it has no longer been used since 1dd8cbfbc6.

  2. The `${NATIVE_GCC}/lib64` and `${NATIVE_GCC_STATIC}/lib64` do not exist at all.

  Guix builds:
  ```
  0a1ed84ba127853fdeb14e6104e97d853116bf3ac9fa4cdd4b72c428ca738f7a  guix-build-d3e5779f110a/output/aarch64-linux-gnu/SHA256SUMS.part
  c69fddab6384ece4061606109acce2f4f991129b5ad2005e9977bc74ad88f60c  guix-build-d3e5779f110a/output/aarch64-linux-gnu/bitcoin-d3e5779f110a-aarch64-linux-gnu-debug.tar.gz
  b8a0968e7057ed6b1703cc5b5213178b06c51c7649c2639d32523f049b082a69  guix-build-d3e5779f110a/output/aarch64-linux-gnu/bitcoin-d3e5779f110a-aarch64-linux-gnu.tar.gz
  9624c5f331d6e2e4f6bb63a3573ff8f688e2662bf8a1959068511ee76fea1b31  guix-build-d3e5779f110a/output/arm-linux-gnueabihf/SHA256SUMS.part
  4b2fecfac94aa55489a9e7316944a1c0216750bfc8658e8dbe2266ad6abed7cd  guix-build-d3e5779f110a/output/arm-linux-gnueabihf/bitcoin-d3e5779f110a-arm-linux-gnueabihf-debug.tar.gz
  db413d3ed5e4917a236dea10d121953c01812d7f3202bf503fb3a7bb40e9655e  guix-build-d3e5779f110a/output/arm-linux-gnueabihf/bitcoin-d3e5779f110a-arm-linux-gnueabihf.tar.gz
  f4952abe163f536c085a3ad9249840f940f5a2670b77042e2c355886301174a0  guix-build-d3e5779f110a/output/arm64-apple-darwin/SHA256SUMS.part
  3f9b76ed00e90547e980062114de435c10b0253a3fa3bca867758c413f68d465  guix-build-d3e5779f110a/output/arm64-apple-darwin/bitcoin-d3e5779f110a-arm64-apple-darwin-unsigned.dmg
  ec30943bf796c7c55f9d5fb186054070483b888c87d1c79a02ba2828c85d9643  guix-build-d3e5779f110a/output/arm64-apple-darwin/bitcoin-d3e5779f110a-arm64-apple-darwin-unsigned.tar.gz
  31fccaf6ff6f70ef3fe09c592f2630f5b2bc39f5c8eadf4f7660e379389442be  guix-build-d3e5779f110a/output/arm64-apple-darwin/bitcoin-d3e5779f110a-arm64-apple-darwin.tar.gz
  6df55d847ad0f3c4cdd35c3fc9603ab58e44bf76a4a942c4f2f268fa02e710e1  guix-build-d3e5779f110a/output/dist-archive/bitcoin-d3e5779f110a.tar.gz
  1e264b6cd129e1353c271049fd3c8338a1d2183aea847cb4ea9d4095fba56a54  guix-build-d3e5779f110a/output/powerpc64-linux-gnu/SHA256SUMS.part
  03d325d8bffa72e79638ae0e5cd7d6c761cdc5e9d664158c83a5f9ff9f393634  guix-build-d3e5779f110a/output/powerpc64-linux-gnu/bitcoin-d3e5779f110a-powerpc64-linux-gnu-debug.tar.gz
  8d459c2fca6e6712cde54ce030cddae9c3fa0607dd9fb4a951f8d62f3e456162  guix-build-d3e5779f110a/output/powerpc64-linux-gnu/bitcoin-d3e5779f110a-powerpc64-linux-gnu.tar.gz
  0ef58af43e18dc7490ea8f01d392e6645b7f978817a8fb0727d90559680a0105  guix-build-d3e5779f110a/output/powerpc64le-linux-gnu/SHA256SUMS.part
  fe4be346506e5f9cc3c5f8a952f4d4b2ac13a2562854d26deee536f411847189  guix-build-d3e5779f110a/output/powerpc64le-linux-gnu/bitcoin-d3e5779f110a-powerpc64le-linux-gnu-debug.tar.gz
  52c0961bfca3985899f872145c566b5220245096a3edc94347800e1de199a17e  guix-build-d3e5779f110a/output/powerpc64le-linux-gnu/bitcoin-d3e5779f110a-powerpc64le-linux-gnu.tar.gz
  ade3eb3f496a5904d12cb09095e7f05c69961d759aba1acc82e01bcfcc2c6ef1  guix-build-d3e5779f110a/output/riscv64-linux-gnu/SHA256SUMS.part
  05a9d0921b5706e210fb0b5a1a70890604ee22a7bbdc25f011cd1bbff1420120  guix-build-d3e5779f110a/output/riscv64-linux-gnu/bitcoin-d3e5779f110a-riscv64-linux-gnu-debug.tar.gz
  fb897b1b527450da6a033802c218722d69176c2572c321ad3e18b2ef3bf398ed  guix-build-d3e5779f110a/output/riscv64-linux-gnu/bitcoin-d3e5779f110a-riscv64-linux-gnu.tar.gz
  a76da4a5d3fd3ed98adbe1e4f1b1c974937e401801d65b55a14e21339b072f9d  guix-build-d3e5779f110a/output/x86_64-apple-darwin/SHA256SUMS.part
  3eb30a851466d4dcf08fbf1d94071d8d6a253fee52540ab109ae9cf629cb36d2  guix-build-d3e5779f110a/output/x86_64-apple-darwin/bitcoin-d3e5779f110a-x86_64-apple-darwin-unsigned.dmg
  6a350a4ea7afbdfba07d1d51039d9c3da5f5ff0a3d4e40095006d0cb571a5c65  guix-build-d3e5779f110a/output/x86_64-apple-darwin/bitcoin-d3e5779f110a-x86_64-apple-darwin-unsigned.tar.gz
  32761153c68431c3bf1eb6638caa00bd4d7daf7372cdea2a9cc711c4c1f68326  guix-build-d3e5779f110a/output/x86_64-apple-darwin/bitcoin-d3e5779f110a-x86_64-apple-darwin.tar.gz
  79fa0b6b25a74c4681679a04ceb9fab1ae0e339ed9e44a30e3c84ee019255e85  guix-build-d3e5779f110a/output/x86_64-linux-gnu/SHA256SUMS.part
  dd496a120f99a818fe453f23f607dd064c855e6d5d199870ce3ab924aca6fed0  guix-build-d3e5779f110a/output/x86_64-linux-gnu/bitcoin-d3e5779f110a-x86_64-linux-gnu-debug.tar.gz
  6dc03d9ad75126ad67c29afbf3ef12e99a97f0792cd8fac6407a2f4ca911f9d1  guix-build-d3e5779f110a/output/x86_64-linux-gnu/bitcoin-d3e5779f110a-x86_64-linux-gnu.tar.gz
  32fb6e76ed757d9d4693c3ef2cea7bd7b9151cadbf9976ed64ab1e3a7ee71e9e  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/SHA256SUMS.part
  93bbc60e546571e14268e25efcf83375c5ec4ed13c546cbf5b76d849a0f50f35  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/bitcoin-d3e5779f110a-win64-debug.zip
  b85932e7cde8616c2d7342735ad8c6247d556fa86ccee8d0ecd326debeb93d8c  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/bitcoin-d3e5779f110a-win64-setup-unsigned.exe
  f77431e1d5b7a356c065dd81383222116cf8254bda0666a169b25415cfba1810  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/bitcoin-d3e5779f110a-win64-unsigned.tar.gz
  8d1a43386648ef5d97aae806f0e38f7fa3ec5f39b30b495fdcf6be6590a392eb  guix-build-d3e5779f110a/output/x86_64-w64-mingw32/bitcoin-d3e5779f110a-win64.zip
  ```

ACKs for top commit:
  fanquake:
    ACK d3e5779f11

Tree-SHA512: bd32442c81146a5558a4f5bc79e1eb841e7c920551289a2c910f8a697c0a70ea26926e9ca7cdb486176b772ee42544559939417a2bdf3ab6cc4b65dba816a087
2022-11-25 17:17:28 +00:00
fanquake
32599766ca
Merge bitcoin/bitcoin#26335: Guix documentation improvements
10660c0c60 doc: move Guix uninstall instructions to INSTALL.md (Sjors Provoost)
68fab72a8c guix: OpenSSL test failure workaround (Sjors Provoost)
d612dca852 guix: reminder to migrate guix-daemon-original customization (Sjors Provoost)
8aa460cd02 guix: add guile-gnutls and guile-json to install list (Sjors Provoost)
9b9991e026 guix: recommend mounting a tmpfs on /tmp (Sjors Provoost)
682283445e guix: bump recommended hash for manual installation (Sjors Provoost)

Pull request description:

  I'm manually installing Guix on a fresh Ubuntu machine. Will be pushing more documentation fixes to this PR as I run into things.

  1. Bump minimum hash to match time-machine bump in #25099. It's not necessary for the root Guix version to match the time-machine version in our build, because `guix build` will automatically perform an upgrade for the user, but imo it's better to get any build issues (in Guix itself) over with while the user is going though `INSTALL.md`, rather than during their first Guix build (of Bitcoin Core).
  2. Recommend mapping a tmpfs to /tmp upfront, rather than in the troubleshooting section
  3. Add `guile-gnutls` and `guile-json` to the table of stuff to install (avoids having to find out in the `./configure` phase)
  4. Improve systemd doc
  5. Workaround OpenSSL v1.1.1l and v1.1.1n test failure (change machine time)
  6. Move uninstallation instructions to INSTALL.md, drop unused footnote / links

ACKs for top commit:
  jamesob:
    ACK 10660c0c60

Tree-SHA512: ff1278b16f03ea9c63e23e97a852340ab824d5f6c64645cb70237dd828b9a439b4133b60cd2b89672573f6546e99419021d092e236f731908158a7aa6473b0ef
2022-11-25 16:48:20 +00:00
fanquake
93cae70d87
Merge bitcoin/bitcoin#26561: fuzz: Move-only net utils
fa3b2cf277 fuzz: Move-only net utils (MarcoFalke)

Pull request description:

  This should speed up fuzz builds when `src/test/fuzz/util.h` is modified. Also, it makes sense on its own.

ACKs for top commit:
  dergoegge:
    ACK fa3b2cf277

Tree-SHA512: 03d6abeb728ac8eb3f28167e8ac43d8d6e7e1b1738ec14f58a36e17502081fdde2d56f2d47a9e11b991754667e83b2eb22d154e394c0c1c4ffa0945db86b7e21
2022-11-25 16:47:17 +00:00
fanquake
bc67215b29
Merge bitcoin/bitcoin#26558: doc: add tr() descriptor example to deriveaddresses
92a4ed05d1 doc: add tr() descriptor example to deriveaddresses (FractalEncrypt)

Pull request description:

  This simple PR adds a missing tr() descriptor example to the `help deriveaddresses` examples.

  - The functionality added in https://github.com/bitcoin/bitcoin/pull/24043 is a significant departure from legacy multisig address creation, yet there is no corresponding tr() descriptor example in the help.
  - Having this example in combination with the examples in the descriptors documentation will be helpful to users.

  I needed this information to correctly create a tr multisig address but was unable. I had to leave the software and use a 3rd party site to ask two separate questions ([1](https://bitcoin.stackexchange.com/questions/115700/how-do-i-create-a-taproot-multisig-address-requiring-21-of-210-keys-to-spend), [2](https://bitcoin.stackexchange.com/questions/115742/signing-psbts-to-spend-from-taproot-multisig-address)) to create an address using the new functionality.

  Note: This specific example is not provided in the [descriptors.md ](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md) documentation, though there is a similar example with `sortedmulti_a. `

ACKs for top commit:
  instagibbs:
    ACK 92a4ed05d1
  kouloumos:
    ACK 92a4ed05d1
  w0xlt:
    ACK 92a4ed05d1

Tree-SHA512: 8fb052bd469718157cb64439b885f8b0ecfb5a798535a02bae0a5dc748cd554a3e5ffdd9fe4acaef16156eadb59e1b2bcde7356e811397225f2783a84c8b112f
2022-11-25 16:39:40 +00:00
josibake
54dd8f51ce
ci: use ci_exec_root for clang install 2022-11-25 14:13:29 +01:00
@RandyMcMillan
dddfa028ff
contrib/builder-keys/keys.txt: remove unavailable key
remove unavailable builder-key:
A2FD494D0021AA9B4FA58F759102B7AE654A4A5A Ilyas Ridhuan (IlyasRidhuan)
2022-11-23 21:29:33 -05:00
Martin Zumsande
956c67059c refactor, doc: Improve SetupAddressRelay call in version processing
This code was a bit hard to understand, so make it less dense and
add more explanations. Doesn't change behavior.

Co-authored-by: Amiti Uttarwar <amiti@uttarwar.org>
2022-11-23 16:11:43 -05:00
MarcoFalke
fa3b2cf277
fuzz: Move-only net utils 2022-11-23 17:26:01 +01:00
FractalEncrypt
92a4ed05d1 doc: add tr() descriptor example to deriveaddresses
add a tr() descriptor example to the help deriveaddresses examples
2022-11-23 10:17:29 -05:00
fanquake
38d06e1561
Merge bitcoin/bitcoin#26383: test: Add feature_taproot case involving invalid internal pubkey
5d413c8e79 Add feature_taproot case involved invalid internal pubkey (Pieter Wuille)

Pull request description:

  Add a test case to feature_taproot which involves an output that is (incorrectly) constructed, using an invalid internal public key and valid script tree. It is designed to detect cases where the script path spending validation logic does not detect this case, and instead treats the internal public key as the point at infinity.

  Equivalent unit test case added in https://github.com/bitcoin-core/qa-assets/pull/98.

ACKs for top commit:
  instagibbs:
    ACK 5d413c8e79
  aureleoules:
    reACK 5d413c8e79

Tree-SHA512: dfa014e383cd2743f3c9a996e1f2a2fceb9e244edf4b05dc0c110c4ba32a87684482222907805a4ca998aebcb42a197bb3e7967bfb5f0554fe9f1e5aa5463603
2022-11-22 16:31:05 +00:00
MarcoFalke
85892f77c9
Merge bitcoin/bitcoin#25900: ci: run docker wrapper with a non-root user
849f20a6d3 ci: create and use non-root user for docker image (josibake)

Pull request description:

  Previously, everything in the ci docker image ran as the root user. This would lead to certain directories (`ci/scratch`, `depends`) being owned by `root` after running the ci locally which would lead to annoying behavior such as subsequent guix builds failing due to `depends/` being owned by root.

  This PR adds a non-root user in the container and chowns the mounted working directory. All the `docker exec` commands now run as the non-root user, except for the few that still need to run as root (mainly, installing packages).

  To test this I checked out a fresh copy of the repo, applied my changes, ran the CI, and verified all the local file permissions were unchanged after the CI was finished running.

ACKs for top commit:
  hebasto:
    ACK 849f20a6d3, tested on Ubuntu 22.04 by running commands as follows:

Tree-SHA512: 734dca0f36157fce5fab243b4ff657fc17ba980e8e4e4644305f41002ff21bd5cef02c306ea1e0b5c841d4c07c095e8e4be16722e6a38c890717c60a3f5ec62a
2022-11-22 12:46:40 +01:00
fanquake
1ef498f75b
Merge bitcoin/bitcoin#26520: doc: test: update/fix TestShell example instructions
31d0067f8b doc: test: update/fix TestShell example instructions (Sebastian Falbesoner)

Pull request description:

  This PR tackles two issues in the TestShell documentation:
  - add missing instruction for creating a wallet prior to the `getnewaddress` call (needed as there is no default wallet created anymore since v0.21)
  - fix `generatetoaddress` call syntax (the scripted-diff in commit fa0b916971 only worked for tests using `BitcoinTestFramework`)

ACKs for top commit:
  fanquake:
    ACK 31d0067f8b - current instructions don't work. These do.

Tree-SHA512: d2b7808a06892ad16728cb2b6d4a72b255ad711d27fe98b1de562f80444e7bb25d73296abdde4308162fe3be702864e2f7b7dbbbb000fe54c709951c09e6c730
2022-11-22 10:53:04 +00:00
MarcoFalke
164027f824
Merge bitcoin/bitcoin#26100: doc: clarify that NetPermissionFlags::Implicit is only about whitelists
f362920c2c doc: clarify that NetPermissionFlags::Implicit is only about whitelists (Vasil Dimov)

Pull request description:

  `NetPermissionFlags::Implicit` applies just to connections from `-whitebind` or `-whitelist`, clarify that in its comment.

ACKs for top commit:
  Zero-1729:
    crACK f362920c2c
  aureleoules:
    ACK f362920c2c
  hernanmarino:
    re ACK f362920c2c

Tree-SHA512: 03f6f8be221c6819bdd0b5b56b69b4e3a6dd25e5ca5a247eeb1261113144b9b74cf064a0b7815317782a0a18365dd3dab97963bd238e9b231dbe7e1cf0395683
2022-11-22 11:44:43 +01:00
MarcoFalke
7eeae5c023
Merge bitcoin/bitcoin#26553: test: Fix intermittent failure in rpc_net.py
0f6cd72237 test: Fix intermittent failure in rpc_net.py (Martin Zumsande)

Pull request description:

  Fixes #26552.

  The problem was that calling `disconnect_p2ps` waits until `self.num_test_p2p_connections() == 0`.
  `num_test_p2p_connections()` checks the field `subver` in `getpeerinfo` to distinguish p2p nodes from full nodes.
  However, if we are dealing with a p2p connection that has never sent a version, the node has never received the special subversion and the wait is ineffective (we continue even though the disconnection is not yet completed).

  Fix this by not using `disconnect_p2ps`.

ACKs for top commit:
  MarcoFalke:
    ACK 0f6cd72237

Tree-SHA512: ebdc78498db6971ae2f9b494dc76b35de46155bf191ce82ee04162592d0d9ec1272901992406d530fa46fb52cd815c4b91350824578292df14986584bc60b90a
2022-11-22 11:22:01 +01:00
fanquake
1b680948d4
Merge bitcoin/bitcoin#26292: util: move threadinterrupt into util/
b89530483d util: move threadinterrupt into util (fanquake)

Pull request description:

  Alongside thread and threadnames. It's part of libbitcoin_util.

ACKs for top commit:
  ryanofsky:
    Code review ACK b89530483d. No changes since last review other than rebase
  theuni:
    ACK b89530483d.

Tree-SHA512: 0421f4d1881ec295272446804b27d16bf63e6b62b272f8bb52bfecde9ae6605e8109ed16294690d3e3ce4b15cc5e7c4046f99442df73adb10bdf069d3fb165aa
2022-11-22 09:52:53 +00:00
fanquake
542a2b567d
Merge bitcoin/bitcoin#26376: test: Use type-safe NodeSeconds for TestMemPoolEntryHelper
fa2d01470a test: Use type-safe NodeSeconds for TestMemPoolEntryHelper (MacroFake)

Pull request description:

  test-only refactor to drop the deprecated `GetTime` in favour of the type-safe alternative

ACKs for top commit:
  aureleoules:
    ACK fa2d01470a - verified that there is no behavior change

Tree-SHA512: 5b64dae19c7bba9e8d90377c85891bc86f60ffbe67ea28d5ed3bd38f6dc30d3fbfba00bf49a16792922bddf83a52c632b6e5e5d8ffe1619fd9bf63effc60d59a
2022-11-22 09:50:33 +00:00
Martin Zumsande
0f6cd72237 test: Fix intermittent failure in rpc_net.py
The wait in disconnect_p2ps checked for subver, which
is unavailable for the peer that didn't send a version msg.
2022-11-21 18:10:25 -05:00
furszy
13d9760829
test: load wallet, coverage for crypted keys
Adds test coverage for the wallet's crypted key loading from db process.
The following scenarios are covered:

1) "All ckeys checksums valid" test:
   Loads an encrypted wallet with all the crypted keys with a valid checksum and
   verifies that 'CWallet::Unlock' doesn't force an entire crypted keys re-write.

   (we force a complete ckeys re-write if we find any missing crypted key checksum
    during the wallet loading process)

2) "Missing checksum in one ckey" test:
   Verifies that loading up a wallet with, at least one, 'ckey' with no checksum
   triggers a complete re-write of the crypted keys.

3) "Invalid ckey checksum error" test:
   Verifies that loading up a ckey with an invalid checksum stops the wallet loading
   process with a corruption error.

4) "Invalid ckey pubkey error" test:
   Verifies that loading up a ckey with an invalid pubkey stops the wallet loading
   process with a corruption error.
2022-11-21 17:30:00 -03:00
furszy
373c99633e
refactor: move DuplicateMockDatabase to wallet/test/util.h 2022-11-21 17:30:00 -03:00
furszy
ee7a984f85
refactor: unify test/util/wallet.h with wallet/test/util.h
files share the same purpose, and we shouldn't have wallet code
inside the test directory.

This later is needed to use wallet util functions in the bench
and test binaries without be forced to duplicate them.
2022-11-21 17:30:00 -03:00
Pieter Wuille
5d413c8e79 Add feature_taproot case involved invalid internal pubkey 2022-11-21 14:00:43 -05:00
josibake
849f20a6d3
ci: create and use non-root user for docker image
Running all commands as the root user in the docker image
will change local file permissions in the ci and depends directory.

Add a non-root user to the container and use this user whenever
possible when running docker exec commands.
2022-11-21 18:11:28 +01:00
MacroFake
60a00889b0
Merge bitcoin/bitcoin#26545: test: Remove unused sanitizer suppressions
fadb714039 test: Remove unused sanitizer suppressions (MacroFake)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK fadb714039
  hebasto:
    ACK fadb714039

Tree-SHA512: 28d4d2eacdbad567434f0f792dbcaa424344dbd13e8686c72f1cbf8a79343b6ee9661246b13ab3f295757269861405315f42180ef49b69411d0b45f9b7796dd7
2022-11-21 17:27:34 +01:00
fanquake
01a66e21ef
Merge bitcoin/bitcoin#26546: test: remove unused class NodePongAdd1
40bdc8a6e4 test: remove unused class `NodePongAdd1` (Sebastian Falbesoner)

Pull request description:

  This class was introduced in commit fa3365430c ("net: Use mockable time for ping/pong, add tests"), but actually never used.

ACKs for top commit:
  stickies-v:
    ACK 40bdc8a6e

Tree-SHA512: b5a6552e4f2e0b7e368a071cc53b9a8e6f5d1950565a9fda8eb1971a01d8be0541d066842723ef44174fe8189925fa36f2defb6d7bf8d104abc77de410cc4c13
2022-11-21 15:32:23 +00:00
MacroFake
0968c51401
Merge bitcoin/bitcoin#26497: fuzz: Make ConsumeNetAddr always produce valid onion addresses
0eeb9b0442 [fuzz] Move ConsumeNetAddr to fuzz/util/net.h (dergoegge)
291c8697d4 [fuzz] Make ConsumeNetAddr produce valid onion addresses (dergoegge)
c9ba3f836e [netaddress] Make OnionToString public (dergoegge)

Pull request description:

  The chance that the fuzzer is able to guess a valid onion address is probably slim, as they are Base32 encoded and include a checksum.  Right now, any target using `ConsumeNetAddr` would have a hard time uncovering bugs that require valid onion addresses as input.

  This PR makes `ConsumeNetAddr` produce valid onion addresses by using the 32 bytes given by the fuzzer as the pubkey for the onion address and forming a valid address according to the torv3 spec.

ACKs for top commit:
  vasild:
    ACK 0eeb9b0442
  brunoerg:
    ACK 0eeb9b0442

Tree-SHA512: 7c687a4d12f9659559be8f0c3cd4265167d1261d419cfd3d503fd7c7f207cc0db745220f02fb1737e4a5700ea7429311cfc0b42e6c15968ce6a85f8813c7e1d8
2022-11-21 14:35:20 +01:00
Sebastian Falbesoner
40bdc8a6e4 test: remove unused class NodePongAdd1
This class was introduced in commit
fa3365430c ("net: Use mockable time for
ping/pong, add tests"), but actually never used.
2022-11-21 13:03:35 +01:00
MacroFake
fadb714039
test: Remove unused sanitizer suppressions 2022-11-21 12:13:42 +01:00
MacroFake
df2f16666c
Merge bitcoin/bitcoin#26508: RPC/Blockchain: Minor improvements for scanblocks & scantxoutset docs/errors
f9869843a6 RPC/blockchain: scan{blocks,txoutset>: Further doc improvements (Luke Dashjr)
54b45e155e RPC/Blockchain: Clarify invalid-action error in scanblocks & scantxoutset (Luke Dashjr)

Pull request description:

  * Clarify invalid-action error in scanblocks & scantxoutset
  * Mention action=='start' only returns after scan completes (already in scantxoutset)
  * Document `relevant_blocks`

ACKs for top commit:
  kristapsk:
    utACK f9869843a6
  aureleoules:
    ACK f9869843a6
  MarnixCroes:
    ACK f9869843a6

Tree-SHA512: a37c9cc8a9a2f59376e8d8ed7dbf5e140eb3fefb4b7c19a23fc8190f3aef060bda1f0d5d06dc81cd7dca9e871d65f6c8094bab6e8d42e0bcef0fc7ffd2342d09
2022-11-21 11:32:36 +01:00
MacroFake
295f617988
Merge bitcoin/bitcoin#26505: doc: -getinfo help - grammar correction
cc597bd56d src/bitcoin-cli.cpp: -getinfo help - grammar correction (@RandyMcMillan)

Pull request description:

Top commit has no ACKs.

Tree-SHA512: a5321968d0d377e1481170b4220a1319bf9040ec198b27c011609a5b7a81e9193500b750980c7de423b8b99655ed0f7772a9621e0b230aa6cc5d7b48167ed4f9
2022-11-21 09:34:06 +01:00
glozow
d0b1f613c2
Merge bitcoin/bitcoin#17786: refactor: Nuke policy/fees->mempool circular dependencies
c8dc0e3eaa refactor: Inline `CTxMemPoolEntry` class's functions (Hennadii Stepanov)
75bbe594e5 refactor: Move `CTxMemPoolEntry` class to its own module (Hennadii Stepanov)

Pull request description:

  This PR:
  - gets rid of the `policy/fees` -> `txmempool` -> `policy/fees` circular dependency
  - is an alternative to #13949, which nukes only one circular dependency

ACKs for top commit:
  ryanofsky:
    Code review ACK c8dc0e3eaa. Just include and whitespace changes since last review, and there's a moveonly commit now so it's very easy to review
  theStack:
    Code-review ACK c8dc0e3eaa
  glozow:
    utACK c8dc0e3eaa, agree these changes are an improvement.

Tree-SHA512: 36ece824e6ed3ab1a1e198b30a906c8ac12de24545f840eb046958a17315ac9260c7de26e11e2fbab7208adc3d74918db7a7e389444130f8810548ca2e81af41
2022-11-18 17:04:49 -08:00
Andrew Chow
aeb395dcdb
Merge bitcoin/bitcoin#25315: Add warning on first startup if free disk space is less than necessary
6630a1e844 Add warning on first startup if free disk space is less than necessary (Ben Woosley)

Pull request description:

  This reworks/revives https://github.com/bitcoin/bitcoin/pull/15848 to add a check for low disk space on first startup and issue a warning if disk space is below the expected space required to accommodate the blocks.

  This PR was fashioned by a team of developers at the [bitcoin++](https://www.btcplusplus.dev/) conference workshop: "[Let's contribute to Bitcoin Core](https://sched.co/12P6Z)"

  Fixes #15813

ACKs for top commit:
  achow101:
    ACK 6630a1e844
  willcl-ark:
    tACK 6630a1e844 rebased on master. Warning shows on first start but not on restart after some blocks have been downloaded.
  aureleoules:
    ACK 6630a1e844
  pablomartin4btc:
    re-ACK 6630a1e844
  hernanmarino:
    ReACK 6630a1e844

Tree-SHA512: 0f18acabdf2b514e96e2eea8f304960b952226b83dc91334cf7d1f6355ea2f257aaec0ee38d43ac36435385ecd918333d20657c35a8a7407e7cf2680ccb643bb
2022-11-18 11:33:10 -05:00
furszy
cc5a5e8121
wallet: bugfix, invalid crypted key "checksum_valid" set
At wallet load time, we set the crypted key "checksum_valid" variable always to false.
Which, on every wallet decryption call, forces the process to re-write the entire ckeys to db when
it's not needed.
2022-11-18 11:38:56 -03:00
MacroFake
256120d2da
Merge bitcoin/bitcoin#26519: test: Add getpeerinfo test for missing version message
fa68d086f3 test: Add getpeerinfo test for missing version message (MacroFake)

Pull request description:

  There seems to be a lot of discussion about behaviour/code that is completely untested.

  Fix this by adding a test. The test documents the current behaviour and helps to detect when the behaviour changes in the future.

ACKs for top commit:
  jonatack:
    ACK fa68d086f3
  mzumsande:
    Code Review ACK fa68d086f3

Tree-SHA512: d092b30d5bdb46712c91a7c5bd2d0c82a0da281f1460967aa4e32c648b15d8d97870ded9565a90af34874eb468aad8b99694a2485af6807994e7cfc05482aa8c
2022-11-18 10:52:51 +01:00
MacroFake
b3c76ab757
Merge bitcoin/bitcoin#26524: doc: add 24.0 release notes
b93beef5ed doc: Mac -> macOS in release notes template (fanquake)
2747adb68a doc: Add 24.0 release notes (fanquake)

Pull request description:

  Same as past releases.

ACKs for top commit:
  stickies-v:
    ACK b93beef5ed

Tree-SHA512: c28bc7286f330a6058ae266b238468044439457ff5b9df191232d91dc17b8092facd6ed72accec8bc9db10f055f7bb7e06700cc1ed0bd045fc15f612bc023a46
2022-11-18 10:26:43 +01:00
MacroFake
cfee93f68a
Merge bitcoin/bitcoin#26487: log: improve some validation log messages to include hashPrevBlock
ac410e6fc0 log: improve some validation log messages to include hashPrevBlock (Skuli Dulfari)

Pull request description:

  When there is an issue with a previous block the current log messages do not indicate hashPrevBlock. Adding it makes debugging easier.

ACKs for top commit:
  stickies-v:
    ACK ac410e6fc0
  aureleoules:
    reACK ac410e6fc0
  theStack:
    ACK ac410e6fc0

Tree-SHA512: d91481321f4474bb4fdf6ad55d1c897437b631b0a12308815c4ac5b053c8a76726e2d93f2aa0701e8cfd48fba7fad19ef5ffca3c67d3aa973dc593df806f1757
2022-11-18 09:54:33 +01:00
Skuli Dulfari
ac410e6fc0 log: improve some validation log messages to include hashPrevBlock
When there is an issue with a previous block the current log messages do
not indicate hashPrevBlock. Adding it makes debugging easier.
2022-11-17 16:45:15 +00:00
dergoegge
0eeb9b0442 [fuzz] Move ConsumeNetAddr to fuzz/util/net.h 2022-11-17 14:52:45 +00:00
dergoegge
291c8697d4 [fuzz] Make ConsumeNetAddr produce valid onion addresses 2022-11-17 14:52:45 +00:00
dergoegge
c9ba3f836e [netaddress] Make OnionToString public 2022-11-17 14:52:45 +00:00
fanquake
b93beef5ed
doc: Mac -> macOS in release notes template
https://github.com/bitcoin/bitcoin/pull/26503#discussion_r1023782259
2022-11-17 14:43:56 +00:00
fanquake
2747adb68a
doc: Add 24.0 release notes 2022-11-17 14:38:22 +00:00
Hennadii Stepanov
fb01af6c77
Merge bitcoin-core/gui#680: Fixes MacOS 13 segfault by preventing certain notifications after main window is destroyed
8a5014cd8a Fixes bitcoin#26490 by preventing notifications (John Moffett)

Pull request description:

  This is a PR to address https://github.com/bitcoin/bitcoin/issues/26490

  The menu bar currently subscribes to window focus change notifications to enable or disable certain menu options in response to the window status.

  Notifications are automatically unsubscribed (disconnected in Qt parlance) if the sender is deleted -- in this case, the sender is the QTApplication object (`qApp`). However, MacOS 13 sends a window focus change notification *after* the main window has been destroyed but *before* `qApp` has been fully destroyed.

  Since the menu bar is deleted in the main window's destructor, it no longer exists when it receives these notifications (in two different places via lambda expressions). The solution is to pass the main window (`this`) as context when subscribing to the notifications. In this [overloaded version](https://doc.qt.io/qt-5/qobject.html#connect-1) of `connect`, Qt automatically unsubscribes to notifications if the sender OR context (here the main window object) is destroyed. Since the spurious notifications are sent after the main window object is destroyed, this change prevents them from being sent.

  Tested on Mac OS 13 and 12 only.

ACKs for top commit:
  hebasto:
    ACK 8a5014cd8a

Tree-SHA512: 3dff0a252fe0e93dd68cf5503135ecf6a72bcf385ba38407d6021ab77cca323f8bbe58aeca90ec124aa2a22ab9d35b706946179ac3b5d171c96a7010de51a090
2022-11-17 14:30:11 +00:00
Sebastian Falbesoner
31d0067f8b doc: test: update/fix TestShell example instructions
Tackles two issues in the TestShell documentation:
- add missing instruction for creating a wallet prior to the
  `getnewaddress` call (needed as there is no default wallet created
  anymore since v0.21)
- fix `generatetoaddress` call syntax (the scripted-diff in commit
  fa0b916971 only worked for tests using
  `BitcoinTestFramework`)
2022-11-17 12:04:13 +01:00
MacroFake
fa68d086f3
test: Add getpeerinfo test for missing version message 2022-11-17 11:20:33 +01:00
MacroFake
82fe672ea0
Merge bitcoin-core/gui#681: Fix Transaction Relay tooltip text in Peers details window
7a53033303 Fix Transaction Relay tooltip text in Peers details window (Jon Atack)

Pull request description:

  as a value of N/A could occur due to a lock or a disconnection race but not during connection setup -- see https://github.com/bitcoin/bitcoin/pull/26457#pullrequestreview-1181641835.  Credit to Martin Zumsande for finding this.

ACKs for top commit:
  jarolrod:
    ACK 7a53033303

Tree-SHA512: 031779567e927f05f6fae02394a8c97ba5c45ba9fffd7f1e2c006e152df5f724d92a06f18a4c2540436476eca6b40a3a5cbc4421666cd576439b823668acfcfb
2022-11-17 10:22:36 +01:00
Randall Naar
6fb102c9f3 test: Changed small_txpuzzle_randfee to return the virtual size instead of the transaction hex for feerate calculation. 2022-11-17 00:11:08 -05:00
Jon Atack
7a53033303 Fix Transaction Relay tooltip text in Peers details window
as a value of N/A could occur due to a lock or a disconnection race
but not during connection setup.
2022-11-16 20:54:54 -08:00