32152 Commits

Author SHA1 Message Date
fanquake
1aabbf33d7
Merge bitcoin/bitcoin#23977: depends: Fix typo
d2fdc320cc9774775969f571e7a64fc3e8c226ef depends: Fix typo (Dimitris Apostolou)

Pull request description:

ACKs for top commit:
  fanquake:
    ACK d2fdc320cc9774775969f571e7a64fc3e8c226ef

Tree-SHA512: d40997c572cab4c54be6d4bde1965f614c0bd9900096ebe8875d5bf60d7d82819d222e5d9b25b40365cef4eaf835b4f1d963c4c4bf0939649010743179322c17
2022-01-05 09:15:33 +08:00
fanquake
f8c84e047c
Merge bitcoin/bitcoin#23975: doc: Mark proprietary array optional
faa51a6aa92966403b1c46d4047f5b3aafcccd1d doc: Mark proprietary array optional (MarcoFalke)

Pull request description:

  The global one is returned all the time, but the input/output array is returned optionally

ACKs for top commit:
  fanquake:
    ACK faa51a6aa92966403b1c46d4047f5b3aafcccd1d

Tree-SHA512: db987c13d59e0ccc633032707438d506fe4f8fbf7569a03b99d899cb1309de94f99c343840107fc51a9f904bcf55e00049808b6cdf732fc16c6e9e818b480936
2022-01-05 09:00:17 +08:00
MarcoFalke
faa51a6aa9
doc: Mark proprietary array optional
Also, remove not needed '\n's.
Can be reviewed with --word-diff-regex=.
2022-01-04 17:57:50 +01:00
Dimitris Apostolou
d2fdc320cc
depends: Fix typo 2022-01-04 18:26:12 +02:00
MarcoFalke
53b0450ede
Merge bitcoin/bitcoin#23973: test: Bundle all integer sanitizer suppressions of dependencies
fa77dc9ce2ba6ab18a0add0ff520db133213ec2c test: Bundle all integer sanitizer suppressions of dependencies (MarcoFalke)

Pull request description:

  And remove three that are no longer needed.
  Can be reviewed with `--color-moved=dimmed-zebra`.

  Having separate sections for out-of-tree dependencies and in-tree suppressions makes it easier to categorize while reading.

ACKs for top commit:
  fanquake:
    ACK fa77dc9ce2ba6ab18a0add0ff520db133213ec2c

Tree-SHA512: c18ba99c54595c1a3dd066c5317bf5ed391ed7dace7435f686b4d0047d8d622f71deb646dcd3db1776c7564a721b01e27b19474b307d52ee8870a4b4d382b24e
2022-01-04 17:04:06 +01:00
MarcoFalke
ab788a48fc
Merge bitcoin/bitcoin#23954: doc: remove CC_FOR_BUILD from OpenBSD build doc
62c173ae4c5db5bf2f753136cc8c7872c59e7c9a doc: remove CC_FOR_BUILD from OpenBSD build doc (fanquake)

Pull request description:

  This is no-longer necessary after upstream libsecp256k1 changes that have been pulled into our repo.

ACKs for top commit:
  theStack:
    ACK 62c173ae4c5db5bf2f753136cc8c7872c59e7c9a

Tree-SHA512: 7c328185afec366ff49096512b2fcc3c2f2a2381875f65f5444ffacf118f9a51e4e2237daaae6b32f742a7c4c54c1fbba7cee4e1807d7c4816123f6b0e7c33c8
2022-01-04 16:51:32 +01:00
fanquake
4ee78450ff
Merge bitcoin/bitcoin#23826: test: Make AddrMan unit tests use public interface, extend coverage
ea4c9fd4ab9aaa2e8f2c2e38a75c9f05d0bfc866 test: Cover eviction by timeout in addrman_evictionworks (Martin Zumsande)
4f1bb467b556ec93c9b8f758783fda4d050da491 test: Add test for multiplicity in addrman new tables (Martin Zumsande)
e880bb7836dab2018049390884220177c6db9b92 test: Add test for updating addrman entries (Martin Zumsande)
f02eee8c8784dfc8db80a21ab6508f7c99298255 test: introduce utility function to retrieve an addrman (Martin Zumsande)
f0e5efb82493f7a14580335ce719d5be81c8713e test: Remove unused AddrManTest class (Martin Zumsande)
b696d7870b29232057600df5ddd8351888253b95 test: Remove tests for internal helper functions (Martin Zumsande)
0538520091bf2982a029a0298835400f5afbdc15 test: use AddrMan instead of AddrManTest where possible (Martin Zumsande)
1c65d427bbf61bb558cf7e18f7aff99b19f68508 test: Inline SimConnFail function (Martin Zumsande)
5b7aac34f2363822c3a1cfafda8ffc9528905058 test: delete unused GetBucketAndEntry function (Amiti Uttarwar)
2ba1e74e59a325ca6cb140757067dd5e0c7c249b test: Update addrman_serialization unit test to use AddrMan's interface (Amiti Uttarwar)
dad5f760211df314d650999e0a76edb0151b4fe1 addrman: Introduce a test-only function to lookup addresses (Amiti Uttarwar)

