Commit Graph

31711 Commits

Author SHA1 Message Date
MarcoFalke
faef7e93e1
doc: Merge release note snippets 2021-12-06 13:55:02 +01:00
MarcoFalke
dca9ab48b8
Merge bitcoin/bitcoin#23661: cover DisconnectBlock with lock annotation
7da4a8ffb3 cover DisconnectBlock with lock annotation (James O'Beirne)

Pull request description:

  While reviewing #23630, I noticed that `DisconnectBlock` is uncovered by lock annotations. CoinsTip() access requires cs_main and therefore so should this function.

ACKs for top commit:
  jonatack:
    ACK 7da4a8ffb3

Tree-SHA512: 3e2b0247c138b31deeadcd48eb3f7bc8d32c0b6bb6d6e94ccf8ea0cbbc50b1b35d83f662eee432f2bd2d87a3fe9c94604da806ec711df93298bfb0ab34a5a05b
2021-12-06 13:38:54 +01:00
MarcoFalke
8b2c0df83e
Merge bitcoin/bitcoin#23614: test: add unit test for block-relay-only eviction
4740fe8212 test: Add test for block relay only eviction (Martin Zumsande)

Pull request description:

  Adds a unit test for block-relay-only eviction logic added in #19858, which was not covered by any tests before. The added test is very similar to the existing `stale_tip_peer_management` unit test, which tests the analogous logic for regular outbound peers.

ACKs for top commit:
  glozow:
    reACK 4740fe8212
  rajarshimaitra:
    tACK 4740fe8212
  shaavan:
    ACK 4740fe8212. Great work @ mzumsande!
  LarryRuane:
    ACK 4740fe8212

Tree-SHA512: 5985afd7d8f7ae311903dbbf6b7d526e16309c83c88ae6dd6551960c0b186156310a6be0cf6b684f82ac1378d0fc5aa3717f0139e078471013fceb6aebe81bf6
2021-12-06 13:23:55 +01:00
MarcoFalke
32d9f3770a
Merge bitcoin/bitcoin#23596: test: fix wallet_transactiontime_rescan.py --descriptors and add to test runner
e4a54af6b8  test: add wallet_transactiontime_rescan.py --descriptors to test_runner.py (Sebastian Falbesoner)
b60e02e993 test: fix test wallet_transactiontime_rescan.py for descriptor wallets (Sebastian Falbesoner)
a905ed1a61 test: refactor: use `set_node_times` helper in wallet_transactiontime_rescan.py (Sebastian Falbesoner)

Pull request description:

  The functional test wallet_transactiontime_rescan.py currently fails on master branch, if descriptor wallets are used (argument `--descriptors`). This is due to the fact that in this case, the test framework maps the importaddress RPC calls to the importdescriptors RPC (rescan=False -> timestamp='now'), which always rescans blocks of the past 2 hours, based on the current MTP timestamp. In order to avoid importing the last address (wo3), we generate 10 more blocks with advanced time, to ensure that the balance after importing is zero:
  681b25e3cd/test/functional/wallet_transactiontime_rescan.py (L125-L134)

  Calling this test with descriptor wallets is also added to test runner. Fixes #23562.

ACKs for top commit:
  Sjors:
    tACK e4a54af
  brunoerg:
    tACK e4a54af6b8

Tree-SHA512: 9fd8e298d48dd7947b1218d61a1a66c1241b3dbb14451b0ec7cd30caa74ee540e7ee5a7bd10d421b9e3b6e549fa5c3e85bd02496436128b433b328118642f600
2021-12-06 12:28:25 +01:00
W. J. van der Laan
22feb7fee9
Merge bitcoin/bitcoin#23577: Follow-ups to Bech32 error detection
a4fe70171b Make Bech32 LocateErrors return error list rather than using out-arg (Samuel Dobson)
2fa4fd1961 Use std::iota instead of manually pushing range (Samuel Dobson)
405c96fc9f Use bounds-checked array lookups in Bech32 error detection code (Samuel Dobson)
28d9c2857f Simplify encoding of e in GF(1024) tables to (1,0) (Samuel Dobson)
14358a029d Replace GF1024 tables and syndrome constants with compile-time generated constexprs. (Samuel Dobson)
63f7b69779 Update release note for bech32 error detection (Samuel Dobson)
c8b9a224e7 Report encoding type in bech32 error message (Samuel Dobson)
92f0cafdca Improve Bech32 boost tests (Samuel Dobson)
bb4d3e9b97 Address review comments for Bech32 error validation (Samuel Dobson)

Pull request description:

  A number of follow-ups and improvements to the bech32 error location code, introduced in #16807.

  Notably, this removes the hardcoded GF1024 tables in favour of constexpr table generation.

ACKs for top commit:
  laanwj:
    Re-ACK a4fe70171b

Tree-SHA512: 6312373c20ebd6636f5797304876fa0d70fa777de2f6c507245f51a652b3d1224ebc55b236c9e11e6956c1e88e65faadab51d53587078efccb451455aa2e2276
2021-12-06 12:18:17 +01:00
MarcoFalke
d20d6ac545
Merge bitcoin/bitcoin#23672: tests: Add data-driven testcases to rpc_decodescript.py
b35942e500 tests: Add data-driven testcases to rpc_decodescript.py (Dimitri)

Pull request description:

  closes #23641

Top commit has no ACKs.

Tree-SHA512: 2f494c78ad085d523fae15befaadb9e0fc382b5310e3a95395ecf06a90968b15b6d232f7564098ed0a68419e27aa2e5260fe691cf2ce84af9fb6b65634e54d77
2021-12-06 10:09:30 +01:00
MarcoFalke
42b35f17d5
Merge bitcoin/bitcoin#23681: test: Remove false coinstatsindex test
c055f6b216 test: Remove false coinstatsindex test (Fabian Jahr)

Pull request description:

  This test never actually tested the behavior that it describes in the comments. This was discovered in #21590 which seems to speed up muhash which lead to the test failing.

  I can vaguely remember that the described behavior was desired by some reviewers of `coinstatsindex`: That `coinstatsindex` should be aware of stale blocks and able to return statistics on them as well. The index actually does this for blocks that it sees while the index is active, i.e. while running `coinstatsindex` all blocks will be indexed and even when they become stale the index (via `gettxoutsetinfo`) will still return a result for them when given the right hash. But this currently does not work for blocks that the node saw and that became stale _before_ the node activated `coinstatsindex`. While the index syncs initially everything but the active chain is ignored and I don't see any indication that this ever worked differently in the past.

  Introducing this behavior seems non-trivial at first glance so, while I will give this a shot, I think the test should be removed so it does not confuse users and does not block #21590.

Top commit has no ACKs.

Tree-SHA512: b05f5dfeea3e453c8bb7c761501d0d896d4412a3f0c08037955951fae9fe388c63402da401792591e18da8fb67734f47f1a297d573cdb66e0ced451698718067
2021-12-06 09:56:05 +01:00
Samuel Dobson
a4fe70171b Make Bech32 LocateErrors return error list rather than using out-arg 2021-12-06 14:17:41 +13:00
Fabian Jahr
c055f6b216
test: Remove false coinstatsindex test 2021-12-05 22:42:29 +01:00
Dimitri
b35942e500 tests: Add data-driven testcases to rpc_decodescript.py 2021-12-05 22:07:04 +01:00
Hennadii Stepanov
ea989deecc
Merge bitcoin-core/gui#493: qt: Handle Android back key in the Node window
a56a104938 qt: Handle Android back key in the Node window (Hennadii Stepanov)
f045f98717 qt, android: Add GUIUtil::IsEscapeOrBack helper (Hennadii Stepanov)

Pull request description:

  On master (4633199cc8) there are no means to return from the Node window to the main one on Android.

  This PR assigns this functionality to the Android back key:

  ![Screenshot_1638395318](https://user-images.githubusercontent.com/32963518/144320316-af5599ac-0379-40e6-9887-7f5ee30b97ae.png)

ACKs for top commit:
  icota:
    utACK a56a104938

Tree-SHA512: 379c1ad8c6bffa037e861b88c66eb33872d7f7d54aa2f76289a51c55d79a37a0c16262b20f22d00fda11522c7df1f3561c1ceae34cd7a85da94aee4c6cdcfaaf
2021-12-05 02:45:13 +02:00
James O'Beirne
7da4a8ffb3
cover DisconnectBlock with lock annotation
CoinsTip() access requires cs_main and therefore so should this function.
2021-12-03 10:34:07 -05:00
MarcoFalke
57982f419e
Merge bitcoin/bitcoin#23654: fuzz: Rework rpc fuzz target
fa52a86fd3 fuzz: Rework rpc fuzz target (MarcoFalke)

Pull request description:

  Changes (reason):

  * Return `void` in `CallRPC` (the result is unused anyway)
  * Reduce the `catch`-scope of `std::runtime_error` to `RPCConvertValues` (Code clarity and easier bug-finding)
  * Crash when an internal bug is detected (bugs are bad)

ACKs for top commit:
  shaavan:
    Code Review ACK fa52a86fd3

Tree-SHA512: 576411a0e50bca9be3e6ffaf745001b1808fd37029251f8ec2c279e0671efe91d43dd81fd4ca26871c28b119e593ee2a0043d4b75f44da578f17541ee3afd696
2021-12-03 14:02:51 +01:00
fanquake
c9b63ab61e
Merge bitcoin/bitcoin#23489: build: Qt 5.15.2
c0a1c3ca08 ci: Bump Qt to 5.15.2 in the native Windows task (Hennadii Stepanov)
06aca8aacb doc: Update `build_msvc/README.md` for Qt 5.15.2 (Hennadii Stepanov)
1732eaba4f build, qt: Fix regression in rendering on macOS Big Sur (Hennadii Stepanov)
c870027cc2 build: qt 5.15.2 (fanquake)
904ba2aa40 build: add libxcb_util_wm 0.4.1 (fanquake)
0e2ca89a78 build: add libxcb_util_image 0.4.0 (fanquake)
36af9b6c94 build: add libxcb_util_keysyms 0.4.0 (fanquake)
b3cfbf5af2 build: add libxcb_util_render 0.3.9 (fanquake)
e545b56dc5 build: add libxcb_util 0.4.0 (fanquake)
937b36b5f0 build: libxcb 1.14 (fanquake)
01544dd78c build: freetype 2.11.0 (fanquake)
10ac182f4c build: expat 2.4.1 (fanquake)
d3d547c545 build: xcb_proto 1.14.1 (fanquake)
fc65127244 build: libXau 1.0.9 (fanquake)
0697557321 build: xproto 7.0.31 (fanquake)

Pull request description:

  Hebasto asked for this branch to be resurrected, so here it is.

  Guix Builds:
  ```bash
  9bbbec69cc56255fbe0dd6f63d26b6d76ebc071275cd603a2388baf028a2e5fe  guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/SHA256SUMS.part
  57aee87dedbf3c41e52e7bb18cb52e96a656696699ce0663a35cf6c030ca048a  guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/bitcoin-c0a1c3ca0894-aarch64-linux-gnu-debug.tar.gz
  8d2842ff0995bf53f4ed6f67e3db3d33f4cd1d117b15122d750875a3681dba21  guix-build-c0a1c3ca0894/output/aarch64-linux-gnu/bitcoin-c0a1c3ca0894-aarch64-linux-gnu.tar.gz
  67b342e95d8fa5d897d84e53f5bb5cc8323921d31c51497196b54d2c2d62e915  guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/SHA256SUMS.part
  f52e8b2e28236a7fb0dd26989c39ef18472161a892f90e62cea26ae7c2daadaf  guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/bitcoin-c0a1c3ca0894-arm-linux-gnueabihf-debug.tar.gz
  1dce8e6953e52874b98a0f5dafaebf068584984e2c3cd40d3110dd3c5c0d2f8d  guix-build-c0a1c3ca0894/output/arm-linux-gnueabihf/bitcoin-c0a1c3ca0894-arm-linux-gnueabihf.tar.gz
  f8328d777b0f1be68408c2df5907c4dd890dd0617b1aa747b3bf140f84c0f61d  guix-build-c0a1c3ca0894/output/dist-archive/bitcoin-c0a1c3ca0894.tar.gz
  b3e71decb914c3be9c88586084853ab086d77929707c1a7649991b75c734f3e2  guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/SHA256SUMS.part
  30a8ad718f848297ac1dc8f48eadb37b983d5837f807ecfedb6723932cb5e84a  guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64-linux-gnu-debug.tar.gz
  111444d627aa837e8a7f450dfe304ff20139ca018a293c9a5e8c5aec33ab75a9  guix-build-c0a1c3ca0894/output/powerpc64-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64-linux-gnu.tar.gz
  ef815b019722b774995e2a999cdbd79b34b8636f92f62b2f8e6b99b294ad1bc5  guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/SHA256SUMS.part
  5521bf88d0febd79301dbed30205c1bef6257eb03ae5d4a5227bac3b66b0b427  guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64le-linux-gnu-debug.tar.gz
  6d2ae36ec34e7b5d3d84d6a50595c39c1d89b2659ed9eba5e7c8b21a9cbb8f04  guix-build-c0a1c3ca0894/output/powerpc64le-linux-gnu/bitcoin-c0a1c3ca0894-powerpc64le-linux-gnu.tar.gz
  8aa9cb8a5585d8b27feafa8403fcba803152fb154d7c308f6759670c11107cfa  guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/SHA256SUMS.part
  7abbf8efdc91399ab0d2dde18b3be19734f956a07ed1cc19f8f5178647f9ac94  guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/bitcoin-c0a1c3ca0894-riscv64-linux-gnu-debug.tar.gz
  1dfd20f75feb316882043dd081f0ee4bd2032481e17d40f7ae9f2b430c316754  guix-build-c0a1c3ca0894/output/riscv64-linux-gnu/bitcoin-c0a1c3ca0894-riscv64-linux-gnu.tar.gz
  1949530e8e68b68c72f627296995b93e9ec048c2740274a8874fe9565eca4a46  guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/SHA256SUMS.part
  ab2e63f9f58834ddc0fc5f83a2a7938ffcf8057392f0c5ce92a8d456e9b8e4af  guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx-unsigned.dmg
  38958a096117542cde4dcac318d116fdeec3237c95ebf88fff0e76570002109e  guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx-unsigned.tar.gz
  8841df372ef1ea670dc8d4f82b007420140a39454371be47193e484a4f95fd76  guix-build-c0a1c3ca0894/output/x86_64-apple-darwin19/bitcoin-c0a1c3ca0894-osx64.tar.gz
  4e0d6b6a715d987ff025e45782dd6a47cfdac904a26d932c9c84de7eb8b699d4  guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/SHA256SUMS.part
  3ac4c326313650c0d0a35560c4073f0c3fcbf7002c5b5c918e7186627c8ed392  guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/bitcoin-c0a1c3ca0894-x86_64-linux-gnu-debug.tar.gz
  fcd45fe54cb86a7e9240a6bbe2170926e6db32ee55b821af332348d4c4e1d3a4  guix-build-c0a1c3ca0894/output/x86_64-linux-gnu/bitcoin-c0a1c3ca0894-x86_64-linux-gnu.tar.gz
  72deb4fc1c5b70ae329ab04862e822911708f3c4a4d8a0bbb5796d9a64985414  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/SHA256SUMS.part
  78ae8f495bfb02198b00b7fc72b67fb0595f81dd9e3aef45e5103efea90451d9  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win-unsigned.tar.gz
  962fcf4ce63e5a89fb1e74e19dbc1aeffc4d5b753ab8e19fcf2249ce21766c5b  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64-debug.zip
  3929916755d599b133304acd94462afad1ba73d5516f6f9786aff565c6ac8818  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64-setup-unsigned.exe
  66e2030476de85437e1593b7d2f4efd4a8837de8b2479217f9246d8028256e08  guix-build-c0a1c3ca0894/output/x86_64-w64-mingw32/bitcoin-c0a1c3ca0894-win64.zip
  ```

ACKs for top commit:
  hebasto:
    re-ACK c0a1c3ca08

Tree-SHA512: 33e7a3e022dfc3a7e93f4bc2acf887c7c2afacc182352f4dfb5917342d5923e0a8d17eaf10928e68b666db6ab748cc02d3d3dfb41e4aad7d296a403b79b3e63d
2021-12-03 20:56:45 +08:00
fanquake
345c8180d7
Merge bitcoin/bitcoin#23630: Remove GetSpendHeight
fa3942fc4c Remove GetSpendHeight (MarcoFalke)

Pull request description:

  It is unclear what the goal of the helper is, as the caller already
  knows the spend height before calling the helper.

  Also, in case the coins view is corrupted, LookupBlockIndex will return
  nullptr. Dereferencing a nullptr is UB.

  Fix both issues by removing it. Also, add a sanity check, which aborts
  if the coins view is corrupted.

ACKs for top commit:
  laanwj:
    Code review ACK fa3942fc4c
  ryanofsky:
    Code review ACK fa3942fc4c. I'm not aware of cases where coins GetBestBlock could be different from active chain tip, and asset seems sufficient to guarantee PR doesn't change behavior if that doesn't happen.

Tree-SHA512: 29f65d72e116ec5a4509e0947ceeaa5bb6b7dfd5d174d3c7945cb15fa266d590c4f8b48e6385de74ef7d7c84ebd2255de902ad9c87c24955348a91b12e5bffd5
2021-12-03 19:09:58 +08:00
MarcoFalke
8b1de78577
Merge bitcoin/bitcoin#23413: Replace MakeSpan helper with Span deduction guide
11daf6ceb1 More Span simplifications (Pieter Wuille)
568dd2f839 Replace MakeSpan helper with Span deduction guide (Pieter Wuille)

Pull request description:

  C++17 supports [user-defined deduction guides](https://en.cppreference.com/w/cpp/language/class_template_argument_deduction), allowing class constructors to be invoked without specifying class template arguments. Instead, the code can contain rules to infer the template arguments from the constructor argument types.

  This alleviates the need for the `MakeSpan` helper. Convert the existing MakeSpan rules into deduction rules for `Span` itself, and replace all invocations of `MakeSpan` with just `Span` ones.

ACKs for top commit:
  MarcoFalke:
    re-ACK 11daf6ceb1 Only change is removing a hunk in the tests 🌕

Tree-SHA512: 10f3e82e4338f39d9b7b407cd11aac7ebe1e9191b58e3d7f4e5e338a4636c0e126b4a1d912127c7446f57ba356c8d6544482e47f97901efea6a54fffbfd7895f
2021-12-03 10:44:37 +01:00
MarcoFalke
fd1c9e26d3
Merge bitcoin/bitcoin#23653: Generalize/simplify VectorReader into SpanReader
2c35a93b3c Generalize/simplify VectorReader into SpanReader (Pieter Wuille)

Pull request description:

  Originally written for #21590 (safegcd-based MuHash inverses), but then found a better way that removed the need for it, so I'm submitting it independently.

ACKs for top commit:
  MarcoFalke:
    re-ACK 2c35a93b3c 🖨
  shaavan:
    ACK 2c35a93b3c

Tree-SHA512: 959e3251e0cfe20e13a50639b617c9dc2a561d613a0884d983c93d15dacb6d2305d760aa933d18ba055cef8a1651a344bcb6b3f93051ecf26d3f2efc5779efa4
2021-12-03 10:25:24 +01:00
MarcoFalke
0ee9a00f90
Merge bitcoin/bitcoin#23652: doc: Document optional RPC result fields
fab6c43b40 doc: Document optional result fields in validateaddress (MarcoFalke)
faee2656a8 doc: Document optional result fields in getpeerinfo (MarcoFalke)

Pull request description:

ACKs for top commit:
  shaavan:
    ACK fab6c43b40

Tree-SHA512: 78458d0c4deb9253fbfe37fa5736a7db14eb0478bcc4adeba10ba6945e83d8eac92048293f50c054ea612609939151b4a2e1226c06f6067901f3d58c127c7e18
2021-12-03 10:14:05 +01:00
MarcoFalke
8b4d53e4d6
Merge bitcoin/bitcoin#23647: MOVEONLY: Move wallet backup and encryption RPCs out of rpcwallet
5b2167fd30 MOVEONLY: Move LoadWalletHelper to wallet/rpc/util (Samuel Dobson)
8b73640152 MOVEONLY: Move wallet encryption RPCs to encrypt.cpp (Samuel Dobson)
803b30502b MOVEONLY: Move backupwallet and restorewallet to rpc/backup.cpp (Samuel Dobson)
3a9d39324e MOVEONLY: Move rpcdump.cpp to wallet/rpc/backup.cpp (Samuel Dobson)

Pull request description:

  As part of an effort to split rpcwallet as per #23622, this moves `rpcdump.cpp` into the new wallet/rpc directory as well as moving backup and encryption RPCs out of rpcwallet.

ACKs for top commit:
  MarcoFalke:
    ACK 5b2167fd30 🎭

Tree-SHA512: aa8054767927fa56b5c51edc91a2d94fe9f1cca198e1b2cac1ebd464f6956a89c782a7b6de4409361adca6ca1377272b6e2af660b737c4849ee323f899945ad9
2021-12-03 09:17:15 +01:00
Hennadii Stepanov
c0a1c3ca08
ci: Bump Qt to 5.15.2 in the native Windows task 2021-12-03 14:07:12 +08:00
Hennadii Stepanov
06aca8aacb
doc: Update build_msvc/README.md for Qt 5.15.2 2021-12-03 14:07:12 +08:00
Hennadii Stepanov
1732eaba4f
build, qt: Fix regression in rendering on macOS Big Sur 2021-12-03 14:07:12 +08:00
fanquake
c870027cc2
build: qt 5.15.2 2021-12-03 14:07:12 +08:00
fanquake
904ba2aa40
build: add libxcb_util_wm 0.4.1
Required for xcb_icccm.
2021-12-03 14:07:12 +08:00
fanquake
0e2ca89a78
build: add libxcb_util_image 0.4.0 2021-12-03 14:07:11 +08:00
fanquake
36af9b6c94
build: add libxcb_util_keysyms 0.4.0 2021-12-03 14:07:11 +08:00
fanquake
b3cfbf5af2
build: add libxcb_util_render 0.3.9 2021-12-03 14:07:11 +08:00
fanquake
e545b56dc5
build: add libxcb_util 0.4.0 2021-12-03 14:07:11 +08:00
fanquake
937b36b5f0
build: libxcb 1.14
Minimum required libxcb to build qt 5.15.x is 1.11.

https://codereview.qt.nokia.com/c/qt/qtbase/+/253905

Some plugins have been re-enabled as they are required by Qt.
2021-12-03 14:07:10 +08:00
fanquake
01544dd78c
build: freetype 2.11.0
Co-authored-by: mammix2 <mammix2@hotmail.com>
2021-12-03 14:07:10 +08:00
fanquake
10ac182f4c
build: expat 2.4.1 2021-12-03 14:07:10 +08:00
fanquake
d3d547c545
build: xcb_proto 1.14.1 2021-12-03 14:07:10 +08:00
fanquake
fc65127244
build: libXau 1.0.9 2021-12-03 14:07:10 +08:00
fanquake
0697557321
build: xproto 7.0.31 2021-12-03 14:07:09 +08:00
fanquake
927a9b0777
Merge bitcoin/bitcoin#23659: test: fix: remove outdated TestNode.generate calls
4e1cb904ba test: fix: remove outdated TestNode.generate calls (James O'Beirne)

Pull request description:

  Currently failing on CI. After this change the test itself still fails,
  but at least it's apparently for a non-incidental reason.

ACKs for top commit:
  meshcollider:
    ACK 4e1cb904ba
  theStack:
    Tested ACK 4e1cb904ba

Tree-SHA512: 5e7059d334d571ca92f250d298292ce1653da8257cbfb218d28cc9c5816c21c718c36482da31fcaf78e0714cc9b67ff04b91405e820accaf4d8321a354af9441
2021-12-03 12:37:58 +08:00
fanquake
ffe414bd9a
Merge bitcoin/bitcoin#23649: circular dependency followups
ddd74ff65c clean up txmempool includes (glozow)
c4efc4db54 change TestLockPointValidity to take a const reference (glozow)
b01784f027 remove unnecessary casts and use braced initialization (glozow)

Pull request description:

  Followups from #22677 + clean up `TestLockPointValidity`

ACKs for top commit:
  theStack:
    Code-review ACK ddd74ff65c

Tree-SHA512: 0f7f26535b7301e2fb379e676310bdc7cfb2c5e232a6657f41dc6d3bc91583ec452eb2359ad2f2416ea12dd856f7fab3fa507a391ccf80f14de96da989281d96
2021-12-03 12:20:46 +08:00
Samuel Dobson
5b2167fd30 MOVEONLY: Move LoadWalletHelper to wallet/rpc/util 2021-12-03 13:53:12 +13:00
Samuel Dobson
8b73640152 MOVEONLY: Move wallet encryption RPCs to encrypt.cpp 2021-12-03 12:34:01 +13:00
Samuel Dobson
803b30502b MOVEONLY: Move backupwallet and restorewallet to rpc/backup.cpp 2021-12-03 12:33:33 +13:00
Samuel Dobson
3a9d39324e MOVEONLY: Move rpcdump.cpp to wallet/rpc/backup.cpp 2021-12-03 12:33:33 +13:00
Hennadii Stepanov
a56a104938
qt: Handle Android back key in the Node window 2021-12-03 01:03:30 +02:00
Hennadii Stepanov
f045f98717
qt, android: Add GUIUtil::IsEscapeOrBack helper 2021-12-03 01:03:30 +02:00
James O'Beirne
4e1cb904ba
test: fix: remove outdated TestNode.generate calls
Currently failing on CI. After this change the test itself still fails,
but at least it's apparently for a non-incidental reason.
2021-12-02 17:07:08 -05:00
Pieter Wuille
2c35a93b3c Generalize/simplify VectorReader into SpanReader 2021-12-02 14:47:17 -05:00
MarcoFalke
0b30bdd519
Merge bitcoin/bitcoin#22014: refactor: Make m_cs_fee_estimator non-recursive
8c277b19c8 refactor: Make m_cs_fee_estimator non-recursive (Hennadii Stepanov)
5ee5b696b5 refactor: Add non-thread-safe CBlockPolicyEstimator::_removeTx helper (Hennadii Stepanov)
5c3033d45e Add thread safety annotations to CBlockPolicyEstimator public functions (Hennadii Stepanov)

Pull request description:

  This PR eliminates the only place that `m_cs_fee_estimator` is recursively locked by refactoring out `_removeTx` member function.

  Related to #19303.

ACKs for top commit:
  theStack:
    Code-review ACK 8c277b19c8
  amadeuszpawlik:
    ACK 8c277b19c8 reviewed, built and ran tests

Tree-SHA512: 65b0b59460d3d5fadf7e75e916b2898b0dcfafdf5b278ef8c3975660f67c9f88ae4b937944313bd36d7513a7a53e1e5859aaf4a6deb4a1aea089936b101635a1
2021-12-02 19:54:21 +01:00
W. J. van der Laan
bce58bbb3d
Merge bitcoin/bitcoin#22929: wallet: Automatically add receiving destinations to the address book
3d71d16d1e test: listtranscations with externally generated addresses (S3RK)
d04566415e Add to spends only transcations from me (S3RK)
9f3a622b1c Automatically add labels to detected receiving addresses (S3RK)
c1b99c088c Return used destinations from ScriptPubKeyMan::MarkUnusedAddresses (S3RK)
03840c2064 Add CWallet::IsInternalScriptPubKeyMan (S3RK)
456e350926 wallet: resolve ambiguity of two ScriptPubKey managers providing same script (S3RK)

Pull request description:

  This PR fixes certain use-cases when **send-to-self** transactions are missing from `listtransactions` output.

  1. When a receiving address is generated externally to the wallet
  (e.g. same wallet running on two nodes, or by 3rd party from xpub)
  2. When restoring backup with lost metadata, but keypool gap is not exceeded yet

  When the block is connected or tx added to mempool we already mark used keys. This PR extends this logic to determine whether the destination is a receiving one and if yes add it to the address book with empty label.

  Works both for legacy and descriptors wallets.
  - For legacy it uses the internal flag from the keypool entry. Caveat: because we don't know which script type would be used we add all possible destinations for such keys.
  - For descriptor wallets it uses internal flag for the script pub key manager. Caveat: it only works for active descriptors.

  fixes #19856
  fixes #20293

ACKs for top commit:
  laanwj:
    Code review ACK 3d71d16d1e

Tree-SHA512: 03fafd5548ead0c4ffe9ebcc9eb2849f1d2fa7270fda4166419b86877d4e57dcf04460e465fbb9c90b42031f3c05d1b83f1b67a9f82c2a42980825ed1e7b52e6
2021-12-02 19:37:33 +01:00
MarcoFalke
fab6c43b40
doc: Document optional result fields in validateaddress
Can be reviewed with --ignore-all-space --word-diff-regex=.
2021-12-02 19:22:35 +01:00
MarcoFalke
fa52a86fd3
fuzz: Rework rpc fuzz target 2021-12-02 19:08:43 +01:00
MarcoFalke
faee2656a8
doc: Document optional result fields in getpeerinfo
Can be reviewed with --ignore-all-space --word-diff-regex=.
2021-12-02 17:38:18 +01:00
MarcoFalke
fa3942fc4c
Remove GetSpendHeight
It is unclear what the goal of the helper is, as the caller already
knows the spend height before calling the helper.

Also, in case the coins view is corrupted, LookupBlockIndex will return
nullptr. Dereferencing a nullptr is UB.

Fix both issues by removing it. Also, add a sanity check, which aborts
if the coins view is corrupted.
2021-12-02 15:59:53 +01:00