Pull request description:

  This PR (joint work with Amiti Uttarwar) changes the addrman unit tests such that they only use the public `AddrMan` interface:
  This has the advantage that the tests are less implementation-dependent, i.e. it would be possible to rewrite the internal addrman implementation (as drafted [here](https://github.com/sipa/bitcoin/tree/202106_multiindex_addrman) for using a multiindex) without having to adjust the tests.

  This includes the following steps:
  * Adding a test-only function `FindAddressEntry()` to the public addrman interface which returns info about an address in addrman (e.g. bucket, position, whethe the address is in new or tried).  Obviously we want to do this sparingly, but I think a single test-only function is ok (which could also be useful elsewhere, e.g. in fuzz tests).
  * Removal of the `AddrManTest` subclass which would reach into AddrMan's internals, using `AddrMan` instead
  * Removal of tests for internal helper functions that are not publicly exposed (these are still tested indirectly via the public functions calling them).
  * Additional tests for previously untested features such as multiplicity in the new tables, that can be tested with the help of `FindAddressEntry()`.

  All in all, this PR increases the unit test coverage of AddrMan by a bit.

ACKs for top commit:
  jnewbery:
    ACK ea4c9fd4ab9aaa2e8f2c2e38a75c9f05d0bfc866
  josibake:
    reACK ea4c9fd4ab

Tree-SHA512: c2d4ec8bdc62ffd6055ddcd37dea85ec08c76889e9e417e8d7c62a96cf68a8bcbe8c67bec3344d91fa7d3c499f6d9f810962da1dddd38e70966186b10b8ab447
2022-01-04 23:08:11 +08:00
MarcoFalke
300124dedf
Merge bitcoin/bitcoin#23936: rpc: Add and use EnsureArgsman helper
fa5bb37611dea5d3e6715b0c84249e39ad1d2476 rpc: Use EnsureAnyArgsman in rpc/blockchain (MarcoFalke)
fa98b6f6449d33b315a73156c6de968f1757d53a rpc: Add EnsureArgsman helper (MarcoFalke)

Pull request description:

  This refactor doesn't change anything for the rpc layer, but it helps a bit with removing gArgs (See #21005)

ACKs for top commit:
  shaavan:
    Code Review ACK fa5bb37611dea5d3e6715b0c84249e39ad1d2476

Tree-SHA512: 18f9cc90830a168acb94452b541b6e97ba9a50a0f4834698a16994c3884c833dc606e36a5538a16352e5e5cc43d3ac77cb498f877f8f5bc5dd52fa84f8bf2056
2022-01-04 15:40:35 +01:00
W. J. van der Laan
8319c4e906
Merge bitcoin/bitcoin#23838: scripts: make security checks architecture independent
b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff scripts: make security checks architecture independent (fanquake)

Pull request description:

  This paves the way for using and checking for architecture dependent flags like `-fcf-protection` on x86_64 Linux and `-mbranch-protection` on 64 bit ARM.

  While we need a workaround for RISCV arch detection, I sent a change upstream (https://github.com/lief-project/LIEF/pull/640), which has been merged. So we can drop this workaround along with our other RISCV workarounds (i.e https://github.com/lief-project/LIEF/pull/562) with the next LIEF release.

  Required for #19075, #21851, #21888 etc.

  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
  c57bcad9d763aae223a256283fef6243d79e0df46c5b5706dc9034a87df56694  guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/SHA256SUMS.part
  f16fb8f0a2d4dfd576fea440c487722d076f3db9d10ec0480b2f94df0c92a6a3  guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/bitcoin-b9898aeeaa6a-aarch64-linux-gnu-debug.tar.gz
  0e6e660eca7484ddb160b3d62d8867cf171044e81e719de899cd9b8b898cc614  guix-build-b9898aeeaa6a/output/aarch64-linux-gnu/bitcoin-b9898aeeaa6a-aarch64-linux-gnu.tar.gz
  29f14e305a280dc1d33a1f2d660db952caf6f3a9aeff9ab9560f122821269ab2  guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/SHA256SUMS.part
  26477f58601363dfe8eb2639472f71943bc341d415b6190316af232f363f5485  guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/bitcoin-b9898aeeaa6a-arm-linux-gnueabihf-debug.tar.gz
  372be53fd6d7fedad1bddc45cd9d1ce34cff376eaae4f613e2aa2465728fba82  guix-build-b9898aeeaa6a/output/arm-linux-gnueabihf/bitcoin-b9898aeeaa6a-arm-linux-gnueabihf.tar.gz
  39778c9d2949deaba404c90b930e5a0b72663bb05e9d82e93439be131fd622e3  guix-build-b9898aeeaa6a/output/dist-archive/bitcoin-b9898aeeaa6a.tar.gz
  599eee817b364b0348034a3e8c97b4bb1a35a78e3ba3472f7589f7a241947b51  guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/SHA256SUMS.part
  ade0c5ac07d467aa73f85d2a08c3fc3b311816869a2b6903bba4b4e6c88ad9d2  guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64-linux-gnu-debug.tar.gz
  c63db0e2570756df0b459e6114f01f0b47972ba8d81fcd9568edee95dfade23b  guix-build-b9898aeeaa6a/output/powerpc64-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64-linux-gnu.tar.gz
  dc4e6ba6958e534161a54669ff5d75bc312cfeb92567cc2092235eed0e2f6aa7  guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/SHA256SUMS.part
  3ce4c7e50915f72f24fcd24e1e1bc8460cdf2c065e390cf5f626c4cffd50961c  guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64le-linux-gnu-debug.tar.gz
  c8f4a8f10f16fab07547553f1f2580c4aa98ac63246fb30da0560a6367990dd1  guix-build-b9898aeeaa6a/output/powerpc64le-linux-gnu/bitcoin-b9898aeeaa6a-powerpc64le-linux-gnu.tar.gz
  8206937fefc76cc277cc7aa8762d7554575942a9e1704106d5ab9b6fe01d5408  guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/SHA256SUMS.part
  9530ee044927df02d96c3a9e5974d68b70a7105cb943b94e846c496c2d0579b9  guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/bitcoin-b9898aeeaa6a-riscv64-linux-gnu-debug.tar.gz
  fc4885db902c3205d3c1bc45c7e03375e621633efb419df37f145d11329bd6ed  guix-build-b9898aeeaa6a/output/riscv64-linux-gnu/bitcoin-b9898aeeaa6a-riscv64-linux-gnu.tar.gz
  caedbc37d5aa5fbb0e370019ce5f1d5f6745b32153f562b0aee80aceec57deab  guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/SHA256SUMS.part
  1b363dfde1d83530ec4deb0f24547c07446f5db99f327fe382a6e91b4b6cc454  guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx-unsigned.dmg
  bee82fe6e50a249eab21b6c97ad7436447489d0eabe3e5f7c992ba3b22dfc5ea  guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx-unsigned.tar.gz
  a935280e1229c69bdd29f32d4c894f1384e765872c68ea0dcdacdf897d4bc013  guix-build-b9898aeeaa6a/output/x86_64-apple-darwin/bitcoin-b9898aeeaa6a-osx64.tar.gz
  370a87e34e694fe44ba0cd809a1ba044bcc0e7e100b01d74a883069b3d754d1c  guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/SHA256SUMS.part
  46f8c3aa2c3a65f3fc73ddda344724e800bb463d80b062dc749ab76f4c21bc8c  guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/bitcoin-b9898aeeaa6a-x86_64-linux-gnu-debug.tar.gz
  9704b95152ebe582f8aa70bbab8f34ea5e32d80dfda948c019cb9f7d0982f36c  guix-build-b9898aeeaa6a/output/x86_64-linux-gnu/bitcoin-b9898aeeaa6a-x86_64-linux-gnu.tar.gz
  8385a966601ab4b9dc11d4467435c26af93dce97b66f3d33d7a8f7a885ac326d  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/SHA256SUMS.part
  f46812804e79166e5440b678166ce2cc38b5628d1a9e312b3af138720cacc478  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win-unsigned.tar.gz
  1d7077fdc59ce6af2ea5bffaa5a2ab579f8e8382467a7140623a6a2c4a588a0c  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64-debug.zip
  033fa4263ec91ca1e53ff652f12104c3c2aa7da9240a9b48bfa8f2341c79a225  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64-setup-unsigned.exe
  b7fdc84dee75951c131747c00e1e3c2da87e6f98e9435ffe7fa350ecda6771e8  guix-build-b9898aeeaa6a/output/x86_64-w64-mingw32/bitcoin-b9898aeeaa6a-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff
  hebasto:
    ACK b9898aeeaa6a3db76e40f1981d0a9db80a5d82ff

Tree-SHA512: d7e7c3eb33f54d44a2252f36871fdb77c182da18ee02078e8b5b4f91d02ec91f9e5c829160839b010b40670202ff05d2c702b7a3873b450878f21ade4dc0ab58
2022-01-04 15:37:19 +01:00
W. J. van der Laan
66be456d93
Merge bitcoin/bitcoin#23320: rpc: Add RPC help for getblock verbosity level 3
059f88b6a97b7a3ae1f033885e40ac01f91e6d60 Add RPC help for getblock verbosity level 3 (Kiminuo)
1bdd5f63229ebf28c24a8656f486ed8a6c8b3787 Address review comments from #22918 (Kiminuo)

Pull request description:

  This is a follow-up PR to #22918 which addresses review comments (first commit). The second commit adds missing RPC help for verbosity level 3.

ACKs for top commit:
  pg156:
    ACK 059f88b6a9
  laanwj:
    re-ACK 059f88b6a97b7a3ae1f033885e40ac01f91e6d60

Tree-SHA512: f27d53ac34b93a304ef5668701ed2b5c986a926bc8ad0df4de89695fc9e1df26acb008611451319ea897658acd9c56c6a0555d60359960c9cd28238ebefa2d50
2022-01-04 15:35:42 +01:00
MarcoFalke
fa77dc9ce2
test: Bundle all integer sanitizer suppressions of dependencies
And remove three that are no longer needed.
Can be reviewed with --color-moved=dimmed-zebra
2022-01-04 12:15:53 +01:00
Hennadii Stepanov
2211fe712d
Merge bitcoin-core/gui#516: Change 'Show' icon
1831d43e8fb73358858907e1d95ce54e1f42b2e7 Change 'Show' icon (w0xlt)

Pull request description:

  This PR changes the 'Show' icon in `receivecoinsdialog.{ui,cpp}`.

  The current icon for the 'Show' button is the edit icon, which makes it look like records can be edited on this screen (which is not the case).

  The icon already available that seems to be the most suitable for this case is the "eye", so this PR makes this change.

  | PR  | Master |
  | ------------- | ------------- |
  | <img width="209" alt="PR" src="https://user-images.githubusercontent.com/94266259/147833993-0758291c-af87-49a8-ae20-7fb9f944cb38.png"> |  <img width="209" alt="master" src="https://user-images.githubusercontent.com/94266259/147833992-30d7549d-be7b-4479-8bca-314810e3adb8.png">  |

ACKs for top commit:
  kristapsk:
    utACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7
  shaavan:
    ACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7
  hebasto:
    ACK 1831d43e8fb73358858907e1d95ce54e1f42b2e7

Tree-SHA512: 45e2c0ed51626b40de486903602f2e84a74ff8f09d84de8412c30103d4e15fcddaddbc40571f653da487c538feca33411cf07ad7dd21a9a774bfd45b171330f4
2022-01-04 12:55:29 +02:00
MarcoFalke
38146a4bd2
Merge bitcoin/bitcoin#23964: Update test/sanitizer_suppressions/lsan
1eb5389ee5d612b8dc935b1f59ac949feeae0858 Update test/sanitizer_suppressions/lsan (Hennadii Stepanov)

Pull request description:

  With Qt 5.15.2 in depends it seems we can drop some Leak Sanitizer suppressions now.

ACKs for top commit:
  fanquake:
    ACK 1eb5389ee5d612b8dc935b1f59ac949feeae0858 given the CI is passing. Did not test anything locally.

Tree-SHA512: 657aa390ffa68951a95bfaac6502da57daf2533ffb0ed49b483f056f6242952316515f250ad36890c9f02ca79eccd60f43c16922d5a50acb1508936e780496cc
2022-01-04 09:11:22 +01:00
fanquake
4eedabaf6f
Merge bitcoin/bitcoin#23947: build: use host_os instead of TARGET_OS in configure output
1bf3809dd1d73f24ec5cf658733da76fc2ca36a7 build: use host_os instead of TARGET_OS in configure output (fanquake)

Pull request description:

  `TARGET_OS` was convenient, as a readable host name for most of our
  targeted platforms, however unless we add more code to configure to
  detect more hosts, it's easier just use `host_os` (it's also more
  informative).

  i.e FreeBSD master
  ```bash
    target os       =
    build os        = freebsd13.0
  ```

  this PR:
  ```bash
    target os       = freebsd13.0
    build os        = freebsd13.0
  ```

ACKs for top commit:
  hebasto:
    ACK 1bf3809dd1d73f24ec5cf658733da76fc2ca36a7

Tree-SHA512: 606d92f60ce3f2f6ab1f54e29b5c179048c62ba51336b272c081b1e009128dd83705b181cfe30991c7a51d9c63e8ba2076bfed9e6112e7d1a74a7f947c5754f5
2022-01-04 15:33:25 +08:00
fanquake
2f37b221d1
Merge bitcoin/bitcoin#23581: Move BlockManager to node/blockstorage
fa7efc915b87ec56ca1cc0bad7d8f79591bfa099 Fixup style of moved code (MarcoFalke)
fade2a44f4aabc64185031dbf4c70d875ece6740 Move BlockManager to node/blockstorage (MarcoFalke)

Pull request description:

  `BlockManager` is responsible for reading and writing block(headers). So move it to the existing `blockstorage` module in `node`. Also, move validation code unrelated to block-storage out from `BlockManager`.

ACKs for top commit:
  ryanofsky:
    Code review obvious ACK fa7efc915b87ec56ca1cc0bad7d8f79591bfa099

Tree-SHA512: 0197943d818e5f59e743b07fbb92e7661bff90081127a41e35e5692ce49d6f6a7872448670b0da282f7714580a45c8d93e571a67177c8b5f785ce9edefe834c5
2022-01-04 10:49:38 +08:00
fanquake
7097a63033
Merge bitcoin/bitcoin#23751: build, qt: No need to set inapplicable QPA backend for Android
29e1794ba5350914ea2be8cba33d8d6d2c99760b build, qt: No need to set inapplicable QPA backend for Android (Hennadii Stepanov)

Pull request description:

  The current workflow looks weird. At first, the inapplicable `xcb` QPA backend is set in Qt `configure` options. Then the correct `android` QPA backend is forced via the `QT_QPA_PLATFORM` environment variable.

  Using the default QPA backend, which is `android` for Android devices, is just fine.

ACKs for top commit:
  icota:
    re-tACK 29e1794ba5350914ea2be8cba33d8d6d2c99760b

Tree-SHA512: 08ed7d05209c1bedc1a71de5ea3be5d86b40319a164dceb9191f7a4dfe78f2f951778b90421335e73e71a798a57bdf046aa96876762d338b600037bd7ee27b52
2022-01-04 10:08:28 +08:00
fanquake
db5f441408
Merge bitcoin/bitcoin#23959: ci: Update Cirrus CI task name
d04f68d99c0a59b61d508238a9ce00445bbfc7fd ci: Update Cirrus CI task name (Hennadii Stepanov)

Pull request description:

  Missed in bitcoin/bitcoin#22815.

ACKs for top commit:
  fanquake:
    ACK d04f68d99c0a59b61d508238a9ce00445bbfc7fd

Tree-SHA512: 8c5d4b4ab6967e8ab2f3630216d33297e533eda0bd9e83dd3c8f5b9952bc0865b04af5f4398a3357135d81be99d483864ec710eeb89a149a61e258e92d680a76
2022-01-04 09:39:31 +08:00
Hennadii Stepanov
1eb5389ee5
Update test/sanitizer_suppressions/lsan 2022-01-04 00:01:41 +02:00
Martin Zumsande
ea4c9fd4ab test: Cover eviction by timeout in addrman_evictionworks 2022-01-03 22:25:45 +01:00
Martin Zumsande
4f1bb467b5 test: Add test for multiplicity in addrman new tables 2022-01-03 22:25:40 +01:00
Hennadii Stepanov
d04f68d99c
ci: Update Cirrus CI task name
Missed in bitcoin/bitcoin#22815.
2022-01-03 18:52:40 +02:00
fanquake
b9898aeeaa
scripts: make security checks architecture independent
This paves the way for using and checking for architecture dependent
flags like -fcf-protection on x86_64 Linux and -mbranch-protection on 64
bit ARM.
2022-01-03 21:36:55 +08:00
MarcoFalke
75a227e39e
Merge bitcoin/bitcoin#23683: bug fix: valid but different LockPoints after a reorg
b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b [bugfix] update lockpoints correctly during reorg (glozow)
b6002b07a36f0d58dc6becd04bfcf78599056b7c MOVEONLY: update_lock_points to txmempool.h (glozow)

Pull request description:

  I introduced a bug in #22677 (sorry! 😅)

  Mempool entries cache `LockPoints`, containing the first height/blockhash/`CBlockIndex*` at which the transaction becomes valid. During a reorg, we re-check timelocks on all mempool entries using `CheckSequenceLocks(useExistingLockPoints=false)` and remove any now-invalid entries. `CheckSequenceLocks()` also mutates the `LockPoints` passed in, and we update valid entries' `LockPoints` using `update_lock_points`. Thus, `update_lock_points(lp)` needs to be called right after `CheckSequenceLocks(lp)`, otherwise we lose the data in `lp`. I incorrectly assumed they could be called in separate loops.

  The incorrect behavior introduced is: if we have a reorg in which a timelocked mempool transaction is still valid but becomes valid at a different block, the cached `LockPoints` will be incorrect.

  This PR fixes the bug, adds a test, and adds an assertion at the end of `removeForReorg()` to check that all mempool entries' lockpoints are valid. You can reproduce the bug by running the test added in the [test] commit on the code before the [bugfix] commit.

ACKs for top commit:
  jnewbery:
    ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b
  vasild:
    ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b
  mzumsande:
    Code Review ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b
  hebasto:
    ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b
  MarcoFalke:
    re-ACK b4adc5ad6769e4a5a6179dfff271cd4c9dc47a5b 🏁

Tree-SHA512: 16b59f6ff8140d0229079ca1c6b04f2f4a00a2e49931275150e4f3fe5ac4ec109698b083fa6b223ba9511f328271cc1ab081263669d5da020af7fee83c13e401
2022-01-03 14:34:39 +01:00
fanquake
62c173ae4c
doc: remove CC_FOR_BUILD from OpenBSD build doc
This is no-longer necessary after upstream libsecp256k1 changes.
2022-01-03 20:56:02 +08:00
Hennadii Stepanov
29e1794ba5
build, qt: No need to set inapplicable QPA backend for Android 2022-01-03 14:45:39 +02:00
MarcoFalke
d69af93223
Merge bitcoin/bitcoin#23737: test: make feature_init more robust
8904f17ea715f3d28f18c1b8ce46a39ff2076144 test: enable txindex in feature_init (James O'Beirne)
93db6d8422345cc10db333d56ea9bcceefcf58b6 test: feature_init: retain debug.log and improve detection (James O'Beirne)
24fcf6e435ee53191b1404a11b0689bcd647c9e2 test: feature_init: tweak all .ldb files of a certain type (James O'Beirne)
a8ffbc01db85d918b8d1406b178b3c6f09123cf1 test: add TestNode.wait_for_debug_log (James O'Beirne)
a2fb62b632d39e468f59e7e0b6890f82d0f5eebb test: introduce TestNode.debug_log_bytes (James O'Beirne)

Pull request description:

  Hopefully fixes #23646.

  This makes a few changes to feature_init (along the lines of the discussion here: https://github.com/bitcoin/bitcoin/pull/23289#discussion_r766615073). The changes are detailed in the specific commits, but a summary might be:
  - more robust log-line detection (at the expense of maybe being slower)
  - retain all debug.log content
  - perturb .ldb files in a more complete way

Top commit has no ACKs.

Tree-SHA512: 9c8900998fdb96d3cc92bd30c4eeda2a47e9787e6432546d458c17f24eb9e2b6b3eb573db225172888ca71d7a62260f497f83827597b982b9e35c5452cb6e514
2022-01-03 08:51:09 +01:00
MarcoFalke
31f385c138
Merge bitcoin/bitcoin#23532: test: add functional test for -startupnotify
126853214a490ee840e83ca17c717c40cfbe6837 test: add functional test for -startupnotify (Bruno Garcia)

Pull request description:

  This PR adds a functional test for -startupnotify. It basically starts the node passing a command on -startupnotify to create a file on tmp and then, we check if the file has been successfully created.

ACKs for top commit:
  theStack:
    Tested ACK 126853214a490ee840e83ca17c717c40cfbe6837
  kristapsk:
    re-ACK 126853214a490ee840e83ca17c717c40cfbe6837

Tree-SHA512: 5bf3e46124ee5c9d609c9993e6465d5a71a8d2275dcf07c8ce0549f013f7f8863d483b46b7164152f566468a689371ccb87f01cf118c3c9cac5b2be673b61a5c
2022-01-03 08:47:02 +01:00
MarcoFalke
bcf2b25eec
Merge bitcoin/bitcoin#23945: doc: Update license year range to 2022
a1b532d1a5f02f1ef4c5af52e04072eab9636bb1 doc: Update license year range to 2022 (Kuro)

Pull request description:

  See #20805, #17801, #15061
  The same procedure as every year. Happy new year to all of you :)

Top commit has no ACKs.

Tree-SHA512: 295e2cbd0cb1f4d52d2748d415759fe63ab1c946ebc2daff21573c9da392e2a72e3ce97a61194674196aa0339d115c4d9672e0191892c8d0392b1866ad5cee8b
2022-01-03 08:26:58 +01:00
fanquake
1bf3809dd1
build: use host_os instead of TARGET_OS in configure output
TARGET_OS was conveninent, as a readable host name for most of our
targetted platforms, however unless we add more code to configure to
detect more hosts, it's easier just use host_os (it's also more
informative).

i.e FreeBSD master
```bash
  target os       =
  build os        = freebsd13.0
```

this PR:
```bash
  target os       = freebsd13.0
  build os        = freebsd13.0
```
2022-01-03 13:06:55 +08:00
fanquake
af863b6f16
Merge bitcoin/bitcoin#23937: doc: Fix dumptxoutset RPC help doc
faa9e461ab3cdec61d8428621fb3adc76e964415 doc: Fix dumptxoutset RPC help doc (MarcoFalke)

Pull request description:

  Fixes `help dumptxoutset`.

  To test: `help dumptxoutset`.

ACKs for top commit:
  shaavan:
    ACK faa9e461ab3cdec61d8428621fb3adc76e964415

Tree-SHA512: f40f1636469da61ab4a2aa6d9efb84de525b220e8897b4fe2720211def87d262be57956d1474fe04f395e7634d83b4e5aee474ad869b4b5aa619f22ecd2e78fc
2022-01-03 07:54:29 +08:00
Kuro
a1b532d1a5 doc: Update license year range to 2022 2022-01-03 04:48:41 +08:00
MarcoFalke
fa7efc915b
Fixup style of moved code
Can be reviewed with --word-diff-regex=. -U0 --ignore-all-space
2022-01-02 17:05:22 +01:00
MarcoFalke
fade2a44f4
Move BlockManager to node/blockstorage
Can be reviewed with --color-moved=dimmed-zebra
2022-01-02 17:05:14 +01:00
MarcoFalke
faa9e461ab
doc: Fix dumptxoutset RPC help doc 2022-01-02 10:53:49 +01:00
MarcoFalke
fa5bb37611
rpc: Use EnsureAnyArgsman in rpc/blockchain 2022-01-02 10:43:17 +01:00
MarcoFalke
fa98b6f644
rpc: Add EnsureArgsman helper 2022-01-02 10:29:11 +01:00
MarcoFalke
8b5a4de904
Merge bitcoin/bitcoin#23795: refactor: Remove implicit-integer-sign-change suppressions in validation
fadd73037e266edb844f0972e82e9213171ef214 refactor: Remove implicit-integer-sign-change suppressions in validation.cpp (MarcoFalke)

Pull request description:

  A file-wide suppression is problematic because it will wave through future violations, potentially bugs.

  Fix that by using per-statement casts.

ACKs for top commit:
  shaavan:
    ACK fadd73037e266edb844f0972e82e9213171ef214
  theStack:
    Code-review ACK fadd73037e266edb844f0972e82e9213171ef214

Tree-SHA512: a8a05613be35382b92d7970f958a4e8f4332432056eaa9d72f6719495134b93aaaeea692899d9035654d0e0cf56bcd759671eeeacfd0535582c0ea048ab58a56
2022-01-02 10:24:02 +01:00
fanquake
9d099b02d8
Merge bitcoin/bitcoin#23836: rest: Expose block filters follow-ups
4523d28b6bd550bf9f9c724f9aa90c3d2d4ebe3b [test] compare filter and header with the result of the getblockfilter RPC (Niklas Gögge)
3a2464f21619c3065ec2f5d8f7431703c30c964a [rest] drop superfluous rpc serializations flags for block filters (Niklas Gögge)
064abd14a55e0fa1bff530237816a748d01e0ddb [rest] add a more verbose error message for invalid header counts (Niklas Gögge)
83b8f3a8961baa34a136ecfaf62c3ea0d133b6d6 [refactor] various style fix-ups (Niklas Gögge)

Pull request description:

  This PR addresses unresolved review comments from [#17631](https://github.com/bitcoin/bitcoin/pull/17631).
  This includes:
  * various style fix-ups
  * returning a more verbose error message for invalid header counts
  * removing superfluous rpc serializations flags for block filters
  * improving the test to include comparing the block filters returned from the rest  with the ones returned from the `getblockfilter` RPC.

ACKs for top commit:
  jnewbery:
    ACK 4523d28b6bd550bf9f9c724f9aa90c3d2d4ebe3b
  brunoerg:
    tACK 4523d28b6bd550bf9f9c724f9aa90c3d2d4ebe3b

Tree-SHA512: 634e6b2ae3e1d5f31675a50cfe11a5e74bf5a51b9e7b512d9e18879bf2ed424fc0ac6ec633023f192e3ad12cf0c73b0b51de79dd7ec00844dba3e1493d823b8c
2022-01-02 08:37:12 +08:00
fanquake
6535772510
Merge bitcoin/bitcoin#23882: doc: testnet3 was not reset and is doing BIP30 checks again
fa1a51cbc1c50a6d3adcad5ccea4c6067f89f7d3 doc: testnet3 was not reset and is doing BIP30 checks again (MarcoFalke)

Pull request description:

ACKs for top commit:
  theStack:
    ACK fa1a51cbc1c50a6d3adcad5ccea4c6067f89f7d3

Tree-SHA512: 793eccda583a3edb056b142c36a09a5c867f61d90b96e15e6643417d62eb651eb2f3429c5f245bdb062d18ab9bb05b5048c0888aa5a492cb7bb21a2f3f52324e
2022-01-02 08:14:34 +08:00
fanquake
e9ee023f6e
Merge bitcoin/bitcoin#23929: doc: fix undo data filename (s/undo???.dat/rev???.dat/)
2e42050b7fc61201f202438e8cd4383a06eb98d5 doc: fix undo data filename (s/undo???.dat/rev???.dat/) (Sebastian Falbesoner)

Pull request description:

  This typo was discovered in the course of a review club to #20827, see https://bitcoincore.reviews/20827#l-31.

ACKs for top commit:
  shaavan:
    ACK 2e42050b7fc61201f202438e8cd4383a06eb98d5

Tree-SHA512: 0c7a00dce24c03bee6d37265d5b4bc97e976c3f3910af1113f967f6298940f892d6fb517f7b154f32ccedb365060314d4d78d5eb2a9c68b25f0859a628209cd3
2022-01-02 08:11:42 +08:00
Sebastian Falbesoner
2e42050b7f doc: fix undo data filename (s/undo???.dat/rev???.dat/) 2022-01-01 13:00:07 +01:00
w0xlt
1831d43e8f Change 'Show' icon 2021-12-31 14:13:20 -03:00
MarcoFalke
a1e04e1079
Merge bitcoin/bitcoin#23926: rpc: Quote user supplied descriptor in error msg
fa4c599145843b0d3cf998d661281a39bc438d95 rpc: Quote user supplied descriptor in error msg (MarcoFalke)

Pull request description:

  Follow-up to commit fa24a3df8796cbf4eeb35d950a4c848d605e5b22

  Forgotten in https://github.com/bitcoin/bitcoin/pull/23755

ACKs for top commit:
  hebasto:
    ACK fa4c599145843b0d3cf998d661281a39bc438d95, tested locally.
  prayank23:
    tACK fa4c599145

Tree-SHA512: bff07bfe95644c94eeb1d27579bf9ffe33df5e709bf6e08cd24f9235f9348dc271ccc868724bcda63b94179bde55625b102cf0b783fad805d0055219743e8e5e
2022-01-01 02:43:27 +13:00
MarcoFalke
fa4c599145
rpc: Quote user supplied descriptor in error msg 2022-01-01 00:26:08 +13:00
MarcoFalke
623745ca74
Merge bitcoin/bitcoin#23912: Insert and bump copyright headers
1362d6173f863428de17c4017f4e3bb6883b0be8 scripted-diff: Insert missed copyright headers (Hennadii Stepanov)
f47dda2c58b5d8d623e0e7ff4e74bc352dfa83d7 scripted-diff: Bump copyright headers (Hennadii Stepanov)
c29105efdc3daac0e8c43138f7c0a50535556455 script: Fix copyright_header.py (Hennadii Stepanov)

Pull request description:

  This PR is an alternative to #23903.

  It bumps the existing copyright headers as we did every year, and adds the missed copyright headers.

  A small fix has been applied to the `copyright_header.py` in order to prevent such weird bumping as `2021` --> `2021-2017`.

ACKs for top commit:
  MarcoFalke:
    ACK 1362d6173f863428de17c4017f4e3bb6883b0be8

Tree-SHA512: 204d970fe8c51546b26b8f03fe4297db8a9bef5101df851540b7b9eddbd3a09677ee81fdd882c60937d732407f42c9883165bd978272200cff8f90190f075905
2021-12-31 12:08:49 +01:00
Hennadii Stepanov
1362d6173f
scripted-diff: Insert missed copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py insert contrib/guix/libexec/build.sh
./contrib/devtools/copyright_header.py insert contrib/guix/libexec/codesign.sh
./contrib/devtools/copyright_header.py insert contrib/tracing/log_raw_p2p_msgs.py
./contrib/devtools/copyright_header.py insert contrib/tracing/log_utxocache_flush.py
./contrib/devtools/copyright_header.py insert contrib/tracing/p2p_monitor.py
./contrib/devtools/copyright_header.py insert test/lint/lint-files.sh
-END VERIFY SCRIPT-
2021-12-30 19:46:41 +02:00
Hennadii Stepanov
f47dda2c58
scripted-diff: Bump copyright headers
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./
-END VERIFY SCRIPT-

Commits of previous years:
* 2020: fa0074e2d82928016a43ca408717154a1c70a4db
* 2019: aaaaad6ac95b402fe18d019d67897ced6b316ee0
2021-12-30 19:36:57 +02:00
Hennadii Stepanov
c29105efdc
script: Fix copyright_header.py
This change prevents updating copyright years from "2021" to
"2021-2017".
2021-12-30 19:33:20 +02:00
MarcoFalke
5d91133699
Merge bitcoin/bitcoin#22815: ci: Enable the gui in the tsan build
ec7b7d4a36e6e7dfa708f64666f96cd97f83f6dd ci: Enable the gui in the TSan build (Hennadii Stepanov)

Pull request description:

  This PR is a reincarnation of #19162.

ACKs for top commit:
  MarcoFalke:
    review ACK ec7b7d4a36e6e7dfa708f64666f96cd97f83f6dd

Tree-SHA512: b68a25edce546a538f0ec6e929940ad9c4ea94c9af1cabae5475bc04dd536615a9709444c2f2994b7aaa400d2375bf628b5edefb911ed2a2bedd30138d681c1d
2021-12-30 12:23:35 +01:00
MarcoFalke
f3d6a5ce77
Merge bitcoin/bitcoin#23879: test: check ban_duration and time_remaining after setting ban
da349f131a57640340f32c62c5d9b06a415d74ec test: check ban_duration and time_remaining after setting ban (brunoerg)

Pull request description:

  This PR adds functional test coverage for `ban_duration` and `time_remaining` introduced in #21602

ACKs for top commit:
  shaavan:
    ACK da349f131a57640340f32c62c5d9b06a415d74ec
  theStack:
    Tested ACK da349f131a57640340f32c62c5d9b06a415d74ec

Tree-SHA512: 51e63f3a36adb1c81e4d49426486af2cd9c8c4319f94e06a47fa7da8100a8b53c029d28d4a4771bdbf4e0a2bfb4ddd3740b9974bd08d8ff06f2a0fc2b6d8a6b5
2021-12-30 11:10:46 +01:00